如何使用generate inside testbench来实例化不同的测试模块?

How to use generate inside testbench to instantiate different test modules?

我正在尝试 运行 我的测试台中的不同测试程序,并根据我设置的生成标志来 运行 它们。请注意,下面的代码是我将 ModelSim 定义为顶层的代码。这是我正在尝试做的事情:

module testbench
#( parameter FLAG1 = 0, parameter FLAG2 = 1)();
    ... // code here
    generate
        if (FLAG1 == 1)
            Component1(signals);
        else if (FLAG2 == 1)
            Component2(signals);
        else
            // set everything to zero
    endgenerate
endmodule

有了这个,我只想能够在这个测试平台和 运行 不同的情况下设置参数的默认值。这在 ModelSim PE Student Edition 10.4a 中编译得很好,但是当我从生成的实例名称中添加信号时,Modelsim 无法识别该实例存在?

** Error: (vish-4014) No objects found matching 'spi_tb/uut4/*'.

我想通了。它确实有效,modelsim 只是将实例命名为 genblk[i]/youInstanceNameHere.