广告

协同仿真可实现更好的IC测试

时间:2019-05-02 作者:Jigar Savla,瞻博网络ASIC设计与验证工程师 阅读:
虽然IC设计复杂性日益增加,但留给IC设计工程师的时间却没怎么变化。这迫使工程师加速所有相关流程。花费太多时间在测试上可能会错过产品及时面世的最佳时机,而花费太少时间可能会漏掉设计错误。随着我们转向更复杂的SoC设计,有效地利用测试时间变得越来越重要。有多种途径可以测试我们的设计,我们必须选择最佳方法来优化测试和花费的时间。仿真作为一种改善测试时间的方法优势突出,虽然方式并不简单。
EETC https://www.eet-china.com

虽然IC设计复杂性日益增加,但但留给IC设计工程师的时间却没怎么变化。这迫使工程师加速所有相关流程。我所在的团队最近移植到一个仿真环境,以便测试过程更快、更有效。我想分享一些我们从中学到的经验。fqcEETC-电子工程专辑

花费太多时间在测试上,可能会错过产品及时面世的最佳时机;而花费太少时间,可能会漏掉一些设计错误。到了掩模阶段才发现错误,可能要付出昂贵代价。制作一个7纳米(nm)掩模的最低成本现在约为1000万美元,这还是对比较小的IC而言。fqcEETC-电子工程专辑

随着我们转向更复杂的SoC设计,有效地利用测试时间变得越来越重要。有多种途径可以测试我们的设计,必须选择最佳方法来优化测试和用时。仿真作为一种改善测试时间的方法,优势突出,虽然做起来并不简单。fqcEETC-电子工程专辑

它需要我们在测试平台设置和设计过程中进行一些更改,包括SVA(SystemVerilog断言)中的一些修改。我们还确定了哪些类型的测试以及在仿真上运行测试的哪个级别的测试平台具有最好的投资回报率(ROI)。fqcEETC-电子工程专辑

我们从概述开始,然后总结了一些代码示例,提供一些注意事项并给出了规划建议。我们将设计一个改进过的虚拟接口(Vif ++)以完成移植过程。在行业标准验证方法中,UVM作为一种虚拟接口(Vif),是接口中组件之间共享的一段代码。fqcEETC-电子工程专辑

这里的术语“仿真器”可与任何能够执行RTL或门级模型的仿真器互换使用,包括软件HDL仿真器。这个加速主要针对基于硬件的设计,因此这将是我们讨论的重点。fqcEETC-电子工程专辑

为何选择仿真?

为了验证复杂的设计,我们现在可以使用多种工具和技术,包括模拟器、仿真器、SVA、功能覆盖和形式验证。所有这些都在不同的层面工作,使我们尽可能快地达到无BUG设计的最终目标。仿真器可帮助我们将运行时间加速100到100万倍以上。fqcEETC-电子工程专辑

2019-05-14_144955.jpgfqcEETC-电子工程专辑

图1:通过各种技术改进性能fqcEETC-电子工程专辑

在图1中,我们看到模拟的当前时间状态是我们追求的目标。以下是实现三级性能的一些技术。fqcEETC-电子工程专辑

软件/驱动程序生成

加速开发时间的一个重要部分,是在实验室交付实际芯片之前改进软件的生成环境。fqcEETC-电子工程专辑

通过软件启动/驱动程序开发,可以为目标设计提供一些选项,包括:fqcEETC-电子工程专辑

2019-05-14_145010.jpgfqcEETC-电子工程专辑
fqcEETC-电子工程专辑
表一:软件/驱动芯片启动选项fqcEETC-电子工程专辑

仿真器的候选测试

我们发现,性能测试,以及在模拟中已经历了大量清理(高水平测试和运行清理一段时间)和长时间运行的测试,都是很好的选择。fqcEETC-电子工程专辑

性能测试——测试可能需要长时间运行才能获得准确的测量结果。fqcEETC-电子工程专辑

• 对于网络芯片:在某些配置中测量数百万个数据包的系统性能fqcEETC-电子工程专辑

• 对于处理器:测量标准基准测试(如SPEC)的系统性能。fqcEETC-电子工程专辑

• 对于深度学习芯片:测量像ResNet推理等标准基准测试的系统性能。fqcEETC-电子工程专辑

长时间运行测试——测试资源或内存耗尽、老化(设计中具有时效性的任何元素)、系统重新配置测试、热存储或回收旧的对象。fqcEETC-电子工程专辑

• 对于网络芯片:可能是在发送数百万个数据包后,系统的行为方式fqcEETC-电子工程专辑

• 对于处理器:可能是在发送数十万甚至更多的执行跟踪之后,系统的行为方式。fqcEETC-电子工程专辑

• 对于深度学习芯片:可能是执行多层神经元后,系统的行为方式,每个神经元都可以做矩阵乘法、加法和求平均等。fqcEETC-电子工程专辑

再生楔子——楔子是这样一种测试,即其中几件事情必须同时发生,并且可能需要一些时间才能达到触发状态。这些场景在一级性能上通常难以达到或发现(见图1)。fqcEETC-电子工程专辑

主机接口连接——通过快速测试设计中的每个寄存器,可以非常快速地检查这一属性。我们的芯片可编程性越强,就越需要对它们进行全面测试,因为测试用例的组合随着每个选项的增加而增加。fqcEETC-电子工程专辑

基础设施检查测试(带I/O)——检查模块或SoC内的连接测试、环测试等。可以集成任何定制I/O。加密的Verilog不易处理,你可能需要创建一个伪行为模型来替换它。fqcEETC-电子工程专辑

请记住,在仿真器中,通常只支持两个状态值。使用X-prop和Formal解决方案可以更好地检查依赖于X和Z值的测试。设计和测试平台经常使用X和Z来测试多驱动程序冲突、未分配的变量、悬空连接以及接口值的错误翻转。fqcEETC-电子工程专辑

架构

为确保不同版本和供应商之间的一致性,最好遵循行业标准。对于设计和验证语言,我们有SystemVerilog。对于DV库,我们有UVM。幸好在仿真中也有一个接口工作组:Accellera的SCE-MI2。领先的仿真供应商都支持SCE-MI2处理程序方法,所以在深入研究SCE-MI2标准之前,让我们先了解一下这个架构。fqcEETC-电子工程专辑

定时和非定时的部分和DPI

我们将非定时部分称为HVL域。我们当前环境中的时间,指推进RTL仿真的仿真时间。大多数UVM测试平台代码位于非定时域中。我们通常认为测试平台在零仿真时间内执行。排除在外的主要是驱动程序和监视器,因为它们必须根据时钟边缘驱动数据。fqcEETC-电子工程专辑

我们将定时部分称为HDL域。显然是基于定时的或可以感知时钟边缘的设计。在现代设计中甚至还有非定时的代码:并发SVA和一些功能覆盖。fqcEETC-电子工程专辑

DPI如SCE-MI手册中所定义:“DPI(直接编程接口)是SystemVerilog和外部编程语言之间的接口。它包括两个独立的层:SystemVerilog层和外部语言层。DPI两侧是完全隔离的。实际使用哪种编程语言作为外部语言是透明的,与此接口的SystemVerilog端无关。”fqcEETC-电子工程专辑

DPI通信是用于单独执行同步定时(HDL)和非定时(HVL)域的核心思想之一。fqcEETC-电子工程专辑

SCE-MI2通信模式

SCE-MI2通信有三种主要模式:fqcEETC-电子工程专辑

1. 基于功能 - 功能(利用DPI-C)提供中级抽象。fqcEETC-电子工程专辑

2. 基于宏 - 消息传递接口,旨在由不同的用户组用于多个用例。fqcEETC-电子工程专辑

3. 基于管道 - 事务管道是通过功能调用来访问的结构,它提供了一种用于与HDL端进行事务处理的方法。fqcEETC-电子工程专辑

基于功能的模式是最容易实现的。fqcEETC-电子工程专辑

tm-3.pngfqcEETC-电子工程专辑
fqcEETC-电子工程专辑
图2:SCE-MI2通信模式fqcEETC-电子工程专辑

减速的来源是定时(HDL)域和非定时(HVL)域之间的通信。fqcEETC-电子工程专辑

我们计划深入研究设计和测试平台所需的代码更改,将在后续文章中加入几个编码和方法论指南,然后再介绍规划流程。fqcEETC-电子工程专辑

本文同步刊登于2019年电子工程专辑杂志5月刊fqcEETC-电子工程专辑

EETC https://www.eet-china.com
本文为EET电子工程专辑 原创文章,禁止转载。请尊重知识产权,违者本司保留追究责任的权利。
您可能感兴趣的文章
  • 处理MOSFET非线性电容 电荷平衡技术最初是为能够产生超结(superjunction)MOSFET的高电压器件而开发的,现在该技术也扩展到更低的电压。虽然该技术大幅度降低了RDSON以及所有的连结电容,但它也使得后者更加非线性化。MOSFET中的有效存储电荷和能量确实减少了,并且是显著地减少了,但是,计算这些参数或比较不同的MOSFET以获得最佳性能,已经成为一项相当复杂的事情。
  • 毫米波人体扫描仪市场:过去、现在和未来 全身扫描仪已经成为全球安全与威胁检测工具包的重要组成部分。随着射频、微波和毫米波技术的不断发展进步,利用这种技术的全身扫描仪也变得流行起来。全身扫描解决方案的总体接受程度在很大程度上取决于其性能、设计和商业可行性。本文讨论了这些全身扫描仪的系统集成商如何做出正确的技术设计和合作伙伴选择,从而更自信地为这个快速增长的市场提供商业上可行的解决方案。
  • 利用本性、借力培育打造令人惊叹的AI SoC 将高级AI功能集成到SoC中经常会暴露SoC架构的软肋。 SoC的DNA(其“本性”)强壮程度依赖于其设计环境(其“培育”)所赋能。了解如何选择合适的工具和流程,特别是正确的IP,可以帮助你培育表现出色的AI SoC。探索Synopsys的 DesignWare IP,可助你实现令人惊艳的AI。
  • 检测并强化对非侵入式篡改的攻击 为硬化电源中的变压器防止磁篡改,一种选择是屏蔽变压器;但是,这只在一定程度上有效。第二种选择是选择足以应对预期的磁篡改攻击的具有完全磁免疫力或磁阻的变压器。对于不会吸收太多电流的系统,第三种选择是使用不带任何磁性元件的电容降电源。
  • RDIMM或LRDIMM适合你的设计吗? 下一代DDR5缓冲芯片呼之欲出,服务器和系统设计人员将很快将DDR5服务器双列直插存储器模块(DIMM)缓冲芯片组纳入其新设计中。但服务器/系统设计师可能在思考的问题是:在带寄存器的DIMM(RDIMM)或减负(load-reduced)DIMM(LRDIMM)间如何取舍?了解RDIMM和LRDIMM之间基本差异非常重要,因为这些差异如何有助于指导你正确使用DIMM进行设计。某些规范对于帮助你确定要使用的DIMM也至关重要。最后,了解一些关键设计注意事项是有帮助的,它们可作为选择正确DIMM类型的基础。
  • 如何使用可编程斜坡发生器外设产生电压斜坡信号? 电压斜坡信号可以用在需要电压呈线性变化的电路中,通常用作参考信号、斜率补偿器或电压扫描发生器。可以使用众多Microchip PIC单片机上提供的可编程斜坡发生器(PRG)外设来创建此类信号,这不会产生任何处理器开销。在多个输入源的触发下,PRG能够产生下降斜坡、上升斜坡或交替上升-下降斜坡。
相关推荐
    广告
    近期热点
    广告
    广告
    广告
    可能感兴趣的话题
    广告