Fpga TN 02190 2 9 Latticeecp3 Serdes Pcs Usage Guide
Fpga TN 02190 2 9 Latticeecp3 Serdes Pcs Usage Guide
Fpga TN 02190 2 9 Latticeecp3 Serdes Pcs Usage Guide
Technical Note
FPGA-TN-02190-1.9
January 2020
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
Disclaimers
Lattice makes no warranty, representation, or guarantee regarding the accuracy of information contained in this document or the suitability of its
products for any particular purpose. All information herein is provided AS IS and with all faults, and all risk associated with such information is entirely
with Buyer. Buyer shall not rely on any data and performance specifications or parameters provided herein. Products sold by Lattice have been
subject to limited testing and it is the Buyer's responsibility to independently determine the suitability of any products and to test and verify the
same. No Lattice products should be used in conjunction with mission- or safety-critical or any other application in which the failure of Lattice’s
product could create a situation where personal injury, death, severe property or environmental damage may occur. 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.
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
2 FPGA-TN-02190-2.9
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
Contents
1. Introduction .................................................................................................................................................................. 9
2. Features ........................................................................................................................................................................ 9
2.1. New Features Over LatticeECP2M™ SERDES/PCS ............................................................................................... 9
3. Using This Technical Note ........................................................................................................................................... 10
4. Standards Supported .................................................................................................................................................. 10
5. Architecture Overview ................................................................................................................................................ 11
5.1. PCS Quads and Channels ................................................................................................................................... 12
5.2. Per Channel SERDES/PCS and FPGA Interface Ports ......................................................................................... 12
5.3. Detailed Channel Block Diagram ....................................................................................................................... 12
5.4. Clocks and Resets .............................................................................................................................................. 13
5.5. Transmit Data Bus ............................................................................................................................................. 13
5.6. Receive Data Bus ............................................................................................................................................... 14
5.7. Mode-Specific Control/Status Signal Descriptions ............................................................................................ 15
5.8. SERDES/PCS ....................................................................................................................................................... 16
5.9. I/O Descriptions ................................................................................................................................................ 17
6. SERDES/PCS Functional Description ........................................................................................................................... 19
7. SERDES ........................................................................................................................................................................ 20
7.1. Equalizer ............................................................................................................................................................ 20
7.2. Pre-Emphasis ..................................................................................................................................................... 20
7.3. Reference Clocks ............................................................................................................................................... 20
7.4. SERDES Clock Architecture ................................................................................................................................ 20
7.5. Rate Modes ....................................................................................................................................................... 21
7.6. Reference Clock from an FPGA Core ................................................................................................................. 22
7.7. Full Data, Div 2 and Div 11 Data Rates .............................................................................................................. 23
7.8. Dynamic Switching Between Full Rate and Half Rate (DIV2) ............................................................................ 23
7.9. Reference Clock Sources ................................................................................................................................... 24
7.10. Spread Spectrum Clocking (SSC) Support .......................................................................................................... 24
7.11. Loss of Signal ..................................................................................................................................................... 24
7.12. Loss Of Lock ....................................................................................................................................................... 25
7.13. TX Lane-to-Lane Skew ....................................................................................................................................... 25
7.14. SERDES PCS Configuration Setup ...................................................................................................................... 26
7.15. Auto-Configuration File ..................................................................................................................................... 26
7.16. Transmit Data .................................................................................................................................................... 26
7.17. Receive Data...................................................................................................................................................... 26
7.18. 8b10b Decoder .................................................................................................................................................. 27
7.19. External Link State Machine Option .................................................................................................................. 27
7.20. Clock Tolerance Compensation ......................................................................................................................... 28
7.21. Calculating Minimum Interpacket Gap ............................................................................................................. 31
7.22. PCS Module Generation in IPexpress ................................................................................................................ 32
7.23. 8-Bit and 10-Bit SERDES-Only Modes ................................................................................................................ 43
7.24. Generic 8b10b Mode ........................................................................................................................................ 43
7.25. LatticeECP3 PCS in Gigabit Ethernet and SGMII Modes .................................................................................... 44
7.26. XAUI Mode ........................................................................................................................................................ 46
7.27. LatticeECP3 PCS in PCI Express Revision 1.1 (2.5Gpbs) Mode .......................................................................... 46
7.28. PCI Express Beacon Support .............................................................................................................................. 50
7.29. SDI (SMPTE) Mode ............................................................................................................................................ 51
7.30. Serial RapidIO (SRIO) Mode ............................................................................................................................... 52
7.31. Serial Digital Video and Out-Of-Band Low Speed SERDES Operation ............................................................... 52
7.32. Open Base Station Architecture Initiative (OBSAI) ............................................................................................ 53
7.33. Common Public Radio Interface (CPRI) ............................................................................................................. 54
7.34. SONET/SDH ....................................................................................................................................................... 56
7.35. FPGA Interface Clocks ....................................................................................................................................... 57
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-TN-02190-2.9 3
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
7.36. Case I_a: 8/10-Bit, CTC FIFO and RX/TX FIFOs Not Bypassed ............................................................................ 60
7.37. Case I_b: 8/10-Bit, CTC FIFO Bypassed .............................................................................................................. 61
7.38. Case I_c: 8/10-Bit, RX/TX FIFO Bypassed ........................................................................................................... 62
7.39. Case I_d: 8/10-Bit, CTC FIFO and RX/TX FIFOs Bypassed .................................................................................. 62
7.40. Case II_a: 16/20-bit, CTC FIFO and RX/TX FIFOs NOT Bypassed ........................................................................ 63
7.41. Case II_b: 16/20-bit, CTC FIFO Bypassed ........................................................................................................... 63
8. SERDES/PCS Block Latency .......................................................................................................................................... 64
8.1. SERDES Client Interface ..................................................................................................................................... 65
8.2. Interrupts and Status......................................................................................................................................... 67
9. SERDES Debug Capabilities ......................................................................................................................................... 69
9.1. PCS Loopback Modes ........................................................................................................................................ 69
9.2. ORCAstra ........................................................................................................................................................... 70
9.3. Other Design Considerations............................................................................................................................. 72
9.4. 16/20-Bit Word Alignment ................................................................................................................................ 72
10. SERDES/PCS RESET ...................................................................................................................................................... 76
10.1. Reset Sequence and Reset State Diagram ........................................................................................................ 76
10.2. Reset Sequence Generation .............................................................................................................................. 76
10.2.1. Lock Status Signals Definitions .....................................................................................................................76
10.3. TX Reset Sequence ............................................................................................................................................ 77
10.4. RX Reset Sequence ............................................................................................................................................ 77
Appendix A. Configuration Registers .................................................................................................................................. 81
A.1. Quad Registers Overview ........................................................................................................................................ 81
A.2. Per Quad PCS Control Registers Details ................................................................................................................... 81
A.3. Per Quad PCS Control Registers Details ................................................................................................................... 83
A.4. Per Quad Reset and Clock Control Registers Details ............................................................................................... 85
A.5. Per Quad PCS Status Registers Details ..................................................................................................................... 85
A.6. Per Quad SERDES Status Registers Details .............................................................................................................. 87
A.7. Channel Registers Overview .................................................................................................................................... 87
A.8. Per Channel PCS Control Registers Details .............................................................................................................. 88
A.9. Per Channel SERDES Control Registers Details ........................................................................................................ 92
A.10. Per Channel Reset and Clock Control Registers Details ......................................................................................... 95
A.11. Per Channel PCS Status Registers Details .............................................................................................................. 95
A.12. Per Channel SERDES Status Registers Details ........................................................................................................ 96
Appendix B. Register Settings for Various Standards ......................................................................................................... 98
B.1. Per Channel Register Settings for Various Standards .............................................................................................. 98
B.2. Per Quad Register Settings for Various Standards................................................................................................... 98
Appendix C. Attribute Cross Reference Table ..................................................................................................................... 99
Appendix D. Lattice Diamond Overview ...........................................................................................................................105
D.1. Converting an ispLEVER Project to Lattice Diamond .............................................................................................105
D.2. Adjusting PCS Modules ..........................................................................................................................................105
D.3. Regenerate PCS Modules ......................................................................................................................................105
D.4. Using IPexpress with Lattice Diamond ..................................................................................................................106
D.5. Creating a New Simulation Project Using Simulation Wizard ...............................................................................106
References ........................................................................................................................................................................108
Technical Support Assistance ...........................................................................................................................................109
Revision History ................................................................................................................................................................110
Figures
Figure 5.1 LatticeECP3-150 Block Diagram .........................................................................................................................11
Figure 5.2 SERDES/PCS Quad Block Diagram ......................................................................................................................12
Figure 5.3 LatticeECP3 SERDES/PCS Detailed Channel Block Diagram ...............................................................................13
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
4 FPGA-TN-02190-2.9
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-TN-02190-2.9 5
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
Tables
Table 4.1. Standards Supported by the SERDES .................................................................................................................10
Table 5.1. Number of SERDES/PCS Quads per LatticeECP3 Device.....................................................................................11
Table 5.2. Data Bus Usage by Mode ...................................................................................................................................14
Table 5.3. Control Signals and their Functions ...................................................................................................................15
Table 5.4. SERDES_PCS I/O Descriptions ............................................................................................................................17
Table 7.1. TXPLL and RX CDRPLL Supported Modes ...........................................................................................................22
Table 7.2. TXPLL and RX CDRPLL Supported Modes ...........................................................................................................23
Table 7.3. Response Time for Loss of Signal Detector ........................................................................................................25
Table 7.4. Response Time for Loss-of-Lock Detector ..........................................................................................................25
Table 7.5. Minimum Interpacket Gap Multiplier ................................................................................................................31
Table 7.6. SERDES_PCS GUI Attributes - Quad Tab Setup ..................................................................................................34
Table 7.7. SERDES_PCS GUI Attributes - Reference Clocks Setup Tab ................................................................................35
Table 7.8. SERDES_PCS GUI Attributes – SERDES Advanced Setup Tab..............................................................................36
Table 7.9. SERDES/PCS GUI – PCS Advanced1 Setup Tab ...................................................................................................39
Table 7.10. SERDES/PCS GUI – PCS Advanced2 Setup Tab .................................................................................................40
Table 7.11. Tab 5, SERDES_PCS GUI Attributes – Control Setup Tab ..................................................................................41
Table 7.12. GbE IDLE State Machine Control and Status Signals ........................................................................................45
Table 7.13. PCI Express Mode Specific Ports ......................................................................................................................47
Table 7.14. rxstatus Encoding .............................................................................................................................................47
Table 7.15. Differential PCI Express Specifications .............................................................................................................48
Table 7.16. Six Interface Cases Between the SERDES/PCS Quad and the FPGA Core .........................................................58
Table 7.17. Decision Matrix for Six Interface Cases ............................................................................................................59
Table 8.1. SERDES/PCS Latency Breakdown .......................................................................................................................64
Table 8.2. Word Aligner Latency vs. Offset .........................................................................................................................65
Table 8.3. SCI Address Map for Up to Four SERDES/PCS Quads .........................................................................................66
Table 8.4. Timing Parameters .............................................................................................................................................67
Table 8.5. Quad Interrupt Sources ......................................................................................................................................68
Table 8.6. Quad Interrupt Sources ......................................................................................................................................68
Table 9.1. Simulation Model Locations ...............................................................................................................................72
Table 9.2. SERDES/PCS Reset Table ....................................................................................................................................75
Table 9.3. Reset Controls Description1, 2, 3 ..........................................................................................................................75
Table 9.4. Reset Pulse Specification....................................................................................................................................75
Table 9.5. Power-Down Control Description ......................................................................................................................76
Table 9.6. Power-Down/Power-Up Timing Specification ...................................................................................................76
Table A.1. Quad Interface Registers Map ...........................................................................................................................81
Table A.2. PCS Control Register QD_00 ..............................................................................................................................81
Table A.3. PCS Control Register QD_01 ..............................................................................................................................82
Table A.4. PCS Control Register QD_02 ..............................................................................................................................82
Table A.5. PCS Control Register QD_03 ..............................................................................................................................82
Table A.6. PCS Control Register QD_04 ..............................................................................................................................82
Table A.7. PCS Control Register QD_05 ..............................................................................................................................82
Table A.8. PCS Control Register QD_06 ..............................................................................................................................82
Table A.9. PCS Control Register QD_07 ..............................................................................................................................82
Table A.10. PCS Control Register QD_08 ............................................................................................................................82
Table A.11. PCS Control Register QD_09 ............................................................................................................................83
Table A.12. SERDES Control Register QD_0A ......................................................................................................................83
Table A.13. SERDES Control Register QD_0B ......................................................................................................................84
Table A.14. PCS Control Register QD_0C ............................................................................................................................84
Table A.15. PCS Control Register QD_0D ............................................................................................................................84
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
6 FPGA-TN-02190-2.9
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-TN-02190-2.9 7
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
Table B.2. Per Quad Register Settings for Various Standards .............................................................................................98
Table C.1. Attribute Cross-Reference Table ........................................................................................................................99
Table C.2. Protocol-Specific SERDES Setup Options .........................................................................................................103
Table D.1. SERDES_PCS GUI Attributes – Generation Options Tab ..................................................................................106
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
8 FPGA-TN-02190-2.9
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
1. Introduction
The LatticeECP3™ FPGA family combines a high-performance FPGA fabric, high-performance I/Os and up to 16
channels of embedded SERDES with associated Physical Coding Sublayer (PCS) logic. The PCS logic can be configured to
support numerous industry-standard, high-speed serial data transfer protocols.
Each channel of PCS logic contains dedicated transmit and receive SERDES for high-speed, full-duplex serial data
transfer at data rates up to 3.2 Gbps. The PCS logic in each channel can be configured to support an array of popular
data protocols including GbE, XAUI, SONET/SDH, PCI Express, SRIO, CPRI, OBSAI, SD-SDI, HD-SDI and 3G-SDI. In addition,
the protocol-based logic can be fully or partially bypassed in a number of configurations to allow users flexibility in
designing their own high-speed data interface.
The PCS also provides bypass modes that allow a direct 8-bit or 10-bit interface from the SERDES to the FPGA logic.
Each SERDES pin can be independently DC-coupled and can allow for both high-speed and low-speed operation on the
same SERDES pin for applications such as Serial Digital Video.
2. Features
Up to 16 Channels of High-Speed SERDES
150 Mbps to 3.2 Gbps for Generic 8b10b, 10-bit SERDES and 8-bit SERDES modes. Refer to Table 4.1.
230 Mbps to 3.2 Gbps per channel for all other protocols
3.2 Gbps operation with low 110 mW power per channel
Receive equalization and transmit pre-emphasis for small form factor backplane operation
Supports PCI Express, Gigabit Ethernet (1GbE and SGMII) and XAUI, plus multiple other standards
Supports user-specified generic 8b10b mode
Out-of-band (OOB) signal interface for low-speed inputs (video application)
Multiple Clock Rate Support
Separate reference clocks for each PCS quad allow easy handling of multiple protocol rates on a single device
Full-Function Embedded Physical Coding Sub-layer (PCS) Logic Supporting Industry Standard Protocols
Up to 16 channels of full-duplex data supported per device
Multiple protocol support on one chip
Supports popular 8b10b-based packet protocols
SERDES Only mode allows direct 8-bit or 10-bit interface to FPGA logic
Multiple Protocol Compliant Clock Tolerance Compensation (CTC) Logic
Compensates for frequency differential between reference clock and received data rate
Allows user-defined skip pattern of 1, 2, or 4 bytes in length
Integrated Loopback Modes for System Debugging
Three loopback modes are provided for system debugging
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-TN-02190-2.9 9
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
4. Standards Supported
The supported standards are listed in Table 4.1.
Table 4.1. Standards Supported by the SERDES
Standard Data Rate System Reference FPGA Clock (MHz) Number of Encoding Style
(Mbps) Clock (MHz) General/Link
Width
PCI Express 1.1 2500 100 250 x1, x2, x4 8b10b
Gigabit Ethernet, SGMII 1250 125 125 x1 8b10b
2500 125 250 x1 8b10b
3125 156.25 156.25 x1 8b10b
XAUI 3125 156.25 156.25 x4 8b10b
Serial RapidIO Type I, 1250, 125, 125, x1, x4 8b10b
Serial RapidIO Type II, 2500, 125, 250,
Serial RapidIO Type III 3125 156.25 156.25
OBSAI-1, OBSAI-2, 768, 76.8, 76.8, x1 8b10b
OBSAI-3, OBSAI-4 1536, 76.8, 153.6, 153.6,
2304, 115.2, 230.4,
3072 153.6 153.6
CPRI-1, CPRI-2, CPRI-3, 614.4, 61.44, 61.44, x1 8b10b
CPRI-4 1228.8, 61.44, 122.88, 122.88,
2457.6, 122.88, 122.88
3072.0 153.6 153.6
SD-SDI (259M, 344M) 1431, 14.31, 143, x1 NRZI/Scrambled
177,
1771, 17.71, 27,
270, 27, 36,
360, 36, 54
540 54
HD-SDI (292M) 1483.5, 74.175, 148.35, 74.175, 148.35, x1 NRZI/Scrambled
1485 74.25, 148.50 74.25, 148.5
3G-SDI (424M) 2967, 148.35, 148.35, x1 NRZI/Scrambled
2970 148.5 148.5
SONET STS-32 SONET 155.52 15.552 15.552 x1 N/A
622.08 62.208 62.208
STS-122 SONET STS-482
2488 248.8 248.8
10-Bit SERDES 150 - 3125 15 - 312.5 15 - 312.5 x1, x2, x3, x4 N/A
8-Bit SERDES 150 - 3125 15 - 312.5 15 - 312.5 x1, x2, x3, x4 N/A
Generic 8b10b 150 - 3125 15 - 312.5 15 - 312.5 x1, x2, x3, x4 8b10b
Notes:
1. For slower rates, the SERDES are bypassed and signals are directly fed to the FPGA core.
2. The SONET protocol is supported in 8-Bit SERDES mode. Refer to the SONET section of this document for detailed information.
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
10 FPGA-TN-02190-2.9
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
5. Architecture Overview
The SERDES/PCS block is arranged in quads containing logic for four independent full-duplex data channels.
Figure 5.1 shows the arrangement of SERDES/PCS quads on the LatticeECP3-150 FPGA (other devices have fewer
quads).
JTAG
sysIO Bank 0 sysIO Bank 1 Configuration Logic
ECLK1
ECLK2
ECLK2
ECLK1
ECLK1
ECLK2
sysIO Bank 7
sysIO Bank 2
PLL PLL
QUADRANT TL QUADRANT TR
PLL PLL
Primary Clocks
CLKDIV
CLKDIV
DLL DLL
PLL PLL
QUADRANT BL QUADRA NT BR
PLL PLL
sysIO Bank 6
sysIO Bank 3
PLL PLL
CH3
CH2
CH1
CH0
CH3
CH2
CH3
CH2
CH1
CH0
CH3
CH2
CH1
CH0
AUX
AUX
AUX
AUX
Table 5.1 shows the number of available SERDES/PCS quads for each device in the LatticeECP3 family.
Table 5.1. Number of SERDES/PCS Quads per LatticeECP3 Device
Standard Data Rate System Reference FPGA Clock (MHz) Number of Encoding Style
(Mbps) Clock (MHz) General/Link
Width
8-Bit SERDES 150 - 3125 15 - 312.5 15 - 312.5 x1, x2, x3, x4 N/A
Generic 8b10b 150 - 3125 15 - 312.5 15 - 312.5 x1, x2, x3, x4 8b10b
Note:
1. Channels 0 and 3 are available.
Every quad can be programmed into one of several protocol-based modes. Each quad requires its own reference clock
which can be sourced externally from package pins or internally from the FPGA logic.
Each quad can be programmed with select protocols that have nominal frequencies which can utilize the full and half-
rate options per channel. For example, a PCI Express x1 at 2.5 Gbps and a Gigabit Ethernet channel can be utilized in
the same quad using the half-rate option on the Gigabit Ethernet channel. If a quad shares a PCI Express x1 channel
with a non-PCI Express channel, ensure that the reference clock for the quad is compatible with all protocols within the
quad. For example, a PCI Express spread spectrum reference clock is not compatible with most Gigabit Ethernet
applications.
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-TN-02190-2.9 11
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
Since each quad has its own reference clock, different quads can support different standards on the same chip. This
feature makes the LatticeECP3 family of devices ideal for bridging between different standards.
PCS 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. For example, word alignment and clock tolerance
compensation can be programmed for user-defined operation.
FPGA Core
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
12 FPGA-TN-02190-2.9
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-TN-02190-2.9 13
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
FF_TX_D_0_0 txdata_ch0[0]
FF_TX_D_0_1 txdata_ch0[1]
FF_TX_D_0_2 txdata_ch0[2]
FF_TX_D_0_3 txdata_ch0[3]
FF_TX_D_0_4 txdata_ch0[4]
FF_TX_D_0_5 txdata_ch0[5]
FF_TX_D_0_6 txdata_ch0[6]
FF_TX_D_0_7 txdata_ch0[7]
FF_TX_D_0_8 tx_k_ch0[0] txc_ch0[0] GND txdata_ch0[8]
FF_TX_D_0_9 tx_force_disp_ch0[0] 1 GND txdata_ch0[9]
FF_RX_D_0_11 NC rxstatus0_ch0[2] NC
FF_RX_D_0_12 rxdata_ch0[8] rxdata_ch0[10]
FF_RX_D_0_13 rxdata_ch0[9] rxdata_ch0[11]
FF_RX_D_0_14 rxdata_ch0[10] rxdata_ch0[12]
FF_RX_D_0_15 rxdata_ch0[11] rxdata_ch0[13]
FF_RX_D_0_16 rxdata_ch0[12] rxdata_ch0[14]
FF_RX_D_0_17 rxdata_ch0[13] rxdata_ch0[15]
FF_RX_D_0_18 rxdata_ch0[14] rxdata_ch0[16]
FF_RX_D_0_19 rxdata_ch0[15] rxdata_ch0[17]
FF_RX_D_0_20 rx_k_ch0[1] rxc_ch0[1] NC rxdata_ch0[18]
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
14 FPGA-TN-02190-2.9
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
Data Bus PCS G8B10B CPRI OBSAI PCI Express SRIO Gigabit Ethernet XAUI 8-Bit 10-Bit SERDES SDI
Cell Name4 SERDES
FF_RX_D_0_21 rx_disp_err_ch0[1] rxstatus1_ch0[0] rx_disp_err_ch0[1] NC rxdata_ch0[19]
FF_RX_D_0_22 rx_cv_err_ch0[1]3 rxstatus1_ch0[1] rx_cv_err_ch0[1]3 NC
FF_RX_D_0_23 NC rxstatus1_ch0[2] NC
Notes:
1. The force_disp signal will force the disparity for the associated data word on bits [7:0] to the column selected by the tx_disp_sel
signal. If disp_sel is a one, the 10-bit code is taken from the 'current RD+' column (positive disparity). If the tx_disp_sel is a zero,
the 10-bit code is taken from the 'current RD-' (negative disparity) column.
2. The Lattice Gigabit Ethernet PCS IP core provides an auto-negotiation state machine that generates the signal xmit. It is used to
interact with the Gigabit Ethernet Idle State Machine in the hard logic.
3. When there is a code violation, the packet PCS 8b10b decoder will replace the output from the decoder with hex EE and K
asserted (K=1 and d=EE is not part of the 8b10b coding space).
4. FF_TX_D_0_0: FPGA Fabric Transmit Data Bus Channel 0 Bit 0.
Control
Each mode has its own set of control signals which allows direct control of various PCS features from the FPGA logic. In
general, each of these control inputs duplicates the effect of writing to a corresponding control register bit or bits.
{signal}_c is the control signal from the FPGA core to the FPGA bridge. All of the control signals are used
asynchronously inside the SERDES/PCS.
Status
Each mode has its own set of status or alarm signals that can be monitored by the FPGA logic. In general, each of these
status outputs corresponds to a specific status register bit or bits. The Diamond design tools give the user the option to
bring these ports out to the PCS FPGA interface.
{signal}_s is the status the signal to the FPGA core from the FPGA bridge. All of the status signals are asynchronous
from the SERDES/PCS. These should be synchronized to a clock domain before they are used in the FPGA design.
Please refer to the Mode-Specific Control/Status Signals section of this document for detailed information about
control and status signals.
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-TN-02190-2.9 15
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
5.8. SERDES/PCS
The quad contains four channels with both RX and TX circuits, and an auxiliary channel that contains the TX PLL. The
reference clock to the TX PLL can be provided either by the primary differential reference clock pins or by the FPGA
core. The quad SERDES/PCS macro performs the serialization and de-serialization function for four lanes of data. In
addition, the TxPLL within the SERDES/PCS block provides the system clock for the FPGA logic. The quad also supports
both full-data-rate and half-data-rate modes of operation on each TX and RX circuit independently. The block-level
diagram is shown in Figure 5.4.
refclkp
refclkn
hdinp_ch[3:0] rx_full_clk_ch[3:0]
Primary I/O hdinn_ch[3:0] rx_half_clk_ch[3:0]
hdoutp_ch[3:0]
tx_full_clk_ch[3:0]
tx_half_clk_ch[3:0] Clocks to &
hdoutn_ch[3:0]
refclk2fpga from FPGA
SERDES sci_sel_quad fpga_txrefclk
Client sci_sel_ch[3:0] fpga_rxrefclk_ch[3:0]
sci_wrdata[7:0] rxiclk_ch[3:0]
Interface txiclk_ch[3:0]
sci_wrn
sci_addr[5:0]
sci_rd rxdata_ch0[23:0]
sci_rddata[7:0] rxdata_ch1[23:0] RX Data
sci_int rxdata_ch2[23:0]
txd_ldr_en_ch[3:0]_c
rxdata_ch3[23:0]
tx_div2_mode_ch[3:0]_c
rx_div2_mode_ch[3:0]_c SERDES/PCS txdata_ch0[23:0]
txdata_ch1[23:0]
tx_div11_mode_ch[3:0]_c Quad txdata_ch2[23:0]
TX Data
Control rx_div11_mode_ch[3:0]_c
txdata_ch3[23:0]
Signals tx_idle_ch[3:0]_c
from pcie_ct_ch[3:0]_c Low-speed
pcie_det_en_ch[3:0]_c rxd_ldr_ch[3:0]
FPGA txd_ldr_ch[3:0] Data
sb_felb_ch[3:0]_c
r x_invert_ch[3:0]_c
lsm_status_ch[3:0]_s
rx_pcs_rst_ch[3:0]_c
tx_pcs_rst_ch[3:0]_c ctc_ins_ch[3:0]_s
rx_serdes_rst_ch[3:0]_c ctc_del_ch[3:0]_s Status
tx_serdes_rst_c ctc_urun_ch[3:0]_s
ctc_orun_ch[3:0]_s Signals
rst_qd_c to
serdes_rst_qd_c pcie_done_ch[3:0]_s
tx_sync_qd_c pcie_con_ch[3:0]_s FPGA
word_align_en_ch[3:0]_c rx_los_low_ch[3:0]_s
tx_pwrup_ch[3:0]_c rx_cdr_lol_ch[3:0]_s
rx_pwrup_ch[3:0]_c tx_pll_lol_qd_s
sb_felb_rst_ch[3:0]_c
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
16 FPGA-TN-02190-2.9
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-TN-02190-2.9 17
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
18 FPGA-TN-02190-2.9
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-TN-02190-2.9 19
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
7. SERDES
7.1. Equalizer
As the data rate of digital transmission advances over Gbps, frequency-dependent attenuation results in severe
intersymbol interference in the received signal and makes it mandatory to use an equalizer in the data transceiver to
recover data correctly. Six pole positions are provided: Mid_Low, Mid_Med, Mid_High, Long_Low, Long_Med,
Long_High frequency ranges.
A default selection of the pole position is included when a protocol standard is selected. This selection is based on most
commonly used condition on user’s system board. However, user may wish to optimize the signal by adjusting this
setting. User has to perform bit-error-rate tests on all different pole settings to determine the optimal one.
7.2. Pre-Emphasis
Pre-emphasis refers to a system process designed to increase the magnitude of some frequencies with respect to the
magnitude of other frequencies. The goal is to improve the overall signal-to-noise ratio by minimizing the adverse
effects of such phenomena as attenuation differences. Users can select up to 80% of pre-emphasis.
By default, pre-emphasis is not enabled. User can determine if the Tx drive signal has to route a long distance to the Rx
side. If the routing trance length is long, he can try out different pre-emphasis settings to determine the best signal eye
at the Rx-end of the trace.
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
20 FPGA-TN-02190-2.9
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
Quad 1
CLK3G4TX
REFCLKN
Channel 2
TX_DIV11_MODE (Reg/Core) TX_FULL_CLK (CH)
REFCLK_MODE[1:0]
REFCLK25X (QD_REG*) 1
/11
0
BUS8B_SEL
RX_REFCLK_SEL (Reg)
(QD_REG*)
RX_CDR
/11 1
(CH) DeSerializ er(CH)
8:1/10:1 RX_FULL_CLK (CH)
0
/2 1
RX_DIV11_MODE (Reg/Core)
0 /2
RX_DIV2_MODE (Reg/Core)
RX_HALF_CLK (CH)
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-TN-02190-2.9 21
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
HDIN_ch2
CDR PLL 2 1/2 DES2
1/11
[2]
HDIN_ch3
CDR PLL 3 1/2 DES3
1/11
[3] RX_REFCLK
[3:0] from FPGA Core(ch[3:0])
REFCLKP
REFCLK to FPGA Core
REFCLKN
REFCLK to TX PLL(QUAD)
TX PLL
HDOUT_ch0 SER0
1/2
1/11
HDOUT_ch1 SER1
1/2 Data from PCS
1/11
HDOUT_ch2 SER2
1/2
1/11
HDOUT_ch3 SER3
1/2
1/11
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
22 FPGA-TN-02190-2.9
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
Figure 7.3 Example of Full Data Rate and Half Data Rate in the IPexpress GUI
The actual data rate and FPGA interface clock rate for this example are described in Table 7.2. The IPexpress GUI will be
discussed in detail later in this document.
Table 7.2. TXPLL and RX CDRPLL Supported Modes
Channel Data Reference Data Rate Calculated FPGA FPGA tx_full_clk tx_half_clk
Rate Clock Mode Reference Interface Interface
Multiplier Clock Rate Data Bus Clock Rate
Width
Channel 0 1 Gbps 10 x FULL 100 MHz 8 (10)3 100 MHz 100 MHz 50 MHz
Channel 1 500 Mbps 10 x DIV2 100 MHz 8 (10) 50 MHz 50 MHz 25 MHz
Channel 2 1 Gbps 10 x FULL 100 MHz 16 (20) 50 MHz 100 MHz 50 MHz
Channel 3 500 Mbps 10 x DIV22 100 MHz 16 (20) 25 MHz 50 MHz 25 MHz
Notes:
1. The clocks in the shaded cells are used as the FPGA interface clocks in each mode.
2. In DIV2 mode, the tx_full_clk is adjusted to half rate. tx_half_clk is used for the 16-bit bus interface only.
3. 10-bit SERDES only mode or SDI mode.
7.8. Dynamic Switching Between Full Rate and Half Rate (DIV2)
This section describes how to switch between Full Rate and Half Rate (DIV) dynamically.
The two rate mode control signals are or’ed as shown in Figure 7.4.
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-TN-02190-2.9 23
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
rx_div2_mode_ch[3:0]_c
Recei ver Rate ( 0: Full Rate, 1: Half Rate)
Rate_Mode_Rx(CH_15[1])
tx_div2_mode_ch[3:0]_c
Rate_Mode_Tx(CH_14[1]) Transmitter Rate ( 0: Full Rate, 1: Half Rate)
tx_div2_mode_chx_c is an input control signal to the TX path from the FPGA fabric.
rx_div2_mode_chx_c is an input control signal to the RX path from the FPGA fabric.
Rate_Mode_Tx(CH_14[1]) is the Control Register bit for the TX path.
Rate_Mode_Rx(CH_15[1]) is the Control Register bit for the RX path.
In the rx lane, the pcs_rst should be applied after switching.
In the tx lane, no reset is required for the new rate to take place.
fpga_txrefclk, fpga_rxrefclk
Reference clock from FPGA logic. The Primary Clock pad (PCLK) should be used as the clock input pin to the FPGA. The
clock signal may be CML, LVDS, LVPECL or single-ended.
FPGA PLL
When an FPGA PLL is used as the reference clock, the reference clock to the PLL should be assigned to a dedicated PLL
input pad. The FPGA PLL output jitter may not meet system specifications at higher data rates. Use of an FPGA PLL is
not recommended in jitter-sensitive applications.
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
24 FPGA-TN-02190-2.9
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
The loss-of-signal threshold depends on the value of the programmable current source. The current source value is
chosen using the rlos_lset[2:0] control bit. The result of threshold detection is indicated to the FPGA through the
rx_los_low status signal.
HDINP
Current source
value depends on
rlos_lset[2:0]
rx_los_low
HDINN
Note: rx_los_low shows that a signal has been detect ed for data rates above 1 Gbps with a maximum
CID (Consecutive Identical Digits) of 7 bits (i.e., a minimum input signal transi tion density as is sent by 8b10b).
rx_los_low is supported with a defaul t setting of rlos_lset[2:0] = 2, except i n PCI Express mode and
SDI mode. In PCI Express mode, 2 and 3 are supported.
In SDI mode, it i s recommended to use the carrier detect output signal (/CD) from the external SDI cable equali zer.
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-TN-02190-2.9 25
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
8b10b Encoder
This module implements an 8b10b encoder as described within the IEEE 802.3ae-2002 1000BASE-X specification. The
encoder performs the 8-bit to 10-bit code conversion as described in the specification, along with maintaining the
running disparity rules as specified. The 8b10b encoder can be bypassed on a per-channel basis by setting the attribute
CHx_8B10B to “BYPASS” where x is the channel number.
Serializer
The 8b10b encoded data undergoes parallel-to-serial conversion and is transmitted off-chip via the embedded SERDES.
Deserializer
Data is brought on-chip to the embedded SERDES where it goes from serial to parallel.
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
26 FPGA-TN-02190-2.9
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
“XX01111100” (jhgfiedcba bits for negative running disparity comma character matching code groups K28.1, K28.5,
and K28.7). However, the user can define any 10-bit pattern.
The first alignment character is defined by the 10-bit value assigned to attribute COMMA_A. This value applies to
all channels in a PCS quad.
The second alignment character is defined by the 10-bit value assigned to attribute COMMA_B. This value applies
to all channels in a PCS quad.
The mask register defines which word alignment bits to compare (a ‘1’ in a bit of the mask register means check
the corresponding bit in the word alignment character register). The mask registers defined by the 10-bit value
assigned to attribute COMMA_M. This value applies to all channels in a PCS quad. When the attribute CHx_RXWA
(word alignment) is set to “ENABLED” and CHx_ILSM (Internal Link State Machine) is set to “ENABLED”, one of the
protocol-based Link State Machines will control word alignment. For more information on the operation of the
protocol-based Link State Machines, see the Protocol-Specific Link State Machine section below.
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-TN-02190-2.9 27
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
word_align_en_ch0_c
from FPGA fa bric EN
Internal Link
State Machine
1 0 lsm_sel
External Internal CH_04[7]
Figure 7.6 PCS Word Aligner and Link State Machine Options
When a Link State Machine is selected and enabled for a particular channel, that channel’s lsm_status_ch(0-3)_s status
signal will go high upon successful link synchronization.
Note that the lsm_status_ch(0:3)_s status signal may have glitches. User should add deglitch logic on this output to
ensure stable signal transition.
Idle Insert for Gigabit Ethernet Mode
The PCS set to Gigabit Ethernet Mode provides for insertion of /I2/ symbols into the receive data stream for auto-
negotiation. Gigabit Ethernet auto-negotiation is performed in soft logic. This function inserts a sequence of 8 /I2/
ordered sets every 2048 clock cycles. /I2/ insertion is controlled by the xmit_ch(0-3) input to the PCS which is driven
from the autonegotiation soft logic. Figure 7.7 shows one channel (channel 0 in this example) of receive logic when the
PCS is set to Gigabit Ethernet Mode showing these control/status signals.
Clock rxdata_ch0[7:0]
De- Tolerance
Giga bit rx_k_ch0[0]
Serializer Compensation
Ethernet
(CTC)
/I2/
8b10 b Insert xmit_ch0[0]
Decoder
Word
Aligner
rx_disp_err_ch0[0]
rx_c v_err_ch0[0]
Figure 7.7 PCS PCS Receive Path for Gigabit Ethernet Mode (Channel 0 Example)
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
28 FPGA-TN-02190-2.9
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
A channel has the Clock Tolerance Compensation block enable when that channel’s attribute CHx_CTC is set to
“ENABLED”. The CTC is bypassed when that channel’s attribute CHx_CTC is set to “DISABLED”.
A diagram illustrating 1-byte deletion is shown in Figure 7.8.
rxicl k_ch0 or
ebrd_clk_ch0
rxdata_ch0[7:0] E I I I I S D D
rxicl k_ch0 or
ebrd_clk_ch0
rxicl k_ch0 or
ebrd_clk_ch0
rxdata_ch0[7:0] E I SK SK I I I S
rxicl k_ch0 or
ebrd_clk_ch0
rxdata_ch0[7:0] E I I I I I S D D D D D
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-TN-02190-2.9 29
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
rxicl k_ch0 or
ebrd_clk_ch0
rxicl k_ch0 or
ebrd_clk_ch0
E = End of Packet
rxdata_ch0[7:0] E I I SK1 SK2 SK3 SK4 I I I S D D D D I = Logical Idle
SK1 = CC_MATCH1
Before CTC SK2 = CC_MATCH2
SK3 = CC_MATCH3
After CTC
SK4 = CC_MATCH4
S = Start of Packet
rxicl k_ch0 or
ebrd_clk_ch0 D = Data
rxdata_ch0[7:0] E I I I I I S D D D D D D D D
rxicl k_ch0 or
ebrd_clk_ch0
E = End of Packet
rxdata_ch0[7:0] E I I SK1 SK2 SK3 SK4 I I I S D D D D I = Logical Idle
SK1 = CC_MATCH1
Before CTC SK2 = CC_MATCH2
SK3 = CC_MATCH3
After CTC
SK4 = CC_MATCH4
S = Start of Packet
rxicl k_ch0 or
ebrd_clk_ch0 D = Data
When the CTC is used, the following settings for clock compensation must be set, as appropriate, for the intended
application:
Set the insertion/deletion pattern length using the CC_MATCH_MODE attribute. This sets the number of skip
bytes the CTC compares to before performing an insertion or deletion. Values for CC_MATCH_MODE are “1” (1-
byte insertion/deletion), “2” (2-byte insertion/deletion), and “4” (4-byte insertion/deletion). The minimum
interpacket gap must also be set as appropriate for the targeted application. The interpacket gap is set by assigning
values to attribute CC_MIN_IPG. Allowed values for CC_MIN_IPG are “0”, “1”, “2”, and “3”. The minimum allowed
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
30 FPGA-TN-02190-2.9
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
interpacket gap after skip character deletion is performed based on these attribute settings is described in Table
7.5.
The skip byte or ordered set must be set corresponding to the CC_MATCH_MODE chosen. For 4-byte
insertion/deletion (CC_MATCH_MODE = “4”), the first byte must be assigned to attribute CC_MATCH1, the second
byte must be assigned to attribute CC_MATCH2, the third byte must be assigned to attribute CC_MATCH3, and the
fourth byte must be assigned to attribute CC_MATCH4. Values assigned are 10-bit binary values.
For example:
If a 4-byte skip ordered set is /K28.5/D21.4/D21.5/D21.5, then “CC_MATCH1” should be “0110111100”, “CC_MATCH2”
= “0010010101”, “CC_MATCH3” = “0010110101” and “CC_MATCH4” = “0010110101”.
For a 2-byte insertion/deletion (CC_MATCH_MODE = “2”), the first byte must be assigned to attribute CC_MATCH3,
and the second byte must be assigned to attribute CC_MATCH4.
For a 1-byte insertion/deletion (CC_MATCH_MODE = “1”), the skip byte must be assigned to attribute CC_MATCH4.
The clock compensation FIFO high water and low water marks must be set to appropriate values for the
targeted protocol. Values can range from 0 to 15 and the high water mark must be set to a higher value than the
low water mark (they should not be set to equal values). The high water mark is set by assigning a value to
attribute CCHMARK. Allowed values for CCHMARK are hex values ranging from “0” to “F”. The low water mark is
set by assigning a value to attribute CCLMARK. Allowed values for CCLMARK are hex values ranging from “0” to “F”.
Clock compensation FIFO overrun can be monitored on a per-channel basis on the PCS/FPGA interface port labeled
cc_overrun_ch(0-3) if “Error Status Ports” is selected when generating the PCS block with the module generator.
Clock compensation FIFO underrun can be monitored on a per-channel basis on the PCS/FPGA interface port
labeled cc_underrun_ch(0-3) if “Error Status Ports” is selected when generating the PCS block with the module
generator.
Note on CTC support in the LatticeECP3-150EA device family with TW suffix: For the initial release of LatticeECP3-
150EA device with TW suffix, the CTC in the PCS is not supported. The CTC feature can be bypassed and
implemented in soft IP. Many IP cores from Lattice implement the CTC logic in soft form.
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-TN-02190-2.9 31
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
Figure 7.14 shows the tools flow when using IPexpress to generate the SERDES/PCS block for the SERDES Protocol
Standard.
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
32 FPGA-TN-02190-2.9
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-TN-02190-2.9 33
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
34 FPGA-TN-02190-2.9
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-TN-02190-2.9 35
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
1. Rate is not reflected in the autoconfig file. Instead, DATARATE RANGE is specified for a given data rate as: 150 Mbps LOWLOW
230 Mbps, 230 Mbps < LOW 450 Mbps, 450 Mbps < MEDLOW 0.9 Gbps, 0.9 Gbps < MED 1.8 Gbps, 1.8 Gbps < MEDHIGH
2.55 Gbps, 2.55 Gbps < HIGH 3.2Gbps.
2. Attributes preceded by '#' represent attributes that are for user information only. These attributes are also included in the auto-
config file for reference.
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
36 FPGA-TN-02190-2.9
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-TN-02190-2.9 37
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
VCCIB
50/60/75/High 50/60/75/High
VCCA
HDINP
5 pF EQ
HDINN
HDOUTP
HDOUTN
50/75/5K 50/75/5K
VCCOB
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
38 FPGA-TN-02190-2.9
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-TN-02190-2.9 39
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
Control Setup
This tab is used to select the SCI interface and other debug and control options. In addition, users can enable the SCI,
error reporting, PLL quarter clock, and loopback capability.
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
40 FPGA-TN-02190-2.9
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
Generation Options
This tab provides options for users to select the PCS module generation output files of their choice.
When migrating an older project created in a previous version of Diamond to the latest version for the first time, it is
highly recommended to regenerate the PCS module in the latest version even if no configuration changes are required.
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-TN-02190-2.9 41
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
This will ensure the most current set of primitive library elements is used. If this is not done, it is possible that the
design may either fail in the flow or go through the flow but show unexpected behavior on the board.
When regenerating the PCS module in an existing project, often the HDL file remains the same and only the
configuration file must be regenerated. In this case, users can run the “Generate Bitstream Data” and “Force One
Level” option to save compile time.
Automatic – When selected, IPexpress will generate only the necessary files. This can include both the HDL and
TXT files or just the TXT file. This is the default setting.
Force Module and Settings Generation – When selected, both the HDL and TXT files will be generated. This forces
the Project Navigator processes to be reset back to synthesis.
Force Settings Generation Only – When selected, only the TXT file will be generated. If HDL generation is
necessary, an error message will be provided.
Flow Definitions – The generation option works differently between the two module flows.
HDL Source Flow: HDL File in Project Navigator
The existing LPC file can be opened from IPexpress for regeneration. In this case, the reset point set by the GUI
will be the new starting point. So, when the user double-clicks a process or runs the “Force One Level” option,
it will start at that reset point.
LPC Source Flow: LPC File in Project Navigator
Opening the LPC file and regenerating the PCS module will reset the whole process whether or not the HDL
module is regenerated.
In either case, the checkmarks in the Processes window will remain unchanged but will be updated as soon as
the user starts the process.
CH0_PROTOCOL "G8B10B"
CH0_LDR "RXTX"
CH0_RX_DATARATE_RANGE "HIGH" CH0_TX_DATA_RATE "FULL"
CH0_TX_DATA_WIDTH "8"
CH0_TX_FIFO "DISABLED"
CH0_CDR_SRC "REFCLK_EXT"
#CH0_TX_FICLK_RATE 250.0
CH0_RX_DATA_RATE "FULL"
CH0_RX_DATA_WIDTH "8"
CH0_RX_FIFO "DISABLED"
#CH0_RX_FICLK_RATE 250.0
CH0_TDRV "0"
CH0_TX_PRE "DISABLED"
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
42 FPGA-TN-02190-2.9
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
CH0_RTERM_TX "50"
CH0_RX_EQ "DISABLED"
CH0_RTERM_RX "50"
CH0_RX_DCC "AC"
CH0_LOS_THRESHOLD_LO "2" CH0_TX_SB "DISABLED"
CH0_TX_8B10B "ENABLED"
CH0_RX_SB "DISABLED"
CH0_RX_8B10B "ENABLED"
CH0_RXWA "ENABLED"
CH0_ILSM "ENABLED"
#CH0_SCOMMA "1111111111"
CH0_COMMA_A "1100000101"
CH0_COMMA_B "0011111010"
CH0_COMMA_M "1111111100"
CH0_CTC "ENABLED"
CH0_CC_MATCH_MODE "2"
CH0_CC_MATCH1 "0000000000"
CH0_CC_MATCH2 "0000000000"
CH0_CC_MIN_IPG "3"
CH0_SSLB "DISABLED"
CH0_SPLBPORTS "DISABLED"
CH0_PCSLBPORTS "DISABLED"
PLL_TERM "50"
PLL_DCC "AC"
PLL_LOL_SET "0"
CCHMARK "9"
CCLMARK "7"
INT_ALL "DISABLED"
QD_REFCK2CORE "ENABLED"
Transmit Path
Serializer: Conversion of 8-bit or 10-bit parallel data to serial data.
Receive Path
Deserializer: Conversion of serial data to 8-bit or 10-bit parallel data.
Optional word alignment to user-defined alignment pattern.
FPGA-TN-02190-2.9 43
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
Periodic 8b10b encoded comma characters need to be present in the serial data. Periodicity is required to allow
the LSM to re-synchronize to commas upon loss of sync. The comma characters should correspond to the “Specific
Comma” value shown in Figure 7.20. For example, when the Specific Comma is set to K28P157, the comma value
on the serial link can be the 8b10b encoded version of any of K28.1 (k=1, Data=0x3C), K28.5 (k=1, Data=0xBC), or
K28.7 (k=1, Data=0xFC). Note though that K28.5 is most commonly used.
A comma character has to be followed by a data character
Two comma characters have to be an even number of word clock cycles apart
Additional information:
It takes roughly four good comma/data pairs for the LSM to reach link synchronization
It takes four consecutive errors (illegal 8b10b encoded characters, code violations, disparity errors, uneven number
of clock cycles between commas) to cause the LSM to unlock
A CDR loss of lock condition will cause the LSM to unlock by virtue of the many code violation and disparity errors
that will result
When the internal reset sequence state machine is used, a CDR loss of lock (rx_cdr_lol_ch[3:0]_s) or a loss of signal
(rx_los_low_ch[3:0]_s ) condition will cause the RX reset sequence state machine to reset the SERDES and cause
the LSM to unlock
The two examples below illustrate the difference between a valid and an invalid even clock cycle boundary between
COMMA occurrences (Note: C = comma, D = data).
Valid (even) comma boundary:
Word Clock Cycle 0 1 2 3 4 5 6 7 8 9 10 11
CHARACTER C D C D C D D D D D C D
In the invalid (odd) comma boundary case above, the comma occurrences on cycles 9 and 11 are invalid since they do
not fall on an even boundary apart from the previous comma.
Alternatively, the LSM can be disabled, and the word aligner is controlled from the fabric word_align_en_ch[3:0]_c
input pin. See External Link State Machine Option section on page 27 and PCS Advanced1 Setup section on page 38 for
more information.
Transmit Path
Serializer
8b10b encoder
Receive Path
Deserializer
Word alignment to a user-defined word alignment character or characters from embedded GbE Link State Machine
8b10b decoding
Clock Tolerance Compensation (optional)
Transmit Path
Serializer
8b10b encoding
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
44 FPGA-TN-02190-2.9
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
Receive Path
Deserializer
Word alignment based on IEEE 802.3-2002 1000 BASE-X defined alignment characters.
8b10b decoding
The Gigabit Ethernet Link State Machine is compliant to Figure 7.3 (Synchronization State Machine, 1000BASE-X) of
IEEE 802.3-2002 with one exception. Figure 7.3 requires that four consecutive good code groups are received in
order for the LSM to transition from one SYNC_ACQUIRED_{N} (N=2,3,4) to SYNC_ACQUIRED_{N-1}. Instead, the
actual LSM implementation requires five consecutive good code groups to make the transition.
Gigabit Ethernet Carrier Detection: Section 36.2.5.1.4 of IEEE 802.3-2002 (1000BASE-X) defines the carrier_detect
function. In Gigabit Ethernet mode, this feature is not included in the PCS and a carrier_detect signal is not
provided to the FPGA fabric.
Clock Tolerance Compensation logic capable of accommodating clock domain differences.
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-TN-02190-2.9 45
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
In the FPGA soft-logic side of the PCS, the interpacket gap is always driven with IDLE2s into the PCS. The
correct_disp_ch[3:0] signal is asserted for one clock cycle, k_cntrl=0, data=0x50 when the interpacket gap first begins.
If necessary, the PCS will convert this IDLE2 into an IDLE1. For the remainder of the interpacket gap, IDLE2s should be
driven into the PCS and the correct_disparity_chx signal should remain deasserted.
For example, if a continuous stream of 512 bytes of Ethernet frames and 512 bytes of /I/ are sent, it can be observed
that:
During the first interpacket gap, all negative disparity /I2/s are seen (K28.5(-) D16.2(+))
During the next interpacket gap, the period begins with positive disparity /I1/ (K28.5 (+), D5.6 (+/- are the same)),
then all remaining ordered sets are negative disparity /I2/s
During the next interpacket gap, all negative disparity /I2/s are seen
During the next interpacket gap, the period begins with positive disparity /I1/ (K28.5 (+), D5.6 (+/- are the same)),
then all remaining ordered sets are negative disparity /I2/s
A number of programmable options are supported within the encoder module. These are:
Ability to force negative or positive disparity on a per-word basis
Ability to input data directly from the FIFO Bridge - external multiplexer
Ability to replaced code words dependant upon running disparity (100BASE-X and FC)
Software register controlled bypass mode
Transmit Path
Serializer
Transmit State Machine which performs translation of XGMII idles to proper ||A||, ||K||, ||R|| characters
according to the IEEE 802.3ae-2002 specification
8b10b Encoding
Receive Path
Deserializer
Word alignment based on IEEE 802.3-2002 defined alignment characters.
8b10b Decoding
The XAUI Link State Machine is compliant to Figure 7.7 - PCS synchronization state diagram of IEEE 802.3ae 2002
with one exception. Figure 7.7 requires that four consecutive good code groups be received in order for the LSM to
transition from one SYNC_ACQUIRED_{N} (N=2,3,4) to SYNC_ACQUIRED_{N-1}. Instead, the actual LSM
implementation requires five consecutive good code groups to make the transition.
Clock Tolerance Compensation logic in PCS is disabled in XAUI mode. MCA (Multi-Channel Alignment) and CTC are
done in the XAUI IP core.
x4 multi-channel alignment should be done in FPGA core logic.
Transmit Path
Serializer
8b10b Encoding
Receiver Detection
Electrical Idle
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
46 FPGA-TN-02190-2.9
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
Receive Path
Deserializer
Word alignment based on the Sync Code
8b10b Decoding
Link Synchronization State Machine functions incorporating operations defined in the PCS Synchronization State
Machine (Figure 7.7) of the IEEE 802.3ae-2002 10GBASE-X Specification.
x2 or x4 PCI Express operation with one PCS quad set to PCI Express mode.
Clock Tolerance Compensation logic capable of accommodating clock domain differences.
x2 or x4 multi-channel alignment should be done in FPGA core logic. Table 7.13 describes the PCI Express mode
specific ports.
Table 7.13 describes the PCI Express mode specific ports.
Table 7.13. PCI Express Mode Specific Ports
Signal Direction Class Description
pcie_done_ch[3:0]_s Out Channel 1 = Far-end receiver detection complete 0 = Far-end receiver detection
incomplete
pcie_con_ch[3:0]_s Out Channel Result of far-end receiver detection 1 = Far-end receiver detected
0 = Far-end receiver not detected
pcie_det_en_ch[3:0]_c In Channel FPGA logic (user logic) informs the SERDES block that it will request a PCI
Express Receiver Detection operation.
1 = Enable PCI Express Receiver Detect 0 = Normal Operation
pcie_ct_ch[3:0]_c In Channel 1 = Request transmitter to do far-end receiver detection 0 = Normal data
operation
rxstatus[2:0] Out Channel Per-channel PCI Express receive status port. RxStatus# is an encoded status
of the receive data path. 2 bits wide if in 16-bit data bus mode.
The status signal, rxstatus, is an encoded status of the receive data path. The encoding is as follows.
Table 7.14. rxstatus Encoding
rxstatus[2:0] Description Priority
0 0 0 Received data OK 8
0 0 1 1 byte inserted by CTC 7
0 1 0 1 byte deleted by CTC 6
0 1 1 Receiver detected (pcie_done, pcie_con) 1
1 0 0 8b10b decode error (code violation - rx_cv_err) 2
1 0 1 CTC FIFO overflow (ctc_orun) 3
1 1 0 CTC FIFO underflow (ctc_urun) 4
1 1 1 Receive disparity error (rx_disp_err) 5
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-TN-02190-2.9 47
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
VCCIB = 1.2 V
VCCOB = 1.2 V
Zo = 50
50
50
75 to 200 nF
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
48 FPGA-TN-02190-2.9
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
symbol. As the signal is pipelined to the PCS-SERDES boundary, the relationship between the transmit data and this
signal is exactly the same as on the FPGA-PCS boundary.
14 UI after the rising edge of the Electrical Idle enable signal at the PCS-SERDES boundary the last bit (bit7) of the last
K28.3 (IDL) symbol is transmitted. 16 UI (<20 UI) later the transmit differential buffer achieves Electrical Idle state.
2 word clocks
FPGA-PCS Boundary
TxData_chx E OS 00 D a ta
TxElecIdle_chx
TxData_chx E OS 00 D a ta
HDOUTP/N Bit 0
< 20 UI < 20 UI
Bit 7 of last K2 8.3 character TTX-IDLE-SET-TO-IDLE T TX-IDLE-TO-DIIF-DAT A-MIN
As long as the FPGA core logic deems that the transmitter needs to stay in Electrical Idle state it needs to clock in data
(preferably all zeros) along with the Electrical Idle Enable (tx_idle_chx_c) signal active (HIGH). The transmitter is
required to stay in the Electrical Idle state for a minimum of 50 UI (20 ns) (TTX-IDLE-MIN).
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-TN-02190-2.9 49
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
tx_elec_idle
pcie_ct[0:3]
pcie_done[0:3]
tdone > 2 us
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
50 FPGA-TN-02190-2.9
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
Transmit Path
Serializer
Receive Path
Deserializer
Optional word alignment to user-defined alignment pattern.
The following data rates are the most popular in the broadcast video industry.
SD-SDI (SMPTE259M): 270Mbps
HD-SDI (SMPTE292M): 1.485Gbps, 1.485Gbps/1.001 = 1.4835Gbps
3G-SDI (SMPTE424M): 2.97Gbps, 2.97Gbps/1.001 = 2.967Gbps
Most designers have indicated that they would like to see support for all these rates. The reason is that in a broadcast
studio, or a satellite head-end or cable head-end, they do not necessarily have prior knowledge of what the RX data
rate will be.
The switchover time between different rates should be as low as possible. The time to re-lock the CDR is unavoidable.
In the LatticeECP3 SERDES, the PLL does not have to be re-locked. This is possible because the LatticeECP3 has per RX
and TX dividers. Video links generally have a unidirectional nature (i.e., different channels can run at different rates,
and more importantly, the RX and TX in the same channel can run at different rates).
Also, depending on the geography where the equipment is deployed, either the full HD/3G-SDI rates (Europe/Asia) are
used while transmitting video or the fractional rates (North America - NTSC). This allows us to develop two potential
solution example cases for multi-rate SMPTE support with high quad utilization.
Please note that simultaneous support of 3G/HD Full TX Rate(s) and Fractional TX Rate(s) is not possible in the same
SERDES quad. In general, based on the above, geographically partitioned usage is an acceptable limitation.
SERDES/PCS Quad
External Clock
148.5 MHz
Ch 3 Ch 3 Ch 2 Ch 2 AUX Ch 1 Ch 1 Ch 0 Ch 0
Tx Rx Tx Rx Tx Rx Tx Rx
FPGA Core
Figure 7.27 Example A: 3G/HD/SD Full RX/TX Rate Support and 3G/HD Fractional TX Rate Support
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-TN-02190-2.9 51
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
To support the major application requirements, a selectable DIV per RX and TX is supported. In LatticeECP3, DIV11 has
been added. One potential multi-rate configuration is to provide a 148.5 MHz REFCLK from the primary pins to the TX
PLL. The TX PLL would be in the x20 mode. The resulting output clock would be 2.97 GHz. Then, by using the DIV2 for
1.485 Gbps and DIV11 for 270 Mbps, a very quick switchover can be achieved without having to re-train and lock the
PLL.
Transmit Path
Serializer
8b10b encoding
Receive Path
Deserializer
Word alignment based on the Sync Code Group as defined in the RapidIO Physical Layer 1x/4x LP-Serial
specification.
8b10b decoding
Clock Tolerance Compensation logic capable of accommodating clock domain differences
7.31. Serial Digital Video and Out-Of-Band Low Speed SERDES Operation
The LatticeECP3 SERDES/PCS supports any data rates that are slower than what the SERDES TX PLL and RX CDR natively
support (<250 Mbps: Out-Of-Band signal, OOB), by bypassing the receiver CDR and associated SERDES/PCS logic (e.g.,
100 Mbps Fast Ethernet, SD-SDI at 143 Mbps or 177 Mbps). Though these out-of-band paths primarily use low data
rates, higher rates can be used for other functional reasons. See the Multi-Rate SMPTE Support section of this
document for more information.
In addition, for SD-SDI, these rates sometimes must co-exist on the same differential RX pair with HD-SDI rates (i.e., SD-
SDI rates may be active and then the data rate may switch over to HD-SDI rates). Since there is no way to predict which
of these two rates will be in effect, it is possible to send the input data stream to two SERDES in parallel, a high-speed
SERDES (already in the quad) and a lower-speed SERDES (implemented outside the quad). One possible
implementation is shown in Figure 7.28.
There is an input per channel RXD_LDR, low data rate single-ended input from the RX buffer to the FPGA core. In the
core a low-speed Clock Data Recovery (CDR) block or a Data Recovery Unit (DRU) can be built using soft logic. A channel
register bit, RXD_LDR_EN, can enable this data path. If enabled by another register bit, a signal from the FPGA can also
enable this in LatticeECP3.
In the transmit direction, it is also possible to use a serializer built in soft logic in the FPGA core and use the TXD_LDR
pin to send data into the SERDES. It will be muxed in at a point just before the pre-emphasis logic near where the
regular high-speed SERDES path is muxed with the boundary scan path. This is shown conceptually in Figure 7.28. The
low data rate path can be selected by setting a channel register bit, TX_LDR_EN.
Alternatively, on the output side, the high-speed SERDES is used to transmit either high-speed data, or lower speed
data using decimation (the SERDES continues to run at high-speed, but the output data can only change every nth clock
where n is the decimation factor).
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
52 FPGA-TN-02190-2.9
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
RXD_LDR_EN
BSRPAD
from JTAG config logic
BSCAN
Inp ut Cell
RXD_LDR
RX power up BSTPAD
from JTAG config logic
HDINP
EQ Inp ut Dat a
HDINN
TX power up SERDES
0 O utput Dat a
HDOUTP 0 BSCA N
1
O utput Cell
HDOUTN 1
TXD_LDR
TXD_LDR_E N
Transmit Path
Serializer
Transmit State Machine is set to Gigabit Ethernet Mode
8b10b Encoding
Receive Path
Deserializer
Word alignment based on IEEE 802.3-2002 1000 BASE-X defined alignment characters
8b10b Decoding
A Basestation Transceiver System (BTS) has four main components/modules and there are three major interfaces, or
Reference Points (RPs), between them.
RP3 – RF Module receives signals from portable devices (terminals) and down converts it to digital data.
RP2 – The baseband module takes the encoded signal and processes it and sends it to the transport module, which
will send it over the terrestrial network.
RP1 – A control module maintains coordination between these three functions.
Currently, most of the focus in the industry revolves around providing lower RF modules and power amplifiers and
hence OBSAI’s primary effort has been to define Reference Point 3 (RP3). In fact, the specification of interest is RP3-01,
which is focused on Remote Radio Heads (RRHs).
The OBSAI RP3 electrical specification is based on the XAUI electrical specification and customized to the needs of a
Base Transceiver System. The XAUI electrical interface is specified in Clause 47 of IEEE 802.3ae-2002. RP3 version 3.1
specifies the following electrical rates 3.84 Gbps, 3.072 Gbps, 2.304 Gbps, 1.536 Gbps and 0.736 Gbps out of which the
last four are supported.
The RP3 electrical specification defines a receiver compliance mask and provides a sample transmitter output mask.
The BER should be better than 1 x 10-15, which is more stringent than XAUI requirement of 1 x 10-12. The RP3
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-TN-02190-2.9 53
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
electrical specification also differs from the XAUI specification in the definition of the UI. XAUI allows for a difference of
+/- 100 ppm. This difference does not apply to OBSAI systems since the BTSes are fully synchronous systems.
Since a BTS is a synchronous system, it is imperative to measure and calibrate the delay across any bus. OBSAI has
carefully considered this and, as a result, come up with a method for synchronizing the master frame across the RP3
link. Delay calibration takes into account all factors, including processing, and buffer delay, in transmit and receive
modules, as well as the latency across the link.
Another major item in the data-link layer is the synchronization between the transmitter and receiver. Synchronization
ensures the actual data can be decoded successfully over the link. The frequency of errors as well as the
synchronization status is constantly monitored.
RP3-01 has gone further and specified line rates that are integer multiples of 768 Mbps, up to 3.84 Gbps, and are
considered OBSAI compatible line rates. Due to the number of line rates available, auto-negotiation between the
remote RF units and the local units is defined. This extension of the specification includes Ethernet transmission
between two RP3-01 nodes, mapping of RP1 information into the RP3 link because the RRH does not have a physical
RP1 link, delay measurement, synchronization between RP3-01 units, and data multiplexing across the RP3-01 link.
The delay of each functional block in the LatticeECP3 SERDES/PCS is described in the CPRI section.
Transmit Path
Serializer
Transmit State Machine is set to Gigabit Ethernet Mode
8b10b Encoding
Receive Path
Deserializer
Word alignment based on IEEE 802.3-2002 1000 BASE-X defined alignment characters
8b10b Decoding
Unlike OBSAI, CPRI does not specify mechanical or electrical interface requirements. In terms of scope, CPRI has a much
narrower focus than OBSAI. CPRI looks solely at the link between the RRH and the baseband module(s). In CPRI
nomenclature, those modules are known as Radio Equipment (RE) and Radio Equipment Control (REC), respectively. In
other words, CPRI is specifying the same interface as the OBSAI RP3 specification. CPRI primarily covers the physical
and data link layer of the interface. It also specifies how to transfer the user plane data, control and management
(C&M) plane data and the synchronization plane data.
CPRI has had better “traction” for two reasons - the muscle of the companies backing it and the focus on just one
interface link (between the RF modules and the Baseband modules) and even at that focusing primarily on the physical
and data link layers.
CPRI allows four line bit rate options; 614.4 Mbps, 1.2288 Gbps, 2.4576 Gbps and 3.072 Gbps; at least one of these
rates needs to be supported. The higher line rate is always compared to the one that is immediately lower.
CPRI does not have a mandatory physical layer protocol, but the protocol used must meet the BER requirement of 1 x
10-12, which is less stringent than OBSAI. It also specifies the clock stability and the phase noise requirements.
CPRI also recommends two electrical variants: high voltage (HV) and low voltage (LV). HV is guided by 1000Base- CX
specifications in IEEE 802.3-2002 clause 39 with 100-ohm impedance. LV is guided by XAUI. LV is recommended for all
rates and will be the focus for this device.
It is important to understand two link layer requirements when dealing with the CPRI and OBSAI specifications:
Link delay accuracy and cable delay calibration
Startup synchronization
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
54 FPGA-TN-02190-2.9
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
Radio
T12 Antenna
R1 R2
T34
Figure 7.29 Link Between REC Master Port and RE Slave Port (Single Hop Scenario)
Reference points R1-4 correspond to the output point (R1) and the input point (R4) of REC, and the input point (R2) and
the output point (R3) of an RE terminating a particular logical connection. The antenna is shown as Ra for reference.
T12 is the delay of the downlink signal from the output point of REC (R1) to the input point of RE (R2), essentially
the downlink cable delay.
T34 is the delay of the uplink signal from the output point of RE (R3) to the input point of the REC (R4), essentially
the uplink cable delay.
Toffset is the frame offset between the input signal at R2 and the output signal at R3.
T14 is the frame timing difference between the output signal at R1 and the input signal at R4 (i.e., the round trip
delay - RTT).
Delay measurement is accomplished using frame timing. CPRI has a 10 ms frame based on the UMTS radio frame
number or Node B Frame Number, also known as BFN. Each UMTS Radio Frame has 150 hyperframes (i.e., each
HyperFrame is 66.67 us) with the corresponding hyperframe number (HFN = 0<=Z<=149). Each hyperframe has 256
(0<=W<=255) basic frames (i.e. each basic frame is 260.42 ns = Tchip or Tc).
An RE determines the frame timing of its output signal (uplink) to be the fixed offset (Toffset) relative to the frame
timing of its input signal (downlink). Toffset is an arbitrary value, which is greater than or equal to 0 and less than 256
Tc (it cannot slip beyond a hyperframe). Different REs may use different values for Toffset. REC knows the value of
Toffset of each RE in advance (pre-defined value or RE informs REC by higher layer message).
To determine T14, the downlink BFN and HFN from REC to RE is given back in uplink from the RE to the REC. In the case
of an uplink-signaled error condition, the REC treats the uplinks BFN and HFN as invalid. So, T14 = T12 + Toffset + T34.
As stated earlier the system is synchronous. Further, assuming that hyperframes are of fixed length and the RRH- BTS
interconnect (cable length) is equal in both directions (i.e.,T12 = T34, both optical fibers are in one bundle), the
interconnect delay devolves down to (T14 - Toffset)/2. The method for determining T14 has been discussed earlier. So
the major component that affects delay calibration is Toffset. Thus, the interconnect delay is the difference in
hyperframe arrival and departure times measured at each side of the link.
Delay calibration requirements are driven by 3GPP and UTRAN requirements specifically requirements R-21 in the CPRI
specification (CPRI v3.0 page 20), which states that the accuracy of the round trip delay measurement of the cable
delay of one link is +/- Tc/16. Additionally, requirement R-20 states that the round trip time absolute accuracy of the
interface, excluding the round trip group delay on the transmission medium (excluding the cable length), shall meet a
similar requirement (+/- Tc/16 for T14). Taking into account the previous discussion, the absolute link delay accuracy in
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-TN-02190-2.9 55
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
the downlink between REC master port and RE slave port excluding the cable length is half of the above requirement
(+/- Tc/32 or approximately 8 ns (8.138 ns)). Thus, both T14 and Toffset need absolute accuracy less than +/- 8 ns.
Next it is important to determine how many bits of uncertainty can be acceptable for the different rates. Essentially,
the various CPRI and OBSAI bit rates can be multiplied by 8.138 ns to determine the number of bits worth of
indeterminism/variance is acceptable. The impact of this will become clear subsequently when the SERDES
serial/parallel data path is discussed.
Most SERDES have a certain level of uncertainty that is introduced in the serializing and de-serializing process. Thus, a
SERDES with 16-bit bus architecture may have twice the delay uncertainty as a SERDES with a 8-bit architecture
because the number of bits per word is doubled.
TX and RX latency respectively in Table 8.1 is listed. The table also lists the variability between the latency. This
variability directly contributes to the absolute delay accuracy required from earlier discussion. The variability comes
from three sources: TX FPGA Bridge FIFO, RX FPGA Bridge FIFO and RX Clock Tolerance Compensation FIFO. Since the
CPRI system is a synchronous system, the RX CTC FIFO is bypassed and the RX recovered clock is used.
The remaining contributors to the latency variability are the FPGA Bridge FIFO. This FIFO can be bypassed if the
interface to the FPGA is 8-bit bus mode. In 16-bit interface mode, the FPGA Bridge FIFO cannot be bypassed because
the 2:1 gearing is done via the FIFO.
7.34. SONET/SDH
Synchronous Optical Networking (SONET) and Synchronous Digital Hierarchy (SDH) are standardized multiplexing
protocols that transfer data over optical fiber or via an electrical interface. SONET generic criteria are detailed in the
Telcordia Technologies Generic Requirements document GR-253-CORE. Generic criteria applicable to SONET and other
transmission systems (e.g., asynchronous fiber optic systems or digital radio systems) are found in Telcordia GR-499-
CORE. SONET and SDH were originally designed to transport circuit mode communications (e.g., T1, T3) from a variety
of different sources. The primary difficulty in doing this prior to SONET was that the synchronization sources of these
different circuits were different. This meant each circuit was operating at a slightly different rate and with different
phase. SONET allowed for the simultaneous transport of many different circuits of differing origin within a single
framing protocol.
The LatticeECP3 SERDES/PCS offers transceivers capable of supporting three SONET/SDH data rates, STS- 3/STM-1
(155.52 Mbps), STS-12/STM-4 (622.08 Mbps) and STS-48/STM-16 (2.488 Gbps). 8-bit SERDES mode is
used for SONET/SDH applications.
In order to be SONET/SDH line-compliant, external components are required with the LatticeECP3. An external line
driver is required on the output of the SERDES. To filter out high frequency jitter from the incoming data stream, a jitter
cleaner can be applied to the recovered clock before using it as the transmit reference clock.
For chip-to-chip or backplane applications, the external line driver and the clock jitter cleaner are not required. Figure
7.30 shows the line-side solution using external components.
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
56 FPGA-TN-02190-2.9
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
Line
Driver
Line Client
Interface LatticeECP3 Interface
RX Reference
Clock
VCXO
RX PCS FPGA
REFCLK Reco vered Clock
CDR BYPASS
BYPASS rxdata_ch0
RX FIFO
CTC
DEC rx_hal f_clk_ch0
FIFO
/2
rx_full_clk_ch0
rxicl k_ch0
REFCLK
ebrd_clk_ch0
AUX
TX PLL
txiclk_ch0
BYPASS
8b 10b
SER
Encoder txdata_ch0
TX FIFO
tx_full_clk_ch0
tx_hal f_clk_ch0
TX /2
In the above diagram and in the subsequent clock diagrams in this section, please note that suffix “i” indicates the
index [3:0] i.e., one for each channel.
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-TN-02190-2.9 57
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
It is a requirement that if any of the selectors to the clock muxes are changed by writes to register bits, the software
agent will reset the logic clocked by that muxed clock.
The PCS outputs 16 clocks. There are two transmit clocks (per channel) and two receive clocks (per channel). The two
transmit clocks provide full rate and half rate clocks and are all derived from the TX PLL. There are also two clocks (full
and half) per receive channel. All 16 clocks can be used as local (secondary) or global (primary) clocks for the FPGA logic
as required. tx_half_clks are used when the gearing is in 2:1 mode. As described in Table 5.4, only tx_full_clk_ch0 and
tx_half_clk_ch0 can drive the primary clock routing directly. Other channel clocks can also drive the primary clock net
but general routing is used. All of the tx_full_clk_ch[3:0] and tx_half_clk_ch[3:0] signals can drive the secondary clock
net by applying a USE SECONDARY clocking preference. General routing is also used to drive Secondary clock net.
The transmit clock is used on the write port of the TX FIFO (or Phase Shift FIFO, depending on the case). One of the two
receive clocks is connected to the read clock of the RX FIFO. The other clock is used on the read port of the CTC FIFO
and potentially on the write port of the RX FIFO (depending on the case). Based on the whether the CTC and the TX
FIFO are bypassed and whether the PCS is in 8bit/10bit interface mode or 16bit/20bit interface mode, four use cases
are possible. The active paths are highlighted with weighted lines. It is also indicated how many and what kind of clock
trees are required. There are some modes that would more commonly be preferred by the user.
This section describes the operation of the six supported cases. The cases are outlined in Table 7.16.
Table 7.16. Six Interface Cases Between the SERDES/PCS Quad and the FPGA Core
Table 7.16. Six Interface Cases Between the SERDES/PCS Quad and the FPGA Core
Interface Data Width RX CTC FIFO RX Phase-Shift/ Down- TX Phase-Shift/ Up-
Sample FIFO Sample FIFO
Case I-a2 8/10 bit Yes Yes Yes
Case I-b2 8/10 bit Bypass Yes Yes
2
Case I-c 8/10 bit Yes Bypass Bypass
Case I-d2 8/10 bit Bypass Bypass Bypass
1, 2
Case II-a 16/20 bit Yes Yes Yes
Case II-b1, 2 16/20 bit Bypass Yes Yes
Notes:
1. When using a 16/20-bit datapath width, the TX phase-shift (upsample) FIFO and the RX phase-shift FIFO (downsample) are
always used. They cannot be bypassed. It is not required that both RX and TX have the same FPGA interface datapath width
simultaneously. There is independent control available. For the sake of brevity, they have been represented together in the
same use case.
2. The TX phase-shift (upsample) FIFO and the RX phase-shift FIFO (downsample) do not need to be bypassed together. They are
indepen- dently controllable. Again, for the sake of brevity, they have been represented here in the same case.
2:1 Gearing
For guaranteed performance of the FPGA global clock tree, it is recommended to use a 16/20-bit wide interface for
SERDES line rates greater than 2.5 Gbps. In this interface, the FPGA interface clocks are running at half the byte clock
frequency.
Even though the 16/20-bit wide interface running at half the byte clock frequency can be used with all SERDES line
rates, the 8/10-bit wide interface is preferred when the SREDES line rate is low enough to allow it (2.5 Gbps and below)
because this results in the most efficient implementation of IP in the FPGA core.
The decision matrix for the six interface cases is explained in Table 7.17.
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
58 FPGA-TN-02190-2.9
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-TN-02190-2.9 59
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
7.36. Case I_a: 8/10-Bit, CTC FIFO and RX/TX FIFOs Not Bypassed
Figure 7.32 8/10-Bit, CTC FIFO and RX/TX FIFOs NOT Bypassed
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
60 FPGA-TN-02190-2.9
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-TN-02190-2.9 61
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
1. The TX channel clocking is similar to the previous two cases. On the RX channel, the FPGA input clock is now
ebrd_clki. The FPGA TX clock tree drives this clock. In this case, ebrd_clki is automatically routed by the software.
7.39. Case I_d: 8/10-Bit, CTC FIFO and RX/TX FIFOs Bypassed
1. FPGA clock trees can be interchangeably thought of as clock domains in this case. The TX channel clocking is similar
to the previous three cases. On the RX channel, the recovered channel RX clock is sent out to the FPGA. This case is
useful for supporting video applications.
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
62 FPGA-TN-02190-2.9
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
7.40. Case II_a: 16/20-bit, CTC FIFO and RX/TX FIFOs NOT Bypassed
Figure 7.36 16/20-bit, CTC FIFO and RX/TX FIFOs NOT Bypassed
1. The TX FIFO acts both as a Phase Shift FIFO and Upsample FIFO in this case.
2. The RX FIFO acts both as a Phase Shift FIFO and Downsample FIFO in this case.
3. This is a very common single channel use case when the FPGA is unable to keep up with full byte frequency. Two
clock trees are required. These clock trees are driven by direct access of transmit full-rate clock and transmit half-
rate clock to the FPGA clock center mux. The full-rate clock tree drives the CTC FIFO read port and the RX FIFO write
port. The half-rate clock tree drives the RX FIFO and the FPGA logic.
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-TN-02190-2.9 63
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
1. The TX FIFO acts both as a Phase Shift FIFO and Upsample FIFO in this case.
2. The RX FIFO is acting both as a Phase Shift FIFO and Downsample FIFO in this case.
3. This is a very common multi-channel alignment use case when the FPGA is unable to keep up with full byte
frequency. The receive clock trees (up to four) can be local or global. They are running a half-rate clock. The
transmit clock tree is driven by direct access of the transmit half-rate clock to the FPGA clock center mux.
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
64 FPGA-TN-02190-2.9
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-TN-02190-2.9 65
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
The interface logic that resides in the FPGA core should be developed by users per their interface scheme. Contact
Lattice Technical Support for example code.
The SCI_ADDR bus is six bits wide within the block. The bus width at the block boundary is 11 bits. The upper five bits
are used for quad block selection and channel selection. Table 8.3 shows the SCI address map for the SERDES quad.
Refer to Appendix A. Configuration Registers and Appendix B. Register Settings for Various Standards for SERDES/PCS
register address and bit descriptions.
Table 8.3. SCI Address Map for Up to Four SERDES/PCS Quads
Address Bits Description
SCI_ADDR[5:0] Register address bits 000000 = select register 0
000001 = select register 1
...
111110 = select register 62
111111 = select register 63
SCI_ADDR[8:6] Channel address bits 000 = select channel 0
001 = select channel 1
010 = select channel 2
011 = select channel 3 100 = select Quad 101 = Unused
110 = Unused
111 = Unused
SCI_ADDR[10:9] Quad address bits 00 = select Quad A 01 = select Quad B 10 =
select Quad C 11 = select Quad D
Read and write operations through this interface are asynchronous. In the WRITE cycle the write data and write
address must be set up and held in relation to the falling edge of the SCI_WR. In the READ cycle the timing has to be in
relation with the SCI_RD pulse. Figure 8.3 and Figure 8.4 show the WRITE and READ cycles, respectively.
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
66 FPGA-TN-02190-2.9
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
The SCI interface is as simple as memory read/write. Here is an example of the pseudo code:
Write:
Cycle 1: Set sci_addr[5:0], sciw_data[7:0], sci_sel = 1’b1
Cycle 2: Set sci_wrn from 0 1
Cycle 3: Set sci_wrn from 1 0, sci_sel = 1’b0
Read:
Cycle 1: Set sci_addr[5:0], sci_sel = 1’b1
Cycle 2: Set sci_rd from 0 1
Cycle 3: Obtain reading data from sci_rddata[7:0]
Cycle 4: Set sci_rd from 1 0
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-TN-02190-2.9 67
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
68 FPGA-TN-02190-2.9
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-TN-02190-2.9 69
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
9.2. ORCAstra
Lattice ORCAstra software helps you quickly explore configuration options without going through a lengthy re-compile
process or making changes to your board. Configurations created in the GUI can be saved to memory and re- loaded for
later use. To use ORCAstra, the ORCASTRA module from IPexpress must be created and used in the FPGA design.
A macro capability is also available to support script-based configuration and testing. The GUI can also be used to
display system status information in real time. Use of the ORCAstra software does not interfere with the programming
of the FPGA.
Figure 9.3 shows the ORCAstra GUI top-level window. Users can read and write in this window without going through
the subwindows for each PCS channel by read and write data at the address cell. When invoked, ORCAstra will
automatically recognize the device type. Or, device types can be selected under the device pull-down menu.
By default, the data box shown in Figure 9.3 follows Big Endian byte order (i.e., the most significant bit is placed on the
left). Users can change to Little Endian order by selecting Display Data Reversed in Data Box under the Options tab.
Click on the tab Interface=None and select 1 ispVM JTAG Hub USB Interface from the drop-down list.
Then select the C2 0A 80 80 from the Select Target JTAG Device window.
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
70 FPGA-TN-02190-2.9
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
The figure shows there are activities on channel 0 and channel 1. In this example, we assume that the PCS SCI address
is mapped to Quad 0 in the design.
Double-clicking on the PCS0 (Quad 0) button will open the main window as shown in Figure 9.6.
These standard Windows menus control the selection of the device and interface. They also support various
configuration options, including setting up and saving configurations with stored files.
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-TN-02190-2.9 71
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
Control Boxes and Buttons, Status Boxes and the Text Window
Moving the cursor over a control box and clicking the left mouse button sets the control bits. Both the bit location and
function for the selected box are displayed in the text window and will match those of the register map tables in the
LatticeECP3 Family Data Sheet. Only the function is displayed when the cursor is over the bit name. Status boxes are
similar to control boxes but have an LED appearance and a colored background.
Figure 9.7 shows the SERDES Buffer Options window. Configuration options can be selected from the pull-down menu.
More information and downloadable files for ORCAstra can be found on the Lattice Semiconductor website at the
following address: www.latticesemi.com/products/designsoftware/orcastra.cfm.
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
72 FPGA-TN-02190-2.9
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
Clearly, sequence 2 is not aligned. It has one byte offset, but 16/20-bit alignment is needed. Let us say the special
character ‘A’ should be always placed in the lower byte.
Flopping one 20-bit data combines with the current 16/20-bit data to form 32/40-bit data as shown below:
1.{DCBA}{HGFE}{LKJI}...
^
| **Found the A in lower 10-bit, set the offset to ‘0’, send out aligned data
‘BA’
Next clock cycle:
{FEDC}{JIHG}{NMLK}...
^
| **send out aligned data ‘DC’
etc.
After the 16/20-bit alignment, the output data are:
{ZY}{BA}{DC}{FE}{HG}{JI}{LK}...
2. {CBAZ}{GFED}{KJIH}....
^
| **Found the A in upper 10-bit, set the offset to ‘10’, send out aligned data
‘BA’
Next clock cycle:
{EDCB}{IHGF}{MLKJ}...
^
| **send out aligned data ‘DC’
etc.
After the 20-bit alignment, the output data are:
{ZY}{BA}{DC}{FE}{HG}{JI}{LK}...
Note: The LSB of a 8/10-bit byte or a 16/20-bit word is always transmitted first and received first.
For sample 16/20-bit word alignment code, send your request to [email protected].
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-TN-02190-2.9 73
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
Typically, all resets are via power-on reset and various FPGA fabric resets. The reset logic is shown in Figure 9.9 and
Table 9.2.
tpwru p_ch[3:0]
quad_rst
rpwrup_ch[3:0]
(default=0)
(default=0)
(default=0)
(default=0)
(default=0)
serdes_rst
lane_tx_rst_ch[3:0]
lane_rx_rst_ch[3:0]
ffc_quad_rst
resets all PCS logic
TRI_ION
tx_pcs_rst_ch[3:0]
rx_pcs_rst_ch[3:0] 4RX and 4TX PCS
channels digital logic
rx_serdes_rst_ch[3:0]
resets s elected digital
tx_serdes_rst
logic in the SERDES
tx_pwrup_ch[3:0]
rx_pwrup_ch[3:0] sets selected channel to
power down mode
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
74 FPGA-TN-02190-2.9
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-TN-02190-2.9 75
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
76 FPGA-TN-02190-2.9
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-TN-02190-2.9 77
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
Power Up
Quad Reset
tx_pcs_rst_ch[3:0]_c <= 1
rst_qd_c <= 1
tx_pcs_rst_ch[3:0]_c <= 1
rst_qd_c <= 1
TIMER1
tx_pcs_rst_ch[3:0]_c <= 1
tx_pll_lol_qd_s rst_qd_c <= 0
tx_pcs_rst_ch[3:0]_c <= 1
rst_qd_c <= 0
Normal
tx_pcs_rst_ch[3:0]_c <= 0
rxt_qd_c <= 0
Notes:
TIMER 1: rst_qd_c asserted for a minimum of 20 ns.
TIMER 2: Time to declare TX PLL l ock : 1,400,000 UI.
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
78 FPGA-TN-02190-2.9
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
Power Up
tx_pll_lol_qd_s || rx_los_low_ch[3:0]_s
Wait for PLOL
RX_SERDES_RESET
rx_pcs_rst_ch[3:0]_c <= 1
rx_serdes_rst_ch[3:0]_c <= 1
rx_pcs_rst_ch[3:0]_c <= 1
rx_serdes_rst_ch[3:0]_c <= 1
rx_pcs_rst_ch[3:0]_c <= 1
rx_serdes_rst_ch[3:0]_c <= 0
rx_lol_los
Normal
rx_pcs_rst_ch[3:0]_c <= 0
rx_serdes_rst_ch[3:0]_c <= 0
Notes:
TIMER 1: rx_serdes_rst_ch[3:0]_c asserted for minimum 3 ns.
TIMER 2: Time for rx_lol_los si gnal to st ay l ow (400,000 reference clock cycles). Any FPGA clock can be used to satisfy the timer requirement.
The tx_pll_lol_qd_s input to the st ate diagram RTL code should be t ied l ow in Rx Only mode or when the recov ered clock i s used as the Tx PLL
reference clock, as in SDI applications.
When multi ple receiver channels rx_serdes_rst_ch[3:0]_c are to be asserted, it i s recommended to activate t he reset signals one channel at a ti me.
Simultaneous resetting of multiple receiver SERDES channels may cause a current surge in the SERDES /PCS quad.
The rx_los_low output from SERDES may be triggered for some input st reams with continuous zeros , like the SDI pathological patte rn. For such
appli cations, the rx_los_low input to the reset state machine must be connected to the carrier detect output (must be inverted) of the cable equalizer
if avail able. In general, CD=1 means carrier is present. So this signal must be inverted to replace rx _los_low. If a cable equalizer is not av ailable, users
may tie it to zero but i n this case, the CDR can lock t o a local reference clock when t here is no input data present.
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-TN-02190-2.9 79
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
SERDES at nominally the same time. The normal variation in ramp_up times of power supplies and voltage regulators is
not a concern.
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
80 FPGA-TN-02190-2.9
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-TN-02190-2.9 81
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
82 FPGA-TN-02190-2.9
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
Note: Refer to Figure 7.5 for Reference Clock Select Control signals.
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-TN-02190-2.9 83
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
84 FPGA-TN-02190-2.9
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-TN-02190-2.9 85
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
86 FPGA-TN-02190-2.9
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-TN-02190-2.9 87
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
BA Register D7 D6 D5 D4 D3 D2 D1 D0
Name
Per Channel Clock Reset Registers
18 CH_18 internal use only internal use only rrst lane_rx_rst lane_tx_rst
19 CH_19 tx_f_clk_dis tx_h_clk_en rx_f_clk_dis rx_h_clk_en sel_sd_rx_clk
Per Channel General Status Registers
20 CH_20 cc_underrun cc_overrun fb_rx_fifo_error fb_tx_fifo_error
21 CH_21 prbs_error_cnt[7] prbs_error_cnt[6] prbs_error_cnt[5] prbs_error_cnt[4] prbs_error_cnt[3] prbs_error_cnt[2] prbs_error_cnt[1] prbs_error_cnt[0]
22 CH_22 wa_offset[3] wa_offset[2] wa_offset[1] wa_offset[0]
23 CH_23 cc_underrun_int cc_overrun_int fb_rx_fifo_error_int fb_tx_fifo_error_int
24 CH_24 ffs_ls_sync_status fb_rxrst_o fb_txrst_o cc_re_o cc_we_o
25 CH_25
Per Channel SERDES Status Registers
26 CH_26 pcie_det_done rlos_lo -rlos_lo rlos_hi -rlos_hi rlol -rlol
27 CH_27 internal use only internal use only internal use only internal use only cdr_traine_done pci_connect
28 CH_28 internal use only internal use only internal use only internal use only internal use only internal use only internal use only internal use only
29 CH_29 internal use only internal use only internal use only internal use only internal use only internal use only internal use only internal use only
2A CH_2A pci_det_done_int rlos_lo_int -rlos_lo_int rlos_hi_int -rlos_hi_int rlol_int -rlol_int
2B CH_2B
2C CH_2C
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
88 FPGA-TN-02190-2.9
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-TN-02190-2.9 89
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
90 FPGA-TN-02190-2.9
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-TN-02190-2.9 91
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
92 FPGA-TN-02190-2.9
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-TN-02190-2.9 93
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
94 FPGA-TN-02190-2.9
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-TN-02190-2.9 95
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
96 FPGA-TN-02190-2.9
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-TN-02190-2.9 97
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
98 FPGA-TN-02190-2.9
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-TN-02190-2.9 99
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
100 FPGA-TN-02190-2.9
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-TN-02190-2.9 101
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
102 FPGA-TN-02190-2.9
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-TN-02190-2.9 103
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
104 FPGA-TN-02190-2.9
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-TN-02190-2.9 105
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
106 FPGA-TN-02190-2.9
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
3. In the Simulator Project Name page, enter the name of your project in the Project Name text box and browse to
the file path location where you want to put your simulation project using the Project Location text box and Browse
button.
When you designate a project name in this wizard page, a corresponding folder will be created in the file path you
choose. Click Yes in the pop-up dialog that asks you if you wish to create a new folder.
4. Click either the Active-HDL® or ModelSim® simulator check box and click Next.
5. In the Process Stage page choose which type of Process Stage of simulation project you wish to create Valid types
are RTL, Post-Synthesis Gate-Level, Post-Map Gate-Level, and Post-Route Gate-level+Timing. Only those process
stages that are available are activated.
Note that you can make a new selection for the current strategy if you have more than one defined in your project.
The software supports multiple strategies per project implementation which allow you to experiment with
alternative optimization options across a common set of source files. Since each strategy may have been processed
to different stages, this dialog allows you to specify which stage you wish to load.
6. In the Add Source page, select from the source files listed in the Source Files list box or use the browse button on
the right to choose another desired source file. Note that if you wish to keep the source files in the local simulation
project directory you just created, check the Copy Source to Simulation Directory option.
7. Click Next and a Summary page appears and provides information on the project selections including the
simulation libraries. By default, the Run Simulator check box is enabled and will launch the simulation tool you
chose earlier in the wizard in the Simulator Project Name page.
8. Click Finish.
The Simulation Wizard Project (.spf) file and a simulation script DO file are generated after running the wizard. You can
import the DO file into your current project if desired. If you are using Active-HDL, the wizard will generate an
.ado file and if you are using ModelSim, it creates and .mdo file.
Note: PCS configuration file, (.txt) must be added in step 6.
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-TN-02190-2.9 107
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
References
High-Speed PCB Design Considerations (FPGA-TN-02178)
Electrical Recommendations for Lattice SERDES (FPGA-TN-02077)
LatticeECP3 Family Handbook (HB1009)
LatticeECP3 Family Data Sheet (FPGA-DS-02074)
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
108 FPGA-TN-02190-2.9
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-TN-02190-2.9 109
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
Revision History
Revision 2.9, January 2020
Section Change Summary
All Changed document number from TN1176 to FPGA-TN-02190.
Updated document template.
Disclaimers Added this section.
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
110 FPGA-TN-02190-2.9
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-TN-02190-2.9 111
LatticeECP3 SERDES/PCS Usage Guide
Technical Note
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal.
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
112 FPGA-TN-02190-2.9
www.latticesemi.com