Visible to Intel only — GUID: dzg1628543493822
Ixiasoft
1. F-Tile Overview
2. F-Tile Architecture
3. Implementing the F-Tile PMA/FEC Direct PHY Intel® FPGA IP
4. Implementing the F-Tile Reference and System PLL Clocks Intel® FPGA IP
5. F-Tile PMA/FEC Direct PHY Design Implementation
6. Supported Tools
7. Debugging F-Tile Transceiver Links
8. F-Tile Architecture and PMA and FEC Direct PHY IP User Guide Archives
9. Document Revision History for the F-Tile Architecture and PMA and FEC Direct PHY IP User Guide
A. Appendix
2.1.1. FHT and FGT PMAs
2.1.2. 400G Hard IP and 200G Hard IP
2.1.3. PMA Data Rates
2.1.4. FEC Architecture
2.1.5. PCIe* Hard IP
2.1.6. Bonding Architecture
2.1.7. Deskew Logic
2.1.8. Embedded Multi-die Interconnect Bridge (EMIB)
2.1.9. IEEE 1588 Precision Time Protocol for Ethernet
2.1.10. Clock Networks
2.1.11. Reconfiguration Interfaces
2.2.1. PMA-to-Fracture Mapping
2.2.2. Determining Which PMA to Map to Which Fracture
2.2.3. Hard IP Placement Rules
2.2.4. IEEE 1588 Precision Time Protocol Placement Rules
2.2.5. Topologies
2.2.6. FEC Placement Rules
2.2.7. Clock Rules and Restrictions
2.2.8. Bonding Placement Rules
2.2.9. Preserving Unused PMA Lanes
2.2.2.1. Implementing One 200GbE-4 Interface with 400G Hard IP and FHT
2.2.2.2. Implementing One 200GbE-2 Interface with 400G Hard IP and FHT
2.2.2.3. Implementing One 100GbE-1 Interface with 400G Hard IP and FHT
2.2.2.4. Implementing One 100GbE-4 Interface with 400G Hard IP and FGT
2.2.2.5. Implementing One 10GbE-1 Interface with 200G Hard IP and FGT
2.2.2.6. Implementing Three 25GbE-1 Interfaces with 400G Hard IP and FHT
2.2.2.7. Implementing One 50GbE-1 and Two 25GbE-1 Interfaces with 400G Hard IP and FHT
2.2.2.8. Implementing One 100GbE-1 and Two 25GbE-1 Interfaces with 400G Hard IP and FHT
2.2.2.9. Implementing Two 100GbE-1 and One 25GbE-1 Interfaces with 400G Hard IP and FHT
2.2.2.10. Implementing 100GbE-1, 100GbE-2, and 50GbE-1 Interfaces with 400G Hard IP and FHT
3.1. F-Tile PMA/FEC Direct PHY Intel® FPGA IP Overview
3.2. Designing with F-Tile PMA/FEC Direct PHY Intel® FPGA IP
3.3. Configuring the IP
3.4. Signal and Port Reference
3.5. Bit Mapping for PMA and FEC Mode PHY TX and RX Datapath
3.6. Clocking
3.7. Custom Cadence Generation Ports and Logic
3.8. Asserting Reset
3.9. Bonding Implementation
3.10. Independent Port Configurations
3.11. Configuration Registers
3.12. Configurable Quartus® Prime Software Settings
3.13. Configuring the F-Tile PMA/FEC Direct PHY Intel® FPGA IP for Hardware Testing
3.14. Hardware Configuration Using the Avalon® Memory-Mapped Interface
3.3.1. General and Common Datapath Options
3.3.2. TX Datapath Options
3.3.3. RX Datapath Options
3.3.4. RS-FEC (Reed Solomon Forward Error Correction) Options
3.3.5. Avalon® Memory Mapped Interface Options
3.3.6. Register Map IP-XACT Support
3.3.7. Example Design Generation
3.3.8. Analog Parameter Options
3.4.1. TX and RX Parallel and Serial Interface Signals
3.4.2. TX and RX Reference Clock and Clock Output Interface Signals
3.4.3. Reset Signals
3.4.4. RS-FEC Signals
3.4.5. Custom Cadence Control and Status Signals
3.4.6. TX PMA Control Signals
3.4.7. RX PMA Status Signals
3.4.8. TX and RX PMA and Core Interface FIFO Signals
3.4.9. PMA Avalon® Memory Mapped Interface Signals
3.4.10. Datapath Avalon® Memory Mapped Interface Signals
3.5.1. Parallel Data Mapping Information
3.5.2. TX and RX Parallel Data Mapping Information for Different Configurations
3.5.3. Example of TX Parallel Data for PMA Width = 8, 10, 16, 20, 32 (X=1)
3.5.4. Example of TX Parallel Data for PMA width = 64 (X=2)
3.5.5. Example of TX Parallel Data for PMA width = 64 (X=2) for FEC Direct Mode
3.8.1. Reset Signal Requirements
3.8.2. Power On Reset Requirements
3.8.3. Reset Signals—Block Level
3.8.4. Reset Signals—Descriptions
3.8.5. Status Signals—Descriptions
3.8.6. Run-time Reset Sequence—TX
3.8.7. Run-time Reset Sequence—RX
3.8.8. Run-time Reset Sequence—TX + RX
3.8.9. Run-time Reset Sequence—TX with FEC
4.1. IP Parameters
4.2. IP Port List
4.3. Mode of System PLL - System PLL Reference Clock and Output Frequencies
4.4. Guidelines for F-Tile Reference and System PLL Clocks Intel® FPGA IP Usage
4.5. Guidelines for Refclk #i is Active At and After Device Configuration
4.6. Guidelines for Obtaining the Lock Status and Resetting the FGT and FHT TX PLLs
5.1. Implementing the F-Tile PMA/FEC Direct PHY Design
5.2. Instantiating the F-Tile PMA/FEC Direct PHY Intel® FPGA IP
5.3. Implementing a RS-FEC Direct Design in the F-Tile PMA/FEC Direct PHY Intel® FPGA IP
5.4. Instantiating the F-Tile Reference and System PLL Clocks Intel® FPGA IP
5.5. Enabling Custom Cadence Generation Ports and Logic
5.6. Connecting the F-Tile PMA/FEC Direct PHY Design IP
5.7. Simulating the F-Tile PMA/FEC Direct PHY Design
5.8. F-Tile Interface Planning
7.2.1. Modifying the Design to Enable F-Tile Transceiver Debug
7.2.2. Programming the Design into an Intel FPGA
7.2.3. Loading the Design to the Transceiver Toolkit
7.2.4. Creating Transceiver Links
7.2.5. Running BER Tests
7.2.6. Running Eye Viewer Tests
7.2.7. Running Link Optimization Tests
7.2.8. Checking FEC Statistics
7.2.9. Vertical Bathtub Curve Measurements (VBCM) Data
Visible to Intel only — GUID: dzg1628543493822
Ixiasoft
3.14.2.1.1. Direct Register Method Examples
The following examples demonstrate the direct register method to configure the FGT PMA.
TX Equalizer Co-efficients
To set the TX equalizer co-efficients:
- Write the TX equalizer pre_tap_2 register (0x47830[18:16]) with valid value.
- Write the TX equalizer pre_tap_1 register (0x47830[9:5]) with valid value.
- Write the TX equalizer main_tap register (0x47830[15:10]) with valid value.
- Write the TX equalizer post_tap_1 register (0x47830[4:0]) with valid value.
Mute TX Output
To mute TX output (make TX output 0v):
- Write 2’b11 to 0x41750[25:24]
- Write 2’b00 to 0x41750[25:24]
Internal Serial Loopback
Cache calibration registers listed in Appendix A.3. 40
To enable internal serial loopback:
- Write calibration registers with values listed in Appendix A.3. 40
- Write 0x0 to 0x41418[31]
- Write 0x1 to 0x41420[25]
- Write 0x1 to 0x41418[29]
- Write 0x1 to 0x41418[31]
- Write calibration registers with cached values.40
- Write 0x0 to 0x41418[31]
- Write 0x0 to 0x41418[29]
- Write 0x0 to 0x41420[25]
Reverse Parallel Loopback
To enable the Reverse Parallel Loopback:
To disable the Reverse Parallel Loopback:
- Wait for rx_ready assert
- Assert TX reset
- Wait for TX reset Ack
- Write 0x0 to 0x41830[31:0]
- Write 0x0 to 0x41768[24]
- Write 0x1 to 0x41414[29]
- Write 0x1 to 0x4141C[30]
- Write 0x1 to 0x41418[31]
- Deassert TX reset
- Wait for TX reset ACK deassert
- If FEC is enabled, you must respond to the tx_am_gen_start signal and generate the tx_am_gen_2x_ack pulse to get tx_ready to assert. This step is also needed when you use the F-Tile Transceiver Toolkit to enable the RX to TX reverse parallel loopback.
- Assert TX reset
- Write 0x3 to 0x41830[31:0]
- Write 0x1 to 0x41768[24]
- Write 0x0 to 0x41414[29]
- Write 0x0 to 0x4141C[30]
- Write 0x0 to 0x41418[31]
- Deassert TX reset
- Wait for TX reset ACK deassert
- If FEC is enabled, you must respond to the tx_am_gen_start signal and generate the tx_am_gen_2x_ack pulse to get tx_ready to assert. This step is also needed when you use the F-Tile Transceiver Toolkit to disable the RX to TX reverse parallel loopback.
TX to RX Parallel Loopback
To enable the TX to RX Parallel Loopback:
- Write 0x1 to 0x416A4[8]
- Write 0x1 to 0x41418[31]
- Write 0x0 to 0x416A4[8]
- Write 0x0 to 0x41418[31]
Polarity Inversion
TX polarity inversion:
- Write 0x1 to 0x41428[7]
TX polarity inversion revert back:
- Write 0x0 to 0x41428[7]
RX polarity inversion:
- Write 0x1 to 0x41428[6]
RX polarity inversion revert back:
- Write 0x0 to 0x41428[6]
Measuring the Bit Error Rate (BER) with FGT PMAs
- Check that the RX link is ready for the desired lane:
- Read 0x814[31:16] 41 to confirm that the corresponding lane's rx_cdr_locked2data = 1
- Assign the PRBS pattern value:
- For TX:
- Set valid values to 0x416AC[31:28]
- For RX:
- Set valid values to 0x41428[3:0]
- Valid values for PRBS pattern:
- UDP : 0x0
- PRBS7 : 0x1
- PRBS9 : 0x2
- PRBS11 : 0x3
- PRBS13 : 0x4
- PRBS15 : 0x5
- PRBS23 : 0x6
- PRBS28 : 0x7
- PRBS31 : 0x8
- QPRBS13 : 0x9
- PRBS13Q : 0xa
- PRBS31Q : 0xb
- SSPR : 0xc
- SSPR1 : 0xd
- SSPRQ : 0xe
- For TX:
- BER Start:
- Write 0x1 to 0x416AC[23]
- Write 0x1 to 0x41424[26]
- Write 0x3 to 0x4176C[28:27]
- Write 0x3 to 0x415B4[19:18]
- Inject one bit of error (repeat the following two steps multiple times to inject multiple bits of error):
- Write 0x1 to 0x416AC[22]
- Write 0x0 to 0x416AC[22]
- Error Count:
- Read from 0x41444[31:0]
- To check overflow, read 0x4143C[21], 1 = overflow, 0 = no overflow
- To clear the counter, toggle 0x415B4[19:18]:
- Write 0x0 to 0x415B4[19:18]
- Write 0x3 to 0x415B4[19:18]
- BER Stop:
- Write 0x0 to 0x416AC[23]
- Write 0x0 to 0x41424[26]
- Write 0x0 to 0x4176C[28:27]
- Write 0x0 to 0x415B4[19:18]
The sequence is valid only when RX manual tuning is used (RX auto adaptation is bypassed). If RX auto adaptation is used, use the FGT attribute access method.
40 This step is optional and you only need it when an external signal is present on the receiver's input.
41 Address 0x814 is part of the PMA and FEC soft CSR register.