0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

芯片验证需要围绕DUT做什么?

冬至子 来源:ICer消食片 作者:ICer消食片 2023-06-12 17:38 次阅读

TestBench即测试平台,是为了检验待测设计(design under test, DUT )而搭建的验证环境。有了这个环境,我们就可以对DUT输入 定向或随机的激励 ,以保证DUT的正确性。故验证要做的事分为以下几步:

1、生成各种各样的输入激励

2、将输入激励传递到DUT上

3、DUT响应输入激励并输出

4、检查输出与预期结果差异

5、发现功能错误后修改DUT

6、重复上述步骤收集覆盖率

做个不太恰当的比喻,testbench就像一个书桌,你买来了一个键盘(DUT),你想要验证它是不是正常工作,你就开始敲键盘检查。你的十个手指就是 激励 ,数据线和屏幕相连,数据线为 接口 ,屏幕是 记分板 ,键盘使用说明书为 参考模型

首先你把26个字母都敲了一遍( 定向测试 ),发现屏幕上也出现了26个字母,每个键都能没毛病,基本功能验证了;但是还不够,你又组合着敲了**“** guan zhu dian zan”随机测试 ),屏幕上突然出现****“**** fen xiang zai kan ”**** ,这时你就发现bug了,赶紧找设计人员来修改代码。

细心的同学发现,随机测试岂不是边界很大,甚至”永无止境“?因此就有了 受约束的随机激励 。使用定向测试和受约束的随机测试,最终使得功能覆盖率趋于要求值。最终,键盘验证完没问题了,再教给后面的人做物理设计,比如键程长短、工艺面积、功耗分析等等,一套流程下来没问题就拿去厂子代工了。

说完了这个有点尬的比喻,我们理解了testbench就是模拟设计所在的环境,以检查RTL代码是否符合设计规范的玩意,其内部是分好几个组件的。那testbench具体有哪些组件呢?请看下图(PPT画的,不是很专业):

图片

generator :产生不同的输入激励来驱动DUT

产生有效的数据,并发送给driver。

interface :用于连接testbench和DUT

如果一个设计包含成百上千个端口信号,那么连接、维护和重复利用这些信号就会很麻烦。如果将这些输入输出端口放到一块组成一个接口,那么连接变得更加简洁而不易出错,后续添加新的信号更简便,接口也便于重用。

driver :将激励驱动到DUT

monitor检测DUT的输出

scoreboard :用于比较输出与预期值

scoreboard上有与DUT相应的参考模型,反映了DUT的预期行为。如果DUT的输出和参考模型的输出不匹配,则设计中存在功能缺陷。

environment :包含以上所有的组件,便于复用

test :可以包含不同配置的环境

因此,为了验证DUT这份RTL代码,验证要做的事是:

1)了解 spec ,即代码的规格说明书,有结构模型、功能描述、信号端口、寄存器定义等,它是设计和验证对接工作的桥梁。

2)制定 testplan ,一个完整的验证计划需要考虑的东西有很多,它为后续工作的进行提供了方向。

3)构建 testbench ,根据具体验证需求选择相应的组件,搭建出尽量可重用的验证环境。

4)编写 testcase ,根据之前定制的验证计划,coding相应的测试用例, debug fail case ,把全部case调试至 pass

5)收集 coverage ,跑regression回归,根据覆盖率来决定是否加case,直到满足RTL freeze要求。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 寄存器
    +关注

    关注

    31

    文章

    5317

    浏览量

    120001
  • RTL
    RTL
    +关注

    关注

    1

    文章

    385

    浏览量

    59696
  • DUT
    DUT
    +关注

    关注

    0

    文章

    189

    浏览量

    12337
收藏 人收藏

    评论

    相关推荐

    在TP芯片上开发的软件想要运行在同型号的TE芯片上,需要做什么修改吗?

    嗨,请教个问题,如在TP芯片上开发的软件想要运行在同型号的TE芯片上,需要做什么修改吗?
    发表于 02-01 08:01

    基于VMM的验证环境的验证MCU指令实现设计

    1 简介 随着设计的复杂程度不断增加,要求把更多的资源放到验证上,不但要求验证能够覆盖所有的功能,还希望能够给出大量的异常情况来检查DUT对应异常的处理状态,这在传统测试方法下往往是难以实现的。此外
    发表于 07-01 08:15

    基于VMM验证方法学的MCU验证环境实现方法介绍

    1 简介随着设计的复杂程度不断增加,要求把更多的资源放到验证上,不但要求验证能够覆盖所有的功能,还希望能够给出大量的异常情况来检查DUT对应异常的处理状态,这在传统测试方法下往往是难以实现的。此外
    发表于 07-03 07:40

    请问怎么测量DUT的S参数?

    您好技术专家,我打算测量DUT的S参数。我的DUT是一块非常薄的材料,将夹在一对波导之间。由于传输介质是波导,我不能使用默认的calkit。因此我使用了TRL校准方法。我读过很多关于TRL校准的技术
    发表于 08-19 13:24

    IC验证"UVM验证平台"组成(三)

    (scoreboard,也被称为 checker,本书统一以scoreboard来称呼)。既然是判断,那么牵扯到两个方面:一是判断什么,需要把什么拿来判断,这里很明显 是DUT的输出;二是判断的标准是什么。验证平台要收集
    发表于 12-02 15:21

    验证DSO上的mdio写周期信号,需要做什么设置?

    我已经配置了 MDI 和 MDIO 引脚,想验证 DSO 上的 mdio 写周期信号。那么除了 MDC 和 MDIO 管脚配置之外还需要做什么设置。我需要初始化 MDC 时钟吗?MDC时钟需要
    发表于 01-09 08:10

    基于基带处理芯片的应用RVM验证方法的注意事项与技巧

    测试层用于对DUT的逻辑功能进行验证。这一层主要是用户为了验证DUT的逻辑功能而编写的不同测试例,在测试例中可以对各个模块的限制条件进行修改。通过对不同测试例运行结果的统计,可以查看
    的头像 发表于 03-22 15:27 2246次阅读
    基于基带处理<b class='flag-5'>芯片</b>的应用RVM<b class='flag-5'>验证</b>方法的注意事项与技巧

    DUT输入定向或随机的激励

    TestBench即测试平台,是为了检验待测设计(design under test,DUT)而搭建的验证环境。
    的头像 发表于 02-24 17:19 957次阅读
    对<b class='flag-5'>DUT</b>输入定向或随机的激励

    DUT 和 testbench 连接教程

    我们知道,不论是哪一级的验证,最终都是通过 pin 连接到 DUT 上向其施加激励,**对于 UVM 验证平台中,使用虚接口来实现 DUT验证
    的头像 发表于 03-21 11:20 1462次阅读

    UVM验证平台顶层有什么作用

    因为DUT是一个静态的内容,所以testbench理应也是静态的,其作为uvm验证环境和DUT的全局根结点。
    的头像 发表于 03-21 11:33 1262次阅读

    基于UVM验证环境开发测试流程

    验证环境用户需要创建许多测试用例来验证一个DUT的功能是否正确,验证环境开发者应该通过以下方式提高测试用例的开发效率
    的头像 发表于 06-09 11:11 942次阅读
    基于UVM<b class='flag-5'>验证</b>环境开发测试流程

    验证组件配置参数

    一些典型 的 验证组件 配 置参数示例:  一个agent可以被配置为 active 或者 passive 模式。在active模式下agent驱动DUT,在passive模式下agent被动地检查
    的头像 发表于 06-14 10:20 583次阅读
    <b class='flag-5'>验证</b>组件配置参数

    验证环境获取DUT内部信号的方法

    在UVM寄存器模型的操作中,寄存器用于设置DUT状态和芯片状态信息的上报,有前门和后门读写两种方式。
    的头像 发表于 08-19 09:50 868次阅读
    <b class='flag-5'>验证</b>环境获取<b class='flag-5'>DUT</b>内部信号的方法

    芯片验证模块划分

    任何芯片需要芯片划分成更便于管理的小模块/特性进行验证
    的头像 发表于 10-07 14:41 605次阅读

    北京清微智能科技有限公司发布IC验证新方法,实现双DUT验证

    清微智能在本周宣布新型专利“一种IC验证中实现双DUT验证的方法”已于今年3月获批。该项专利内容由该集团独立研究,申请日期优先于2024年3月26日。
    的头像 发表于 04-08 10:07 518次阅读
    北京清微智能科技有限公司发布IC<b class='flag-5'>验证</b>新方法,实现双<b class='flag-5'>DUT</b><b class='flag-5'>验证</b>