【问题标题】:Accessing inputs and outputs in sub-modules from testbench从测试台访问子模块中的输入和输出
【发布时间】:2023-03-30 23:51:01
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: verilog test-bench


    【解决方案1】:

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

    dut.read_data
    

    SystemVerilog 还提供了bind 语句来做类似的事情。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-01
      • 1970-01-01
      • 2012-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多