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 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 might 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 might 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 runtime has elapsed. Your program and the Vivado simulator share a single thread of execution.