[SystemVerilog] bit 幅の取得 $bits

システムタスク $bits を使います。bit 幅 (integer) を返します。

reg [7:0] r;
$display($bits(r)); // $bits(r): 8
$display($bits(1 << 8)); // $bits(1 << 8): 32
$display($bits(logic)); // $bits(logic): 1
view raw
gistfile1.v
hosted with ❤ by GitHub

4値の場合 1bit を返し、ツールの実装で実際に使われるメモリサイズではありません。

コンパイル時に値が決定されるものに使えます。そのため、reg, wire の宣言などに使えます。

reg [$bits(r)1:0] d;
view raw
gistfile1.v
hosted with ❤ by GitHub
スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク