路科验证(Rocker IC)专注于验证系统思想和前沿工程资讯,拥有一支活跃的技术原创团队,著有《芯片验证漫游指南》一书,致力为高校微电子相关专业学生与IC从业人员提供技术食粮。 您可以在手机移动端同步关注微信订阅号“路科验证”或是登录网页www.rockeric.com了解更多资讯。如果您需要联系我们,请发送邮件至 rocker.ic@vip.163.com 。

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

上一篇 / 下一篇  2018-06-10 13:46:04 / 个人分类:验证系统思想

尽管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的用户们来说,都是一件好事。


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



TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

路科验证

路科验证

路科验证(Rocker IC)专注于验证系统思想和前沿工程资讯,拥有一支活跃的技术原创团队,为高校微电子相关专业学生与IC从业人员提供技术食粮。 您可以在手机移动端同步关注微信订阅号“路科验证”。如果您需要联系我们,请发送邮件至 rocker.ic@vip.163.com 。

日历

« 2018-10-19  
 123456
78910111213
14151617181920
21222324252627
28293031   

数据统计

  • 访问量: 172572
  • 日志数: 248
  • 建立时间: 2016-06-25
  • 更新时间: 2018-09-10

RSS订阅

Open Toolbar