$time $stime $realtime
1,$time
The $time system function returns an integer that is a 64-bit time, scaled to the timescale unit of the module that invoked it.
1 `timescale 10 ns / 1 ns 2 module test; 3 reg set; 4 parameter p = 1.55; 5 initial begin 6 $monitor($time,,"set=",set); 7 #p set = 0; 8 #p set = 1; 9 end 10 endmodule
結果:
0 set=x
2 set=0
3 set=1
V C S S i m u l a t i o n R e p o r t
Time: 32 ns
分析:
a) The simulation times 16 ns and 32 ns are scaled to 1.6 and 3.2 because the time unit for the module is 10 ns; therefore, time values reported by this module are multiples of 10 ns.
b) The value 1.6 is rounded to 2, and 3.2 is rounded to 3 because the $time system function returns an integer. The time precision does not cause rounding of these values
因為精度是1ns,1.55*10=15.5ns,四舍五入,取16ns
假如將精度設置為
`timescale 10 ns / 1ps 那么,結果將是15.5和31
2,$stime
The $stime system function returns an unsigned integer that is a 32-bit time, scaled to the timescale unit of the module that invoked it. If the actual simulation time does not fit in 32 bits, the low order 32 bits of the current simulation time are returned.
對于$time的example,$stime和$time是一樣的。
3,$realtime
The $realtime system function returns a real number time that, like $time, is scaled to the time unit of the module that invoked it.
將上述example改為$realtime之后,結果如下所示:
0 set=x
1.6 set=0
3.2 set=1
V C S S i m u l a t i o n R e p o r t
Time: 32 ns
其他運行結果相同
總結
以上是生活随笔為你收集整理的$time $stime $realtime的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 互联网产品的灰度发布
- 下一篇: 为什么不用ZK来做服务发现?