错误(10686):file.sv(8)处的SystemVerilog错误:InstAddress具有聚合值

时间:2017-05-12 23:58:10

标签: system-verilog

我正在尝试编译以下SystemVerilog,我收到以下错误"错误(10686):InstRom.sv(8)中的SystemVerilog错误:InstAddress有一个聚合值。"

module InstRom#(parameter A = 16, parameter W = 9)
(
input InstAddress[A-1:0],
output logic InstOut[W-1:0]
);
    logic[W-1:0] instr_rom[2**(A)];
    always_comb InstOut = instr_rom[InstAddress];

    initial begin
        $readmemb("cordic.txt", instr_rom);
    end
endmodule

我做错了什么?

1 个答案:

答案 0 :(得分:0)

InstAddress 的解包数组,而不是向量(即打包数组)。这同样适用于 InstOut 。将声明更改为

input logic [A-1:0] InstAddress,
output logic [W-1:0] InstOut

并且您的代码应该可以使用。