我们从2011年坚守至今,只想做存粹的技术论坛。  由于网站在外面,点击附件后要很长世间才弹出下载,请耐心等待,勿重复点击不要用Edge和IE浏览器下载,否则提示不安全下载不了

 找回密码
 立即注册
搜索
查看: 2454|回复: 9

[零组件/半导体] 协同仿真可实现更好的IC测试

[复制链接]
  • TA的每日心情

    2024-9-29 10:35
  • 签到天数: 68 天

    [LV.6]常住居民II

    1万

    主题

    8193

    回帖

    5万

    积分

    三级逆天

    积分
    53625

    终身成就奖特殊贡献奖原创先锋奖金点子奖优秀斑竹奖宣传大使奖

    发表于 2019-5-2 07:10:19 | 显示全部楼层 |阅读模式
    虽然IC设计复杂性日益增加,但留给IC设计工程师的时间却没怎么变化。这迫使工程师加速所有相关流程。花费太多时间在测试上可能会错过产品及时面世的最佳时机,而花费太少时间可能会漏掉设计错误。随着我们转向更复杂的SoC设计,有效地利用测试时间变得越来越重要。有多种途径可以测试我们的设计,我们必须选择最佳方法来优化测试和花费的时间。仿真作为一种改善测试时间的方法优势突出,虽然方式并不简单。
    虽然IC设计复杂性日益增加,但但留给IC设计工程师的时间却没怎么变化。这迫使工程师加速所有相关流程。我所在的团队最近移植到一个仿真环境,以便测试过程更快、更有效。我想分享一些我们从中学到的经验。
    花费太多时间在测试上,可能会错过产品及时面世的最佳时机;而花费太少时间,可能会漏掉一些设计错误。到了掩模阶段才发现错误,可能要付出昂贵代价。制作一个7纳米(nm)掩模的最低成本现在约为1000万美元,这还是对比较小的IC而言。
    随着我们转向更复杂的SoC设计,有效地利用测试时间变得越来越重要。有多种途径可以测试我们的设计,必须选择最佳方法来优化测试和用时。仿真作为一种改善测试时间的方法,优势突出,虽然做起来并不简单。
    它需要我们在测试平台设置和设计过程中进行一些更改,包括SVA(SystemVerilog断言)中的一些修改。我们还确定了哪些类型的测试以及在仿真上运行测试的哪个级别的测试平台具有最好的投资回报率(ROI)。
    我们从概述开始,然后总结了一些代码示例,提供一些注意事项并给出了规划建议。我们将设计一个改进过的虚拟接口(Vif ++)以完成移植过程。在行业标准验证方法中,UVM作为一种虚拟接口(Vif),是接口中组件之间共享的一段代码。
    这里的术语“仿真器”可与任何能够执行RTL或门级模型的仿真器互换使用,包括软件HDL仿真器。这个加速主要针对基于硬件的设计,因此这将是我们讨论的重点。
    为何选择仿真?
    为了验证复杂的设计,我们现在可以使用多种工具和技术,包括模拟器、仿真器、SVA、功能覆盖和形式验证。所有这些都在不同的层面工作,使我们尽可能快地达到无BUG设计的最终目标。仿真器可帮助我们将运行时间加速100到100万倍以上。
    tm-1.png 40c635e7a21dda5581ea2be923b7694a.png
    图1:通过各种技术改进性能
    在图1中,我们看到模拟的当前时间状态是我们追求的目标。以下是实现三级性能的一些技术。
    软件/驱动程序生成
    加速开发时间的一个重要部分,是在实验室交付实际芯片之前改进软件的生成环境。
    通过软件启动/驱动程序开发,可以为目标设计提供一些选项,包括:
    tm-2.png ec34dc48dc40f293a7d07b96a63337c1.png

    表一:软件/驱动芯片启动选项
    仿真器的候选测试
    我们发现,性能测试,以及在模拟中已经历了大量清理(高水平测试和运行清理一段时间)和长时间运行的测试,都是很好的选择。
    性能测试——测试可能需要长时间运行才能获得准确的测量结果。
    •    对于网络芯片:在某些配置中测量数百万个数据包的系统性能
    •    对于处理器:测量标准基准测试(如SPEC)的系统性能。
    •    对于深度学习芯片:测量像ResNet推理等标准基准测试的系统性能。
    长时间运行测试——测试资源或内存耗尽、老化(设计中具有时效性的任何元素)、系统重新配置测试、热存储或回收旧的对象。
    •    对于网络芯片:可能是在发送数百万个数据包后,系统的行为方式
    •    对于处理器:可能是在发送数十万甚至更多的执行跟踪之后,系统的行为方式。
    •    对于深度学习芯片:可能是执行多层神经元后,系统的行为方式,每个神经元都可以做矩阵乘法、加法和求平均等。
    再生楔子——楔子是这样一种测试,即其中几件事情必须同时发生,并且可能需要一些时间才能达到触发状态。这些场景在一级性能上通常难以达到或发现(见图1)。
    主机接口连接——通过快速测试设计中的每个寄存器,可以非常快速地检查这一属性。我们的芯片可编程性越强,就越需要对它们进行全面测试,因为测试用例的组合随着每个选项的增加而增加。
    基础设施检查测试(带I/O)——检查模块或SoC内的连接测试、环测试等。可以集成任何定制I/O。加密的Verilog不易处理,你可能需要创建一个伪行为模型来替换它。
    请记住,在仿真器中,通常只支持两个状态值。使用X-prop和Formal解决方案可以更好地检查依赖于X和Z值的测试。设计和测试平台经常使用X和Z来测试多驱动程序冲突、未分配的变量、悬空连接以及接口值的错误翻转。
    架构
    为确保不同版本和供应商之间的一致性,最好遵循行业标准。对于设计和验证语言,我们有SystemVerilog。对于DV库,我们有UVM。幸好在仿真中也有一个接口工作组:Accellera的SCE-MI2。领先的仿真供应商都支持SCE-MI2处理程序方法,所以在深入研究SCE-MI2标准之前,让我们先了解一下这个架构。
    定时和非定时的部分和DPI
    我们将非定时部分称为HVL域。我们当前环境中的时间,指推进RTL仿真的仿真时间。大多数UVM测试平台代码位于非定时域中。我们通常认为测试平台在零仿真时间内执行。排除在外的主要是驱动程序和监视器,因为它们必须根据时钟边缘驱动数据。
    我们将定时部分称为HDL域。显然是基于定时的或可以感知时钟边缘的设计。在现代设计中甚至还有非定时的代码:并发SVA和一些功能覆盖。
    DPI如SCE-MI手册中所定义:“DPI(直接编程接口)是SystemVerilog和外部编程语言之间的接口。它包括两个独立的层:SystemVerilog层和外部语言层。DPI两侧是完全隔离的。实际使用哪种编程语言作为外部语言是透明的,与此接口的SystemVerilog端无关。”
    DPI通信是用于单独执行同步定时(HDL)和非定时(HVL)域的核心思想之一。
    SCE-MI2通信模式
    SCE-MI2通信有三种主要模式:
    1.    基于功能 - 功能(利用DPI-C)提供中级抽象。
    2.    基于宏 - 消息传递接口,旨在由不同的用户组用于多个用例。
    3.    基于管道 - 事务管道是通过功能调用来访问的结构,它提供了一种用于与HDL端进行事务处理的方法。
    基于功能的模式是最容易实现的。
    tm-3.png f9d03edc29b9f62521e92510f3419333.png

    图2:SCE-MI2通信模式
    减速的来源是定时(HDL)域和非定时(HVL)域之间的通信。
    我们计划深入研究设计和测试平台所需的代码更改,将在后续文章中加入几个编码和方法论指南,然后再介绍规划流程。
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-9-3 11:14
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    52

    主题

    2981

    回帖

    1338

    积分

    1元学习Allegro(1期)

    积分
    1338

    社区居民终身成就奖特殊贡献奖优秀斑竹奖

    发表于 2019-5-2 07:53:15 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-5-29 20:33
  • 签到天数: 1 天

    [LV.1]初来乍到

    48

    主题

    6492

    回帖

    7755

    积分

    二级逆天

    积分
    7755

    终身成就奖特殊贡献奖原创先锋奖优秀斑竹奖

    QQ
    发表于 2019-5-2 08:08:25 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2024-9-29 08:39
  • 签到天数: 50 天

    [LV.5]常住居民I

    298

    主题

    4237

    回帖

    5801

    积分

    二级逆天

    积分
    5801

    社区居民终身成就奖特殊贡献奖优秀斑竹奖

    QQ
    发表于 2019-5-2 08:37:42 | 显示全部楼层
    回复

    使用道具 举报

    该用户从未签到

    2

    主题

    1311

    回帖

    0

    积分

    二级逆天

    积分
    0

    终身成就奖原创先锋奖优秀斑竹奖

    发表于 2019-5-2 08:41:29 | 显示全部楼层
    回复

    使用道具 举报

    该用户从未签到

    0

    主题

    26

    回帖

    0

    积分

    二级逆天

    积分
    0

    终身成就奖特殊贡献奖

    发表于 2019-5-2 08:53:52 | 显示全部楼层
    回复

    使用道具 举报

    该用户从未签到

    632

    主题

    6399

    回帖

    209

    积分

    三级逆天

    -

    积分
    209

    忠实会员社区居民社区劳模原创达人最爱沙发终身成就奖特殊贡献奖原创先锋奖优秀斑竹奖金点子奖

    QQ
    发表于 2019-5-2 09:50:43 | 显示全部楼层
    -
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-8-6 09:13
  • 签到天数: 8 天

    [LV.3]偶尔看看II

    44

    主题

    5757

    回帖

    1万

    积分

    三级逆天

    积分
    10058

    终身成就奖特殊贡献奖原创先锋奖优秀斑竹奖

    QQ
    发表于 2019-5-2 10:35:43 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情

    2024-7-12 21:51
  • 签到天数: 1 天

    [LV.1]初来乍到

    19

    主题

    89

    回帖

    329

    积分

    二级逆天

    积分
    329

    终身成就奖

    发表于 2019-5-2 11:06:02 | 显示全部楼层
    回复

    使用道具 举报

    该用户从未签到

    19

    主题

    1829

    回帖

    4431

    积分

    PADS-2021国庆特训班

    积分
    4431

    终身成就奖特殊贡献奖优秀斑竹奖

    发表于 2019-5-2 15:31:14 | 显示全部楼层
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    论坛开启做任务可以
    额外奖励金币快速赚
    积分升级了


    Copyright ©2011-2024 NTpcb.com All Right Reserved.  Powered by Discuz! (NTpcb)

    本站信息均由会员发表,不代表NTpcb立场,如侵犯了您的权利请发帖投诉

    平平安安
    TOP
    快速回复 返回顶部 返回列表