Visible to Intel only — GUID: lhr1496265292944
Ixiasoft
1. Overview
2. Implementing the Transceiver PHY Layer in L-Tile/H-Tile
3. PLLs and Clock Networks
4. Resetting Transceiver Channels
5. Stratix® 10 L-Tile/H-Tile Transceiver PHY Architecture
6. Reconfiguration Interface and Dynamic Reconfiguration
7. Calibration
8. Debugging Transceiver Links
A. Logical View of the L-Tile/H-Tile Transceiver Registers
2.1. Transceiver Design IP Blocks
2.2. Transceiver Design Flow
2.3. Configuring the Native PHY IP Core
2.4. Using the Stratix® 10 L-Tile/H-Tile Transceiver Native PHY Stratix® 10 FPGA IP Core
2.5. Implementing the PHY Layer for Transceiver Protocols
2.6. Unused or Idle Transceiver Channels
2.7. Simulating the Native PHY IP Core
2.8. Implementing the Transceiver Native PHY Layer in L-Tile/H-Tile Revision History
2.3.1. Protocol Presets
2.3.2. GXT Channels
2.3.3. General and Datapath Parameters
2.3.4. PMA Parameters
2.3.5. PCS-Core Interface Parameters
2.3.6. Analog PMA Settings Parameters
2.3.7. Enhanced PCS Parameters
2.3.8. Standard PCS Parameters
2.3.9. PCS Direct Datapath Parameters
2.3.10. Dynamic Reconfiguration Parameters
2.3.11. Generation Options Parameters
2.3.12. PMA, Calibration, and Reset Ports
2.3.13. PCS-Core Interface Ports
2.3.14. Enhanced PCS Ports
2.3.15. Standard PCS Ports
2.3.16. Transceiver PHY PCS-to-Core Interface Reference Port Mapping
2.3.17. IP Core File Locations
2.4.2.1. Receiver Word Alignment
2.4.2.2. Receiver Clock Compensation
2.4.2.3. Encoding/Decoding
2.4.2.4. Running Disparity Control and Check
2.4.2.5. FIFO Operation for the Enhanced PCS
2.4.2.6. Polarity Inversion
2.4.2.7. Data Bitslip
2.4.2.8. Bit Reversal
2.4.2.9. Byte Reversal
2.4.2.10. Double Rate Transfer Mode
2.4.2.11. Asynchronous Data Transfer
2.4.2.12. Low Latency
2.5.1.1. Transceiver Channel Datapath for PIPE
2.5.1.2. Supported PIPE Features
2.5.1.3. How to Connect TX PLLs for PIPE Gen1, Gen2, and Gen3 Modes
2.5.1.4. How to Implement PCI Express (PIPE) in Stratix® 10 Transceivers
2.5.1.5. Native PHY IP Core Parameter Settings for PIPE
2.5.1.6. fPLL IP Core Parameter Settings for PIPE
2.5.1.7. ATX PLL IP Core Parameter Settings for PIPE
2.5.1.8. Native PHY IP Core Ports for PIPE
2.5.1.9. fPLL Ports for PIPE
2.5.1.10. ATX PLL Ports for PIPE
2.5.1.11. Preset Mappings to TX De-emphasis
2.5.1.12. How to Place Channels for PIPE Configurations
2.5.1.13. Link Equalization for Gen3
2.5.1.14. Timing Closure Recommendations
3.1. PLLs
3.2. Input Reference Clock Sources
3.3. Transmitter Clock Network
3.4. Clock Generation Block
3.5. FPGA Fabric-Transceiver Interface Clocking
3.6. Double Rate Transfer Mode
3.7. Transmitter Data Path Interface Clocking
3.8. Receiver Data Path Interface Clocking
3.9. Channel Bonding
3.10. PLL Cascading Clock Network
3.11. Using PLLs and Clock Networks
3.12. PLLs and Clock Networks Revision History
4.1. When Is Reset Required?
4.2. Transceiver PHY Reset Controller Stratix® 10 FPGA IP Implementation
4.3. How Do I Reset?
4.4. Using PCS Reset Status Port
4.5. Using Transceiver PHY Reset Controller Stratix® 10 FPGA IP
4.6. Using a User-Coded Reset Controller
4.7. Combining Status or PLL Lock Signals with User Coded Reset Controller
4.8. Resetting Transceiver Channels Revision History
4.3.1.1. Resetting the Transmitter After Power Up
4.3.1.2. Resetting the Transmitter During Device Operation
4.3.1.3. Resetting the Receiver After Power Up
4.3.1.4. Resetting the Receiver During Device Operation (Auto Mode)
4.3.1.5. Clock Data Recovery in Manual Lock Mode
4.3.1.6. Special TX PCS Reset Release Sequence
5.1. PMA Architecture
5.2. Enhanced PCS Architecture
5.3. Stratix® 10 Standard PCS Architecture
5.4. Stratix® 10 PCI Express Gen3 PCS Architecture
5.5. PCS Support for GXT Channels
5.6. Square Wave Generator
5.7. PRBS Pattern Generator
5.8. PRBS Pattern Verifier
5.9. Loopback Modes
5.10. Stratix® 10 L-Tile/H-Tile Transceiver PHY Architecture Revision History
5.1.2.1.1. Programmable Differential On-Chip Termination (OCT)
5.1.2.1.2. Signal Detector
5.1.2.1.3. Continuous Time Linear Equalization (CTLE)
5.1.2.1.4. Variable Gain Amplifier (VGA)
5.1.2.1.5. Adaptive Parametric Tuning (ADAPT) Engine
5.1.2.1.6. Decision Feedback Equalization (DFE)
5.1.2.1.7. On-Die Instrumentation
5.2.1.1. TX Core FIFO
5.2.1.2. TX PCS FIFO
5.2.1.3. Interlaken Frame Generator
5.2.1.4. Interlaken CRC-32 Generator
5.2.1.5. 64B/66B Encoder and Transmitter State Machine (TX SM)
5.2.1.6. Scrambler
5.2.1.7. Interlaken Disparity Generator
5.2.1.8. TX Gearbox, TX Bitslip and Polarity Inversion
5.2.1.9. KR FEC Blocks
5.2.2.1. RX Gearbox, RX Bitslip, and Polarity Inversion
5.2.2.2. Block Synchronizer
5.2.2.3. Interlaken Disparity Checker
5.2.2.4. Descrambler
5.2.2.5. Interlaken Frame Synchronizer
5.2.2.6. 64B/66B Decoder and Receiver State Machine (RX SM)
5.2.2.7. 10GBASE-R Bit-Error Rate (BER) Checker
5.2.2.8. Interlaken CRC-32 Checker
5.2.2.9. RX PCS FIFO
5.2.2.10. RX Core FIFO
5.3.1.4.1. 8B/10B Encoder Control Code Encoding
5.3.1.4.2. 8B/10B Encoder Reset Condition
5.3.1.4.3. 8B/10B Encoder Idle Character Replacement Feature
5.3.1.4.4. 8B/10B Encoder Current Running Disparity Control Feature
5.3.1.4.5. 8B/10B Encoder Bit Reversal Feature
5.3.1.4.6. 8B/10B Encoder Byte Reversal Feature
5.3.2.1.1. Word Aligner Bitslip Mode
5.3.2.1.2. Word Aligner Manual Mode
5.3.2.1.3. Word Aligner Synchronous State Machine Mode
5.3.2.1.4. Word Aligner Deterministic Latency Mode
5.3.2.1.5. Word Aligner Pattern Length for Various Word Aligner Modes
5.3.2.1.6. Word Aligner RX Bit Reversal Feature
5.3.2.1.7. Word Aligner RX Byte Reversal Feature
5.3.2.6.1. Byte Deserializer Disabled Mode
5.3.2.6.2. Byte Deserializer Deserialize x2 Mode
5.3.2.6.3. Byte Deserializer Deserialize x4 Mode
5.3.2.6.4. Bonded Byte Deserializer
5.3.2.6.5. Byte Ordering Register-Transfer Level (RTL)
5.3.2.6.6. Byte Serializer Effects on Data Propagation at the RX Side
5.3.2.6.7. ModelSim Byte Ordering Analysis
6.1. Reconfiguring Channel and PLL Blocks
6.2. Interacting with the Reconfiguration Interface
6.3. Multiple Reconfiguration Profiles
6.4. Arbitration
6.5. Recommendations for Dynamic Reconfiguration
6.6. Steps to Perform Dynamic Reconfiguration
6.7. Direct Reconfiguration Flow
6.8. Native PHY IP or PLL IP Core Guided Reconfiguration Flow
6.9. Reconfiguration Flow for Special Cases
6.10. Changing Analog PMA Settings
6.11. Ports and Parameters
6.12. Dynamic Reconfiguration Interface Merging Across Multiple IP Blocks
6.13. Embedded Debug Features
6.14. Timing Closure Recommendations
6.15. Unsupported Features
6.16. Transceiver Register Map
6.17. Reconfiguration Interface and Dynamic Revision History
7.5.1. Recalibrating a Duplex Channel (Both PMA TX and PMA RX)
7.5.2. Recalibrating the PMA RX Only in a Duplex Channel
7.5.3. Recalibrating the PMA TX Only in a Duplex Channel
7.5.4. Recalibrating a PMA Simplex RX Without a Simplex TX Merged into the Same Physical Channel
7.5.5. Recalibrating a PMA Simplex TX Without a Simplex RX Merged into the Same Physical Channel
7.5.6. Recalibrating Only a PMA Simplex RX in a Simplex TX Merged Physical Channel
7.5.7. Recalibrating Only a PMA Simplex TX in a Simplex RX Merged Physical Channel
7.5.8. Recalibrating the fPLL
7.5.9. Recalibrating the ATX PLL
7.5.10. Recalibrating the CMU PLL When it is Used as a TX PLL
A.4.1. Transmitter PMA Logical Register Map
A.4.2. Receiver PMA Logical Register Map
A.4.3. Pattern Generators and Checkers
A.4.4. Loopback
A.4.5. Optional Reconfiguration Logic PHY- Capability
A.4.6. Optional Reconfiguration Logic PHY- Control & Status
A.4.7. Embedded Streamer (Native PHY)
A.4.8. Static Polarity Inversion
A.4.9. Reset
A.4.10. CDR/CMU and PMA Calibration
Visible to Intel only — GUID: lhr1496265292944
Ixiasoft
2.4.4.4.4. Scanning the Horizontal Eye Opening
To sweep the horizontal eye opening, perform these procedures:
- Set 0x144[2] to 0x0 and 0x156[0] to 0x0 to capture the zero crossing for the bottom half of the eye.
- Set 0x143[7:2] to 0x00 to set the vertical step to 0.
- If DFE is disabled 26, set 0x14D[0] to 0.
- If the DFE is enabled26, set 0x14D[0] to 0x1 to select positive speculation.
- If DFE_tap1_sign = 0, set 0x156[1] to 0x1.
- If DFE_tap1_sign = 1, set 0x156[1] to 0x0.
- If the targeted device is H-tile production or H-tile ES3:
- Set 0x100[4] to 1.
- Set 0x000[7:0] to 0x01 to request PreSICE to calibrate the ODI samplers.
- Read 0x481[2] until it becomes 0.
- Set 0x171[4:1] to 0xB to configure the Avalon® memory-mapped interface testmux.
- Define a floating point array with 128 members called ODI_error_count, and set all the values to 0.
- The L-tiles and H-tiles have two eyes: an odd eye and an even eye. You must capture both eyes. To start, set 0x157[3:2] to 0x2 to capture the odd eye.
- Create an integer called horizontal_phase and set it to 1. Repeat Step 10 through Step 23 while incrementing horizontal_phase until it becomes 128.
- Set 0x145[6:0] to the encoded phase in BER Resolution Settings, for example, 0x71 for horizontal_phase = 1.
- Set 0x168[2] to 0x0 to reset the serial bit counter.
- Set 0x168[2] to 0x1 to release the reset on the serial bit counter.
- Set 0x149[5:0] to 0x1C to be able to read the ODI status.
- Read 0x17E[1] 27 until it becomes 0x1 to indicate that the ODI has received the selected number of bits and has completed.
- Set 0x149[5:0] to 0x1B to read out the number of ODI error bits.
- Read 0x17E[7:0] 27, and save this value as an integer ODI_count_A.
- Set 0x149[5:0] to 0x1A.
- Read 0x17E[7:0] 27, and save this value as an integer ODI_count_B.
- Set 0x149[5:0] to 0x19.
- Read 0x17E[7:0] 27, and save this value as an integer ODI_count_C.
- Set 0x149[5:0] to 0x18.
- Read 0x17E[7:0] 27, and save this value as an integer ODI_count_D.
- ODI_error_count[horizontal_phase] = ODI_count_A * 224 + ODI_count_B * 216 + ODI_count_C * 28 + ODI_count_D + ODI_error_count[horizontal_phase]
If the device is not H-tile production, ODI_error_count may be greater than the actual count by 1.
- Now, set 0x157[3:2] to 0x1 to capture the even eye, and repeat Step 9.
- Scan through the ODI_error_count array, find the phases that have no errors, and determine the left eye opening and right eye opening. Store the phases as left_phase and right_phase.
26 To determine DFE mode, read 0x161[6]. DFE is disabled when 0x161[6] = 1.
27 Wait 25 µs between setting register 0x149[5:0] and reading 0x17E or 0x17F.