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

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

3天内不再提示

对DUT输入定向或随机的激励

ruikundianzi 来源:ICer消食片 2023-02-24 17:19 次阅读

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画的,不是很专业):

poYBAGP4gU-ABHOdAACrbVBCofc436.jpg

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 failcase,把全部case调试至pass

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





审核编辑:刘清

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

    关注

    1

    文章

    382

    浏览量

    59153
  • DUT
    DUT
    +关注

    关注

    0

    文章

    184

    浏览量

    12018

原文标题:芯片验证需要围绕DUT做什么?

文章出处:【微信号:IP与SoC设计,微信公众号:IP与SoC设计】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    定向耦合器的应用

    的抗干扰性测量杂散测量在射频测试和测量系统中,经常可以见到下图所示的电路。如果DUT (被测器件设备)是接收机,则通过定向耦合器的耦合端可以向接收机注入一个邻道干扰信号,再通过接在
    发表于 01-23 09:53

    如何对Linux Bash输入输出重定向

    Linux - Bash - 输入输出重定向
    发表于 04-27 09:01

    如何在各种可能的激励情况下判断出不符合硬件描述的行为

    合法和非法的。按照这个主要原则,我们在产生激励时可以参考以下几点:接口类型:对于DUT来说,可以把所有的输入输出信号划分为不同的接口类型,根据该接口类型的特性构造对应的组件来产生激励
    发表于 02-16 14:23

    如果未定义为PULLUPPULLDOWN,则输入引脚为浮动引脚?

    只是想设计一个需要高电阻值分压器的电路。如果我没有将输入定义为 PULLUP PULLDOWN,输入引脚会默认被上拉下拉,还是只是浮动?
    发表于 03-01 06:05

    如果在DUT输出端加大衰减器后怎样使用矢量网络分析仪进行校准和测试?

    激励信号从DUT的输出端反射回来之后,先经过外接的定向耦合器20dB的,再经过衰减器30dB的衰减之后,不经过网络仪内部的定向耦合器直接输入
    发表于 03-22 11:43

    如何使用矢网PA测量S11、S21和饱和功率呢?

    的测试方法  图2.1 DA直接驱动PA的简单测试方法  当网络分析仪激励源所提供的输入功率低于DUT输入需要的Pin时,有必要在PA之前通过前置DA(Drive Amplifier)
    发表于 03-22 14:39

    SystemVerilog中的随机激励

    随着集成电路的验证工作日渐复杂,对验证的可靠性提出了越来越高的要求。传统的验证工作中也使用随机激励以便减轻测试代码编写的工作量,以提升验证的可靠性。在SystemV
    发表于 12-14 10:55 14次下载

    XTR101电流激励的桥输入电路图

    XTR101电流激励的桥输入电路图
    发表于 06-27 16:28 410次阅读
    XTR101电流<b class='flag-5'>激励</b>的桥<b class='flag-5'>输入</b>电路图

    XTR101有激励的桥输入电路图

    XTR101有激励的桥输入电路图
    发表于 06-27 16:37 494次阅读
    XTR101有<b class='flag-5'>激励</b>的桥<b class='flag-5'>输入</b>电路图

    System Verilog中的随机激励

    在SystemVeri log更强调了利用随机激励函数以提高验证代码的效率和验证可靠性的重要性。本文以VMM库为例,阐述了如何在SystemVeri 1og中使用随机化函数来编写高效率的测试代码,重点介
    发表于 04-01 15:03 30次下载
    System Verilog中的<b class='flag-5'>随机</b>化<b class='flag-5'>激励</b>

    基于System Verilog中的随机激励

    基于System Verilog中的随机激励
    发表于 10-31 09:25 9次下载
    基于System Verilog中的<b class='flag-5'>随机</b>化<b class='flag-5'>激励</b>

    通用可配置的数据激励器设计方案

    针对数据激励生成器中定向激励随机激励生成技术耗时长、跨平台使用时工作量大的问题,结合自主数据激励
    发表于 06-09 11:10 4次下载

    各种激励信号的对比与选择

    周期随机激励信号也是感兴趣频带内的一组频率谱线通过傅立叶逆变换到时域,产生激励信号的一种激励技术。
    的头像 发表于 01-18 17:17 7224次阅读
    各种<b class='flag-5'>激励</b>信号的对比与选择

    DUT 和 testbench 连接教程

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

    随机数和真随机数的区别是什么呢?

    随机验证中的随机其实都是基于伪随机发生器的,即每次都使用一个唯一的种子生成相应的激励
    的头像 发表于 04-17 10:12 3380次阅读