Page 2
The information provided in this document is proprietary to Lattice Semiconductor, and Lattice reserves the right to make any changes to the information in this document or to any products at any time without notice.
Page 6
Table 4.1. Standards Supported by the SerDes/PCS ......................17 Table 5.1. Maximum Number of SerDes/PCS Channels per CertusPro-NX Device ............. 19 Table 5.2. Maximum Number of PCI Express Blocks per CertusPro-NX Device ..............19 Table 5.3. Block Usage for the Corresponding SerDes/PCS Mode ..................20 Table 5.4.
Page 7
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Table 6.4. Tx FIFO Usage ..............................54 Table 6.5. Disparity Combinations ............................55 Table 6.6. Example Settings for XAUI and GigE ........................58 Table 6.7. PMA Only Mode Data Bus ..........................69 Table 6.8. Channel Alignment within One Quad ........................ 70 Table 6.9.
Page 8
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Table A. 21. PRBS Error Counter Register [reg65] ......................129 Table A. 22. PHY Reset Override Register [reg66] ......................129 Table A. 23. PHY Power Override Register [reg67] ......................129 Table A. 24. Transmit PLL Current Charge Pump [reg69] ....................129 Table A.
Page 9
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Table A. 75. Secondary Lane Alignment Pattern Byte 1 [reg58] ..................143 Table A. 76. Secondary Lane Alignment Pattern Byte 2 [reg59] ..................143 Table A. 77. Secondary Lane Alignment Pattern Byte 3 [reg5a] ..................143 Table A.
Page 10
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Table A. 129. User Defined BIST Constant 1 Byte_0 [rege3] .................... 153 Table A. 130. User Defined BIST Constant 1 Byte_1 [rege4] .................... 153 Table A. 131. User Defined BIST Constant 1 MSByte [rege5] ................... 153 Table A.
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Glossary A list of vocabulary used in this document. Vocabulary Definition Alternating Current Auto Negotiation ASIC Application Specific Integrated Circuit Bit Error Ratio BIST Built In Self-Test Clock and Data Recovery Consumer Electronic...
Page 12
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Vocabulary Definition Interface JIIA Japan Industrial Imaging Association JTAG Joint Test Action Group A low power state inside PCIe LTSSM Low Frequency LMMI Lattice Memory Mapped Interface Loss of Signal LSByte/LSB Last Significant Byte...
Page 13
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Vocabulary Definition TxDP Transmitter Data Positive pin TxDN Transmitter Data Negative pin Unit Interval Universal Serial Bus USB3 USB SuperSpeed VC0_RX Virtual Channel 0 Receiver VC0_TX Virtual Channel 0 Transmitter VESA Video Electronics Standards Association...
SGMII, QSGMII, XAUI, SLVS-EC, and CoaXPress protocols. There are two kinds of Physical Coding Sublayer logic inside the CertusPro-NX device: one is for PCI Express only, the other is Multi-Protocol Physical Coding Sublayer (MPCS) for protocols other than PCI Express.
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Features Single Channel MPCS Functionalities From 625 Mb/s up to 10.3125 Gb/s per channel Word alignment and link synchronization FSM Supports DisplayPort, SLVS-EC, CoaXPress, and Ethernet 1000BASE-X/SGMII/XAUI/QSGMII protocols Supports popular 8B/10B PCS-based protocols...
Using This Technical Note This technical note provides a thorough description of the complete functionality of the embedded SerDes and associated PCS logic, including the description of: Architecture of the CertusPro-NX SerDes/PCS module and interface SerDes/PCS function ...
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Standards Supported The supported standards are listed in Table 4.1. Table 4.1. Standards Supported by the SerDes/PCS System Reference Number of Link Standard Data Rate (Mb/s) FPGA Clock (MHz) Encoding Style Clock (MHz)
Technical Note Architecture Overview Device Architecture The SerDes/PCS block is arranged in quads containing logic for four full-duplex data channels. Figure 5.1 shows the arrangement of SerDes/PCS Quads on the CertusPro-NX 100k device. Configuration Large Large Large Large SERDES/PCS X4...
PCI Express, while the Multi-Protocol PCS (MPCS) is designed for other protocols. CertusPro-NX device also integrates one PCI Express Link Layer Quad, which contains one PCIe ×1 block and one PCIe ×4 block. The PCIe ×4 PCI Express Link Layer block can be configured as ×1, ×2 or ×4 mode. The PCI Express Link Layer block, PCI Express PCS channels, and PMA channels constitute the complete PCI Express Hard IP block.
PCI Express Architecture The CertusPro-NX PCI Express Link Layer block is a hard IP, which supports PCI Express Gen1, Gen2, and Gen3, and is compatible with PCI-SIG PCI Express Base Spec version 3.1a. The PCI Express Link Layer Block implements PHY Layer adaption, Data Link Layer, and Transaction Layer.
Figure 5.4. PCI Express Link Layer Functional Diagram MPCS Architecture CertusPro-NX Multi-Protocol PCS is designed for popular serial protocols other than PCI Express, such as Ethernet SGMII, XAUI, QSGMII, 10GBASE-R, SLVS-EC, CoaXpress, and DP/eDP. MPCS can be configured as Generic 8B/10B mode,...
Since each Quad has its own reference clock, different Quads can support different standards on the same chip. This feature makes the CertusPro-NX family ideal for bridging between different standards. MPCS Quads are not dedicated solely to industry standard protocols. Each Quad and each channel within a Quad can be programmed for many user-defined data manipulation modes.
SDQx_REFCLKP/SDQx_REFCLKN, or from the FPGA internally. Figure 5.7 shows CertusPro-NX 100k device SerDes/PCS reference clock architecture. The Clock Tree block is designed for balancing the skew between different Quads based on one reference clock source, and the skew between different clock sources.
Table 5.6 lists the support of mixed protocols within a CertusPro-NX SerDes/PCS quad. The reference clock must be without spread spectrum when PCI Express and other protocols share the same SerDes/PCS quad. Table 5.6. CertusPro-NX Mixed Protocols within a Quad...
Page 28
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Port Name Width Description Tx/Rx FIFO Signals mpcs_tx_ch_din_i 80*NL For the signal mapping of this port, refer to Table 5.12. mpcs_tx_fifo_st_o 4*NL For the signal mapping of this port, refer to Table 5.12.
Page 29
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Port Name Width Description switch back to the process of frequency lock acquisition. mpcs_fomreq_i This signal is used to request a Figure of Merit (FOM) evaluation. mpcs_fomack_o This signal is used to handshake the FOM evaluation request in MPCS mode.
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Table 5.8. EPCS Interface Port Name Width Description Clock and Reset Signals epcs_rx_usr_clk_i User interface Rx clock input. epcs_tx_usr_clk_i User interface Tx clock input. epcs_tx_pcs_rstn_i Active low signal used to reset the Tx path of MPCS module.
NL means the number of lanes. For the usage about Hardened PCI Express IP and descriptions about TLP interface and UCFG interface, refer to CertusPro-NX PCI Express Hardened IP Core User Guide (FPGA-IPUG-XXXXX).
Page 32
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Port Name Width Description 2’b00 – Gen1 pipe_powerdown_i 2*NL Powerdown. This is a per-lane signal. pipe_powerdown_i[1:0] = power state driving by the PCI-Express controller: 2’b11 – P2 2’b10 – P1 2’b01 – P0s 2’b00 –...
Page 33
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Port Name Width Description sync header bits of the 130-bit block. This signal is only valid when both pipe_rxdatavalid_o and pipe_rx_start_block_o are asserted. This signal is a per-lane signal which is generated by the PHY macro for the PCI-Express controller.
Page 34
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Port Name Width Description which can be enabled to properly lock the CDR and reach a valid state of receiver adaptation. pipe_linkevalchange_o 6*NL Rx equalization link evaluation change. This signal is a per-lane...
Page 35
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Port Name Width Description for performing the first receiver equalization immediately after entering Gen3 data rate in order to achieve 10 bit error ratio. This preset hint is used by the PHY as an initial value for CTLE...
Page 36
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Port Name Width Description pipe_tx_elec_idle_LL_i PIPE Tx electrical idle. 1’b1 – Idle. 1’b0 – Active. pipe_block_align_control_LL_i PIPE block align control. 1’b1 – Allows the PHY to align on EIEOS in Gen3 data rate.
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Port Name Width Description 1’b1 – Data is valid. 1’b0 – Data is invalid. De-asserted only to compensate for 128b130b encoding. pipe_rx_start_block_LL_o PIPE Rx start block. 1’b1 – Start of the block. 1’b0 – Any occurrence other than the start of the block.
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Other Signals Table 5.11 shows signals other than MPCS, EPCS, PIPE and LMMI interfaces per quad. NL means the number of lanes. For detailed descriptions about Quad-to-Quad signals, refer to the Clocks and Reset section.
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Port Name Width Description the PMA control logic which now controls the PMA hard macro. The PMA hard macro is thus disconnected from the PMA control logic: This signal is used for two purposes: Select the multiplexer between ACJTAG controller and functional logic at the PMA interface directly.
Page 40
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note MPCS Mode MPCS Mode MPCS Module Port EPCS Mode Protocol != “10GE” Protocol == “10GE” this signal indicates the forced running disparity: 1: force positive running disparity. 0: force negative running disparity. If not in “force running disparity”...
Page 41
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note MPCS Mode MPCS Mode MPCS Module Port EPCS Mode Protocol != “10GE” Protocol == “10GE” through encoder, scrambler and gear box). — — — mpcs_tx_ch_din_i[78:73]/ epcs_txdata_i[78:73] — tx_fifo_wr — mpcs_tx_ch_din_i[79]/ epcs_txdata_i[79] 1: write 64-bit data and 8-bit control to TX FIFO.
Page 42
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note MPCS Mode MPCS Mode MPCS Module Port EPCS Mode Protocol != “10GE” Protocol == “10GE” 8-bit control indication. bit[0] is the control signal for rx_data_64b[7:0]; bit[1] is the control signal for rx_data_64b[15:8]; …...
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Control and Status Signals Table 5.13 describes the control and status signals for 8B/10B PCS. Table 5.14 describes the control and status signals for 64B/66B PCS. Table 5.13. Control and Status Signals Functions (8B/10B PCS)
Detailed block diagrams in this section are intended to show you the major functionality in a single channel of the CertusPro-NX SerDes/PCS. You can find all the major blocks, clock, and data flow in these diagrams. PCI Express PCS channel is hidden in all the three modes, considering that this channel can only be used by PCI Express protocol.
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note PCI Express PCS Channel PMA Control PRBS Ge n & Chk Cal ibration FS M E qua liza tion FS M 64B/66B PCS Channel, PMA Only Channel Quad Common, Clock Res et Generation, and BIST Gen/Chk Figure 5.12.
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note PCI Express PCS Channel PMA Control PRBS Ge n & Chk Cal ibration FS M E qua liza tion FS M 64B/66B PCS Channel, 8B/10B PCS Channel Quad Common, Clock Res et Generation, and BIST Gen/Chk Figure 5.14.
SerDes/PCS Function Description CertusPro-NX devices have one to three Quads of embedded SerDes/PCS logic. Each Quad, in turn, supports four independent full-duplex data channels. A single channel can support a data link, and each Quad can support up to four such channels.
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note The SerDes includes an eye monitor to map the post-equalized eye density. Eye X and Y coordinates can be controlled, and the error density can be calculated at each coordinate. The X coordinate can be set by a 6-bit bus in 1.5mVdiff (minimum) increments with a separate sign bit, and the Y coordinate by a 6-bit bus in UI/64 increments.
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note PMA Controller PMA Controller block is shared by all modes, as shown in Figure 6.3. PCI Express PCS is connected to PMA Controller directly, while MPCS is connected to PMA Controller via External PCS (EPCS) interface. The Tx Gear Box and Rx Gear Box can be used as 2:1 gearing buffer, when the PMA data width is set to no more than 10 bits.
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note 6.4.1.1. Data Bus Description The bit mapping and transfer order of 40-bit Transmitter/Receiver data bus is described as follows. The data flowing over the data bus can be either 8b data or 10b data.
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Wr Clock Wr Data D1D0 D3D2 Rd Clock Rd Data Figure 6.7. Tx Gearing Case II The phase compensation FIFO resolves clock phase difference between its read side and write side. The FIFO can signal its overflow and underflow status once they happen.
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Wr Clock Wr Data Rd Clock Rd Data D1D0 D3D2 Figure 6.9. Rx Gearing Case II This module can put the word alignment pattern (usually the control symbol) to the byte_0 (LSByte) of the 2-byte or 4-byte data bus.
Page 56
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note mode) directly. This forcing data mode is implemented for protocol like SLVS-EC that needs 8B/10B encoding/decoding, but needs to send some invalid 10b code sometimes. Note: The “force data” function takes precedence over “force disparity” and “invert disparity” if they are enabled simultaneously.
To support applications which need deterministic and lower latency, CertusPro-NX SerDes/PCS also supports manual alignment mode (or bit slip mode in some documents). In manual mode, fabric can drive the skipbit signal high to control the input parallel data shifting inside PMA.
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note !rst_n NO_SYNC syn_code detected bad code recieved good_code received NO_SYNC_1 bad_counter == B sync_counter == S good_code received SYNC bad_counter == 0 bad_code recieved any code received SYNC_1 Figure 6.12. Link Synchronization FSM After reset, Link Synchronization FSM enters the default state: NO_SYNC.
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note This Link Synchronization FSM can optionally be enabled or disabled. If disabled, user logic should implement the state machine to meet some criteria of synchronization or loss of synchronization and drive walign_en to request the re-alignment operation once loss of synchronization is detected.
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Figure 6.15. Data Stream before Word Alignment After locking the data boundary, this module starts outputting aligned data: K28.5 followed by D16.2 (1010001001). Seven bits are slipped in this example. Figure 6.16. Data Stream after Word Alignment However, the number of bit slipped is always zero in manual alignment mode considering that the bit shifting is operated by PMA and controlled by fabric.
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Figure 6.18. The Expected Location of Synchronization Code Tx Lane-to-lane Deskew One clock cycle lane-to-lane skew may be introduced by the uncertain latency of Tx FIFO (works as phase compensation FIFO). The Tx Lane-to-lane Deskew FIFO is implemented to eliminate this skew between two different Tx channels by using the common clock from Quad Common module.
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Figure 6.20. SKIP Pattern Mask Code This Elastic Buffer supports both 10-bit data mode (bypassing 8B/10B Decoder) and 8-bit data mode (after 8B/10B decoding). The bit mapping of 8-bit mode and 10-bit mode is shown in Figure 6.17.
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Usually the write clock is from Rx PMA of each channel, while the read clock is from the Quad Common module. Check MPCS Quad Clock Detail section for more details about the common clock.
The 10 Gigabit Media Independent Interface (XGMII) is a Double Data Rate (DDR) interface between MAC and PCS, defined by IEEE802.3 specification. CertusPro-NX device implements a Single Data Rate (SDR) MPCS-Fabric interface to replace the standard XGMII, considering that it is difficult to implement the DDR interface with FPGA fabric.
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note XGMII Clock TXD/RXD[31:0] TxC/RXC[3:0] MPCS-Fabric Clock Tx/Rx Data[63:0] {D1,D0} {D3,D2} {D5,D4} {D7,D6} {D9,D8} Tx/Rx Control[7:0] {C1,C0} {C3,C2} {C5,C4} {C7,C6} {C9,C8} Figure 6.25. XGMII vs. MPCS-Fabric Interface 6.4.2.2. Function Block Description Tx/Rx Gear Box The Tx/Rx Gear Box module implements 4:1 gearing functionality in order to adapt the data path between the 66-bit width of 64B/66B block and the 16-bit width of PMA data bus.
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note The PRD Generator is loaded with a seed or its inverse at the start of a block every 128 blocks. Either 64-bit zeros or the 64-bit encoding for two Local Fault ordered sets can be selected as the data pattern, depending on seed settings. The sync header is fixed to the control sync header, 2’b10.
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note tx_usr_clk almost full almost empty tx_fifo_wr tx_data/tx_control Figure 6.27. 64B/66B PCS Tx FIFO Write Operation Case II Rx FIFO The Rx FIFO module is implemented to adapt Rx path clock frequency and phase difference between 64B/66B PCS and fabric.
Page 68
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Character deleting occurs, if the number of data residing in Rx FIFO exceeds high water line. Character inserting occurs, if the number of data residing in Rx FIFO is lower than low water line.
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Tx Path Tx Lane-to-lane TX FIFO Deskew tx_usr_clk tx_pcs_clk tx_out_clk tx_pcs_clka tx_pcs_clkb tx_lalign_clk Fabric Rx Path RX FIFO rx_usr_clk rx_out_clk rx_pcs_clk Figure 6.30. PMA Only Mode Block Diagram 6.4.3.1. Data Bus Description The bit mapping of user logic data bus to PMA data bus is shown in Table 6.7.
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note The “usr_dbus” is named as epcs_txdata_i in Tx path, or epcs_rxdata_o in Rx path. The bit[0] is transmitted/received first. Transfer ordering description: T0: the first PMA clock cycle to capture/launch data in a data block transfer.
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Figure 6.31. Quad Reference Clock Source Both SDQx_REFCLKP/N receive buffer and SD_EXTx_REFCLKP/N receive buffer can convert differential input to single-ended output to drive the clock tree. However, the detailed implementation of these two receive buffer are different.
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Clocks and Reset MPCS Channel Clock Detail This section describes the detailed implementation about the clock distribution inside MPCS channel. 8B/10B PCS channel, 64B/66B PCS channel and PMA Only channel are discussed separately.
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Clock Direction Description synchronous to this clock. rx_usr_clk Input This clock is a node of fabric clock tree. The data received by user logic from MPCS is synchronous to this clock. Channel Internal Clock tx_pcs_clka This clock drives most part of Tx path logics.
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Table 7.2. 64B/66B PCS Channel Clock Clock Direction Description PMA Interface (Hardened Connection) tx_pcs_clk This parallel data clock is generated by PMA Tx macro and used by MPCS to drive Tx data bus. The source of this clock is Tx PLL.
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Clock Direction Description Clocks within a Quad tx_lalign_clk This is a common clock shared by channels within Quad. It is used in multiple-channel application cases. In Tx path, a common clock is used to align all channels in order to minimize the lane-to-lane skew.
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Table 7.4. Quad Clock Clock Direction Description Input and Output tx_lalign_clk_out This clock is used for lane alignment across Quad boundary. It can drive multiple Quads tx_lalign_clk tree in the application case where more than four lanes (and up to twelve lanes) are combined to form a single link.
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Figure 7.6. Single Quad Clock Connection Clock Frequency This section lists the recommended reference clock frequency, the PLL settings, PMA/PCS internal clock frequency, interface data bus width and clock frequency for Ethernet, SLVS-EC, CoaXPress, DP/eDP and PCIe protocols. Refer to Table 7.5...
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Application Case 8B/10B PCS Single Lane Tx Path Case I-a: Use Tx FIFO As shown in Figure 7.7, the Tx Lane-to-lane Deskew module is bypassed, considering this a single lane application. The tx_out_clk is used to drive FPGA global clock tree, and a leaf node of this clock tree returning to MPCS is used as the read clock of Tx FIFO.
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note 8B/10B PCS Multiple Lane Tx Path Case III-a: Use Tx FIFO As shown in Figure 7.12, the tx_pcs_clk0 and tx_pcs_clk1 are the generated clock from the corresponding channel PMA Tx PLL. Tx FIFO modules are enabled to eliminate the clock phase difference between tx_usr_clk and each channel internal clock (tx_out_clk0 and tx_out_clk1).
These PMA clock dividers can be configured via IP GUI, primitive parameter or register accessing. SerDes/PCS Reset Reset and Power Control Signals Table 7.6 shows the reset and power control signals for CertusPro-NX SerDes/PCS. NL represents the number of lanes. Table 7.6. Reset and Power Control Signals Port Name Width...
Page 86
Reset Sequence This section covers the recommended reset sequence for MPCS mode and PMA Only mode. For reset sequence required by PIPE mode and PCI Express Hard IP mode, refer to CertusPro-NX PCI Express Hardened IP Core User Guide (FPGA-IPUG-XXXXX).
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note SerDes Equalization The interconnection between the transmitter and receiver device acts as a filter at typical baud rates, and distorts the serial data signal to varying extents. Figure 8.1 shows the signal distortion for the typical backplane applications. The signal out from the transmitter side is a clean digital signal, but the signal waveform is significantly distorted at the receiver side.
Figure 8.3. Typical Backplane Application with Rx Equalizer CertusPro-NX device implements both Tx equalizer and Rx equalizer for multiple protocols supporting. Tx equalizer is based on 3-tap FIR, while the Rx equalizer is based on CTLE and 1-tap DFE. Below sections descript the detailed usage of CertusPro-NX Tx equalizer and Rx equalizer.
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Given a differential signal with symmetric swings above and below 0, it can be seen from Figure 8.5 that there are four possible output values in each positive or negative directions. Table 8.1 shows the positive normalized voltage levels.
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Rx Equalization CertusPro-NX device implements programmable single pole-zero Continuous Timer Linear Equalizer (CTLE) at the receiver side, followed by Decision Feedback Equalization (DFE) and circuitry to support adaptation of the CTLE and DFE. Figure 8.6 shows the block diagram of receive equalizer.
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note 64B/66B PCS Loopback Figure 9.4 shows three loopback modes implemented by 64B/66B PCS: Loopback Path A, Loopback Path B and Loopback Path C. In loopback path A mode, the 16-bit input data of Rx path comes from Tx path. In addition, the tx_pcs_clk is used to drive both Tx path and Rx path.
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note The threshold voltage can be configured as 125 mV or 180 mV, by accessing the bit[1] of PMA Control Register 0 [PMA reg00]. The loss of signal condition is defined in Table 9.1. After reset, if TranDet is not asserted, it means no transition exceeding the threshold voltage is detected at RxDP/RxDN.
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note ECO Editor The Lattice Radiant ECO Editor supports all the attributes of the primitives. The ECO Editor includes all settings that you can see in the GUI tab, including the pre-defined setting based on protocols.
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note SerDes/PCS Register Access Register Access Bus Each SerDes/PCS channel has independent register access bus: Lattice Memory Mapped Interface (LMMI). It has the following features: 8-bit width of write and read data. ...
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Figure 10.3. Back-to-Back Write and Read Transaction Register Space Each SerDes/PCS channel has independent register space which includes following category of registers: Configuration registers Control registers Status registers Status registers with clear-on-read All register bits in Appendix A.
All CertusPro-NX SerDes/PCS quads can be configured as PCI Express PIPE mode to work with PCIe Link Layer soft IP. But only Quad0 integrates PCIe Link Layer hard IP, which can be configured as PCI Express Hard IP mode. Both PIPE mode and Hard IP mode work with PCI Express PCS, PMA Controller and PMA.
Ethernet Mode 1000BASE-X (GigE) Mode The 1000BASE-X (or Gigabit Ethernet, GigE) mode of CertusPro-NX SerDes/PCS fully supports from the serial I/O to the GMII/SGMII interface of the IEEE 802.3 1000BASE-X Gigabit Ethernet standard. In 1000BASE-X mode, CertusPro-NX SerDes/PCS supports the clock compensation and auto-negotiation features. The auto-negotiation control logic should be implemented in FPGA fabric to work with CertusPro-NX SerDes/PCS.
The XAUI mode of CertusPro-NX SerDes/PCS is intended for the optional interface specified by IEEE802.3 between 10G Ethernet MAC and PHY. In XAUI mode, CertusPro-NX SerDes/PCS is configured as four 2.5Gbps lanes based on 8B/10B PCS. With Lattice XAUI IP core, the XAUI mode of CertusPro-NX SerDes/PCS fully supports from serial I/O to the XGMII interface.
Sony for the next generation high resolution CMOS Image Sensor (CIS). The SLVS-EC interface provides a unidirectional wide band pixel data transfer from CIS to a Digital Signal Processor (DSP) or other digital devices. CertusPro-NX SerDes/PCS supports up to eight lanes and up to 5Gbps baud rate SLVS-EC receiver applications. Table 11.5 shows the baud grades supported by CertusPro-NX SerDes/PCS.
The DisplayPort mode of CertusPro-NX SerDes/PCS supports up to four different DisplayPort link rate: RBR, HBR, HBR2, and HBR3. In DisplayPort mode, SerDes/PCS block is configured as specific link rate, based on 8B/10B PCS.
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note SerDes/PCS Block Latency Table 12.1 provides transmit and receive latencies respectively in the SerDes, as well as different stages inside the PCS. The latency is in number of parallel word clocks. Table 12.1. Transmit/Receive SerDes/PCS Latency...
To achieve a reasonable level of long-term jitter, it is vital to deliver an analog-grade power supply to the PLL. Typically, an R-C or R-L-C filter is usually used, with the “C” being composed of multiple devices to achieve a wide spectrum of noise absorption. Although the circuit is simple, there are specific board layout requirements for CertusPro-NX SerDes/PCS.
When clock from GPLL output is used as the reference clock for CertusPro-NX SerDes/PCS, the reference clock to the GPLL should be assigned to the dedicated GPLL input pad. However, the GPLL output jitter may not meet system specifications at higher data rates.
Transmitter. What should be noted is that the reference clock from RC needs to be used in PCI Express Endpoint applications based on CertusPro-NX SerDes/PCS, when the SSC feature has been enabled. Otherwise, reference clock source from local OSC can be used for CertusPro-NX SerDes/PCS.
Electrical Idle is a steady state condition where the transmitter TxDP and TxDN voltages are held constant with the same value. Electrical Idle is primarily used in power savings and inactive states. CertusPro-NX SerDes/PCS supports three types of Electrical Idle: EI1, EI2, and EI4.
SerDes/PCS Generation in Radiant Software CertusPro-NX SerDes/PCS can be configured and implemented by MPCS foundational IP that is provided by IP Catalog tool in Lattice Radiant software. There are three types of primitives named, PCSX1, PCSX2, and PCSX4. PCSX1 is for single channel applications based on CertusPro-NX SerDes/PCS block.
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Protocol Name Descriptions QSGMII QSGMII PCIE PCI Express Hard IP mode (not for user implementation) PCIE-PCS PCI Express PIPE mode SGMII SGMII SLVS_EC SLVS-EC XAUI XAUI G8B10B Generic 8B/10B PMA_ONLY PMA Only Attribute Summary The configurable attributes of the MPCS foundational IP are listed in Table 14.2...
Page 112
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Attribute Selectable Values Default Dependency on Other Attributes name followed by suffix “_PCSGRP”. Always uneditable. Mode “Rx_only”, “Tx_only”, “Rx_and_Tx” If Protocol == “PCIE”, value is “Rx and “Rx_and_Tx” Tx”; If Protocol == “RXAUI”, value is “Rx and Tx”;...
Page 113
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Attribute Selectable Values Default Dependency on Other Attributes External IO Pad Ref Clk for “IO Pad0”, “IO Pad0” Active if RefClk Selection for Quad0 Quad0 == “External IO Pad” “IO Pad1” “X4 mode”, “X2 mode”, “X1 “X4 mode”...
Page 114
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Attribute Selectable Values Default Dependency on Other Attributes Number of Valid Sync Code (0 – 255) Active if (Word Alignment == Groups “ENABLED”) and (Use ‘sync_det’ FSM == “ENABLED”) Number of Bad Code (0 –...
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Attribute Selectable Values Default Dependency on Other Attributes “6_SKEW”, “7_SKEW”, “8_SKEW”, “9_SKEW”, “10_SKEW”, Primary Lane Alignment Active if Lane Alignment == Pattern Byte 0 (HEX) “ENABLED” Primary Lane Alignment Active if Lane Alignment == Pattern Byte 1 (HEX) “ENABLED”...
Page 116
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Attribute Description TX MPCS Reset When enabled, MPCS module soft resets the TX path (not including the register space). For more details, refer to register field tx_mpcs_rst in Table A. TX Phase Compensation FIFO Specifies whether the TX phase compensation FIFO is enabled or disabled.
Near End Parallel Loopback — Far End Parallel Loopback — Primitive Table 14.4 shows the pin-to-pin connection between CertusPro-NX SerDes/PCS primitive and MPCS foundational IP. Table 14.4. Pin-to-Pin Connection MPCS Foundational IP Port – Primitive Ports MPCS Foundational IP Port – PIPE MPCS/EPCS...
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Field Name Access Width Reset Description always detected. 1’b1 – the result is always detected. 1’b0 – normal operation (this bit should be set to 1’b0 for other protocols). [5:4] CDR reference 2’b00 Defines the CDR PLL reference clock mode.
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Field Name Access Width Reset Description Divider). PCLK is used by the PCIe PCS logic as well as by the majority of the PMA control logic, and thus is also useful for other protocol in order to reduce the amount of logic requiring high TxClk frequency.
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Table A. 13. Tx Pre-Cursor Ratio [reg0b] Field Name Access Width Reset Description [7:0] tx_pre_ratio 8’h00 This register defines the Tx pre-cursor ratio for PCI Gen1 speed or non-PCIe protocols. A value of 8’d128 corresponds to 100% (full voltage) whereas a value of 8’d0...
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Table A. 15. Tx Amplitude Ratio [reg18] Field Name Access Width Reset Description [7:0] tx_amp_ratio 8’h80 This register implements the Tx amplitude ratio used by the Tx driver. A value of 128 corresponds to 100% (full voltage) whereas a value of 0 corresponds to 0%.
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Field Name Access Width Reset Description calibration sequence after power-up and PHY reset de-assertion. 1’b1 – completed. 1’b0 – not yet. reserved RSVD 1’b0 — arxctle_err Defines Rx CTLE calibration has reached a minimum or maximum value.
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Table A. 21. PRBS Error Counter Register [reg65] Field Name Access Width Reset Description [7:0] prbs_errcnt 8’h00 Reports the number of PRBS error detected when the PRBS test is applied. This register is automatically cleared when the prbs_chk bit gets cleared.
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Field Name Access Width Reset Description non-PCIe protocols. Note: This register can be reprogrammed when the PHY is under reset. Table A. 25. Receive PLL Current Charge Pump [reg6a] Field Name Access Width...
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Field Name Access Width Reset Description 1’b0 – normal operation. plesio_lpbk 1’b0 Enables the plesiochronous loopback mode which forces the PCS to loopback data from Rx back to Tx after the PCIe elastic buffer function. It is equivalent to PCIe slave loopback except that it is forced by a register instead of controlled by the PCIe MAC layer.
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Table A. 29. Update Settings Command Register [reg80] Field Name Access Width Reset Description [7:1] reserved RSVD 7’h0 — reg_apply 1’b0 This bit is transient (read always report 0) where writing 1’b1 to this bit will trigger a new computation of PMA settings based on values written into related PMA registers.
Page 133
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Offset LMMI Register Name Access Type Description 8’h4d reg4d Sync_Det Pattern Mask Code MSB. 8’h50 reg50 Lane Alignment Control. 8’h51 reg51 Maximum Lane-to-lane Skew. 8’h52 reg52 Primary Lane Alignment Pattern Byte 0. 8’h53 reg53 Primary Lane Alignment Pattern Byte 1.
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Offset LMMI Register Name Access Type Description 8'h9c reg9c 10GBASE-R Test Pattern Seed B Byte2. 8'h9d reg9d 10GBASE-R Test Pattern Seed B Byte3. 8'h9e reg9e 10GBASE-R Test Pattern Seed B Byte4. 8'h9f reg9f 10GBASE-R Test Pattern Seed B Byte5.
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Field Name Access Width Reset Description selected source/interface for the Tx Path. 1’b1 – use rx_pcsmode_sel to override the MODESEL to set the MPCS mode for the Tx path. 1’b0 – use the MODESEL to set the MPCS mode for the Tx path.
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Field Name Access Width Reset Description rfifo_byte_shift 1’b0 Byte shift. Specifies the data shift caused by COMMA byte alignment operation. 1’b1 – there is one byte data shift. 1’b0 – there is no byte shift.
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Table A. 39. Primary Word Alignment Pattern Byte 1 [reg32] Field Name Access Width Reset Description [7:0] pri_wa_ptn [17:10] 8’h0 Specifies the 20-bit primary word alignment pattern. In 10-bit width mode, only bits 9 to 0 are applied.
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Field Name Access Width Reset Description is not ignored during alignment pattern matching. Table A. 46. Word Alignment Pattern Mask Code MSB [reg39] Field Name Access Width Reset Description [7:4] reserved RSVD —...
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Field Name Access Width Reset Description check is enabled or disabled. 1’b1 – the first byte of sync_det pattern must appear on N-byte boundary, where N is the sync_det pattern length defined by sync_ptn_len register. Once a...
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Table A. 67. Lane Alignment Control [reg50] Field Name Access Width Reset Description [7:5] reserved RSVD — — sec_laptn_en 1’b0 Secondary Lane Alignment. Specifies if the secondary lane alignment pattern matching is enabled or disabled.
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Table A. 80. Clock Frequency Compensation Control [reg60] Field Name Access Width Reset Description [7:6] reserved RSVD — — sec_skip_en 1’b0 Enable Secondary Skip. Specifies the secondary skip pattern is enabled or disabled.
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Table A. 83. Elastic FIFO Low Water Line [reg63] Field Name Access Width Reset Description [7:5] reserved RSVD — — Specifies the Clock Compensation FIFO low water line. [4:0] low_water_line 5’b01010 Mean is 5’b10000.
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Field Name Access Width Reset Description 1’b0 – Only delete one sequence ordered set each time when doing clock frequency compensation. pcs_64b66b_nofpll 1’b0 1’b1 – No GPLL is used to generate user clock.
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Table A. 103. 10GBASE-R Block Error Counter [reg91] Field Name Access Width Reset Description [7:0] errored_block_count RO/CR 8’h0 10GBASE-R Block Error Counter register reflects the errored blocks counter is an eight-bit count defined by the errored_block_count counter specified in 49.2.14.2 for...
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Table A. 111. 10GBASE-R Test Pattern Seed A Byte 7 [reg99] Field Name Access Width Reset Description [7:0] prtp_seed_a[57:56] 8’h0 This register defines byte 7 of 10GBASE-R PCS test pattern seed A. Table A. 112. 10GBASE-R Test Pattern Seed B Byte 0 [reg9a]...
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Table A. 120. 10GBASE-R Test Pattern Control 0 [rega2] Field Name Access Width Reset Description [7:5] tx_sw_pattern 3’d0 Defines the square wave repeating pattern of n ones followed by n zeros, where n is configurable between 4 and 11.
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Field Name Access Width Reset Description 1’b1 – Zeros data pattern. 1’b0 – LF data pattern. Table A. 122. 10GBASE-R Test Pattern Error Counter Byte 0 [rega4] Field Name Access Width Reset Description...
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Field Name Access Width Reset Description "1". 1’b0 – drive "epcs_txval" low if "txval_ovrd" is set to "1". Table A. 126. Loopback Mode Control [rege0] Field Name Access Width Reset Description [7:3] reserved RSVD —...
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Appendix B. 8B/10B Symbol Coding Table B. 1 shows the 8B/10B encoding for data characters. Table B. 2 shows the 8B/10B encoding for control characters. Table B. 1. 8B/10B Data Symbol Codes Data Byte Name...
Page 156
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Data Byte Name Data Byte Value (Hex) Data Byte Value (Bin) Coded Data Value (RD-) Coded Data Value (RD+) D11.1 001 01011 110100 1001 110100 1001 D12.1 001 01100 001101 1001 001101 1001 D13.1...
Page 157
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Data Byte Name Data Byte Value (Hex) Data Byte Value (Bin) Coded Data Value (RD-) Coded Data Value (RD+) D27.2 010 11011 110110 0101 001001 0101 D28.2 010 11100 001110 0101 001110 0101 D29.2...
Page 158
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Data Byte Name Data Byte Value (Hex) Data Byte Value (Bin) Coded Data Value (RD-) Coded Data Value (RD+) D11.4 100 01011 110100 1101 110100 0010 D12.4 100 01100 001101 1101 001101 0010 D13.4...
Page 159
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Data Byte Name Data Byte Value (Hex) Data Byte Value (Bin) Coded Data Value (RD-) Coded Data Value (RD+) D27.5 101 11011 110110 1010 001001 1010 D28.5 101 11100 001110 1010 001110 1010 D29.5...
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Data Byte Name Data Byte Value (Hex) Data Byte Value (Bin) Coded Data Value (RD-) Coded Data Value (RD+) D11.7 111 01011 110100 1110 110100 1000 D12.7 111 01100 001101 1110 001101 0001 D13.7...
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Appendix C. Calculating Parameters for SerDes PLL Table C. 1 lists the recommended parameters for SerDes PLL in specific data rate. For detailed information about PLL clock setting, refer to PLL Clock Setting section.
CertusPro-NX SerDes/PCS Usage Guide Preliminary Technical Note Table C. 2 shows some potential serial protocol applications based on CertusPro-NX SerDes/PCS. Table C. 2. Serial Protocol Applications Protocol Bit Rate (Gbps) Reference Clock Available Coding SerDes/PCS Mode PCIe 83.333, 100, 125...
Need help?
Do you have a question about the CertusPro-NX and is the answer not in the manual?
Questions and answers