JESD204B Intel® Arria® 10 FPGA IP Design Example User Guide

ID 683113
Date 10/14/2022
Public
Document Table of Contents

1.2.6.1. Testbench

The simulation design-under-test (DUT) is the generated design example which includes a synthesizable pattern generator and checker. The figures below show the testbench block diagram for simplex and duplex options.

Figure 15. Simulation Testbench Block Diagram (Simplex TX or RX)
Note: Both simplex TX and simplex RX design examples generate the same testbench. The testbench instantiates two DUTs: one simplex TX DUT, one simplex RX DUT. The TX serial data output of the simplex TX DUT is connected to the RX serial data input of the simplex RX DUT. The testbench issues separate Avalon® memory-mapped read/write instructions to the simplex TX and simplex RX DUTs respectively.
Figure 16. Simulation Testbench Block Diagram (Duplex)

The simulation flow replaces the JTAG to Avalon® master bridge module in the Platform Designer system of the System Console Control design example with the Avalon® memory-mapped master bus functional model (BFM). This BFM enables a testbench to send Avalon® memory-mapped read/write commands to the design example registers to mimic the functionality of System Console.

The testbench provided in the simulation flow (/testbench/models/tb_top.sv) executes the following steps:

  1. Reset DUT.
  2. Initialize BFM.
  3. Execute Avalon® memory-mapped commands to initialize the DUT in the following mode:
    • Internal serial loopback mode (for duplex option only)
    • Pattern generator/checker set to PRBS pattern
  4. Wait for DUT to initialize to user mode.
  5. Report JESD204B link status.

When simulation ends, the following messages are shown at end.

Table 16.  Simulation Messages and Description
Message Description
Pattern Checker(s): Data error(s) found! Pattern mismatch errors found on the pattern checker
Pattern Checker(s): OK! No errors found on the pattern checker
Pattern Checker(s): No valid data found! No valid data received by pattern checker
JESD204B Tx Core(s): Tx link error(s) found! Link errors reported by JESD204B IP TX
JESD204B Tx Core(s): OK! No link errors reported by JESD204B IP TX
JESD204B Rx Core(s): Rx link error(s) found! Link errors reported by JESD204B IP RX
JESD204B Rx Core(s): OK! No link errors reported by JESD204B IP RX
TESTBENCH_PASSED: SIM PASSED! Overall simulation passed
TESTBENCH_FAILED: SIM FAILED! Overall simulation failed