Я пытаюсь создать параметризованный массив экземпляров интерфейса в SystemVerilog, но так или иначе не получится.Параметрированный массив интерфейса 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(rst), dma_ports[0](rx_channel), dma_ports[1](tx_channel));
endmodule
Ошибка: «dma_ports» уже объявлен в этой области (мукс) –
Вместо того, чтобы добавлять комментарии в комментарии, лучше отредактировать вопрос и поместить их туда. –
Вам нужно объяснить, что такое rx_channel и tx_channel. Вы не можете разделить один порт на несколько портов, интерфейс или порт интерфейса –