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 回答