打印
[技术讨论]

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

[复制链接]
554|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
[color=rgba(0, 0, 0, 0.75)]

原文链接:https://zhuanlan.zhihu.com/p/345775995


大家好,我是一哥,上章内容主要讲述两个内容,芯片验证以及验证计划。


那本章我们主要讲述的内容有介绍什么是uvm?uvm的特点以及uvm为用户提供了哪些资源?


什么是uvm呢?


uvm是通用验证方法学的缩写,是为验证服务的,uvm是基于systemverilog语言来实现的,因此,在学习uvm之前,应当对systemverilog语言比较熟悉。


uvm的特点?


uvm之所以被验证工程师所青睐,是因为它有许多优点,为验证工程师提供了一个标准的验证平台的模板,所有基于uvm验证平台都具有极为相似的结构,这不仅为验证工程师们在搭建平台结构上省去了不少时间,而且在使用其他工程师提供的uvm平台时显得得心应手。


uvm为用户提供了一个标准的验证平台的模板,因此,所有基于uvm验证平台都具有极为相似的结构,这使得验证工程师不再为构建平台的结构上花去过多的时间,可以把精力集中放在事物级建模以及结果的分析上。


另外,由于不同项目的平台的结构和使用方法基本相同,这就为多个验证工程师之间的沟通交流提供了方便,uvm为验证工程师提供了一套完美的库文件,验证工程师只需要对这些库文件进行扩展即可建立自己的验证平台。源码库包含了丰富的内容,可以满足验证工程师绝大部分的需求,激励可以在有约束的情况下随机产生。


那么,相对于定向测试来说,每一项测试呢对应了一组固定的激励,所以说定向测试效率及其低下,随机激励可以使仿真器产生多种不同的激励,是不仅减少了验证工程师的工作量,而且测试还会覆盖到意想不到的地方,而约束的加入又使得随机会在一定范围内产生,减少无用的激励,提高效率。


支持覆盖率驱动模式,根据当前覆盖率的情况,验证工程师可以决定下一步的验证内容,当覆盖率达到了一定的要求时,就可以宣告验证工作的完成。uvm验证平台,它具有很高的可重用性。可以在不改变平台代码的基础上改变平台的行为,以产生不同类型的激励。平台可以在不同的验证工程之间进行移植,善于利用uvm提供的各种机制。可以使验证平台具有极强的可重用性。


uvm为用户提供了哪些资源?


uvm的基础是一个源码库,这个源码库为用户提供了各种各样的资源,uvm拥有一套自己的验证理念,验证工程师的编程提供了指导,同一个uvm验证平台可以不经过代码修改即可实现多种测试验证,比如错误的将激励驱动给dut。


功能覆盖率是评判验证工作进度的标准,验证工程师可以根据当前的覆盖率的情况来确定下一步的验证工作,那么,uvm内建了许多机制,uvm的工程机制可以实现在不改变原代码的情况下实现对象的替换,比如替换driver来实现不同的驱动行为。


信息服务机制可以设在验证工程师方便的显示出所需要的信息,config机制可以方便的实现对象的替换以及变量的改变,phase机制控制了整个验证平台的执行流程,验证工程师只需要将代码写入适当的phase当中,平台运行时,会按照phase的执行流程来自动执行验证工程师的代码。


uvm提供了一系列的基类,验证工程师需要根据实际的情况扩展出合适的类来构建自己的验证平台,uvm的事物级建模方便了工程师对事物进行建模,uvm的tlm通信机制方便实现各个组件之间的数据通信,使用uvm提供的宏可以方便的进行各种操作,比如实现factory机制,file的outomatic机制等等,uvm将许多流程格式化,标准化,每个基于uvm的验证平台,它的结构都大同小异,这使得验证平台具有极强的重用性。


本章内容就介绍到这里!!!


未完(待更)…




使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

24

主题

26

帖子

1

粉丝