VerilogHDLでbit幅が異なるSigned信号への代入方法
やりたいこと
- VerilogHDLでbit幅が異なり、しかもそれぞれの信号のbit幅を
parameter
で指定している符号付き信号(Signed信号、最上位bitが政府を示す信号)を代入したい parameter
とwire
宣言は下記の通りで、a
にb
を代入したい想定
localparam WIDTH_A = 32 localparam WIDTH_B = 16 wire [WIDTH_A-1:0] a; wire [WIDTH_B-1:0] b;
方法
assign a = {{(WIDTH_A - WIDTH_B){b[WIDTH_B - 1]}} , b}
b
の最上位bitの値(:b[WIDTH_B]
)をWIDTH_A-WIDTH_B
の分だけb
の上位に連結させてa
に代入している{ }
の使い方についてはこちら:VerilogHDLで{ }の使い方について
ディスカッション
コメント一覧
まだ、コメントがありません