我有一个可配置的模块,其中包含其中一个端口的接口。我使用 generate 语句和 for 循环为每个模块实例创建不同的配置,并将接口端口带到数组中。我的问题是各个接口根据每个模块实例的配置而不同。有没有办法单独配置阵列中的每个接口?这就是我正确配置界面的方式
test_if #(.NUM_CUTS(NUM_CUTS_WRITE_CLIENT),.AW(AW_WRITE_CLIENT),.DW(DW_WRITE_CLIENT)) mem_test_if [NUM_OF_MEMS-1:0]();
是否可以用一系列接口做这样的事情
test_if #(.NUM_CUTS(2),.AW(AW_WRITE_CLIENT),.DW(DW_WRITE_CLIENT)) mem_test_if [0]();
test_if #(.NUM_CUTS(4),.AW(AW_WRITE_CLIENT),.DW(DW_WRITE_CLIENT)) mem_test_if [1]();
test_if #(.NUM_CUTS(6),.AW(AW_WRITE_CLIENT),.DW(DW_WRITE_CLIENT)) mem_test_if [2]();
我不想在 generate 语句之外单独实例化每个模块实例。
你应该能够在你的生成中嵌套执行此操作
for(genvar MEM=0;MEM<NO_OF_MEMS;MEM++) begin : ID
test_if #(.NUM_CUTS((MEM+1)*2),.AW(AW_WRITE_CLIENT),.DW(DW_WRITE_CLIENT)) mem_test_if();
end