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

时间:2018-02-11 02:23:26

标签: verilog test-bench

我试图在我的测试平台内运行不同的测试程序,并根据我设置的生成标志运行它们。注意,下面的代码是我将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/*'.

1 个答案:

答案 0 :(得分:0)

我明白了。它确实有效,modelsim只是命名实例genblk [i] / youInstanceNameHere。