Entity: Pgp3Rx

Diagram

time TPD_G integer range 1 to 16 NUM_VC_G integer ALIGN_SLIP_WAIT_G sl pgpRxClk sl pgpRxRst Pgp3RxInType pgpRxIn AxiStreamCtrlArray(NUM_VC_G-1 downto 0) pgpRxCtrl sl phyRxClk sl phyRxRst sl phyRxActive sl phyRxValid slv(1 downto 0) phyRxHeader slv(63 downto 0) phyRxData sl phyRxStartSeq Pgp3RxOutType pgpRxOut AxiStreamMasterArray(NUM_VC_G-1 downto 0) pgpRxMasters AxiStreamCtrlArray(NUM_VC_G-1 downto 0) remRxFifoCtrl sl remRxLinkReady sl locRxLinkReady sl phyRxInit sl phyRxSlip

Description


Title : PGPv3: https://confluence.slac.stanford.edu/x/OndODQ

Company : SLAC National Accelerator Laboratory

Description: PGPv3 Receive Block

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
NUM_VC_G integer range 1 to 16 4
ALIGN_SLIP_WAIT_G integer 32

Ports

Port name Direction Type Description
pgpRxClk in sl User Transmit interface
pgpRxRst in sl
pgpRxIn in Pgp3RxInType
pgpRxOut out Pgp3RxOutType
pgpRxMasters out AxiStreamMasterArray(NUM_VC_G-1 downto 0)
pgpRxCtrl in AxiStreamCtrlArray(NUM_VC_G-1 downto 0) Unused
remRxFifoCtrl out AxiStreamCtrlArray(NUM_VC_G-1 downto 0) Status of local receive fifos
remRxLinkReady out sl
locRxLinkReady out sl
phyRxClk in sl Phy interface
phyRxRst in sl
phyRxInit out sl
phyRxActive in sl
phyRxValid in sl
phyRxHeader in slv(1 downto 0)
phyRxData in slv(63 downto 0)
phyRxStartSeq in sl
phyRxSlip out sl

Signals

Name Type Description
gearboxAligned sl
unscramblerValid sl
unscrambledValid sl
unscrambledData slv(63 downto 0)
unscrambledHeader slv(1 downto 0)
remLinkData slv(55 downto 0)
ebValid sl
ebData slv(63 downto 0)
ebHeader slv(1 downto 0)
ebOverflow sl
ebStatus slv(8 downto 0)
phyRxInitInt sl
pgpRawRxMaster AxiStreamMasterType
pgpRawRxSlave AxiStreamSlaveType
depacketizedAxisMaster AxiStreamMasterType
depacketizedAxisSlave AxiStreamSlaveType
pgpRxOutProtocol Pgp3RxOutType
depacketizerDebug Packetizer2DebugType
locRxLinkReadyInt sl
remRxLinkReadyInt sl
remRxFifoCtrlInt AxiStreamCtrlArray(NUM_VC_G-1 downto 0)

Constants

Name Type Value Description
SCRAMBLER_TAPS_C IntegerArray (0 => 39,
1 => 58)

Instantiations

Description
Gearbox aligner

Description
[out]
Elastic Buffer

Description
[out]
Main RX protocol logic

Description
[in]
Depacketize the RX data frames

Description
[in]
Demultiplex the depacketized streams