仿真时间系统函数提供了对当前模拟时间的访问,其包括三个函数:
$time $stime $realtime
-系统函数 $time 返回一个 64 位时间的整数,该时间按调用该函数的模块的时间刻度单位缩放。例如:
在本例中,仿真时间为 16 ns 时,set值为 0,仿真时间为 32 ns 时,set值为 1。$time 系统函数返回的时间值由以下步骤确定:
a) 仿真时间 16 ns 和 32 ns 按比例分别为 1.6 和 3.2,因为该模块的时间单位为 10 ns;因此,该模块报告的时间值是 10 ns 的倍数。
b) 1.6 四舍五入为 2,3.2 四舍五入为 3,因为 $time 系统函数返回的是整数。时间精度不会导致这些值四舍五入。
-系统函数 $stime 返回一个无符号整数,即 32 位时间,并按调用该函数的模块的时间刻度单位进行缩放。如果实际仿真时间不适合32位,则返回当前仿真时间的低32 位。
-$realtime 系统函数返回一个实数时间,与$time一样,它也是按调用该函数的模块的时间单位缩放的。例如:
在本例中,由于10 ns是模块的时间单位,因此set中的事件时间是10 ns的倍数。它们是实数,因为 $realtime 返回的是实数。
点赞加关注博主(ID:FPGA小飞)的博文,咱们一起系统学习verilog最终标准IEEE Std 1364-2005吧!