GTS AXI Streaming Intel® FPGA IP for PCI Express* Design Example User Guide

ID 817713
Date 11/04/2024
Public
Document Table of Contents

2.4. Design Example Simulation Testbench

The simulation testbench instantiates the PIO design example and a Root Port bus functional model (BFM) to interface with the target Endpoint.

The testbench uses a test driver module, altpcietb_bfm_rp_gen4_x16.sv, to initiate the configuration and memory transactions. At startup, the test driver module displays information from the Root Port and Endpoint Configuration Space registers, so that you can correlate to the parameters you specified using the IP parameter editor in the Quartus® Prime software.

The design example and testbench are dynamically generated based on the configuration that you choose for the GTS AXI Streaming IP.

This testbench simulates up to an x4 PCI Express* link using the serial PCI Express* interface.

The following figure presents a high-level view of the PIO design example.

Figure 8. PIO Design Example Simulation Testbench
The top level of the testbench instantiates the three main modules as listed in the following table:
Table 4.  Simulation Testbench Modules
Module Description Directory Path
altpcietb_bfm_rp_gen4x16.sv Root Port PCIe* * BFM.
//Directory path 
<project_dir>/intel_pcie_gts_0_example_design/pcie_ed_tb/ip/pcie_ed_tb/ 
dut_pcie_tb_ip/intel_pcie_gts_tbed_<ver>/sim
pcie_ed_dut.ip Endpoint design with the parameters that you specify.
//Directory path 
<project_dir>/intel_pcie_gts_0_example_design/ip/pcie_ed
pcie_ed_pio0.ip A target and initiator of transactions for the PIO design example.
//Directory path 
<project_dir>/intel_pcie_gts_0_example_design/ip/pcie_ed
The testbench also has routines that perform the following tasks:
  • Generates the reference clock for the Endpoint at the required frequency.
  • Provides a PCI Express* reset at start-up.