System Verilog函数返回值作为参数化位向量

时间:2013-08-20 06:49:17

标签: verilog system-verilog

我需要在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]这样的已知值。

1 个答案:

答案 0 :(得分:1)

您在原始示例中显示的代码没有任何问题,我在早期版本的Questa上尝试过。通常,当您在看起来非常精细的代码上遇到无法解释的错误时,您要么使用的版本太旧,要么真正的错误位于相关代码之上的一行上。