Parameters 接口SystemVerilog的参数化数组
我试图在SystemVerilog中创建一个接口实例的参数化数组,但不知何故未能做到这一点Parameters 接口SystemVerilog的参数化数组,parameters,interface,system-verilog,Parameters,Interface,System Verilog,我试图在SystemVerilog中创建一个接口实例的参数化数组,但不知何故未能做到这一点 interface if_dma(); logic [31:0] addr; logic [31:0] data; endinterface module mux(clk, rst, if_dma dma_ports[n-1:0]); //logic endmodule module dma_top(); if_dma dma(); mux #(n=3)(.clk(clk), .rst(rs
interface if_dma();
logic [31:0] addr;
logic [31:0] data;
endinterface
module mux(clk, rst, if_dma dma_ports[n-1:0]);
//logic
endmodule
module dma_top();
if_dma dma();
mux #(n=3)(.clk(clk), .rst(rst), dma_ports[0](rx_channel), dma_ports[1](tx_channel));
endmodule
不能将
dma_端口[0]
和dma_端口[1]
作为单独的端口。一次性将它们放在一起:.dma\u端口({tx\u通道,rx\u通道})
mux
的标题是奇数。不确定您是否正在尝试简化mux
的标题,或者它是您真正拥有的。如果使用的是非ANSI端口样式,则不要在端口列表中指定范围。范围规格在端口定义中(例如:输入时钟;
,输出[7:0]输出;
,如果dma\u端口[N];
)。对于ANSI端口,则端口列表和定义相同。例:
module mux #(parameter N=1) (input clk, rst, if_dma dma_ports[N-1:0]);
请勿混合使用ANSI和非ANSI端口样式。通常建议使用ANSI样式。错误:“dma\U端口”已在此范围(mux)中声明,与其在注释中添加详细信息,不如编辑问题并将其放在那里。您需要解释什么是rx\U通道和tx\U通道。不能将单个端口拆分为多个端口连接、接口或无接口端口