0
genvar変数の幅を切り捨てるにはどうすればよいですか?例えば、私が持っている場合:私はModelSimの中でシミュレートする場合Verilog、genvarの幅のサイズを切り捨てます
parameter LENGTH = 8;
genvar i;
for(i = 0; i < LENGTH; i = i + 2) begin
somemodule #(WIDTH($clog2(LENGTH))
)
tmp (.a(i)
,.b(i+1)
,.c(output)
);
end
endgenerate
、私は接続サイズと一致していないポートの大きさになるだろう。私は、問題はgenvarが32ビット幅であり、モジュールの幅が異なるということにあります。
私は
genvar [$clog2(LENGTH)-1:0] i;
と
.a(i[$clog2(LENGTH)-1:0])
を試してみましたが、彼らは文法的に正しくありません。私はこの問題を回避するにはどうすればよい
?