The Xilinx® Simulator Interface (XSI) is a C/C++ application programming interface (API) to the Xilinx 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:
- Prepare the XSI API functions to be called through dynamic linking
- Write your C/C++ test bench code using the API functions
- Compile and link your C/C++ program
- Package the Vivado simulator and the HDL design together into a shared library