从testbench访问子模块中的输入和输出

时间:2013-10-23 14:48:51

标签: verilog

我的被测设备(DUT)有很多子模块,我想测试其中的一些。

我的测试夹具将是我项目的顶层 - 比DUT高一级 - 而且由于我似乎只能访问模块的输入和输出一级,我只能访问顶级输入和DUT的输出。

我希望能够从测试夹具下面的两个或更多级别的模块访问信号,理想情况下无需重写任何模块以添加更多输出,因此我想测试的信号连接到顶层。

可以重写被测试的设备,但这看起来很耗时,我觉得应该有更快的方法。

有没有办法编写一个可以访问子模块内信号的测试夹具,而无需重写DUT?

1 个答案:

答案 0 :(得分:5)

如果您只需要监控顶级dut模块内的信号,则可以使用分层路径说明符将范围缩小到dut:

dut.read_data

SystemVerilog还提供bind语句来执行类似的操作。

如果需要驱动内部dut信号,则应为子模块创建单独的测试平台。这样更耗时,但可以让您获得更好的控制,并且可以实现100%的覆盖率(有时在顶层很难)。

相关问题