1 ------------------------------------------------------------------------------- 2 -- File : Pgp2bGtp7VarLat.vhd 3 -- Company : SLAC National Accelerator Laboratory 4 -- Created : 2013-06-29 5 -- Last update: 2016-08-24 6 ------------------------------------------------------------------------------- 7 -- Description: Gtp7 Variable Latency Wrapper 8 ------------------------------------------------------------------------------- 9 -- This file is part of 'SLAC Firmware Standard Library'. 10 -- It is subject to the license terms in the LICENSE.txt file found in the 11 -- top-level directory of this distribution and at: 12 -- https://confluence.slac.stanford.edu/display/ppareg/LICENSE.html. 13 -- No part of 'SLAC Firmware Standard Library', including this file, 14 -- may be copied, modified, propagated, or distributed except according to 15 -- the terms contained in the LICENSE.txt file. 16 ------------------------------------------------------------------------------- 19 use ieee.std_logic_1164.
all;
27 --! @ingroup protocols_pgp_pgp2b_gtp7 31 ---------------------------------------------------------------------------------------------- 33 ---------------------------------------------------------------------------------------------- 50 -- Configure Buffer usage 56 ---------------------------------------------------------------------------------------------- 58 ---------------------------------------------------------------------------------------------- 74 gtTxP : out sl;
-- GT Serial Transmit Positive 75 gtTxN : out sl;
-- GT Serial Transmit Negative 76 gtRxP : in sl;
-- GT Serial Receive Positive 77 gtRxN : in sl;
-- GT Serial Receive Negative 96 -- Frame Transmit Interface - Array of 4 VCs 99 -- Frame Receive Interface - Array of 4 VCs 107 -- AXI-Lite Interface 139 -- Configure Buffer usage 183 -- Frame Transmit Interface - Array of 4 VCs 186 -- Frame Receive Interface - Array of 4 VCs 194 -- AXI-Lite Interface
NUM_VC_EN_Ginteger range 1 to 4:= 4
array(natural range <> ) of AxiStreamSlaveType AxiStreamSlaveArray
PMA_RSV_Gbit_vector := x"00000333"
out pgpRxMastersAxiStreamMasterArray( 3 downto 0)
in txPreCursorslv( 4 downto 0) :=( others => '0')
RXCDR_CFG_Gbit_vector := x"0000107FE206001041010"
TX_ENABLE_Gboolean := true
SIM_GTRESET_SPEEDUP_Gstring := "FALSE"
PMA_RSV_Gbit_vector := x"00000333"
in txPreCursorslv( 4 downto 0) :=( others => '0')
in pgpTxMastersAxiStreamMasterArray( 3 downto 0) :=( others => AXI_STREAM_MASTER_INIT_C)
STABLE_CLOCK_PERIOD_Greal := 4.0E-9
RX_CLK25_DIV_Ginteger := 7
AxiStreamMasterType :=(tValid => '0',tData =>( others => '0'),tStrb =>( others => '1'),tKeep =>( others => '1'),tLast => '0',tDest =>( others => '0'),tId =>( others => '0'),tUser =>( others => '0')) AXI_STREAM_MASTER_INIT_C
AXI_ERROR_RESP_Gslv( 1 downto 0) := AXI_RESP_DECERR_C
STABLE_CLOCK_PERIOD_Greal := 4.0E-9
in pgpRxCtrlAxiStreamCtrlArray( 3 downto 0)
in txPostCursorslv( 4 downto 0) :=( others => '0')
RXCDR_CFG_Gbit_vector := x"0000107FE206001041010"
in txDiffCtrlslv( 3 downto 0) := "1000"
out pgpTxSlavesAxiStreamSlaveArray( 3 downto 0)
RXLPM_IPCM_CFG_Gbit := '0'
RX_OS_CFG_Gbit_vector := "0001111110000"
in gtQPllOutRefClkslv( 1 downto 0)
SIM_GTRESET_SPEEDUP_Gstring := "FALSE"
RX_OS_CFG_Gbit_vector := "0001111110000"
TX_BUF_EN_Gboolean := true
in gtQPllOutClkslv( 1 downto 0)
in axilWriteMasterAxiLiteWriteMasterType := AXI_LITE_WRITE_MASTER_INIT_C
in gtQPllLockslv( 1 downto 0)
PAYLOAD_CNT_TOP_Ginteger := 7
TX_PHASE_ALIGN_Gstring := "NONE"
RX_ENABLE_Gboolean := true
in gtQPllRefClkLostslv( 1 downto 0)
VC_INTERLEAVE_Ginteger := 0
in txDiffCtrlslv( 3 downto 0) := "1000"
TX_ENABLE_Gboolean := true
slv( 1 downto 0) := "11" AXI_RESP_DECERR_C
TX_CLK25_DIV_Ginteger := 7
out gtQPllResetslv( 1 downto 0)
out pgpTxOutPgp2bTxOutType
TX_OUTCLK_SRC_Gstring := "OUTCLKPMA"
in gtQPllOutClkslv( 1 downto 0)
out axilReadSlaveAxiLiteReadSlaveType
in pgpRxMmcmLockedsl := '1'
RXLPM_INCM_CFG_Gbit := '1'
VC_INTERLEAVE_Ginteger := 0
in txPostCursorslv( 4 downto 0) :=( others => '0')
TX_BUF_ADDR_MODE_Gstring := "FULL"
out gtQPllResetslv( 1 downto 0)
SIM_VERSION_Gstring := "1.0"
out pgpRxOutPgp2bRxOutType
in pgpTxMastersAxiStreamMasterArray( 3 downto 0) :=( others => AXI_STREAM_MASTER_INIT_C)
array(natural range <> ) of AxiStreamCtrlType AxiStreamCtrlArray
out pgpRxMastersAxiStreamMasterArray( 3 downto 0)
RX_ENABLE_Gboolean := true
out pgpTxOutPgp2bTxOutType
array(natural range <> ) of AxiStreamMasterType AxiStreamMasterArray
out pgpRxMasterMuxedAxiStreamMasterType
RX_CLK25_DIV_Ginteger := 7
AxiLiteReadMasterType :=(araddr =>( others => '0'),arprot =>( others => '0'),arvalid => '0',rready => '1') AXI_LITE_READ_MASTER_INIT_C
in gtQPllLockslv( 1 downto 0)
NUM_VC_EN_Ginteger range 1 to 4:= 4
in pgpRxCtrlAxiStreamCtrlArray( 3 downto 0)
AxiLiteWriteMasterType :=(awaddr =>( others => '0'),awprot =>( others => '0'),awvalid => '0',wdata =>( others => '0'),wstrb =>( others => '1'),wvalid => '0',bready => '1') AXI_LITE_WRITE_MASTER_INIT_C
in pgpTxMmcmLockedsl := '1'
TX_BUF_ADDR_MODE_Gstring := "FULL"
out pgpRxOutPgp2bRxOutType
PAYLOAD_CNT_TOP_Ginteger := 7
out axilWriteSlaveAxiLiteWriteSlaveType
out pgpRxMasterMuxedAxiStreamMasterType
TX_CLK25_DIV_Ginteger := 7
in gtQPllRefClkLostslv( 1 downto 0)
in axilReadMasterAxiLiteReadMasterType := AXI_LITE_READ_MASTER_INIT_C
SIM_VERSION_Gstring := "1.0"
RXLPM_IPCM_CFG_Gbit := '0'
TX_OUTCLK_SRC_Gstring := "OUTCLKPMA"
RXLPM_INCM_CFG_Gbit := '1'
AXI_ERROR_RESP_Gslv( 1 downto 0) := AXI_RESP_DECERR_C
TX_BUF_EN_Gboolean := true
out pgpTxSlavesAxiStreamSlaveArray( 3 downto 0)
TX_PHASE_ALIGN_Gstring := "NONE"
in gtQPllOutRefClkslv( 1 downto 0)