0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

智能跟踪SoC验证进度的方法

VIBT_dputech 来源:大普微 作者:大普微 2021-03-28 10:52 次阅读

随着芯片技术的不断发展,特别是芯片工艺水平的提升,芯片规模越来越大,这也为芯片逻辑功能验证带来了很大的挑战。如何保证产品上市时间(TimetoMarket),快速完成功能验证和达成较高的覆盖率,已成为验证进程管理的棘手问题。本文主要跟小伙伴们聊一聊智能跟踪SoC验证进度的方法。

EDA工具两大巨头Synopsys和Cadence都有自己的验证计划工具,分别是Synopsys公司的VerificationPlanner和Cadence的vmanager,两者各有千秋。今天我们主要针对的是Synopsys的层次化验证计划工具。该工具采用自定义的描述语言HVP(Hierarchical Verification Plan),层次化地描述验证计划,并在验证计划的实施过程中,通过测试数据结果,反标回验证计划,根据产生相应的状态报告,可以有效地追踪验证的整个进程。其基本流程如图1所示。

3efeea52-8eb9-11eb-8b86-12bb97331649.png

图1:HVP基本流程

该流程需要验证人员首先编写验证计划,验证计划通常需要Synopsys提供的另一种工具Verdi或DVE编辑HVP文件,或者直接采用office工具Excel编辑XML格式文件。在项目验证计划中会包含测试计划、功能覆盖率计划、断言覆盖计划、代码覆盖率计划等等。下面将介绍HVP是如何编写来映射我们上述提到的各种计划的。

验证计划有自己的.hvp格式,如图2 HVP描述示例。该文件可以比较容易的通过Verdi生成模板。

3f508cfe-8eb9-11eb-8b86-12bb97331649.png

图2:HVP描述示例

当然,如果你比较钟爱Excel,那么可以用命令将hvp计划文件转换成XML格式:

hvpgenxls–planmy_plan.hvp –lca

这样就可以用Excel打开生成的如my_plan.hvp.xml文件了,如图3所示。

3fb2c6d0-8eb9-11eb-8b86-12bb97331649.png

图3:ExcelXML格式验证计划

从图3中可以看出,测试项填在feature列,分层计划一方面就体现在feature是分级的,C列feature为B列的子feature。另一方面体现在plan可以include子plan,如图4中include列即为myplan包含了cache_plan。带有value关键字列表示测试项完成度情况,而带有measure关键字列则表示对应测试项如何衡量,也即我们所提的如代码覆盖率,功能覆盖率,断言覆盖率了。如图5中“measure snps.source”列中,group关键字表征功能覆盖率,property关键字表征断言覆盖率,tree关键字则表征代码覆盖率。

4014d5dc-8eb9-11eb-8b86-12bb97331649.png

图4:包含子plan示例

409408a2-8eb9-11eb-8b86-12bb97331649.png

图5:包含代码代码覆盖率、功能覆盖率和断言覆盖率的plan示例

好了,我们的验证计划完成了,下一步就要开发测试用例并作回归测试。所有测试用例运行完成后,仿真工具VCS会收集这些覆盖率并输出数据库。此外,当然我们也希望会收集测试用例是pass还是fail的信息,作为反标信息的用户自定义输入信息。有了这些数据,通过反标工具就可以看到验证报告了,运行如下命令:

hvpannotate –plan my_plan.hvp.xml –dir *.vdb –userdata *.hud

可以得到my_plan.hvp.ann.xml文件,类似如图6所有的形式。

4125b0f4-8eb9-11eb-8b86-12bb97331649.png

图6:反标后的hvp计划示例

写到这里,我们的验证工程师们确实被这种可视化的、自动化的验证计划管理惊艳到了。整个验证跟踪过程被自动化,既保证了跟踪的准确性,也避免了工程繁琐的管理和手工劳动。重要的一点是,老大再问起验得咋样了,我们就可以以数据说话:“老大,就一个功能覆盖点没覆盖到了,你看。”领导满意的点点头:“嗯,小伙子不错,年轻有为!”

但是,我们的工程师们也注意到了,填写功能覆盖率计划的时候,要从我们测试平台中找出covergroup或coverpoint的层次路径,如图5中的group instance和group bin。这个可麻烦了,有没有好的方法不去写层次路径,只写coveragegroup和coverpoint名呢?这个难不倒我们的技术牛们,他们创造了一个新的HVP流程,如图7所示。一个新的HVP模板如图8所示,让验证人员只需要填写class.covergroup[.coverpoint[.bin]]这样格式的命名来表征当前feature或子feature由哪个covergroup和coverpoint覆盖测试,然后运行我们开发的工具xhvp,可以输出最终的hvp文件和用Systemverilog语言描述的function coverage类声明文件了。通过上述的步骤,我们的技术牛把function coverage的代码都生成好了,对验证人员真是无比的体贴,大大减轻验证人员的负担。当然也大大提高验证评审的效率,从而加快项目验证进度。

41b33c3a-8eb9-11eb-8b86-12bb97331649.png

图7:新的HVP流程

4222b650-8eb9-11eb-8b86-12bb97331649.png

图8:HVP模板计划页示例

至此,这套大杀器介绍完了,它在我们的DPU600芯片验证中已经被完美地使用。作为DapuStor业内首创的智能存储SoC芯片,基于最新的12nm FinFET工艺,即有业内领先性能的SSD主控功能,还集成了可计算存储,机器学习等高大上的特性,同时还拥有强大的功耗管理,晶体管数接近亿级,这么多强大的功能,其验证复杂度可想而知,得益于我们的HVP流程, DPU600芯片的逻辑验证顺利完成,而且一次流片量产成功,基于DPU600产品也即将面世,敬请期待哦!

原文标题:芯片验证管理,也能自动跟踪!

文章出处:【微信公众号:大普微】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    455

    文章

    50816

    浏览量

    423673
  • eda
    eda
    +关注

    关注

    71

    文章

    2759

    浏览量

    173275

原文标题:芯片验证管理,也能自动跟踪!

文章出处:【微信号:dputech,微信公众号:DapuStor】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    激光焊缝跟踪器与传统焊缝检测方法的对比

    在焊接自动化的推动下,焊缝检测技术逐渐成为焊接质量控制的重要环节。传统的焊缝检测方法在一定程度上满足了生产需求,但随着工业应用对精度和效率要求的提升,激光焊缝跟踪器逐渐成为一种更具竞争力的解决方案。今天一起了解激光焊缝跟踪器与传
    的头像 发表于 11-28 16:47 157次阅读
    激光焊缝<b class='flag-5'>跟踪</b>器与传统焊缝检测<b class='flag-5'>方法</b>的对比

    视频目标跟踪从0到1,概念与方法

    视觉目标跟踪的挑战和算法模型,最后,我们将介绍最流行的基于深度学习的目标跟踪方法,包括MDNET,GOTURN,ROLO等。本文希望你
    的头像 发表于 11-20 01:06 311次阅读
    视频目标<b class='flag-5'>跟踪</b>从0到1,概念与<b class='flag-5'>方法</b>

    SOC芯片在人工智能中的应用

    人工智能技术正在改变我们的生活和工作方式。从智能手机的语音助手到复杂的自动驾驶汽车,AI技术的应用无处不在。SOC芯片作为实现这些技术的关键硬件,集成了处理器、存储器、输入/输出接口等多种功能,为
    的头像 发表于 10-31 15:44 1008次阅读

    解锁SoC “调试”挑战,开启高效原型验证之路

    的需求。因此,高效的调试(Debugging)手段在原型验证中显得尤为重要。今天,我们将探讨设计调试的常见方法,涵盖从简单到复杂的多种调试。1.原型验证为什么重要
    的头像 发表于 10-09 08:04 725次阅读
    解锁<b class='flag-5'>SoC</b> “调试”挑战,开启高效原型<b class='flag-5'>验证</b>之路

    高抗噪性 电压跟踪

    电压跟踪
    jf_30741036
    发布于 :2024年09月29日 19:26:44

    避免智能手机应用 SOC 跳变的 TI 监测计方法应用说明

    电子发烧友网站提供《避免智能手机应用 SOC 跳变的 TI 监测计方法应用说明.pdf》资料免费下载
    发表于 09-12 10:49 0次下载
    避免<b class='flag-5'>智能</b>手机应用 <b class='flag-5'>SOC</b> 跳变的 TI 监测计<b class='flag-5'>方法</b>应用说明

    光学跟踪器接口连接方法有哪些

    光学跟踪器是一种用于测量和跟踪物体位置和运动的设备,广泛应用于航空航天、军事、机器人、虚拟现实等领域。光学跟踪器接口连接方法是指将光学跟踪
    的头像 发表于 08-29 18:26 629次阅读

    机器学习中的交叉验证方法

    在机器学习中,交叉验证(Cross-Validation)是一种重要的评估方法,它通过将数据集分割成多个部分来评估模型的性能,从而避免过拟合或欠拟合问题,并帮助选择最优的超参数。本文将详细探讨几种
    的头像 发表于 07-10 16:08 1151次阅读

    Silicon Labs蓝牙SoC BG27荣获2024年资产跟踪产品奖

    Silicon Labs(亦称“芯科科技”)的BG27蓝牙SoC近期荣获IoT Evolution World网站举办的2024年资产跟踪产品奖(2024 IoT Evolution Asset
    的头像 发表于 06-18 16:38 620次阅读

    大规模 SoC 原型验证面临哪些技术挑战?

    引言随着电子设计自动化(EDA)验证工具的重要性日益增加,开发者们开始寻求减少流片成本和缩短开发周期的方法。其中,使用可编程逻辑芯片(FPGA)来构建有效的验证流程成为一种流行的解决方案,这种
    的头像 发表于 06-06 08:23 1164次阅读
    大规模 <b class='flag-5'>SoC</b> 原型<b class='flag-5'>验证</b>面临哪些技术挑战?

    SOC的多种计算方法

    SOC的多种计算方法
    的头像 发表于 06-05 09:34 2113次阅读
    【<b class='flag-5'>SOC</b>的多种计算<b class='flag-5'>方法</b>】

    【AWTK使用经验】如何设计立体电池进度条?

    AWTK是基于C语言开发的跨平台GUI框架。《AWTK使用经验》系列文章将介绍开发AWTK过程中一些常见问题与解决方案,例如:如何加载外部资源?如何设计自定义进度条?这些都会在系列文章进行解答
    的头像 发表于 04-18 08:25 456次阅读
    【AWTK使用经验】如何设计立体电池<b class='flag-5'>进度</b>条?

    北京清微智能科技有限公司发布IC验证方法,实现双DUT验证

    清微智能在本周宣布新型专利“一种IC验证中实现双DUT验证方法”已于今年3月获批。该项专利内容由该集团独立研究,申请日期优先于2024年3月26日。
    的头像 发表于 04-08 10:07 575次阅读
    北京清微<b class='flag-5'>智能</b>科技有限公司发布IC<b class='flag-5'>验证</b>新<b class='flag-5'>方法</b>,实现双DUT<b class='flag-5'>验证</b>

    Versal自适应SoC系统集成和 确认方法指南

    电子发烧友网站提供《Versal自适应SoC系统集成和 确认方法指南.pdf》资料免费下载
    发表于 01-03 10:48 0次下载
    Versal自适应<b class='flag-5'>SoC</b>系统集成和 确认<b class='flag-5'>方法</b>指南

    UVVM(通用 VHDL 验证方法

    UVVM(通用 VHDL 验证方法) 简介 UVVM(通用 VHDL 验证方法)是一种免费的开源方法和库,用于开发非常结构化的基于 VHD
    发表于 01-02 12:59