4 ビットの数値から 32 ビットの数値に符号拡張する必要があります。次のように MSB を 28 回繰り返そうとします。
assign x={28'b{a[3]},a[3:0]};
しかし、私はエラーが発生します:
「{」付近の構文エラー
x
と定義されている :wire [31:0] x ;
a
と定義されている :input [3:0]a;
この連結は間違っていますか?
4 ビットの数値から 32 ビットの数値に符号拡張する必要があります。次のように MSB を 28 回繰り返そうとします。
assign x={28'b{a[3]},a[3:0]};
しかし、私はエラーが発生します:
「{」付近の構文エラー
x
と定義されている :wire [31:0] x ;
a
と定義されている :input [3:0]a;
この連結は間違っていますか?
を取り除き、'b
別のペアを追加する必要があります{}
:
assign x = { {28{a[3]}}, a};
IEEE Std 1800-2012のセクション 11.4.12.1「レプリケーション オペレータ」を参照してください。