[Verilog][SystemVerilog] $time/$stime/$realtime

第33回 SystemVerilog読書会にあった $time/$stime/$realtime について。
$timeぐらいしか使ったことがなかったのでメモ。

  • サンプルコード
  • `timescale 10 ns / 1 ns
    
    module testbench ();
    
      logic set;
      parameter p = 1.55;
      initial begin
        if ($test$plusargs("TIME"))     $monitor($time,,"set=", set);
        if ($test$plusargs("STIME"))    $monitor($stime,,"set=", set);
        if ($test$plusargs("REALTIME")) $monitor($realtime,,"set=", set);
        #set = 0;
        #set = 1;
      end
    
    endmodule: testbench


$time

64bitの値(Integer)を返します。

# vsim +TIME -L work -do {run -all; quit} -c testbench 
# Loading sv_std.std
# Loading work.testbench
# run -all 
#                    0 set=x
#                    2 set=0
#                    3 set=1
#  quit 


$stime

Short Timeの略だと思うのですが、32bitの値(unsigned integer)を返します。

# vsim +STIME -L work -do {run -all; quit} -c testbench 
# Loading sv_std.std
# Loading work.testbench
# run -all 
#          0 set=x
#          2 set=0
#          3 set=1
#  quit 

時間の部分の表示が、$timeに比べると小さくなっているのが分かりますね。


$realtime

real(浮動小数点)の値を返します。
ただし、timescale(time unit)に依存します。

# vsim +REALTIME -L work -do {run -all; quit} -c testbench 
# Loading sv_std.std
# Loading work.testbench
# run -all 
# 0 set=x
# 1.6 set=0
# 3.2 set=1
#  quit 

とまぁ、こんな感じで使えるようです。

関連記事

コメントの投稿

非公開コメント

プロフィール

Kocha

Author:Kocha
なんでもチャレンジ!(^o^)/
E-mail
github:Kocha
イベントカレンダー

カレンダー
09 | 2017/10 | 11
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -
カテゴリ
OVP (4)
最新記事
最新コメント
アーカイブ
リンク
Twitter
アクセス人数