Low Latency 100G Ethernet Intel® Agilex™ FPGA IP Design Example User Guide

ID 683315
Date 12/14/2020
Public

2.3. Simulation

The testbench sends traffic through the IP core, exercising the transmit side and receive side of the IP core.

The following figure depicts the Low Latency 100G Ethernet Intel® Agilex™ FPGA IP block diagram configuration. Note that the IP configuration doesn't affect the simulation.

Figure 6.  Low Latency 100G Ethernet Intel® Agilex™ FPGA IP Design Example Block Diagram

The simulation design example top-level test file is basic_avl_tb_top.v. The file instantiates and connects an ATX PLL. It also includes a task to send and receive 10 packets.

Table 4.   Low Latency 100G Ethernet Intel® Agilex™ FPGA IP Core Testbench File Descriptions

File Names

Description

Testbench and Simulation Files
basic_avl_tb_top.v Top-level testbench file. The testbench instantiates the DUT and runs Verilog HDL tasks to generate and accept packets.
Testbench Scripts
run_vsim.do

The Mentor Graphics* ModelSim* script to run the testbench.

run_vcs.sh

The Synopsys* VCS* script to run the testbench.

run_vcsmx.sh

The Synopsys* VCS* MX script (combined Verilog HDL and System Verilog with VHDL) to run the testbench.

run_ncsim.sh

The Cadence NCSim script to run the testbench.

run_xcelium.sh The Cadence Xcelium* script to run the testbench.
The successful test run displays output confirming the following behavior:
  1. Waiting for the ATX PLLs to lock.
  2. Waiting for RX transceiver reset to complete.
  3. Waiting for RX alignment.
  4. Sending ten packets.
  5. Receiving ten packets.
  6. Displaying Testbench complete.

The following sample output illustrates a successful simulation test run:

ATX PLLs Locked
***************************************************
***************  Transmit Ready   *****************
***************************************************
Waiting for the receiver to be ready
Receive transceivers are out of reset
Waiting for RX alignment
Rx Alignment Status Update 1/4: Word/Block lock is acquired over all virtual lanes
Rx Alignment Status Update 2/4: Virtual lanes Ordered
Rx Alignment Status Update 3/4: RX deskew lock acquired
Rx Alignment Status Update 4/4: RX alignment lock acquired
Rx is fully aligned with Tx
***************************************************
**************   Receive Ready   ******************
***************************************************
Transmitting test data
** 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...
** Received Packet          1...
** Received Packet          2...
** Received Packet          3...
** Received Packet          4...
** Received Packet          5...
** Received Packet          6...
** Received Packet          7...
** Received Packet          8...
** Received Packet          9...
** Received Packet         10...
**
** Testbench complete.
**
*****************************************