void xsi_run(xsiHandle design_handle, XSI_UINT64 time_ticks);
void Xsi::Loader::run(XSI_INT64 step);
该函数会采用内核精度单位按指定的给定时间量来运行仿真。内核精度单位是设计的所有 HDL 源文件之间指定的时间精度的最小单位。例如,如果设计具有两个源文件,其中一个指定精度为 1 ns,另一个指定精度为 1 ps,那么内核精度单位为 1 ps,因为这是两个时间单位间较小的单位。
Verilog 源文件可使用 `timescale
指令来指定时间精度。
示例:
`timescale 1ns/1ps
在此示例中,/
(1 ps) 后的时间单位即时间精度。VHDL 不具有等效的 `timescale
指令。
此外,您可通过使用 xelab
命令行选项 --timescale
、--override_timeprecision
和 --timeprecision_vhdl
来调整内核精度单位。如需了解有关如何使用这些命令行选项的信息,请参阅 xelab、xvhdl 和 xvlog xsim 命令选项。
注释:
xsi_run
会保持阻塞,直至耗尽指定的仿真运行时为止。您的程序与 Vivado 仿真器共享单一执行线程。