路科验证的个人空间 https://blog.eetop.cn/1561828 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

UVM:灵活性的价值

已有 1451 次阅读| 2016-11-6 21:47 |个人分类:验证前沿资讯|系统分类:芯片设计

UVM已经成为验证方法学的主流,代表了验证方法学的发展方向。但是从创新性和价值来看,UVM缘何成为ASIC和FPGA验证中,最先进的验证方法呢?所以我想,如果花上一点点时间回顾一下UVM的关键概念,可能会对我们都有帮助。即使对于一些已经使用UVM多年的人,可能也会意识到,UVM真的很酷。
UVM鼓励工程师创建模块化、可复用、随机的自检测试平台。当然这些特性都是相互关联的,例如,模块化是验证平台复用的关键。UVM通过TLM(transation-level modeling)接口提升其模块化的性能。在“调用”端和“执行”端通过接口来实现一些抽象相连。UVM的每个组件对与其相连的组件的内部细节都完全不用在意。这种抽象连接关系在squence和driver之间常用。如下图,是squence和driver之间的连接关系图。
很多UVM机制的细节,也被sequencer的执行隐藏起来,所以用户看到的相互作用关系是非常简单的。下图Sequence-Driver API示意。
Driver里的“drive_item2bus(req)”调用很好用。很多情况下,这个调用可能是driver内的一个task,这个task操控virtual interface里的信号。下面是这种调用的简单示例。
只需要在driver里调用了get_next_item()和item_done(),环境中很多其他部分的一些操作就被隐藏起来。
当考虑仿真的时候,这种设置的价值就凸显出来了。在这种情况下,task可以存在于interface内部,而接口可以存在于任何地方。对于仿真,接口在协议模块内部被实例化,协议模块包含了一些其它的特定协议信息。下图是这种情况的一个示例。
仔细看UVM Cookbook的话,你能找到很多诸如此类的,关于如何建立自的的环境的使用方法。
基于Squence和driver之间的TLM接口极高的灵活性,UVM用户复用tests和sequences时也非常灵活。所有这一切,只需要一种机制,允许在一个单一的环境中实例具有相同接口的不同组件,而无需更改代码。这就是UVM提供的factory机制了。
UVM方法非常灵活,对验证方法的实现也很巧妙,大概这就是UVM推出后一直保持其活力,广受欢迎的原因吧。

点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 253

    粉丝
  • 25

    好友
  • 33

    获赞
  • 45

    评论
  • 访问数
关闭

站长推荐 上一条 /1 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-25 13:02 , Processed in 0.011422 second(s), 12 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部