如何在系统验证中创建不同大小的接口数组



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

最新更新