1 ------------------------------------------------------------------------------- 2 -- File : Pgp2bLane.vhd 3 -- Company : SLAC National Accelerator Laboratory 4 -- Created : 2009-05-27 5 -- Last update: 2017-03-28 6 ------------------------------------------------------------------------------- 7 -- Description: Simulation Testbed for PGP 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;
20 use ieee.std_logic_arith.
all;
21 use ieee.std_logic_unsigned.
all;
29 --! @ingroup protocols_pgp_pgp2b_core_simlink 33 LANE_CNT_G : range 1 to 2 := 1 -- Number of lanes, 1-2 37 -- System clock, reset & control 45 -- Tx Interface, 16-bits 49 -- System clock, reset & control 57 -- Rx Interface, 16-bits, muxed and de-muxed copies 68 -- Define architecture 80 -- Fake transmit control signals 98 U_Sim :
entity work.AxiStreamSim
102 EOFE_TUSER_EN_G => true,
104 SOF_TUSER_EN_G => true,
146 -- Fake receive control signals 155 pgpRxOut.remOverFlow <= (others=>'0');
AxiStreamConfigType := ssiAxiStreamConfig( 2, TKEEP_COMP_C) SSI_PGP2B_CONFIG_C
AxiStreamSlaveType muxedTxSlave
out pgpRxMasterMuxedAxiStreamMasterType
array(natural range <> ) of AxiStreamSlaveType AxiStreamSlaveArray
in pgpRxCtrlAxiStreamCtrlArray( 3 downto 0)
out pgpRxOutPgp2bRxOutType
out mAxisMastersAxiStreamMasterArray( NUM_MASTERS_G- 1 downto 0)
AxiStreamMasterType muxedRxMaster
in pgpTxMastersAxiStreamMasterArray( 3 downto 0)
AxiStreamSlaveType muxedRxSlave
out sAxisSlaveAxiStreamSlaveType
out mAxisMasterAxiStreamMasterType
NUM_SLAVES_Ginteger range 1 to 32:= 4
in sAxisMastersAxiStreamMasterArray( NUM_SLAVES_G- 1 downto 0)
in sAxisMasterAxiStreamMasterType
out pgpTxSlavesAxiStreamSlaveArray( 3 downto 0)
LANE_CNT_Ginteger range 1 to 2:= 1
slv( 7 downto 0) remLinkData
array(natural range <> ) of AxiStreamCtrlType AxiStreamCtrlArray
array(natural range <> ) of AxiStreamMasterType AxiStreamMasterArray
out sAxisSlavesAxiStreamSlaveArray( NUM_SLAVES_G- 1 downto 0)
out pgpTxOutPgp2bTxOutType
AxiStreamSlaveArray( 3 downto 0) deMuxedRxSlaves
in mAxisSlavesAxiStreamSlaveArray( NUM_MASTERS_G- 1 downto 0)
AxiStreamMasterType muxedTxMaster
in mAxisSlaveAxiStreamSlaveType
NUM_MASTERS_Ginteger range 1 to 32:= 12
out pgpRxMastersAxiStreamMasterArray( 3 downto 0)
AxiStreamMasterArray( 3 downto 0) deMuxedRxMasters