36.$time与$realtime的区别
1)$time
`timescale 10ns / 1ns //仿真时间尺度
module time_dif();
reg ts = 1'b0;
parameter delay = 2.6;
initial
begin
#delay ts = 1'b1;
#delay ts = 1'b0;
#delay ts = 1'b1;
#delay ts = 1'b0;
end
//initial $monitor($realtime,,,"ts = %b",ts);
initial $monitor($time,,,"ts = %b",ts);
endmodule
输出仿真结果:
输出原因如下:
1. $time 显示时刻受到时间尺度比例的影响。上例中时间尺度为10ns,因为$time输出的时刻总是时间尺度的倍数,这样就将时间输出为2.6,5.2,7.8,10.4。
2.$time输出整数,所以将经过尺度变换的2.6,5.2,7.8,10.4经过取整后为3,5,8,10。
2)$realtime
`timescale 10ns / 1ns