1 ------------------------------------------------------------------------------- 2 -- File : SrpV3AxiLite.vhd 3 -- Company : SLAC National Accelerator Laboratory 4 -- Created : 2016-03-22 5 -- Last update: 2016-04-25 6 ------------------------------------------------------------------------------- 7 -- Description: SLAC Register Protocol Version 3, AXI-Lite Interface 9 -- Documentation: https://confluence.slac.stanford.edu/x/cRmVD 11 -- Note: This module only supports 32-bit aligned addresses and 32-bit transactions. 12 -- For non 32-bit aligned addresses or non 32-bit transactions, use 13 -- the SrpV3Axi.vhd module with the AxiToAxiLite.vhd bridge 14 ------------------------------------------------------------------------------- 15 -- This file is part of 'SLAC Firmware Standard Library'. 16 -- It is subject to the license terms in the LICENSE.txt file found in the 17 -- top-level directory of this distribution and at: 18 -- https://confluence.slac.stanford.edu/display/ppareg/LICENSE.html. 19 -- No part of 'SLAC Firmware Standard Library', including this file, 20 -- may be copied, modified, propagated, or distributed except according to 21 -- the terms contained in the LICENSE.txt file. 22 ------------------------------------------------------------------------------- 25 use ieee.std_logic_1164.
all;
26 use ieee.std_logic_arith.
all;
27 use ieee.std_logic_unsigned.
all;
36 --! @ingroup protocols_srp 50 -- AXIS Slave Interface (sAxisClk domain) 56 -- AXIS Master Interface (mAxisClk domain) 61 -- Master AXI-Lite Interface (axilClk domain) 91 -- AXI_BURST_G => AXI_BURST_G, 92 -- AXI_CACHE_G => AXI_CACHE_G, 93 -- ACK_WAIT_BVALID_G => ACK_WAIT_BVALID_G,
in mAxisSlaveAxiStreamSlaveType
in axilWriteSlaveAxiLiteWriteSlaveType
out axiReadMasterAxiReadMasterType
ALTERA_SYN_Gboolean := false
in mAxilReadSlaveAxiLiteReadSlaveType
out mAxilReadMasterAxiLiteReadMasterType
out sAxisSlaveAxiStreamSlaveType
out mAxisMasterAxiStreamMasterType
TX_VALID_THOLD_Gpositive := 1
AXI_STREAM_CONFIG_GAxiStreamConfigType := ssiAxiStreamConfig( 2)
in mAxilWriteSlaveAxiLiteWriteSlaveType
in sAxisMasterAxiStreamMasterType
out sAxisCtrlAxiStreamCtrlType
in axiWriteMasterAxiWriteMasterType
out sAxisCtrlAxiStreamCtrlType
FIFO_PAUSE_THRESH_Gpositive range 1 to 511:= 256
in axilReadSlaveAxiLiteReadSlaveType
AxiLiteWriteMasterType axiWriteMaster
FIFO_PAUSE_THRESH_Gpositive range 1 to 511:= 256
AxiLiteReadSlaveType axiReadSlave
out axilWriteMasterAxiLiteWriteMasterType
SLAVE_READY_EN_Gboolean := true
AxiLiteReadMasterType axiReadMaster
TX_VALID_THOLD_Gpositive := 1
AxiLiteWriteSlaveType axiWriteSlave
AXIL_CLK_FREQ_Greal := 156.25E+6
in axiReadSlaveAxiReadSlaveType
PIPE_STAGES_Gnatural range 0 to 16:= 0
in mAxisSlaveAxiStreamSlaveType
in axiReadMasterAxiReadMasterType
out axilReadMasterAxiLiteReadMasterType
ALTERA_SYN_Gboolean := false
AXI_STREAM_CONFIG_GAxiStreamConfigType := ssiAxiStreamConfig( 2)
SLAVE_READY_EN_Gboolean := false
out sAxisSlaveAxiStreamSlaveType
ALTERA_RAM_Gstring := "M9K"
GEN_SYNC_FIFO_Gboolean := false
out axiWriteSlaveAxiWriteSlaveType
out axiReadSlaveAxiReadSlaveType
ALTERA_RAM_Gstring := "M9K"
out mAxilWriteMasterAxiLiteWriteMasterType
GEN_SYNC_FIFO_Gboolean := false
in sAxisMasterAxiStreamMasterType
out mAxisMasterAxiStreamMasterType
AXI_CONFIG_GAxiConfigType :=( 33, 4, 1, 8)
PIPE_STAGES_Gnatural range 0 to 16:= 0
in axiWriteSlaveAxiWriteSlaveType
AXI_CLK_FREQ_Greal := 156.25E+6
out axiWriteMasterAxiWriteMasterType