Vitis Model Composer Hub Block for Verification - 2024.1 English

Vitis Model Composer User Guide (UG1483)

Document ID
Release Date
2024.1 English

To verify and analyze the AI Engine design, use the Analyze tab of the Model Composer Hub block.

Figure 1. Vitis Model Composer Hub: Testbench and Simulator Options

The Analyze button will generate and compile AI Engine code from the design and run the cycle-approximate AIE Simulation (SystemC).

The Simulation timeout value limits the execution to the specified number of cycles. This is necessary because of the finite amount of input data - if the timeout value is not specified, the AI Engine kernels are invoked repeatedly forever (that is, the graph runs infinitely). To avoid this situation, specify the Simulation timeout value as shown in the preceding figure.

The default timeout value is set to 50,000 cycles and this value is used to terminate the simulation after the specified number of clock cycles.

AI Engine code verification and analysis advances in three phases:

  1. Compiling the AI Engine graph design.
  2. Running simulation using the AI Engine simulator.
  3. Verifying the simulation results by comparing the output with the golden reference output.

After clicking Analyze, you can monitor the compilation, simulation, and verification progress of the AI Engine graph code from the Progress window (see the following figure).

Figure 2. Graph Code Progress

After successful compilation and simulation, Model Composer automatically compares the target output with the golden reference output and returns the following message in the Progress window (or in the corresponding simulation log files).

Comparing simulation results ...
Output data file : data/aiesimulator_output/Outl.txt.mod
reference data file : data/reference_output/Outl.txt
Simulation results MATCH.
Verification Complete
Note: In some scenarios, the simulator output produces fewer samples when compared with the golden output or vice-versa. In such cases, the test result will be still show as 'PASS.' This indicates that the first 'n' lines from the simulation output matches the first 'n' lines of the golden output and the results are partially matched. The .diff file in the corresponding simulator output captures any difference with the reference output.

In addition to this, the AI Engine compiler writes various configuration and binary files to the work/aie directory. For more information on the structure and contents of the directory specific to the compilation, refer to the AI Engine Tools and Flows User Guide (UG1076).