Entity: AxiLiteSrpV0

Diagram

time TPD_G integer range 0 to (2**24) RESP_THOLD_G boolean SLAVE_READY_EN_G string SYNTH_MODE_G string MEMORY_TYPE_G boolean GEN_SYNC_FIFO_G integer range 4 to 48 FIFO_ADDR_WIDTH_G integer range 1 to (2**24) FIFO_PAUSE_THRESH_G AxiStreamConfigType AXI_STREAM_CONFIG_G sl mAxisClk sl mAxisRst AxiStreamSlaveType mAxisSlave sl sAxisClk sl sAxisRst AxiStreamMasterType sAxisMaster sl axilClk sl axilRst AxiLiteWriteMasterType sAxilWriteMaster AxiLiteReadMasterType sAxilReadMaster AxiStreamMasterType mAxisMaster AxiStreamSlaveType sAxisSlave AxiStreamCtrlType sAxisCtrl AxiLiteWriteSlaveType sAxilWriteSlave AxiLiteReadSlaveType sAxilReadSlave

Description


Title : SRPv0 Protocol: https://confluence.slac.stanford.edu/x/aRmVD

Company : SLAC National Accelerator Laboratory

Description: SLAC Register Protocol Version 0, AXI-Lite Interface

Note: This module only supports 32-bit aligned addresses and 32-bit transactions.

This file is part of 'SLAC Firmware Standard Library'. It is subject to the license terms in the LICENSE.txt file found in the top-level directory of this distribution and at: https://confluence.slac.stanford.edu/display/ppareg/LICENSE.html. No part of 'SLAC Firmware Standard Library', including this file, may be copied, modified, propagated, or distributed except according to

the terms contained in the LICENSE.txt file.

Generics

Generic name Type Value Description
TPD_G time 1 ns General Config
RESP_THOLD_G integer range 0 to (2**24) 1 =1 = normal operation
SLAVE_READY_EN_G boolean false
SYNTH_MODE_G string "inferred"
MEMORY_TYPE_G string "block"
GEN_SYNC_FIFO_G boolean false
FIFO_ADDR_WIDTH_G integer range 4 to 48 9
FIFO_PAUSE_THRESH_G integer range 1 to (2**24) 2**8
AXI_STREAM_CONFIG_G AxiStreamConfigType AXI Stream IO Config

Ports

Port name Direction Type Description
mAxisClk in sl Streaming Master (Tx) Data Interface (mAxisClk domain)
mAxisRst in sl
mAxisMaster out AxiStreamMasterType
mAxisSlave in AxiStreamSlaveType
sAxisClk in sl Streaming Slave (Rx) Interface (sAxisClk domain)
sAxisRst in sl
sAxisMaster in AxiStreamMasterType
sAxisSlave out AxiStreamSlaveType
sAxisCtrl out AxiStreamCtrlType
axilClk in sl AXI Lite Bus Slave (axiLiteClk domain)
axilRst in sl
sAxilWriteMaster in AxiLiteWriteMasterType
sAxilWriteSlave out AxiLiteWriteSlaveType
sAxilReadMaster in AxiLiteReadMasterType
sAxilReadSlave out AxiLiteReadSlaveType

Signals

Name Type Description
rxFifoAxisMaster AxiStreamMasterType
rxFifoAxisSlave AxiStreamSlaveType
txFifoAxisMaster AxiStreamMasterType
txFifoAxisSlave AxiStreamSlaveType
r RegType
rin RegType

Constants

Name Type Value Description
INTERNAL_AXIS_CFG_C AxiStreamConfigType ssiAxiStreamConfig(16,
TKEEP_COMP_C)
TIMEOUT_COUNT_C integer 156250000
REG_INIT_C RegType ( state => WAIT_AXIL_REQ_S,
txnCount => (others => '0'),
timeoutCount => (others => '0'),
sAxilWriteSlave => AXI_LITE_WRITE_SLAVE_INIT_C,
sAxilReadSlave => AXI_LITE_READ_SLAVE_INIT_C,
txFifoAxisMaster => AXI_STREAM_MASTER_INIT_C,
rxFifoAxisSlave => AXI_STREAM_SLAVE_INIT_C)

Types

Name Type Description
StateType (WAIT_AXIL_REQ_S,
WAIT_AXIS_RESP_S,
BLEED_S)
RegType

Processes

Description
----------------------------------- Master State Machine -----------------------------------

Instantiations

Description

Input FIFO