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

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

3天内不再提示

探讨一下在UVM中典型的验证平台

冬至子 来源:不二鱼 作者:不二鱼 2023-06-15 18:12 次阅读

验证平台顾名思义就是为了验证而存在的。普通意义上来说,如果是IP验证,当验证人员拿到设计的某模块的RTL代码(DUT,Design Under Test),设计文档之后,就会根据文档,基于自己的理解去着手写验证计划,提取功能点,准备搭建验证平台(其实大多数情况下,是迭代上一代的验证平台),开始写验证的case(成熟的公司也很可能是继承上一代的验证case,进行改动或者增加)。所以,验证平台可以看做是一个“测试机器”,专门是为了测试RTL代码以及功能的正确性,找出其中“躲藏”的bug,千里之堤溃于蚁穴,芯片的流片失败,可能只是其中的一个小小bug。

形象一点来说,RTL代码你可以想象成一根弯弯绕绕的水管,现在的情况是,你不知道这根水管通不通,能不能顺利的把水从这头送到那头。那怎么办,找另一根有水的管子,和这根管子接上,再观察这根管子的出口有没有水出来即可。同样的道理,验证平台就相当于一根有水的管子,把它和DUT的输入端口(input)连起来就可以了,这个“水”就相当于激励。

为了找出bug,我们就需要这样一个测试平台,能够发送激励,也就是数据(data),对代码进行检验,为什么要叫做激励,我想,可能是想激励DUT努力工作吧。这里就涉及到激励发生器。比如说,我们要验证一个加法器。加法器都知道,它的功能就是实现a+b=c,这样的运算。激励发生器负责产生a和b的值,DUT负责运算出c的值,验证平台通过对照c的值来判定DUT的代码是否正确。

上面这段描述,就涉及UVM里面几个重要的知识点:

· Driver,负责产生,发送激励(后面会将产生和发送分开);

· Scoreboard就像是一个质检员,负责把样品和合格品进行对比;

· monitor负责进行数据收集、以及发送给scoreboard;

· 正确与否我们需要一个参照,这个就是所谓的reference model。

这四个部分就可以组成UVM中简单的验证平台,如图所示:

图片

但是有一天,driver说我不干了,我干的事情太多了。所以,就要把driver的功能进行拆分,俗话说,术业有专攻嘛,driver就负责发送激励,而不再产生激励。把功能拆分之后,另一个好处就是,复用程度更高。针对不同的case,往往只是激励的不同,拆分之后,我们不再需要每次都改变driver。如此一来,这么一拆分,就有了UVM中,经典的验证平台,如下图所示。

图片

有的同学可能会说,怎么没有sequence?请记住,sequence不属于验证平台的任何一个部分。在这个经典的验证平台中,其实是没有产生激励的部分了。这就相当于,你给DUT这根管子接了一根没水的新管子,你需要在这根新管子上再接一根有水的管子。这样的好处是什么呢,还是复用。这样,你的验证平台就不需要怎么改动了,只要每次去切换那根有水的管子,也就是sequence。在实际的工作当中,针对一个项目,会有很多很多的sequence,但是验证平台的组件,基本上对于一个项目来说,是不动的。

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

    关注

    1

    文章

    377

    浏览量

    59077
  • UVM
    UVM
    +关注

    关注

    0

    文章

    181

    浏览量

    18974
  • DUT
    DUT
    +关注

    关注

    0

    文章

    182

    浏览量

    12001
  • sequence
    +关注

    关注

    0

    文章

    23

    浏览量

    2808
收藏 人收藏

    评论

    相关推荐

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

    model)。个简单的验证平台框图:UVM,引入了agent和sequence的概念,因
    发表于 12-02 15:21

    IC验证"个简单的UVM验证平台"是如何搭建的(六)

    main_phase的声明,有uvm_phase类型的参数phase,真正的验证平台
    发表于 12-04 15:48

    IC验证"UVM验证平台加入factory机制"(六)

      加入factory机制 上节《IC验证"个简单的UVM验证平台"是如何搭建的(五)》给出
    发表于 12-08 12:07

    IC验证UVM验证平台加入objection机制和virtual interface机制“(七)

    在上,**《IC验证"UVM验证平台加入factory机制"(六)》**虽然输出了“mai
    发表于 12-09 18:28

    基于C的测试和验证套件集成到常规UVM测试平台的方法

    Systemverilog [1]和 UVM [2]为验证团队提供结构和规则。它使得许多测试能获得致的结果,并可以
    发表于 12-15 07:38

    数字IC验证之“什么是UVM”“UVM的特点”“UVM提供哪些资源”(2)连载...

    搭建平台结构上省去了不少时间,而且使用其他工程师提供的uvm平台时显得得心应手。uvm为用户
    发表于 01-21 16:00

    数字IC验证之“典型UVM平台结构”(3)连载...

    。  我们个直观的印象,就是uvm验证平台,它是分层的结构。图中的每个巨型框都代表着平台
    发表于 01-22 15:32

    数字IC验证之“构成uvm测试平台的主要组件”(4)连载...

      大家好,我是哥,上章典型uvm验证平台应该是什么样子的?从本章开始就正式进入
    发表于 01-22 15:33

    数字IC验证之“搭建个可以运行的uvm测试平台”(5)连载...

    的transaction,以及创建用于产生事物的事物发生器sequence。  uvm验证平台中穿梭各个组件之间的基本信息单元是个被称为
    发表于 01-26 10:05

    请问一下在AVRPIN的含义是什么?

    请问一下在AVRPIN的含义是什么?
    发表于 10-29 07:06

    什么是uvmuvm的特点有哪些呢

    直观的印象,就是uvm验证平台,它是分层的结构。图中的每个巨型框都代表着平台个构成元素。这
    发表于 02-14 06:46

    请问一下在UVM的UVMsequences是什么意思啊

    。往往我们书写测试用例或者sequences的时候会有查询验证平台组件uvm_component的需求,比如env/driver/monitor。由于sequences不是测试
    发表于 04-11 16:43

    基于UVM的CPU卡芯片验证平台

    基于UVM的CPU卡芯片验证平台_钱一文
    发表于 01-07 19:00 4次下载

    基于UVM验证平台设计研究

    基于UVM验证平台设计研究_王国军
    发表于 01-07 19:00 4次下载

    数字IC验证之“典型UVM平台结构”(3)连载中...

    大家好,我是一哥,上章内容我们介绍什么是uvmuvm的特点以及uvm为用户提供了哪些资源?本章内容我们来看一看一个典型uvm
    发表于 12-09 13:36 7次下载
    数字IC<b class='flag-5'>验证</b>之“<b class='flag-5'>典型</b>的<b class='flag-5'>UVM</b><b class='flag-5'>平台</b>结构”(3)连载中...