忍者ブログ

雑記

【SystemVerilog】Bit select

雑記 > > [PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

コメント

ただいまコメントを受けつけておりません。

【SystemVerilog】Bit select

雑記 > codeのメモ > 【SystemVerilog】Bit select

【SystemVerilog】Bit select

あるbit幅の信号から、変数を使い特定のbit幅を選択したい場合の記述。

例えば256bit幅の信号から32bitを選択したいとき。

  bit [255:0] b256 ;
  bit [255:0] a32  ;
  assign a32 = b256[i +:32] ; // 又は[32*(i+1)-1 -:32]

自分は知らなかっただけで、IEEE.1364-2005の5.2.1 Vector bit-select and part-select addressingに詳細があります。

よく以下の様に書いてしまい、コンパイルエラーになりますが、上記の書き方で回避できます。

assign a32 = b256[32*(i+1)-1:32*i];

上記を知らなくて、下のシフトを使っていました。

assign a32 = b256>>(32*n);

VCS DirectC - A Quick Look (English Edition)

Code memo home

コメント

ただいまコメントを受けつけておりません。

カレンダー

03 2024/04 05
S M T W T F S
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