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

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

日志

从参数、UVM、覆盖率、仿真来详解IP复用

热度 1已有 3928 次阅读| 2016-9-11 16:50 |个人分类:验证前沿资讯

半导体工艺技术和FPGA平台继续扩大了工程师可利用的晶体管和门的数目。而要利用这个增加的容量,而且为了及时争取市场窗口,要仍然跟上紧迫的项目时间表,在这种情况下,唯一方法是通过使用已有的IP。因此,IP复用对半导体工业的扩张至关重要。本文将从参数,UVM,覆盖及仿真方面介绍验证可复用的IP。

一、参数、UVM和仿真
A. UVM配置空间
OVM配置空间只允许字符串,整数类型和对象句柄。这个限制意味着如果配置信息不是一个字符串或整数,它必须被包裹在一个对象中被放置到配置空间,UVM没有这方面限制,从而提供了更大的灵活性。然而,即使增加了灵活性,好的做法还是一起使用对象和组配置属性。
B. 参数化测试
在OVM和UVM中,类通过factory机制注册以能够方便的创建和潜在替代,并且同时提供基于类型和基于字符串的机制来维持注册类的列表。UVM中调用类的语法为<class_name>::type_id::create() ;参数话的类在注册时语法为 `uvm_component_param_utils() ; run_test()选择测试实例运行时使用了基于字符串的factory机制。

当定义一个以上的参数化测试时(这是常有的情况),每个参数化测试必须专门在hvl_top模块中用typedef专有化声明。作为替代,标准+ UVM_TESTNAME机制可以用来选择来自命令行的参数,所使用的名称是传递给uvm_component注册表的第二个参数。

C. 递归吞吐量优化
在协同仿真中一种可能的选择是利用`defines来控制参数值,随着使用模拟器(emulator),这意味着重新启动两项编译流程,一个用于模拟器侧,一个用于仿真器侧,如图1:
这样做的代价是每改变一个参数,都得全面重新编译,耗费时间。一个替代方案是使用由工具供应商提供的开关,大多数工具允许在优化/ HDL编译时指定参数值。这意味着,编译HVL代码和分析HDL代码只必须做一次。这是潜在的显著节省时间的,如图2:
不管选择使用`defines或工具开关,多次运行应该以每次迭代编译流程方式执行,如图3:

D. 参数化虚拟接口
如果设计端口的总线大小由一个参数控制,测试平台还需要理解任何总线大小的变化,以便能够让设计正常通信。基于SystemVerilog的测试平台通常使用虚拟接口处理端口到设计电路的连接。因此,这些接口还需要进行参数化和参数值共享。接口代码示例如下:
E. 参数传递
能使用所有参数,并将其传入测试平台的最简单的方法是使用三个宏,这三个宏如下所示:
第一个宏扩展成为测试平台的所有参数的定义;创建类型和句柄时使用第二个宏,这个宏包含从对象,模块或接口到在其内部创建的类型或句柄的所有宏的映射;第三个宏提供了一个字符串表示,这对创建消息非常有用。

二、参数、覆盖和仿真
A. 基于模块覆盖
在纯模拟环境中,一般不通过绑定整个设计和基于UVM-测试平台到一个存储空间来收集数据。设计在仿真器,而测试平台在服务器的内存上。得到覆盖数据的测试平台目前不是围绕指针传递的一个简单的事情,相反,整个覆盖数据必须从模拟器到仿真器,这会导致额外的减慢协同仿真的速度。为了消除此问题,一些覆盖数据现在应该也被转移到一个模块/接口,以便它可以被绑定到设计层次,并成为仿真的一部分。在共同仿真运行结束时,一个独立的覆盖数据传输将会发生,而不是整个模拟覆盖数据的传送。

三、参数和仿真
A.多种配置一起编译
当在参数化的IP级别工作时,设计通常会比一个仿真器的运算容量要小,一个自然的想法是这容量可以通过给予更多的验证运算量来充分利用。一种方法是在同一个顶层实例化多个不同参数化的IP,代码如下:
B.参数共享
当使用模拟器工作时,创建了两个顶层模块。它们之间怎么共享参数的呢?如上所述,可以使用 `defines 和工具开关。通常使用的另一个方法是将参数放到 SystemVerilog package,它可以让两个顶层共享和编译。

C.配置
在大多数情况下,模拟器(emulator)是一个共享资源,不是供应充足的,考虑到这一点,让仿真器尽可能运行验证是有利的。在Linux的服务器上,这通常是方便使用,因为在测试流程中,模拟器只是测试开始的时候布局硬件,而这之前的一切都是基于Linux的服务器上执行的软件。这导致预编译设计和测试平台可能有许多不同的配置,并让这些配置在合适时候起作用,准备在模拟器上运行。

总结:
随着不断推进建立更快的设计,验证参数化IP变得非常有价值。确保参数化IP的所有有效、可行的配置在尽可能短的时间被测试,从而极大有助于芯片开发中提高生产力和降低风险的总体目标。当具有完整的覆盖模式的现代化UVM测试平台与仿真结合时,他们提供了无与伦比的速度,因此参数化IP可以比以往更有效的被验证。

1

点赞

刚表态过的朋友 (1 人)

评论 (0 个评论)

facelist

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

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

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 253

    粉丝
  • 25

    好友
  • 33

    获赞
  • 45

    评论
  • 访问数
关闭

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

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

GMT+8, 2024-3-29 23:56 , Processed in 0.022542 second(s), 18 queries , Gzip On, Redis On.

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