首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Test-bench禁用DUT实例

从Test-bench禁用DUT实例
EN

Stack Overflow用户
提问于 2017-03-09 15:18:24
回答 2查看 273关注 0票数 1

请帮助解决我面临的一个与禁用DUT实例相关的问题。我的DUT top模块中有许多实例,但我的测试不需要它们。有没有办法从test-bench中禁用这些实例?

例如,这是我的DUT模块原型:

代码语言:javascript
复制
module top (…….);

// instances needs to be disabled
module1 #(16) inst1 (.CLK(clk_100),.PAD_RSTN(ext_reset_n),.RSTN(global_reset_n));
module2 #(16) inst2 (.CLK(clk_100),.PAD_RSTN(ext_reset_n),.RSTN(pcie_reset_n));
pcie_module #(…) inst_pci (…..);

// main test target instances
target_testmodule #(…) test_inst(…);
child1_of_target_testmodule #(…) test_inst_child1(…);
child2_of_target_testmodule #(…) test_inst_child2(…);

endmodule

因此,我的测试平台将只测试target_testmodule及其子模块。我使用bind将接口连接到target_testmodule,然后开始驱动target_testmodule的引脚。并且target_testmodule驱动其子模块引脚。

因此,对于这个测试,我不需要pci_module实例或其他实例,因为它们是大实例,需要花费很多时间,提供大量警告,而且它们还驱动一些我不需要的target_testmodule端口。

我的问题是,是否有某种机制可以在测试台上禁用pci模块。我没有顶部模块的写权限来注释实例或将它们放入` `ifdefs中。

EN

回答 2

Stack Overflow用户

发布于 2017-03-09 16:07:13

  • 您的第一个机制是请求锁定文件的人更改它,这样您就可以更高效地完成工作。它们可以放在generateifdef语句中。
  • 如果您有单独的时钟或启用信号,您可以强制它们进入非活动状态
  • 复制并修改顶级文件的本地副本,并使用该文件。替换本地模块

的方法有多种

票数 1
EN

Stack Overflow用户

发布于 2017-03-10 02:37:30

除了获得写权限之外,下一个最简单的方法就是让你自己拥有top。

Verilog (自IEEE1364-2001以来)和SystemVerilog确实有办法将同名的不同模块编译到不同的库中,然后使用配置来决定在细化过程中将使用哪个模块。您可以使用此技术将不需要的模块实例与简化或虚拟版本进行交换。根据您的测试环境的配置,实现这些配置可能会很棘手。如果你准备好迎接挑战,请阅读IEEE Std 1800-2012§33。配置设计的内容

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42689029

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档