Developing and Verifying the AI Engine Graph - 2025.2 English - UG1273

Versal Adaptive SoC Design Guide (UG1273)

Document ID
UG1273
Release Date
2025-12-03
Version
2025.2 English

An AI Engine program consists of a dataflow graph specification written in C++, which comprises nodes and edges. Nodes represent compute functions (known as kernels), and edges represent data connections. The Vitis aiecompiler complies and the Vitis aiesimulator simulates the AI Engine graph specification.

AMD recommends gradually refining and testing the graph, slowly progressing from scalar to vectorized operations. This allows you to set up your system (for example, build scripts, functional correctness, etc.) without having to do low-level AI Engine-specific coding.

A user-written test bench tests the graph with the graph application programming interfaces (APIs). Following are the methods for getting data into and out of a graph:

  • Runtime parameters (RTPs) are programmable registers used to exchange values between the PS application and the AI Engine kernels.
  • GMIOs provide a direct connection from the AI Engine to global memory via the horizontal NoC.
  • PLIOs provide a direct streaming connection between AI Engine kernels and PL blocks.

Test bench can consist of basic file I/O-operations or more powerful traffic-generators written in Python, C/C++, or HDL to get data into and out of the AI Engine graph.

Important: Monitor performance results and goals at this stage, because the system performance does not improve as you progress through the development stages. However, meeting performance in the aiesimulator at this early stage in the design is not indicative of the final system performance. The aiesimulator simulates I/O traffic assuming best case operating conditions.

After testing the AI Engine graph using simulation, AMD recommends testing the graph on hardware. To support the testing of AI Engine graphs on the VCK190, AMD provides a ready-to-use test harness. This test harness provides a simple and natural transition from the AI Engine simulation environment to testing on hardware. With the test harness, AI Engine graphs simulate quickly and with only a few minor modifications. For more information on the AI Engine test harness, see the AIE Test Harness available from the AMD GitHub repository.

For more information on how to develop and simulate AI Engine graphs and kernels, see the Versal Adaptive SoC Design Process Documentation: AI Engine Development.