スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

[Verilog][SystemVerilog] $timeformatをつかって時刻表示をカスタマイズ

第33回 SystemVerilog読書会にあった $timeformat についてです。

$displayなどで使用する「%t」のフォーマットを変えることが出来ます。

  • サンプルコード

  • module testbench ();
    
      logic set;
      parameter p = 10;
      initial begin
        $timeformat(-9, 5, " ns", 10);
        $monitor("%t:set = %0d", $time, set);
        #set = 0;
        #set = 1;
      end
    
    endmodule: testbench
  • 実行結果

  • # 0.00000 ns:set = x
    # 0.01000 ns:set = 0
    # 0.02000 ns:set = 1
    

とこのように変更することが出来ます。


$timeformat定義

$timeformat [ ( units_number , precision_number , suffix_string , minimum_field_width ) ] ;

  • units_number
  • 表示単位になります。timescaleとは違うのでご注意。
    ただ、default値は timescaleの最小単位になるみたいです。

    units_number 単位
    0 1s
    -1 100ms
    -2 10ms
    -3 1ms
    -4 10us
    -5 1us
    -6 100ns
    : :
    -15 1fs

  • precision_number
    小数点の桁数

  • suffix_string
    文字列を付けることが出来ます。
    $display("%t ns", $time) とか書いている場合には必要なくなりますね。

とまぁ、このような指定が出来るシステム関数があるんですね。

関連記事

コメントの投稿

非公開コメント

プロフィール

Kocha

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

カレンダー
04 | 2017/05 | 06
- 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
アクセス人数
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。