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

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

日志

跨平台移植复用篇之二:PSS工具集概览(下)

已有 4673 次阅读| 2018-6-10 13:46 |个人分类:验证系统思想|系统分类:芯片设计

尽管PSS还未正式推出,而几家EDA公司早已经摩拳擦掌推出了各自的PSS工具,接下来我们看看市场上这些工具大致的特性吧。


MentorGraphics's inFact

PSS中的基于图形验证的场景描述方式就是从PSWG中MentorGraphics inFact 测试平台自动化工具得来的。inFact是一个基于图形的验证工具,利用它可以产生和引导测试激励,从而保证更好的测试复用性和覆盖率收敛。inFact可以替代或者集成已有的BFM(bus function model),使用一种特殊的图形算法,从而可以更快的完成覆盖率,减少没有覆盖的边界场景。下面的几幅图可以说明,利用inFact工具,可以替代原有的sequence,或者控制原有的sequence,或者将这两者组合,最终由inFact实现基于图形的验证方式。



inFact IDE(interactive development environment)是基于可扩展的Eclipse开发平台,我们在之前SV/UVM开发时介绍的工具套件DVE也是基于此平台。inFact通过自定义的多个组件可以构成项目文件、组织目录、编辑和创建新的文件。考虑到原有验证环境如何与inFact集成的情况,用户可以考虑:

  • 集成原有的UVM/OVM的验证组件到环境中

  • 新创建一个inFact测试组件


在完成了上面的步骤以后,用户可以接下来将inFact OVM/UVM序列集成到testbench中,从而可以使用图形来随机选择sequence,并且有方向地产生随机数更快地完成覆盖率收敛。最后,用户还可以基于图形来定义上面所提到的新型覆盖率,完成SL和TL两种级别的覆盖率定义和收集。


Cadence's Perspec

PSS模型(即用近似PSS语言来描述action、scenario)则是由Cadence Perspec提出的。Perspec工具可以读入PSS模型,而SL层的模型又可以映射底层的C、SV等语言块。


利用PSS模型,用户可以定义想要测试的场景。下图中的SoC系统中,各个模块的action都定义完备。用户则可以组合这些action模块,编码实现一个scenario。稍后,Perspec可以读入这些scenario,生成一个同类似UML图的scenario图。在这个图上可以很方便地全览到所有参与到场景中的scenario、可能的datapath等。


有了需要实现的scenario,Perspec会结合action和它们自有的参数,从而随机化数据和控制逻辑,生成一个独一无二的测试场景。类似于inFact,Perspec也可以穷举出各种可能的、符合场景要求的随机数据和控制逻辑,进而在不浪费资源的情况下尽快实现覆盖率。


下面是使用Perspec的流程:

  • 首先建立PSS模型(完善各个模块的action库)。

  • 定义scenario。

  • 由Perspec生成适用于各个平台的测试用例,例如Simulator上的SV/C test,emulator上适用的Ctest。

  • 利用生成的测试来在各个平台上运行。

  • 调试。


Breker's Trek系列

Breker这家公司,读者们也许不太熟悉,但如果说portable stimulus是由它们一开始提出的话,大家都会对它肃然起敬了吧。就同这家公司网站的口号一样“The leader in portable stimulus”一样,他们知道如何可以在EDA大公司的阴影下生存,而且他们的工具只聚焦到了portable stimulus,这就如同当年的SpringSoft的Debussy(Verdi)、Verisity的Specman(e)、Jasper的JasperGold一样,就靠在一条产品线中找到新的方向、市场还不满意还有提升空间的方向、或者市场需要却没有合适解决方案的方向。这一次,Breker也站住了,而且通过跟大公司的合作,退出了顺应市场需要的产品。


Breker提供了第一套portable stimulus的工具,从而可以由工具自动生成C/C++测试代码或者UVM序列,或者这两者的结合。如同上面的两个工具生成的测试代码,这些代码可以实现从不同测试级别的垂直复用,也可以使用不同测试平台的水平复用。



Breker提供的Trek工具系列中,TrekUVM和TrekSoC分别针对模块级的UVM测试和系统级的C/C++测试,而TrkeSoC-Si则类似于TrekSoC,但生成优化的更便于在emulator、FPGA等平台上执行的C/C++代码。


介绍完这三家公司的PSS工具,有的读者也许会有疑问,那么Synopsys呢?他们不准备加入这场有关下一代验证趋势的大party吗?其实早在2016的时候,Synopsys和Breker就联合声明,Breker的TrekBox就与Synopsys的Verdi形成无缝的调试方案,从而可以保证在Trek和Verdi之间自由切换,对于UVM测试可以更方便利用Verdi进行protocol调试和性能分析,而对于C/C++测试,则可以利用Verdi HW/SW调试来在系统层面调试功能或者性能的问题。这一切都听起来很自然,谁说不是呢?所以一个自然的猜想是,不久的将来,

Synopsys会向Breker提出收购要约,毕竟EDA行业的发展规则就是这样进行的。如果真如此,那么,三家EDA公司又是皆大欢喜,都可以在PSWG中投出自己的一票,就如同参与UVM制定一样。这对于EDA公司和PSS的用户们来说,都是一件好事。


谢谢你对路科验证的关注,也欢迎你分享和转发真正的技术价值,你的支持是我们保持前行的动力。



点赞

评论 (0 个评论)

facelist

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

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

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 253

    粉丝
  • 25

    好友
  • 33

    获赞
  • 45

    评论
  • 访问数
关闭

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

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

GMT+8, 2024-4-19 04:18 , Processed in 0.015093 second(s), 12 queries , Gzip On, Redis On.

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