通过systemverilog

时间:2016-03-06 20:30:23

标签: verilog system-verilog

我知道在verilog中,多维数组不能通过模块端口传递。我听说systemverilog允许这个,这就是我开始使用systemverilog的原因。但是,对于以下代码,我仍然会遇到x和y下面显示的错误。

A reference to an entire array is not permitted in this context [Systemverilog] 

这是代码。

module Chien(p, clk, reset, load);
        wire [`m - 1 : 0] x [0 : `t - 1];
        wire [`m - 1 : 0] y [0 : `t - 1][0 : `col];
        mul_array mularray0(x, y);
endmodule

我使用ncverilog进行模拟,我使用-sv选项。我的代码有问题,还是模拟器的问题?

由于

1 个答案:

答案 0 :(得分:2)

在Modelsim / Questa中可以正常使用,除非您需要在端口列表中声明端口,而不仅仅是端口的位置列表。

applesdrp_1
orangesdrp_2

此外,由于我引起了您的注意,请尽量不要在类型声明中使用宏。最好有参数和typedef

module Chien(input wire p, clk, reset, load);