Altifigence Academy

25 / 36 · 概念

ベクタ方向とビット番号

q[2:0]とスライスが選ぶ位置を読みます。

学習目標

  • q[2:0]とスライスが選ぶ位置を読みます。

各ビットの位置を読む

q[2:0]=101なら左からq[2]=1,q[1]=0,q[0]=1です。番号は位置であって値ではありません。q[1:0]は下位2ビット01で、次の連結にはこの部分だけを使います。

qq[2]q[1]q[0]q[1:0]
10110101
11011010
01101111

幅を数える

q[1:0]は2ビット、dinは1ビット、連結はqと同じ3ビットです。幅を数えると切捨てや拡張を見つけやすくなります。初期配列はLSB順なのでq=100は[false,false,true]です。

RTLコード抜粋
logic [2:0] q;
// q = 3'b101: q[2]=1, q[1]=0, q[0]=1
// q[1:0] = 2'b01

自分で考えてみましょう

q=110のq[1:0]とq[2]は?

解説を見る

q[1:0]=10、q[2]=1です。スライスはq[1],q[0]の順です。

選択はこのブラウザに適用されます。フッターからいつでも変更できます。