0

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])。

4

1 に答える 1

1

元の例で示したコードに問題はありません。以前のバージョンの Questa で試しました。通常、完全に問題ないように見えるコードで説明できないエラーが発生する場合は、使用しているバージョンが古すぎるか、実際のエラーが問題のコードの上の行にあります。

于 2013-09-14T15:49:48.203 に答える