E-Tile Hard IP Agilex™ 7 Design Example User Guide: Ethernet, E-tile CPRI PHY and Dynamic Reconfiguration
ID
683860
Date
2/21/2025
Public
2.1.1. Directory Structure
2.1.2. Generating the Design
2.1.3. Simulating the E-tile Ethernet IP for Intel Agilex® 7 FPGA 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 Ethernet IP for Intel Agilex® 7 FPGA 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. 100GE MAC+PCS with Optional RS-FEC Design Example Registers
2.3.6. 100GE PCS with Optional RS-FEC Design Example Registers
2.3.1.1. Non-PTP E-tile Ethernet IP for Intel Agilex® 7 FPGA 100GE MAC+PCS with Optional RS-FEC Simulation Design Example
2.3.1.2. E-tile Ethernet IP for Intel Agilex® 7 FPGA 100GE MAC+PCS with Optional RS-FEC and PTP Simulation Design Example
2.3.1.3. E-tile Ethernet IP for Intel Agilex® 7 FPGA 100GE PCS Only with Optional RS-FEC Simulation Design Example
2.3.1.4. E-tile Ethernet IP for Intel Agilex® 7 FPGA 100GE OTN with Optional RS-FEC Simulation Design Example
2.3.1.5. E-tile Ethernet IP for Intel Agilex® 7 FPGA 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. 25G Ethernet to CPRI Dynamic Reconfiguration Design Example
4.4. CPRI Dynamic Reconfiguration Design Examples
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.2.1.1. Non-PTP 10GE/25GE MAC+PCS with Optional RS-FEC Simulation Design Example
The simulation block diagram below is generated using the following settings in the IP parameter editor:
- Under the IP tab:
- 1 to 4 10GE/25GE with optional RSFEC or 100GE or 1 to 4 channel 10GE/25GE with optional RSFEC and PTP as the core variant.
- 10GE/25GE Channel(s) as Active channel(s) at startup if you choose 100GE or 1 to 4 channel 10GE/25GE with optional RSFEC and PTP as the core variant.
- Enable RSFEC to use the RS-FEC feature.
- Under the 10GE/25GE tab:
- 10G or 25G as the Ethernet rate.
- Enable asynchronous adapter clocks to use the asynchronous adapter feature.
Note: RS-FEC is not supported in 10GE variant.
Figure 6. Simulation Block Diagram for Non-PTP E-tile Ethernet IP for Intel Agilex® 7 FPGA 10GE/25GE MAC+PCS with Optional RS-FEC Design Example
The testbench sends traffic through the IP core, exercising the transmit side and receive side of the IP core.
To speed up simulation, the IP core simulation model sends alignment marker tags at shorter intervals than required by the IEEE Ethernet standard. The standard specifies an alignment marker interval of 16,384 words in each virtual lane. The simulation model with the testbench implements an alignment marker interval of 512 words.
Perform these steps in order to run simulation with the IEEE Ethernet standard specified interval:
- Open <design_example>/ex_<speed>/synth/ex_<speed>.v and disable sim_mode parameter.
- Uncommand the following in the file.
- <example_design_varaition_name>\example_testbench\basic_avl_tb_top.sv
- Command in //defparam dut.alt_ehipc3_fm_hard_inst.E100GX4_FEC.altera_xcvr_native_inst.xcvr_native_s10_etile_0_example_design_4ln_ptp.generate_RSFEC_block.inst_ct3_hssi_rsfec.ct3_hssi_rsfec_encrypted_inst.ct1_hssirtl_rsfec_wrap_inst.die_specific_inst.x_rsfec_wrap.LOG2_MRK = 10;
The successful test run displays output confirming the following behavior:
- Waiting for PLL to lock.
- Waiting for RX transceiver reset to complete.
- Waiting for RX alignment.
- Sending 10 packets.
- Receiving those packets.
- Displaying Testbench complete.
The following sample output illustrates a successful simulation test run for a 25GE, MAC+PCS with RS-FEC, non-PTP IP core variation.
# Ref clock is 156.25 MHz # Channel 0 - waiting for EHIP Ready.... # Channel 0 - EHIP READY is 1 at time 2472365000 # Channel 0 - Waiting for RX Block Lock # Channel 0 - EHIP RX Block Lock is high at time 2507639043 # Channel 0 - Waiting for RX alignment # Channel 0 - RX deskew locked # Channel 0 - RX lane aligmnent locked # Channel 0 - TX enabled # ** Sending Packet 1... # ** Sending Packet 2... # ** Sending Packet 3... # ** Sending Packet 4... # ** Sending Packet 5... # ** Sending Packet 6... # ** Sending Packet 7... # ** Sending Packet 8... # ** Sending Packet 9... # ** Sending Packet 10... # Channel 0 - Received Packet 1... # Channel 0 - Received Packet 2... # Channel 0 - Received Packet 3... # Channel 0 - Received Packet 4... # Channel 0 - Received Packet 5... # Channel 0 - Received Packet 6... # Channel 0 - Received Packet 7... # Channel 0 - Received Packet 8... # Channel 0 - Received Packet 9... # Channel 0 - Received Packet 10... # ** # ** Reading KR CSR -C0 # ** Address offset = 000c0, ReadData = 737d0381 # ** AVMM access CSR registers read/write check for ETH amd XCVR CH0 # ** Address offset = 00301, ReadData = 00000000 # ** Address offset = 00301, WriteData = c3ec3ec3 # ** Address offset = 00301, ReadData = c3ec3ec3 # ** Address offset = 00301, WriteData = 00000000 # ** Address offset = 00300, ReadData = 11112015 # ** Address offset = 00400, ReadData = 11112015 # ** Address offset = 00a00, ReadData = 11112015 # ** Address offset = 00b00, ReadData = 11112015 # ** Address offset = 00836, ReadData = 0000000a # ** Address offset = 00936, ReadData = 0000000a # ** Address offset = 00804, ReadData = 00000000 # ** Address offset = 00904, ReadData = 00000000 # ** Address offset = 00322, ReadData = 00000001 # ** Address offset = 00084, WriteData = ffffffff # ** Address offset = 00084, ReadData = 000000ff # ** Address offset = 00084, WriteData = 00000000 # ** Address offset = 00230, WriteData = ffffffff # ** Address offset = 00230, ReadData = 000000ff # ** Address offset = 00230, WriteData = 0000007b # ** # ** AVMM access CSR registers read/write check for ETH RSFEC # ** Address offset = 10000, ReadData = 00000001 # ** Address offset = 10000, WriteData = ffffffff # ** Address offset = 10000, ReadData = 000000fd # ** Address offset = 10004, ReadData = 00000004 # ** Address offset = 10010, ReadData = 00000061 # ** Address offset = 10011, ReadData = 00000066 # ** Address offset = 10000, WriteData = 00000001 # ** Check KR CSR Status - C0 # ** Address offset = 000b1, ReadData = 00040801 # ** Address offset = 000d2, ReadData = 00000001 # ** # ** Testbench complete. # ** # ***************************************** # ** Note: $finish : ./basic_avl_tb_top.sv(415) # Time: 2628595 ns Iteration: 0 Instance: /basic_avl_tb_top