Low Latency 40-Gbps Ethernet Intel® Stratix® 10 IP Core User Guide

ID 683600
Date 6/20/2023
Public
Document Table of Contents

3.3. Simulating the IP Core

You can simulate your IP core variation with the functional simulation model and the testbench generated with the IP core. The functional simulation model is a cycle-accurate model that allows for fast functional simulation of your IP core instance using industry-standard Verilog HDL simulators. If your IP core variation does not generate a matching testbench, you can create your own testbench to exercise the IP core functional simulation model.

The functional simulation model and testbench files are generated in project subdirectories. These directories also include scripts to compile and run the example design.

Note: Use the simulation models only for simulation and not for synthesis or any other purposes. Using these models for synthesis creates a nonfunctional design.

In the top-level wrapper file for your simulation project, you can set the following RTL parameters to enable simulation optimization. These optimizations significantly decrease the time to reach link initialization.

  • SIM_SHORT_RST: Shortens the reset times to speed up simulation.
  • SIM_SHORT_AM: Shortens the interval between alignment markers to accelerate alignment marker lock. Alignment markers are used when Reed-Solomon FEC is enabled.

In the top-level wrapper file for your 40GBASE-KR4/CR4 IP core simulation model, you can define the ALTERA_RESERVED_XCVR_FULL_KR_TIMERS RTL parameter. Defining this parameter directs the simulation model to exercise full auto-negotiation and link training functionality if enabled. By default, the parameter is undefined and simulation shortens auto-negotiation and link training. The Intel-provided testbench does not define this parameter.

In general, parameters are set through the IP core parameter editor and you should not change them manually. The only exceptions are these simulation parameters.

To set the simulation optimization parameters on the PHY blocks, add the following lines to the top-level wrapper file:

defparam <dut instance>.SIM_SHORT_RST = 1'b1;
defparam <dut instance>.SIM_SHORT_AM = 1'b1;
	 
Note: You can use the example testbench as a guide for setting the simulation parameters in your own simulation environment. These lines are already present in the Intel-provided testbench for the IP core.