SystemVerilog で戻り値をパラメータ化されたビット ベクトルとして関数を作成する必要があります。私のコードは次のとおりです。
class my_class #(parameter ADDR_WIDTH = 32);
bit [ADDR_WIDTH-1:0] address;
function bit [ADDR_WIDTH-1:0] get_address();
return address;
endfunction : get_address
endclass : my_class
ADDR_WIDTH
関数宣言で、パラメーターが定義されていないというコンパイル時エラーが発生します。なぜこれが起こっているのか誰でも説明できますか?パラメータなしでも同じことが機能します(つまり、のような既知の値がある場合bit [31:0]
)。