1179 - When using the Lattice FPGA PCS/SERDES QUADS in 10-bit Raw SERDES mode, how do I do interpret the 10-bit 8b10 encoded RX DATA?
The response applies to the LatticeECP2M/LatticeECP3/LatticeSC/M PCS/SERDES QUADS used in 10-bit RAW SERDES only mode.
The assumption is that you are coding your own RTL 8b10b decoder in the fabric.
Based on the definition of 8b10b codes , DATA=0x00 for example is encoded as hex value of 0x274 , or a 10-bit sequence abcdeifrgj=10_0111_0100.
In 10-bit SERDES only mode , the encoded 8b10b 10-bit data appears on the PCS RXD/TXD [9:0] bus such that j is mapped to bit 9 and a is mapped to bit 0 of the bus.
You can perform word alignment to Comma characters either in the PCS/SERDES QUAD or using an external word aligner in the FPGA.
Related Articles
2722 - SERDES/ECP3:Why do I receive data errors when I configure the LatticeECP3 SERDES/PCS in TX-to-RX Serial Loopback Mode?
The TX-to-RX Serial Loopback Mode is supported in the LatticeECP3 device (see "Control Setup" and "TX-to-RX Serial Loopback Mode" sections of FPGA-TN-02190). In this loopback test mode, the TX output serial data is looped back into the RX SERDES CDR. ...
356 - In Lattice parts with SERDES/PCS, how can I control the word aligner using my own FPGA-based link state machine ?
You can use the word_align_en_[0-3]/ffc_enable_cgalign_ch[0-3] either in an 8b10b based or 10-bit SERDES only based mode. The simulation waveforms below shows how a low pulse on the word_align_en_0 (LatticeSC/LatticeECP3 signal that has same function ...
697 - Why do I occasionally see invalid 8b10b characters at the PCS/SERDES QUAD RX FPGA FIFO interface even though the PCS link state machine shows correct status?
When the Lattice SERDES/PCS QUAD is powered up, the PCS recovered clocks are unstable until the RX CDR locks fully to the incoming data. During the time the RX clocks are unstable, the pointers on the PCS RX FPGA interface FIFO (RX FIFO) can reach ...
354 - Is there a Verilog code example available to illustrate how to use Comma boundaries For SERDES/PCS based devices to correct for 16/20 byte shifting in FPGA Interface RX DATA?
For more background on 16/20 bit mode byte shifting, please refer to FAQ 355. The principles of byte shifting in 16/20-bit mode apply to the LatticeSC , LatticeECP3, LatticeECP5 and LatticeECP2M PCS blocks in 16/20 bit data mode. The following ...
355 - What's the best, first step to debug looped-back 16-bit data with 8b10b encoding for SERDES/PCS applications in Lattice FPGA's?
For this type of SERDES application, the 8-bit comma character will always occur in the same 8-bit word location in the 16-bit RX data, as long as the transmitter never sends back-to-back commas or sends commas that are an odd number of cycles apart. ...