广告

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

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

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

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

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

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

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

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

为何选择仿真?

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

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

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

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

软件/驱动程序生成

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

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

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

仿真器的候选测试

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

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

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

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

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

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

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

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

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

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

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

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

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

架构

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

定时和非定时的部分和DPI

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

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

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

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

SCE-MI2通信模式

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

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

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

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

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

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

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

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

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

ASPENCORE
本文为EET电子工程专辑 原创文章,禁止转载。请尊重知识产权,违者本司保留追究责任的权利。
  • 毫米波雷达是如何监测生命体征信号的? 毫米波(mmWave)雷达会发射电磁波,其路径中的任何物体都会将信号反射回去。通过捕获和处理反射信号,雷达系统可以确定物体的距离、速度和角度。毫米波雷达在物体距离检测中可以提供毫米级别的精度,因而成为人类生物信号的理想传感技术。本文将讨论毫米波雷达如何用于监测生命体征信号(例如BR和HR)。
  • 选择正确的低功耗蓝牙SoC 在设计初始阶段,优化低功耗蓝牙(Bluetooth Low Energy,BLE)芯片能耗的诀窍会影响存储器大小、时钟速度、工作模式及其他因素的抉择。
  • 利用嵌入式AI,将大数据转变为智能数据 工业4.0应用产生大量的复杂数据——大数据。传感器和可用数据源越来越多,通常要求机器、系统和流程的虚拟视图更详细。这自然会增加在整个价值链上产生附加值的潜力。但与此同时,有关如何挖掘这种价值的问题不断出现。毕竟,用于数据处理的系统和架构变得越来越复杂。只有使用相关、优质且有用的数据,也就是智能数据,才能挖掘出相关的经济潜力。
  • 人工智能在自动驾驶车辆中的作用 自动驾驶车辆在农业、运输和军事等领域开始成为一种现实,普通消费者在日常生活中使用自动驾驶车的那一天也在迅速来临。自动驾驶车辆根据传感器信息和AI算法来执行必要的操作,它需要收集数据、规划并执行行驶路线。而这些不同的任务,尤其是规划和执行行驶路线需要非传统的编程方法,它依赖AI中的机器学习技术。
  • 为交换式电源供应器设计主动式桥式整流器 对于高效率及高功率密度切换式电源器而言,主动式桥式整流器是一种能够直接有效改善全机效率的电路。针对主动式桥式整流器上的功率晶体,依照不同的要求,必须采用适当的浪涌电压及电流解决方案,用以保护在这些条件之下主动式桥式整流器上的功率晶体,即使主动式桥式整流器动作如同桥式整流器一般,考虑浪涌电流能力,桥式整流器仍然必须保留并且与之并联。
  • 利用常用的微控制器设计技术更大限度地提高热敏电阻精 作为支持模拟和数字温度传感器的高级应用/系统工程师,在工作中经常被问到有关温度传感器应用的问题。其中有很多是关于模数转换器(ADC)的,由于ADC在系统应用中的重要性,我花费很多时间在解释ADC对系统精度有何意义,以及如何理解并实现所选传感器的更大系统精度上。
广告
热门推荐
广告
广告
广告
EE直播间
在线研讨会
广告
广告
面包芯语
广告
向右滑动:上一篇 向左滑动:下一篇 我知道了