E-Tile Hard IP Stratix® 10 Design Examples User Guide: Ethernet, CPRI PHY, and Dynamic Reconfiguration
ID
683578
Date
5/05/2025
Public
2.1.1. Directory Structure
2.1.2. Generating the Design
2.1.3. Simulating the E-Tile Hard IP for Ethernet Intel FPGA IP Design Example Testbench
2.1.4. Compiling the Compilation-Only Project
2.1.5. Compiling and Configuring the Design Example in Hardware
2.1.6. Testing the E-Tile Hard IP for Ethernet Intel FPGA IP Hardware Design Example
2.2.1.1. Non-PTP 10GE/25GE MAC+PCS with Optional RS-FEC Simulation Design Example
2.2.1.2. PTP 10GE/25GE MAC+PCS with Optional RS-FEC Simulation Design Example
2.2.1.3. 10GE/25GE PCS Only, OTN, or FlexE with Optional RS-FEC Simulation Design Example
2.2.1.4. 10GE/25GE Custom PCS with Optional RS-FEC Simulation Design Example
2.3.1. Simulation Design Examples
2.3.2. Hardware Design Examples
2.3.3. 100GE MAC+PCS with Optional RS-FEC Design Example Interface Signals
2.3.4. 100GE PCS with Optional RS-FEC Design Example Interface Signals
2.3.5. Multiple 25G Synchronous Ethernet Channels
2.3.6. 100GE MAC+PCS with Optional RS-FEC Design Example Registers
2.3.7. 100GE PCS with Optional RS-FEC Design Example Registers
2.3.1.1. Non-PTP E-Tile Hard IP for Ethernet Intel FPGA IP 100GE MAC+PCS with Optional RS-FEC Simulation Design Example
2.3.1.2. E-Tile Hard IP for Ethernet Intel FPGA IP 100GE MAC+PCS with Optional RS-FEC and PTP Simulation Design Example
2.3.1.3. E-Tile Hard IP for Ethernet Intel FPGA IP 100GE PCS Only with Optional RS-FEC Simulation Design Example
2.3.1.4. E-Tile Hard IP for Ethernet Intel FPGA IP 100GE OTN with Optional RS-FEC Simulation Design Example
2.3.1.5. E-Tile Hard IP for Ethernet Intel FPGA IP 100GE FlexE with Optional RS-FEC Simulation Design Example
2.3.2.1. 100GE MAC+PCS with Optional RS-FEC and PMA Adaptation Flow Hardware Design Example Components
2.3.2.2. 100GE MAC+PCS with Optional RS-FEC and PTP Hardware Design Example
2.3.2.3. 100GE PCS with Optional RS-FEC Hardware Design Example Components
2.3.2.4. Ethernet Adaptation Flow for 100G (CAUI-2) PAM4 <---> 100G (CAUI-4) NRZ Dynamic Reconfiguration Design Example
3.1.1. Hardware and Software Requirements
3.1.2. Generating the Design
3.1.3. Directory Structure
3.1.4. Simulating the Design Example Testbench
3.1.5. Compiling the Compilation-Only Project
3.1.6. Compiling and Configuring the Design Example in Hardware
3.1.7. Testing the E-tile CPRI PHY Intel® FPGA IP Hardware Design Example
4.1. Quick Start Guide
4.2. 10G/25G Ethernet Dynamic Reconfiguration Design Examples
4.3. CPRI Dynamic Reconfiguration Design Examples
4.4. 25G Ethernet to CPRI Dynamic Reconfiguration Design Example
4.5. 100G Ethernet Dynamic Reconfiguration Design Example
4.6. Document Revision History for the E-Tile Dynamic Reconfiguration Design Example
4.5.1. Functional Description
4.5.2. Testing the 100G Ethernet Dynamic Reconfiguration Hardware Design Example
4.5.3. Simulation Design Examples
4.5.4. 100GE DR Hardware Design Examples
4.5.5. 100G Ethernet Dynamic Reconfiguration Design Example Interface Signals
4.5.6. 100G Ethernet Dynamic Reconfiguration Examples Registers
4.5.7. Steps to Enable FEC
4.5.8. Steps to Disable FEC
2.3.2.1. 100GE MAC+PCS with Optional RS-FEC and PMA Adaptation Flow Hardware Design Example Components
Figure 18. 100GE MAC+PCS with Optional RS-FEC Hardware Design Example High Level Block Diagram
The E-Tile Hard IP for Ethernet Intel FPGA IP hardware design example includes the following components:
- E-Tile Hard IP for Ethernet Intel FPGA IP core. The IP core consists of 4 channels if you select (528,514) RS-FEC option, and 2 transceiver channels if you select (544,514) RS-FEC option and enabled asynchronous adapter.
- Client logic that coordinates the programming of the IP core and packet generation.
- IOPLL to generate a 100 MHz clock from a 50 MHz input clock to the hardware design example.
- JTAG controller that communicates with the System Console. You communicate with the client logic through the System Console.
The hardware design example uses run_test command to initiate packet transmission from packet generator to the IP core. By default, the internal serial loopback is disabled in this design example. Use the loop_on command to enable the internal serial loopback. When you use the run_test or the run_test_pam4 commands to run the hardware test in the design examples, the script enables internal loopback. When the internal serial loopback is enabled, the IP core receives the packets and transmit to the packet generator. The client logic reads and print out the MAC statistic registers when the packet transmissions are complete.
The following sample output illustrates a successful hardware test run for 100GE, MAC+PCS with (528,514) RS-FEC variation:
% run_test --- Turning off packet generation ---- -------------------------------------- --------- Enabling loopback ---------- -------------------------------------- --- Wait for RX clock to settle... --- -------------------------------------- -------- Printing PHY status --------- -------------------------------------- RX PHY Register Access: Checking Clock Frequencies (KHz) REFCLK :0 (KHZ) TXCLK :40285 (KHZ) RXCLK :40284 (KHZ) TXRSCLK :0 (KHZ) RXRSCLK :0 (KHZ) RX PHY Status Polling Rx Frequency Lock Status 0x0000000f Mac Clock in OK Condition? 0x00000001 Rx Frame Error 0x00000000 Rx PHY Fully Aligned? 0x00000001 Rx AM LOCK Condition? 0x00000001 Rx Lanes Deskewed Condition? 0x00000001 ---- Clearing MAC stats counters ----- -------------------------------------- --------- Sending packets... --------- -------------------------------------- ----- Reading MAC stats counters ----- -------------------------------------- ========================================================================================== STATISTICS FOR BASE 0x000900 (Rx) ========================================================================================== Fragmented Frames : 0 Jabbered Frames : 0 Any Size with FCS Err Frame : 0 Right Size with FCS Err Fra : 0 Multicast data Err Frames : 0 Broadcast data Err Frames : 0 Unicast data Err Frames : 0 Multicast control Err Frame : 0 Broadcast control Err Frame : 0 Unicast control Err Frames : 0 Pause control Err Frames : 0 64 Byte Frames : 7190 65 - 127 Byte Frames : 6965 128 - 255 Byte Frames : 14338 256 - 511 Byte Frames : 28779 512 - 1023 Byte Frames : 57548 1024 - 1518 Byte Frames : 55880 1519 - MAX Byte Frames : 0 > MAX Byte Frames : 1669560 Rx Frame Starts : 1840260 Multicast data OK Frame : 0 Broadcast data OK Frame : 0 Unicast data OK Frames : 1836399 Multicast Control Frames : 0 Broadcast Control Frames : 0 Unicast Control Frames : 0 Pause Control Frames : 0 ========================================================================================== STATISTICS FOR BASE 0x000800 (Tx) ========================================================================================== Fragmented Frames : 0 Jabbered Frames : 0 Any Size with FCS Err Frame : 0 Right Size with FCS Err Fra : 0 Multicast data Err Frames : 0 Broadcast data Err Frames : 0 Unicast data Err Frames : 0 Multicast control Err Frame : 0 Broadcast control Err Frame : 0 Unicast control Err Frames : 0 Pause control Err Frames : 0 64 Byte Frames : 7190 65 - 127 Byte Frames : 6965 128 - 255 Byte Frames : 14338 256 - 511 Byte Frames : 28779 512 - 1023 Byte Frames : 57548 1024 - 1518 Byte Frames : 55880 1519 - MAX Byte Frames : 0 > MAX Byte Frames : 1669560 Tx Frame Starts : 1840260 Multicast data OK Frame : 0 Broadcast data OK Frame : 0 Unicast data OK Frames : 1836399 Multicast Control Frames : 0 Broadcast Control Frames : 0 Unicast Control Frames : 0 Pause Control Frames : 0
The following sample output illustrates a successful hardware test run for 100GE, MAC+PCS with (544,512) RS-FEC variation:
% run_test_pam4 --- Turning off packet generation ---- -------------------------------------- --------- Enabling loopback ---------- -------------------------------------- --- Performing PMA adaptation... --- -------------------------------------- ------------ Starting PMA Adaptation ------------ ------- Checking PMA Adaptation Status------- ------- PMA Adaptation Done for ch0x0 ------- ------- PMA Adaptation Done for ch0x2 ------- ------------ Applying TX and RX Reset ---------- wait for phy lock=50, locked=1 --Iteration:0 - PMA Adaptaion is Successful-- --- Wait for RX clock to settle... --- -------------------------------------- -------- Printing PHY status --------- -------------------------------------- RX PHY Register Access: Checking Clock Frequencies (KHz) REFCLK :0 (KHZ) TXCLK :41504 (KHZ) RXCLK :41505 (KHZ) TXRSCLK :0 (KHZ) RXRSCLK :0 (KHZ) RX PHY Status Polling Rx Frequency Lock Status 0x0000000f Mac Clock in OK Condition? 0x00000001 Rx Frame Error 0x00000000 Rx AM LOCK Condition? 0x00000001 Rx Lanes Deskewed Condition? 0x00000001 ---- Clearing MAC stats counters ----- -------------------------------------- --------- Sending packets... --------- -------------------------------------- ----- Reading MAC stats counters ----- -------------------------------------- ========================================================================================== STATISTICS FOR BASE 0x000900 (Rx) ========================================================================================== Fragmented Frames : 0 Jabbered Frames : 0 Any Size with FCS Err Frame : 0 Right Size with FCS Err Fra : 0 Multicast data Err Frames : 0 Broadcast data Err Frames : 0 Unicast data Err Frames : 0 Multicast control Err Frame : 0 Broadcast control Err Frame : 0 Unicast control Err Frames : 0 Pause control Err Frames : 0 64 Byte Frames : 7114 65 - 127 Byte Frames : 6925 128 - 255 Byte Frames : 14418 256 - 511 Byte Frames : 28563 512 - 1023 Byte Frames : 57313 1024 - 1518 Byte Frames : 56067 1519 - MAX Byte Frames : 0 > MAX Byte Frames : 1670068 Rx Frame Starts : 1840468 Multicast data OK Frame : 0 Broadcast data OK Frame : 0 Unicast data OK Frames : 1836559 Multicast Control Frames : 0 Broadcast Control Frames : 0 Unicast Control Frames : 0 Pause Control Frames : 0 ========================================================================================== STATISTICS FOR BASE 0x000800 (Tx) ========================================================================================== Fragmented Frames : 0 Jabbered Frames : 0 Any Size with FCS Err Frame : 0 Right Size with FCS Err Fra : 0 Multicast data Err Frames : 0 Broadcast data Err Frames : 0 Unicast data Err Frames : 0 Multicast control Err Frame : 0 Broadcast control Err Frame : 0 Unicast control Err Frames : 0 Pause control Err Frames : 0 64 Byte Frames : 7114 65 - 127 Byte Frames : 6925 128 - 255 Byte Frames : 14418 256 - 511 Byte Frames : 28563 512 - 1023 Byte Frames : 57313 1024 - 1518 Byte Frames : 56067 1519 - MAX Byte Frames : 0 > MAX Byte Frames : 1670068 Tx Frame Starts : 1840468 Multicast data OK Frame : 0 Broadcast data OK Frame : 0 Unicast data OK Frames : 1836559 Multicast Control Frames : 0 Broadcast Control Frames : 0 Unicast Control Frames : 0 Pause Control Frames : 0