Entity: JesdSyncFsmRx

Diagram

time TPD_G positive F_G positive K_G positive NUM_ILAS_MF_G sl clk sl rst sl enable_i sl gtReady_i sl subClass_i sl sysRef_i slv((GT_WORD_SIZE_C*8)-1 downto 0) dataRx_i slv(GT_WORD_SIZE_C-1 downto 0) chariskRx_i sl lmfc_i sl nSyncAny_i sl nSyncAnyD1_i sl linkErr_i sl nSync_o slv(7 downto 0) buffLatency_o sl readBuff_o sl alignFrame_o sl ila_o sl kDetected_o sl sysref_o sl dataValid_o

Description


Company : SLAC National Accelerator Laboratory

Description: Synchronizer Finite state machine Finite state machine for sub-class 1 deterministic latency lane synchronization.

It also supports sub-class 0 non deterministic mode.

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
F_G positive 2 Number of bytes in a frame
K_G positive 32 Number of frames in a multi frame
NUM_ILAS_MF_G positive 4 Number of multi-frames in ILA sequence (4-255)

Ports

Port name Direction Type Description
clk in sl Clocks and Resets
rst in sl
enable_i in sl Enable the module
gtReady_i in sl
subClass_i in sl JESD subclass selection: '0' or '1'(default)
sysRef_i in sl SYSREF for subcalss 1 fixed latency
dataRx_i in slv((GT_WORD_SIZE_C*8)-1 downto 0) Data and character inputs from GT (transceivers)
chariskRx_i in slv(GT_WORD_SIZE_C-1 downto 0)
lmfc_i in sl Local multi frame clock
nSyncAny_i in sl One or more RX modules requested synchronization
nSyncAnyD1_i in sl
linkErr_i in sl Combined link errors
nSync_o out sl Synchronous FSM control outputsSynchronization request
buffLatency_o out slv(7 downto 0) Elastic buffer latency in clock cycles
readBuff_o out sl Read enable for Rx Buffer.Holds buffers between first data and LMFC
alignFrame_o out sl First non comma (K) character detected.To indicate when to realign sample within the dataRx.
ila_o out sl Ila frames are being received
kDetected_o out sl K detected
sysref_o out sl sysref received
dataValid_o out sl Synchronisation process is complete and data is valid

Signals

Name Type Description
r RegType
rin RegType
s_kDetected sl
s_kStable sl

Constants

Name Type Value Description
REG_INIT_C RegType ( kDetectRegD1 => '0',
kDetectRegD2 => '0',
kDetectRegD3 => '0',
linkErr => '0',
nSync => '0',
readBuff => '0',
alignFrame => '0',
Ila => '0',
dataValid => '0',
sysref => '0',
cnt => (others => '0'),
cntLatency => (others => '0'),
-- Status Machine state => IDLE_S )

Types

Name Type Description
stateType ( IDLE_S,
SYSREF_S,
SYNC_S,
HOLD_S,
ALIGN_S,
ILA_S,
DATA_S )
RegType

Processes

Description
State machine