我有一个可配置的模块,其中包含一个端口的接口。我使用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