Using Xilinx Simulator Interface - 2023.2 English

Vivado Design Suite User Guide: Logic Simulation (UG900)

Document ID
Release Date
2023.2 English

The Xilinx Simulator Interface (XSI) is a C/C++ application programming interface (API) to the AMD Vivado simulator (xsim) that enables a C/C++ program to serve as the test bench for a HDL design. Using XSI, the C/C++ program controls the activity of the Vivado simulator which hosts the HDL design.

The C/C++ program controls the simulation in the following methods:

  • Setting the values of the top-level input ports of the HDL design
  • Instructing the Vivado simulator to run the simulation for a certain amount of simulation time

Additionally, the C/C++ program can read the values of the top-level output ports of the HDL design.

Perform the following steps to use XSI in your C/C++ program:

  1. Prepare the XSI API functions to be called through dynamic linking
  2. Write your C/C++ test bench code using the API functions
  3. Compile and link your C/C++ program
  4. Package the Vivado simulator and the HDL design together into a shared library