$time任务返回仿真器的当前仿真时间。testbench中需要使用'timescale指出仿真时间单位(通常为1ns),当前仿真时间是一个64位整数乘以'timescale中的仿真时间单位后取整得到的整数结果,它不包含小数部分。$realtime以实数的方式返回当前的仿真时间,返回值包括小数部分。
$time应用举例
'timescale 1ns/10ps
initial
begin
$display(“time display”,$time);
#9.4
$display(“time display”,$time);
#6.3
$display(“time display”,$time);
end
仿真结果如下:
time display 0
time display 9: 9.4乘以时间单位,四舍五入到最接近的整数
time display 16:(9.4+6.3)乘以时间单位,四舍五入到最接近的整数
$realtime应用举例
'timescale 1ns/10ps
initial
begin
$display(“time display”,$realtime);
#9.4
$display(“time display”,$realtime);
#6.3
$display(“time display”,$realtime);
end
仿真结果如下:
realtime display 0
realtime display 9.4
realtime display 15.7