【问题标题】:Why use layered testbench instead of simple one program block?为什么使用分层测试台而不是简单的一个程序块?
【发布时间】:2017-11-06 17:07:11
【问题描述】:

当我们可以在一个简单的程序块中编写所有功能时,用于验证的分层测试平台的基本目的是什么。我知道可重用性是一个目的,但除此之外还有什么独特之处。

【问题讨论】:

  • 我很难想象有人如何全面测试 simple 4-stage-pipeline 16 位 CPU 或 simple 4 端口路由器一个简单的程序块?即使有几个简单测试,在测试之间复制代码也不会太久。将重复的代码放在一个公共库(或包含文件)中实际上是一个基本的分层测试平台的开始。但如果我不这样做,任何协议/设计更改都会令人头疼。我如何将我的模块级 TB 检查器移植到顶级芯片 TB?

标签: verilog system-verilog verification uvm


【解决方案1】:

这取决于您的设计有多大。如果您的设计非常小,一个程序块可能就可以正常工作。 (顺便说一句,我强烈反对使用程序块,而是使用顶级模块。在big 3 EDA 的模拟器中使用程序块进行线程调度存在已知问题)

但是,如果您的设计非常庞大,并且您必须通过分治法来测试它,那么您必须按照与分工相匹配的分层构建您的测试平台。如果您不分层测试平台,您将无法在系统级环境中重用您的块级代码。

【讨论】:

    猜你喜欢
    • 2010-12-19
    • 1970-01-01
    • 2016-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-30
    • 2012-03-23
    • 1970-01-01
    相关资源
    最近更新 更多