Entity: Pgp4Rx
- File: Pgp4Rx.vhd
Diagram
Description
Title : PGPv4: https://confluence.slac.stanford.edu/x/1dzgEQ
Company : SLAC National Accelerator Laboratory
Description: PGPv4 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 | Pgp4RxInType | |
pgpRxOut | out | Pgp4RxOutType | |
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(47 downto 0) | |
ebValid | sl | |
ebData | slv(63 downto 0) | |
ebHeader | slv(1 downto 0) | |
ebOverflow | sl | |
linkError | sl | |
ebStatus | slv(8 downto 0) | |
phyRxInitInt | sl | |
pgpRawRxMaster | AxiStreamMasterType | |
pgpRawRxSlave | AxiStreamSlaveType | |
depacketizedAxisMaster | AxiStreamMasterType | |
depacketizedAxisSlave | AxiStreamSlaveType | |
pgpRxOutProtocol | Pgp4RxOutType | |
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
- U_Pgp3RxGearboxAligner_1: surf.Pgp3RxGearboxAligner
Description
Gearbox aligner
- U_Scrambler_1: surf.Scrambler
- U_Pgp4RxEb_1: surf.Pgp4RxEb
Description
[out]
Elastic Buffer
- U_Pgp4RxProtocol_1: surf.Pgp4RxProtocol
Description
[out]
Main RX protocol logic
- U_AxiStreamDepacketizer2_1: surf.AxiStreamDepacketizer2
Description
[in]
Depacketize the RX data frames
- U_AxiStreamDeMux_1: surf.AxiStreamDeMux
Description
[in]
Demultiplex the depacketized streams