xsi_run - 2022.2 English

Vivado Design Suite User Guide: Logic Simulation (UG900)

Document ID
UG900
Release Date
2022-10-19
Version
2022.2 English
void xsi_run(xsiHandle design_handle, XSI_UINT64 time_ticks);
void Xsi::Loader::run(XSI_INT64 step);

This function runs the simulation for the given amount of time specified in kernel precision units. A kernel precision unit is the smallest unit of time precision specified among all HDL source files of the design. For example, if a design has two source files, one of which that specifies a precision of 1 ns and the other specifies a precision of 1 ps, the kernel precision unit becomes 1 ps, as that time unit is the smaller of the two.

A Verilog source file may specify the time precision using the `timescale directive.

Example:

`timescale 1ns/1ps

In this example, the time unit after the / (1 ps) is the time precision. VHDL has no equivalent of `timescale.

You may additionally adjust the kernel precision unit through the use of the xelab command-line options --timescale, --override_timeprecision, and --timeprecision_vhdl. See xelab, xvhdl, and xvlog xsim Command Options for information on the use of these command-line options.

Note: xsi_run blocks until the specified simulation run time has elapsed. Your program and the Vivado simulator share a single thread of execution.