Entity: SsiSem

Diagram

time TPD_G boolean COMMON_AXIL_CLK_G boolean COMMON_AXIS_CLK_G AxiStreamConfigType SLAVE_AXI_CONFIG_G AxiStreamConfigType MASTER_AXI_CONFIG_G sl semClk sl semRst sl fpgaReload slv(31 downto 0) fpgaReloadAddr sl axilClk sl axilRst AxiLiteReadMasterType axilReadMaster AxiLiteWriteMasterType axilWriteMaster slv(3 downto 0) moduleIndex sl axisClk sl axisRst AxiStreamSlaveType semObAxisSlave AxiStreamMasterType semIbAxisMaster AxiLiteReadSlaveType axilReadSlave AxiLiteWriteSlaveType axilWriteSlave AxiStreamMasterType semObAxisMaster AxiStreamSlaveType semIbAxisSlave

Description


Company : SLAC National Accelerator Laboratory

Description: SSI wrapper for 7-series SEM module

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
COMMON_AXIL_CLK_G boolean false
COMMON_AXIS_CLK_G boolean false
SLAVE_AXI_CONFIG_G AxiStreamConfigType
MASTER_AXI_CONFIG_G AxiStreamConfigType

Ports

Port name Direction Type Description
semClk in sl SEM clock and reset
semRst in sl
fpgaReload in sl IPROG Interface
fpgaReloadAddr in slv(31 downto 0)
axilClk in sl AXI-Lite Interface
axilRst in sl
axilReadMaster in AxiLiteReadMasterType
axilReadSlave out AxiLiteReadSlaveType
axilWriteMaster in AxiLiteWriteMasterType
axilWriteSlave out AxiLiteWriteSlaveType
moduleIndex in slv(3 downto 0)
axisClk in sl AXI-Lite Interface
axisRst in sl
semObAxisMaster out AxiStreamMasterType
semObAxisSlave in AxiStreamSlaveType
semIbAxisMaster in AxiStreamMasterType
semIbAxisSlave out AxiStreamSlaveType

Signals

Name Type Description
r RegType
rin RegType
axiReadMaster AxiLiteReadMasterType
axiReadSlave AxiLiteReadSlaveType
axiWriteMaster AxiLiteWriteMasterType
axiWriteSlave AxiLiteWriteSlaveType
txAxisMaster AxiStreamMasterType
txAxisCtrl AxiStreamCtrlType
rxAxisMaster AxiStreamMasterType
rxAxisSlave AxiStreamSlaveType
statusIdle sl
statusHalted sl
semIb SemIbType
semOb SemObType
idx slv(3 downto 0)

Constants

Name Type Value Description
SEM_AXIS_CONFIG_C AxiStreamConfigType ssiAxiStreamConfig(8)
RET_CHAR_C character cr
RET_SLV_C slv(7 downto 0) conv_std_logic_vector(character'pos(RET_CHAR_C),
8)
REG_INIT_C RegType ( sofNext => '1',
count => (others => '0'),
heartbeatCount => (others => '0'),
iprogIcapReqLast => '0',
semIb => SEM_IB_INIT_C,
axiWriteSlave => AXI_LITE_WRITE_SLAVE_INIT_C,
axiReadSlave => AXI_LITE_READ_SLAVE_INIT_C,
txSsiMaster => ssiMasterInit(SEM_AXIS_CONFIG_C))

Types

Name Type Description
RegType

Processes

Instantiations

Description

Sync the Module index

Description

Synchronize AXI-Lite bus to semClk

Description

Synchronize AXIS bus to semClk