Entity: Pgp4TxLiteProtocol

Diagram

time TPD_G integer range 1 to 16 NUM_VC_G boolean SKIP_EN_G boolean FLOW_CTRL_EN_G integer STARTUP_HOLD_G sl pgpTxClk sl pgpTxRst Pgp4TxInType pgpTxIn sl pgpTxActive AxiStreamMasterType pgpTxMaster AxiStreamCtrlArray(NUM_VC_G-1 downto 0) locRxFifoCtrl sl locRxLinkReady sl remRxLinkReady sl phyTxActive sl protTxReady Pgp4TxOutType pgpTxOut AxiStreamSlaveType pgpTxSlave sl protTxValid sl protTxStart slv(63 downto 0) protTxData slv(1 downto 0) protTxHeader

Description


Title : PGPv4: https://confluence.slac.stanford.edu/x/1dzgEQ

Company : SLAC National Accelerator Laboratory

Description: PGPv4Lite Transmit Protocol Takes pre-packetized AxiStream frames and creates a PGPv4 66/64 protocol stream (pre-scrambler). Inserts IDLE and SKP codes as needed. Inserts

user K codes on request.

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 1
SKIP_EN_G boolean false
FLOW_CTRL_EN_G boolean false
STARTUP_HOLD_G integer 0

Ports

Port name Direction Type Description
pgpTxClk in sl User Transmit interface
pgpTxRst in sl
pgpTxIn in Pgp4TxInType
pgpTxOut out Pgp4TxOutType
pgpTxActive in sl
pgpTxMaster in AxiStreamMasterType
pgpTxSlave out AxiStreamSlaveType
locRxFifoCtrl in AxiStreamCtrlArray(NUM_VC_G-1 downto 0) Status of local receive fifosThese get synchronized by the Pgp4Tx parent
locRxLinkReady in sl
remRxLinkReady in sl
phyTxActive in sl Output Interface
protTxReady in sl
protTxValid out sl
protTxStart out sl
protTxData out slv(63 downto 0)
protTxHeader out slv(1 downto 0)

Signals

Name Type Description
crcIn slv(63 downto 0)
crcOut slv(31 downto 0)
r RegType
rin RegType
crcReset sl
crcDataValid sl

Constants

Name Type Value Description
REG_INIT_C RegType ( crcReset => '0',
crcDataValid => '0',
waitSof => '1',
doEof => '0',
tUserLast => (others => '0'),
pauseDly => (others => '0'),
pauseEvent => (others => '0'),
pauseEventSent => (others => '0'),
overflowDly => (others => '0'),
overflowEvent => (others => '0'),
overflowEventSent => (others => '0'),
skpInterval => PGP4_TX_IN_INIT_C.skpInterval,
skpCount => (others => '0'),
startupCount => 0,
pgpTxSlave => AXI_STREAM_SLAVE_INIT_C,
opCodeReady => '0',
linkReady => '0',
frameTx => '0',
frameTxErr => '0',
protTxValid => '0',
protTxStart => '0',
protTxData => (others => '0'),
protTxHeader => (others => '0'))

Types

Name Type Description
RegType

Processes

Instantiations