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.
xsi_run
blocks until the specified simulation run time has elapsed. Your program and the Vivado simulator share a single thread of execution.