Entity: Pgp2bGtp7FixedLat

Diagram

time TPD_G boolean COMMON_CLK_G string SIM_GTRESET_SPEEDUP_G string SIM_VERSION_G boolean SIMULATION_G real STABLE_CLOCK_PERIOD_G real REF_CLK_FREQ_G integer RXOUT_DIV_G integer TXOUT_DIV_G integer RX_CLK25_DIV_G integer TX_CLK25_DIV_G bit_vector PMA_RSV_G bit_vector RX_OS_CFG_G bit_vector RXCDR_CFG_G bit RXLPM_INCM_CFG_G bit RXLPM_IPCM_CFG_G boolean TX_BUF_EN_G string TX_OUTCLK_SRC_G string TX_PHASE_ALIGN_G boolean DYNAMIC_QPLL_G string TX_PLL_G string RX_PLL_G integer VC_INTERLEAVE_G integer PAYLOAD_CNT_TOP_G integer range 1 to 4 NUM_VC_EN_G sl TX_POLARITY_G sl RX_POLARITY_G boolean TX_ENABLE_G boolean RX_ENABLE_G sl stableClk slv(1 downto 0) qPllRxSelect slv(1 downto 0) qPllTxSelect slv(1 downto 0) gtQPllOutRefClk slv(1 downto 0) gtQPllOutClk slv(1 downto 0) gtQPllLock slv(1 downto 0) gtQPllRefClkLost sl gtRxRefClkBufg sl gtRxN sl gtRxP sl pgpTxReset sl pgpTxClk sl pgpTxMmcmLocked sl pgpRxReset sl pgpRxClk sl pgpRxMmcmLocked Pgp2bRxInType pgpRxIn Pgp2bTxInType pgpTxIn AxiStreamMasterArray(3 downto 0) pgpTxMasters AxiStreamCtrlArray(3 downto 0) pgpRxCtrl slv(4 downto 0) txPreCursor slv(4 downto 0) txPostCursor slv(3 downto 0) txDiffCtrl sl drpOverride sl axilClk sl axilRst AxiLiteReadMasterType axilReadMaster AxiLiteWriteMasterType axilWriteMaster slv(1 downto 0) gtQPllReset sl gtTxOutClk sl gtTxN sl gtTxP sl pgpTxMmcmReset sl pgpRxRecClk sl pgpRxRecClkRst sl pgpRxMmcmReset Pgp2bRxOutType pgpRxOut Pgp2bTxOutType pgpTxOut AxiStreamSlaveArray(3 downto 0) pgpTxSlaves AxiStreamMasterArray(3 downto 0) pgpRxMasters AxiStreamMasterType pgpRxMasterMuxed AxiLiteReadSlaveType axilReadSlave AxiLiteWriteSlaveType axilWriteSlave

Description


Title : PGPv2b: https://confluence.slac.stanford.edu/x/q86fD

Company : SLAC National Accelerator Laboratory

Description: Gth7 Fixed Latency 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_CLK_G boolean false set true if (stableClk = axilClk)
SIM_GTRESET_SPEEDUP_G string "FALSE" ------------------------------------------------------------------------------------------- GT Settings ------------------------------------------------------------------------------------------- Sim Generics --
SIM_VERSION_G string "2.0"
SIMULATION_G boolean false
STABLE_CLOCK_PERIOD_G real 4.0E-9 units of seconds
REF_CLK_FREQ_G real 125.0E6
RXOUT_DIV_G integer 2 TX/RX Settings - Defaults to 2.5 Gbps operation
TXOUT_DIV_G integer 2
RX_CLK25_DIV_G integer 5 Set by wizard
TX_CLK25_DIV_G integer 5 Set by wizard
PMA_RSV_G bit_vector x"00000333" Set by wizard
RX_OS_CFG_G bit_vector "0001111110000" Set by wizard
RXCDR_CFG_G bit_vector x"0000107FE206001041010" Set by wizard
RXLPM_INCM_CFG_G bit '1' Set by wizard
RXLPM_IPCM_CFG_G bit '0' Set by wizard
TX_BUF_EN_G boolean false Allow TX to run in var lat mode by altering these generics
TX_OUTCLK_SRC_G string "PLLREFCLK"
TX_PHASE_ALIGN_G string "MANUAL"
DYNAMIC_QPLL_G boolean false Configure PLL sources
TX_PLL_G string "PLL0"
RX_PLL_G string "PLL1"
VC_INTERLEAVE_G integer 0 No interleave Frames
PAYLOAD_CNT_TOP_G integer 7 Top bit for payload counter
NUM_VC_EN_G integer range 1 to 4 4
TX_POLARITY_G sl '0'
RX_POLARITY_G sl '0'
TX_ENABLE_G boolean true Enable TX direction
RX_ENABLE_G boolean true

Ports

Port name Direction Type Description
stableClk in sl GT needs a stable clock to "boot up"
qPllRxSelect in slv(1 downto 0)
qPllTxSelect in slv(1 downto 0)
gtQPllOutRefClk in slv(1 downto 0) Signals from QPLLs
gtQPllOutClk in slv(1 downto 0)
gtQPllLock in slv(1 downto 0)
gtQPllRefClkLost in slv(1 downto 0)
gtQPllReset out slv(1 downto 0)
gtRxRefClkBufg in sl gtrefclk driving rx side, fed through clock buffer
gtTxOutClk out sl
gtRxN in sl GT Serial Receive Negative
gtRxP in sl GT Serial Receive Positive
gtTxN out sl GT Serial Transmit Negative
gtTxP out sl GT Serial Transmit Positive
pgpTxReset in sl Tx Clocking
pgpTxClk in sl
pgpTxMmcmReset out sl
pgpTxMmcmLocked in sl
pgpRxReset in sl Rx clocking
pgpRxRecClk out sl rxrecclk basically
pgpRxRecClkRst out sl Reset for recovered clock
pgpRxClk in sl Run recClk through external MMCM and sent to this input
pgpRxMmcmReset out sl
pgpRxMmcmLocked in sl
pgpRxIn in Pgp2bRxInType Non VC Rx Signals
pgpRxOut out Pgp2bRxOutType
pgpTxIn in Pgp2bTxInType Non VC Tx Signals
pgpTxOut out Pgp2bTxOutType
pgpTxMasters in AxiStreamMasterArray(3 downto 0) Frame Transmit Interface - 1 Lane, Array of 4 VCs
pgpTxSlaves out AxiStreamSlaveArray(3 downto 0)
pgpRxMasters out AxiStreamMasterArray(3 downto 0) Frame Receive Interface - 1 Lane, Array of 4 VCs
pgpRxMasterMuxed out AxiStreamMasterType
pgpRxCtrl in AxiStreamCtrlArray(3 downto 0)
txPreCursor in slv(4 downto 0) Debug Interface
txPostCursor in slv(4 downto 0)
txDiffCtrl in slv(3 downto 0)
drpOverride in sl
axilClk in sl AXI-Lite Interface
axilRst in sl
axilReadMaster in AxiLiteReadMasterType
axilReadSlave out AxiLiteReadSlaveType
axilWriteMaster in AxiLiteWriteMasterType
axilWriteSlave out AxiLiteWriteSlaveType

Signals

Name Type Description
gtRxResetDone sl
gtRxResetDoneL sl
gtRxUserReset sl
pgpRxResetInt sl
gtRxData slv(19 downto 0) Feed to 8B10B decoder
dataValid sl no decode or disparity errors
dataValidTmp sl no decode or disparity errors
phyRxLanesIn Pgp2bRxPhyLaneInArray(0 to 0) Output from decoder
phyRxLanesOut Pgp2bRxPhyLaneOutArray(0 to 0) Polarity to GT
phyRxReady sl To RxRst
phyRxInit sl To RxRst
gtTxUsrClk sl ------------------------------------------------------------------------------------------------ Tx Signals ------------------------------------------------------------------------------------------------
gtTxResetDone sl
phyTxLanesOut Pgp2bTxPhyLaneOutArray(0 to 0) PgpTx Signals
phyTxReady sl
stableRst sl
drpGnt sl
drpRdy sl
drpEn sl
drpWe sl
drpAddr slv(8 downto 0)
drpDi slv(15 downto 0)
drpDo slv(15 downto 0)

Instantiations

Description

PGP Core

Description

Oneshot the phy init because clock may drop out and leave it stuck high

Description

Filter on dataValid so that it doesn't drop immediately on errors

Not currently hooked up but leaving it in so we can try it someday.

Description

GTP 7 Core in Fixed Latency mode