注册 登录
ET创芯网澳门十大网上博彩公司(EETOP) 返回首页

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

日志

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

已有 742 次阅读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

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

关闭

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

小黑屋|手机版|Archiver|ET创芯网 ( 京ICP备:10050787号 京公网安备:110105001212 )

GMT+8, 2019-4-22 01:13 , Processed in 0.030890 second(s), 9 queries , Redis On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

返回顶部
博评网