Entity: Jesd204bRx

Diagram

time TPD_G boolean GEN_ASYNC_G boolean TEST_G positive F_G positive K_G positive range 1 to 32 L_G sl axiClk sl axiRst AxiLiteReadMasterType axilReadMaster AxiLiteWriteMasterType axilWriteMaster sl devClk_i sl devRst_i sl sysRef_i jesdGtRxLaneTypeArray(L_G-1 downto 0) r_jesdGtRxArr AxiLiteReadSlaveType axilReadSlave AxiLiteWriteSlaveType axilWriteSlave sampleDataArray(L_G-1 downto 0) sampleDataArr_o slv(L_G-1 downto 0) dataValidVec_o sl sysRefDbg_o slv(L_G-1 downto 0) gtRxReset_o slv(L_G-1 downto 0) rxPowerDown slv(L_G-1 downto 0) rxPolarity sl nSync_o slv(L_G-1 downto 0) pulse_o slv(1 downto 0) leds_o

Description


Company : SLAC National Accelerator Laboratory

Description: JESD204b multi-lane receiver module Receiver JESD204b module. Supports a subset of features from JESD204b standard. Supports sub-class 1 deterministic latency. Supports sub-class 0 non deterministic latency. Features: - Synchronization of LMFC to SYSREF - Multi-lane operation (L_G: 1-16) - Lane alignment using RX buffers - Serial lane error check - Alignment character replacement and alignment check

     Note: sampleDataArr_o is little endian and not byte-swapped            First sample in time:  sampleData_o(15 downto 0)

Second sample in time: sampleData_o(31 downto 16)

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
GEN_ASYNC_G boolean false default false don't add synchronizer
TEST_G boolean false Test tx module instead of GTX
F_G positive 2 JESD generics Number of bytes in a frame (1,2,or 4)
K_G positive 32 Number of frames in a multi frame (32)
L_G positive range 1 to 32 2 Number of RX lanes (1 to 32)

Ports

Port name Direction Type Description
axiClk in sl AXI interfaceClocks and Resets
axiRst in sl
axilReadMaster in AxiLiteReadMasterType AXI-Lite Register Interface
axilReadSlave out AxiLiteReadSlaveType
axilWriteMaster in AxiLiteWriteMasterType
axilWriteSlave out AxiLiteWriteSlaveType
sampleDataArr_o out sampleDataArray(L_G-1 downto 0) Sample data output (Use if external data acquisition core is attached)
dataValidVec_o out slv(L_G-1 downto 0)
devClk_i in sl JESDClocks and Resets
devRst_i in sl
sysRef_i in sl SYSREF for subclass 1 fixed latency
sysRefDbg_o out sl SYSREF output for debug
r_jesdGtRxArr in jesdGtRxLaneTypeArray(L_G-1 downto 0) Data and character inputs from GT (transceivers)
gtRxReset_o out slv(L_G-1 downto 0)
rxPowerDown out slv(L_G-1 downto 0)
rxPolarity out slv(L_G-1 downto 0)
nSync_o out sl Synchronization output combined from all receivers
pulse_o out slv(L_G-1 downto 0) Debug signals
leds_o out slv(1 downto 0)

Signals

Name Type Description
r RegType
rin RegType
s_lmfc sl Internal signals Local Multi Frame Clock
s_nSyncVec slv(L_G-1 downto 0) Synchronization output generation
s_nSyncVecEn slv(L_G-1 downto 0)
s_dataValidVec slv(L_G-1 downto 0)
s_nSyncAll sl
s_nSyncAny sl
s_sysrefDlyRx slv(SYSRF_DLY_WIDTH_C-1 downto 0) Control and status from AxiLite ----------------------------------------------------------
s_enableRx slv(L_G-1 downto 0)
s_replEnable sl
s_scrEnable sl
s_invertData slv(L_G-1 downto 0)
s_subClass sl JESD subclass selection (from AXI lite register)
s_gtReset sl User reset (from AXI lite register)
s_invertSync sl
s_clearErr sl
s_statusRxArr rxStatuRegisterArray(L_G-1 downto 0)
s_thresoldHighArr Slv16Array(L_G-1 downto 0)
s_thresoldLowArr Slv16Array(L_G-1 downto 0)
s_dlyTxArr Slv4Array(L_G-1 downto 0) Testing registers
s_alignTxArr alignTxArray(L_G-1 downto 0)
s_sampleDataArr sampleDataArray(L_G-1 downto 0)
s_sysrefSync sl Sysref conditioning
s_sysrefD sl
s_sysrefRe sl
s_jesdGtRxArr jesdGtRxLaneTypeArray(L_G-1 downto 0) Record containing GT signals
s_rawData slv32Array(L_G-1 downto 0)
s_linkErrMask slv(5 downto 0) Generate pause signal logic OR

Constants

Name Type Value Description
REG_INIT_C RegType ( nSyncAnyD1 => '0' )

Types

Name Type Description
RegType

Processes

Description
DFF

Instantiations

Description
axiLite register interface

Description
Delay SYSREF input (for 1 to 256 c-c)

Description
LMFC period generator aligned to SYSREF input