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で{ }の使い方について

ディスカッション
コメント一覧
まだ、コメントがありません