1 ------------------------------------------------------------------------------- 2 -- File : Pgp2bGthUltra.vhd 3 -- Company : SLAC National Accelerator Laboratory 4 -- Created : 2013-06-29 5 -- Last update: 2016-01-19 6 ------------------------------------------------------------------------------- 8 ------------------------------------------------------------------------------- 9 -- This file is part of 'Example Project Firmware'. 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 'Example Project Firmware', 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 use UNISIM.VCOMPONENTS.
all;
30 --! @ingroup protocols_pgp_pgp2b_gthUltraScale 34 ---------------------------------------------------------------------------------------------- 36 ---------------------------------------------------------------------------------------------- 68 -- Frame Transmit Interface - 1 Lane, Array of 4 VCs 71 -- Frame Receive Interface - 1 Lane, Array of 4 VCs 125 -------------------------- 126 -- Wrapper for GTH IP core 127 -------------------------- 143 rxData => phyRxLaneIn.data,
153 txData => phyTxLaneOut.data,
PAYLOAD_CNT_TOP_Ginteger := 7
out rxDispErrslv( 1 downto 0)
Pgp2bTxPhyLaneOutType phyTxLaneOut
in pgpTxMastersAxiStreamMasterArray( 3 downto 0) :=( others => AXI_STREAM_MASTER_INIT_C)
array(natural range <> ) of AxiStreamSlaveType AxiStreamSlaveArray
TX_ENABLE_Gboolean := true
in loopbackslv( 2 downto 0)
out pgpTxSlavesAxiStreamSlaveArray( 3 downto 0)
PGP_RX_ENABLE_Gboolean := true
out pgpTxSlavesAxiStreamSlaveArray( 3 downto 0)
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
out pgpRxOutPgp2bRxOutType
out rxDecErrslv( 1 downto 0)
in txDataKslv( 1 downto 0)
in pgpRxInPgp2bRxInType := PGP2B_RX_IN_INIT_C
VC_INTERLEAVE_Ginteger := 1
VC_INTERLEAVE_Ginteger := 0
RX_ENABLE_Gboolean := true
Pgp2bRxPhyLaneInType phyRxLaneIn
out pgpRxOutPgp2bRxOutType
in pgpTxMastersAxiStreamMasterArray( 3 downto 0) :=( others => AXI_STREAM_MASTER_INIT_C)
NUM_VC_EN_Ginteger range 1 to 4:= 4
PGP_TX_ENABLE_Gboolean := true
Pgp2bRxPhyLaneOutType phyRxLaneOut
PAYLOAD_CNT_TOP_Ginteger := 7
in pgpRxCtrlAxiStreamCtrlArray( 3 downto 0) :=( others => AXI_STREAM_CTRL_UNUSED_C)
array(natural range <> ) of AxiStreamCtrlType AxiStreamCtrlArray
in txDataslv( 15 downto 0)
out pgpTxOutPgp2bTxOutType
out pgpTxOutPgp2bTxOutType
array(natural range <> ) of AxiStreamMasterType AxiStreamMasterArray
LANE_CNT_Ginteger range 1 to 2:= 1
NUM_VC_EN_Ginteger range 1 to 4:= 4
in pgpRxCtrlAxiStreamCtrlArray( 3 downto 0)
in pgpTxInPgp2bTxInType := PGP2B_TX_IN_INIT_C
out rxDataslv( 15 downto 0)
out pgpRxMastersAxiStreamMasterArray( 3 downto 0)
out rxDataKslv( 1 downto 0)
out pgpRxMasterMuxedAxiStreamMasterType
out pgpRxMastersAxiStreamMasterArray( 3 downto 0)
out pgpRxMasterMuxedAxiStreamMasterType