Visible to Intel only — GUID: ytg1572987293161
Ixiasoft
2.1.1. Directory Structure
2.1.2. Generating the Design
2.1.3. Simulating the E-tile Ethernet IP for Intel Agilex 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 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 FPGA 100GE MAC+PCS with Optional RS-FEC Simulation Design Example
2.3.1.2. E-tile Ethernet IP for Intel Agilex FPGA 100GE MAC+PCS with Optional RS-FEC and PTP Simulation Design Example
2.3.1.3. E-tile Ethernet IP for Intel Agilex FPGA 100GE PCS Only with Optional RS-FEC Simulation Design Example
2.3.1.4. E-tile Ethernet IP for Intel Agilex FPGA 100GE OTN with Optional RS-FEC Simulation Design Example
2.3.1.5. E-tile Ethernet IP for Intel Agilex 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
Visible to Intel only — GUID: ytg1572987293161
Ixiasoft
3.1.4. Simulating the Design Example Testbench
Procedure
Follow these steps to simulate the testbench:
- At the command prompt, change to the testbench simulation directory <design_example_dir>/example_testbench.
- Run the simulation script for the supported simulator of your choice. The script compiles and runs the testbench in the simulator. Refer to the table Steps to Simulate the Testbench.
- Analyze the results. The successful testbench received five hyperframes, and displays "PASSED".
Table 19. Steps to Simulate the Testbench Simulator Instructions ModelSim* SE or QuestaSim* In the command line, type vsim -do run_vsim.do If you prefer to simulate without bringing up the ModelSim GUI, type vsim -c -do run_vsim.do
Note: The ModelSim* - Intel® FPGA Edition simulator does not have the capacity to simulate this IP core. You must use another supported ModelSim simulator such as ModelSim* SE.VCS* or VCS* MX In the command line, type sh run_vcs.sh or sh run_vcsmx.sh Xcelium* In the command line, type sh run_xcelium.sh The following sample output illustrates a successful simulation test run for 24.33024 Gbps with 4 CPRI channels:waiting for EHIP Ready.... EHIP READY is 1 at time 424915000 Enable internal serial loopback... ** Address offset = 0x84, WriteData = 0x00000001 ** Address offset = 0x85, WriteData = 0x00000001 ** Address offset = 0x86, WriteData = 0x00000008 ** Address offset = 0x87, WriteData = 0x00000000 ** Address offset = 0x90, WriteData = 0x00000001 ** Reading address 0x8a[7] until it changes to 1... ** Address offset = 0x8a[7], ReadData = 0x1 ** Reading address 0x8b[0] until it changes to 0... ** Address offset = 0x8b[0], ReadData = 0x0 ** Address offset = 0x8a, WriteData = 0x00000080 ** Address offset = 0x84, WriteData = 0x00000001 ** Address offset = 0x85, WriteData = 0x00000001 ** Address offset = 0x86, WriteData = 0x00000008 ** Address offset = 0x87, WriteData = 0x00000000 ** Address offset = 0x90, WriteData = 0x00000001 ** Reading address 0x8a[7] until it changes to 1... ** Address offset = 0x8a[7], ReadData = 0x1 ** Reading address 0x8b[0] until it changes to 0... ** Address offset = 0x8b[0], ReadData = 0x0 ** Address offset = 0x8a, WriteData = 0x00000080 ** Address offset = 0x84, WriteData = 0x00000001 ** Address offset = 0x85, WriteData = 0x00000001 ** Address offset = 0x86, WriteData = 0x00000008 ** Address offset = 0x87, WriteData = 0x00000000 ** Address offset = 0x90, WriteData = 0x00000001 ** Reading address 0x8a[7] until it changes to 1... ** Address offset = 0x8a[7], ReadData = 0x1 ** Reading address 0x8b[0] until it changes to 0... ** Address offset = 0x8b[0], ReadData = 0x0 ** Address offset = 0x8a, WriteData = 0x00000080 ** Address offset = 0x84, WriteData = 0x00000001 ** Address offset = 0x85, WriteData = 0x00000001 ** Address offset = 0x86, WriteData = 0x00000008 ** Address offset = 0x87, WriteData = 0x00000000 ** Address offset = 0x90, WriteData = 0x00000001 ** Reading address 0x8a[7] until it changes to 1... ** Address offset = 0x8a[7], ReadData = 0x1 ** Reading address 0x8b[0] until it changes to 0... ** Address offset = 0x8b[0], ReadData = 0x0 ** Address offset = 0x8a, WriteData = 0x00000080 Internal serial loopback is enabled Waiting for RX Block Lock RX Block Lock is high at time 523408053 Waiting for RX ready RX is ready is high at time 523450000 *** sending packets in progress, waiting for checker pass *** *** waiting for measure_valid to assert... ** Address offset = 0xc01[0], ReadData = 0x1 ** measure_valid is asserted. ** Address offset = 0xc02, ReadData = 0x0000280a ** Address offset = 0xc03, ReadData = 0x000073c2 ** Address offset = 0x29, ReadData = 0x00000026 *** waiting for hyperframe sync to assert... ** hyperframe sync is asserted. *** waiting for round trip measure... -> 722269000ps: Channel 0: Round trip measure done with count 5058 ** Channel 0: RX checker has received packets correctly! ** PASSED *** waiting for measure_valid to assert... ** Address offset = 0xc01[0], ReadData = 0x1 ** measure_valid is asserted. ** Address offset = 0xc02, ReadData = 0x00002709 ** Address offset = 0xc03, ReadData = 0x000072ad ** Address offset = 0x29, ReadData = 0x00000066 *** waiting for hyperframe sync to assert... ** hyperframe sync is asserted. *** waiting for round trip measure... -> 729769000ps: Channel 1: Round trip measure done with count 4992 ** Channel 1: RX checker has received packets correctly! ** PASSED *** waiting for measure_valid to assert... ** Address offset = 0xc01[0], ReadData = 0x1 ** measure_valid is asserted. ** Address offset = 0xc02, ReadData = 0x000025af ** Address offset = 0xc03, ReadData = 0x000072ad ** Address offset = 0x29, ReadData = 0x00000046 *** waiting for hyperframe sync to assert... ** hyperframe sync is asserted. *** waiting for round trip measure... -> 736725000ps: Channel 2: Round trip measure done with count 4949 ** Channel 2: RX checker has received packets correctly! ** PASSED *** waiting for measure_valid to assert... ** Address offset = 0xc01[0], ReadData = 0x1 ** measure_valid is asserted. ** Address offset = 0xc02, ReadData = 0x00002836 ** Address offset = 0xc03, ReadData = 0x00007590 ** Address offset = 0x29, ReadData = 0x00000002 *** waiting for hyperframe sync to assert... ** hyperframe sync is asserted. *** waiting for round trip measure... -> 786573000ps: Channel 3: Round trip measure done with count 5123 ** Channel 3: RX checker has received packets correctly! ** PASSED ** ***************************************** $finish called from file "basic_avl_tb_top.sv", line 320. $finish at simulation time 786593000ps Simulation complete, time is 786593000000 fs.
Related Information