Vengineerの妄想(準備期間)

人生は短いけど、長いです。人生を楽しみましょう!

SystemVerilog-2009での強化ポイントリスト


Whats new in Systemverilog 2009 ?では、SystemVerilog-2009の新しいところをリストアップしています。

その中で何点か、 一部引用です
  checker - endchecker

  checker my_check1 (logic test_sig);
    a1: assert property (p (test_sig));
    c1: cover property (!test_sig ##1 test_sig);
  endchecker : my_check1

  チェッカーを明確にできるので分かり易いね!
  Printing format

  %p - displays as an assignment format.
  %x - displays in hexadecimal format.  => これって今頃正式サポート。
                                           でも、普通にできている。
  Associative array size()
  Queue delete()
  pure virtual methods

  シミュレーションによってサポートされていたが、こちらも標準に!
  Time consuming functions

  Using fork/join_none, now time consuming constructs can be used inside function.

  function void disp;
  fork
    #0 $display("%t: This is #0", $time);
    #1 $display("%t: This is #1", $time);
    #3 $display("%t: This is #3 and A = %x", $time, a);
    a <= 8'hbb; // It allows non-blocking assignment
    #2 $display("%t: This is #2", $time);
  join_none
  endfunction

  関数にわざわざ時間入れなくても、taskでいいと思うのだが、必要な人がいるのでしょうか?
 例外を説明しないといけなくなってしまったのは、残念。
  FILE name and LINE numbers

  $display("Internal error: null handle at %s, line %d.",`__FILE__, `__LINE__);

  あるととっても便利だけど、使っている人はどれだけ?

検証、Verification、SystemVerilog