• IIANews微官网
    扫描二维码 进入微官网
    IIANews微信
    扫描二维码 关注微信
    移动客户端
  • English
2025机器人产业趋势论坛报名
传感器

更加“聪明”的一体化的功能验证方法

  2005年06月08日  

本文从总体上介绍了基于一体化的功能验证技术,包括业界流行的多种验证方法:事务级验证、代码完整性分析、动态/静态断言验证、代码/功能覆盖率检测、形式验证(等效性检测)、硬件加速/仿真等等。阐明只有单内核的一体化验证平台,才能满足现在复杂的集成电路设计功能验证的要求,达到最佳的验证速度和效率。

随着纳米时代的到来,SoC的大规模集成电路设计也越来越普遍,SoC电路设计广泛涉及到各种IP的利用、集成嵌入式CPU、数模混合电路等等,使得现在的大规模集成电路设计也越来越复杂。在前端功能验证上就主要体现为:软硬件的协同仿真验证、IP的有效重复利用、混合信号验证、混合语言仿真和验证的准确完整性等。简言之,纳米工艺集成电路的功能验证要求最佳的速度和效率。

然而,传统的分块进行的设计方法使得优化变得没有可能。每个验证阶段拥有它们自己的方法、环境、工具、语言、模型、用户界面以及API,工程师必须在每个阶段建立几乎所有的东西。结果,速度很慢、效率很低、价格昂贵的流程经常使得硅片出现严重的错误。由业界专业统计的数字显示,在整个芯片项目完成所花时间中,芯片的验证时间占了整个项目时间的70%,而设计的时间只占30%。就其被迫重新再投片的原因中,由于逻辑和功能出错的原因位列第一,所占比例74%,远远高于第二位的噪声所带来的错误。

由此可见,功能验证是现在大规模集成电路设计的一个重大挑战,我们需要一个更加“聪明的”验证方法。成功的集成电路设计团队需要采用一体化的验证方法。Cadence Incisive一体化验证平台适用于从系统设计到门级实现的所有的设计领域-系统建模、事务级验证、软硬件协同仿真、代码完整性分析、代码/功能覆盖率检测、基于断言的动态/静态验证、形式验证(等效性检测)以及硬件加速/仿真等。

事务级验证

一体化的方法开始于建立架构精确、事务级的功能虚拟原型(FVP)。事务级建模多采用业界广泛使用SystemC作为开发语言。SystemC集成了C++语言丰富的类库结构和硬件描述语言的并发、时序、数据类型等定义,兼顾了设计中两个不同层次语言的优势,使得SystemC成为系统级设计到RTL实现的一个平滑的桥梁。事务级表述抽象程度很高,它是可以不带任何时间概念的一种表述,使得我们在设计最初就可很快得到想要的功能虚拟原型。事务级FVP比相应的RTL运行速度快近100倍或更多,使得它们非常适合用于架构性能分析、早期嵌入软件验证以及软硬件的协同验证。FVP为模块级的验证提供验证IP和一个快速、全芯片的环境。对于某个域的模块级的验证,一体化的方法支持自顶向下和自底向上的设计方法。当模块级的验证完成以后,FVP作为载体用于集成验证模块和运行全芯片实现级别的验证,并可使用Incisive平台的按需加速功能,使得仿真速度比RTL级快10000倍以上。

SystemC验证库

图1:功能虚拟原型(FVP)。

SystemC在现今验证领域的重要性还体现在它有一个非常实用的验证库SCV。开放性SystemC联盟OSCI扩展SystemC具有强大的验证技术,包括新的数据结构、增强的并发功能以及约束随机化。并且OSCI接受Cadence捐献的基于Cadence TestBuilder开发的成熟的验证库,作为SystemC验证标准库,简称SystemC 验证库SCV。它能够使用单一语言生成系统级的设计和全面的测试平台,包括验证单元,诸如激励生成器、监视器、检查器和事务器(transactor)。Incisive一体化验证平台完全兼容SystemC标准,在事务级和RTL级进行系统和模块级的验证,这样测试平台能被重用于RTL验证,作为参考重用事务级模型。在此之上,Cadence Incisive还开发了更多更强大的验证库、Cadence Verification Extensions(CVE)和Verification Interfaces and Components(VIC),以及包括AMBA、PCI系列,USB2.0等验证VIP(Verification Intellectual Property), 使得一体化验证平台的用户能够更加方便简洁地搭建自己的验证环境和控制自己的验证流程。

代码完整性分析

一个好的设计工程师完成代码的同时,要检测源代码的质量,代码风格是否最优。这是一个非常必要和良好的设计习惯。它可以在仿真、综合之前发现设计中存在的问题,减少反复修改源代码、再仿真、再综合的次数。在一体化验证中,Incisive采用了HDL Analysis and Lint(HAL)工具,HAL集成了超过500个检查规则、lint和分析代码: 可综合性、竞争条件、代码可重用性、时钟域同步、有限状态机编码、加速策略检查、门级网表分析综合过程中产生的DFT错误,SystemC代码检查、Verilog、VHDL以及混合语言支持,使用VPI/VHPI用户制定义能力,图形化的界面、排序、过滤和分析消息的源代码等等。HAL强大的检查功能保证了工程师设计代码的完整性和最优化。

动态/静态断言验证

传统的仿真把测试模块当作了黑盒子,通过添加激励和得到反馈结果来验证设计模块的正确与否。一旦有错,错误的跟踪和定位都是很困难的。断言验证技术是要把测试模块当作白盒子,在关键点设置断言监视器,达到快速准确定位错误原因,分析验证覆盖情况。基于断言的验证是用于缩短验证时间的正在快速增长的技术。

Incisive一体化功能验证平台提供基于静态和动态断言检查技术,对设计团队和验证团队都提供非常有效的帮助。动态的断言验证即在仿真的同时执行断言检测,它和大家熟悉的仿真流程相似。静态断言验证是不需要传统仿真的测试激励文件,而是通过遍历的方法,由工具本身产生所有的可能情况来检测断言的定义是否正确或则都覆盖到了。静态断言验证ISV(Incisive Static Verifier)操作简单、功能强大,特别是对于大型模块设计的验证非常有效。

Incisive一体化验证平台单核架构全面提供对PSL/Sugar、SVA,OVL断言支持,并扩展了业界断言标准库OVL功能,增添了更强大的断言验证库IAL(Incisive Assertion Library),让设计/验证团队更加方便使用监视器建立他们的接口和逻辑,自动检测特定的错误条件或者关键覆盖情况。加强的可观测性让用户能检测到更多的错误,可以更加快速准确定位错误在源代码的位置,确保所有的接口行为是正确的,找出覆盖漏洞。单核的引擎支持意味着断言对运行时间和内存容量的影响非常小(典型的只有1-5%)。这确保了合适的断言一直活跃和仿真速度的持续高速。

代码/功能覆盖率检测

代码覆盖率的检测是现今验证工程师广泛使用的一种成熟的技术。一体化的验证平台集成的代码覆盖ICT(Incisive Coverage Technology)提供业界最多的覆盖种类和方法,用于决定怎样对设计执行测试。包括模块覆盖、路径覆盖、表达式覆盖、状态基变量覆盖、用户定义状态变化路径覆盖以及切换覆盖、信号翻转覆盖、多个激励文件测试冗余度覆盖等等。一体化的覆盖分析和显示工具能让你迅速决定是否需要开发另外的测试电路。

功能覆盖率检测也是现在越来越多的验证工程师关注的一门技术。100%的代码覆盖并不能证明工程师设计协议中所需要的功能都已实现了。功能覆盖检测通过工程师定义自己需要检测的功能,再通过运行仿真得到功能覆盖率报告,以确认设计者所需的功能是否都覆盖到。Incisive同时支持以断言PSL/Sugar为中心的控制型功能覆盖检测,和基于SystemVerilog的Covergroup为中心的数据型功能覆盖检测。

图2:单内核一体化验证平台。

除此之外,Incisive还支持针对事务级验证的功能覆盖,可以方便记录事务级仿真波形,并通过事务级功能分析工具TxE(Transaction Explorer)强大的事务分析能力用于测量和提高功能覆盖。基于表单的界面Tcl/Tk解释器让用户快速查询和分析大型仿真波形。调试环境可显示饼图、Gantt图、柱型图及其他形式的统计数据图形。事务分析特点使得有约束的随机或完全随机的测试套件成为可能,验证所有的设计说明的功能标准是否已经得到满足。举例说明,在一个通讯设备中,可以决定是否执行了所有的路由路径,或者确保所有的路由输入在同时给同一输出发送数据包。处理器也可验证在特定操作中出现的特定种类的中断等事务。

形式验证

形式验证(等效性检测)技术是现今集成电路设计流程中必不可少的一个环节。通过提供完整的验证覆盖最小化重复投片风险。在开发过程中,一个设计在最终版图之前经过无数次的迭代,每一步都有可能引入逻辑错误。形式验证能在设计的不同阶段、不同版本之间执行等效性检查,让你随时随地识别和纠正引入的错误。与传统门级模拟验证数百万门设计相比,形式验证通过数学建模的方式比较两个电路的功能是否一致,显著缩短验证时间,填补了RTL到版图验证的空隙,并且易学易用。

作为Incisive一体化功能验证平台的一部分,Incisive Conformal提供唯一完整的等效检查(Equivalence Check)解决方案,用于验证片上系统从RTL到版图的设计。Incisive Conformal 能够验证众多电路类型,包括复杂算术逻辑、数据流、存储器和定制逻辑。它还提供最高的性能和成功率,完成其他工具不能完成的电路验证。Conformal提供RTL、门级网表、SPICE网表、到晶体管级数字定制电路的所有层次的电路功能等效性检测。

Conformal还允许对设计执行扩展功能检查。这些检查作为等效性检查的补充,能够验证过去传统EC方法尚未验证的区域和在设计早期找到设计实现的错误,它包括语义检查验证综合假设和找到可能产生RTL和门级模拟之间不匹配的条件;结构性检查、总线检查、数据冲突检查、设置-复位(set-reset)互斥检查以及多端口锁存竞争检查;时钟域检查、同步验证和数据检查等等,以得到更安全的验证解决方案。

硬件加速/仿真

速度一直是大规模集成电路功能验证的瓶颈。一体化验证平台Incisive加速器/仿真器Palladium的功能验证速度比单纯的RTL模拟速度快100倍到10000倍。能够处理最具挑战性的设计任务,Palladium 支持多用户、远程访问以及与整个真实系统连接进行真实的数据测试。 作为一体化验证平台的一部分,Palladium为从纳米工艺集成电路从系统设计到系统实现提供快速高效的数字验证系统。

Incisive硬件加速/仿真器Palladium还提供独一无二的按需加速的业务。Incisive-XLD Base配置提供基本硬件加速/仿真器和一个Incisive-XLD团队验证许可证,它包括10个Incisive一体化模拟器许可证以及按需加速功能,即能够在验证需要时拿出9个许可证切换成一百万门的硬件加速/仿真容量。真正实现了软件资源和硬件资源的最大化利用率,一种投入模式两种使用方法。

一体化的验证技术还包括算法级开发Incisive SPW和数模混合信号验证Incisive AMS等技术。正是一体化完备的功能验证技术的使用使得现在大规模集成电路设计成功率有了有效的保障。一体化的验证平台打破了传统的彼此分离的验证流程,使得高效、快速、完整的功能验证成为了可能。

Incisive一体化验证平台是业界首个单内核验证平台,单内核架构支持Verilog、VHDL、SystemC、SystemVerilog、SCV标准、PSL/Sugar断言、算法开发以及模拟/混合信号验证等。它包括一个通用用户界面和调试环境、全事务级支持、一体化的测试生成以及按需加速。该架构是异质的,它支持嵌入式软件、控制、数据路径以及模拟电路/混合信号/射频设计领域支持所有设计领域,从系统设计到实现级设计。它提供给验证团队验证今天最复杂的集成电路所需要的最先进,最高效的功能验证方法。把不同的验证引擎集合在一起的做法已经不再合适。只有在一体化平台上,才能达到最佳的速度和效率。

参考文献:


[1]. Rashinkar,Paterson,Singh, <>,Kluwer Academic Publishers,2001.


[2]. Cadence,The UNIFIED VERIFICATION METHODOLOGY,2002.


[3]. r, << A SystemC Primer>>, 2004


[4]. John Cooley, Dvcon'04 Trip Report, 05/26/04

作者:杨耿


资深应用工程师


Cadence公司


最新视频
伊顿Bussmann:百年品牌 以创新驱动发展   
欧姆龙光电传感器E3AS | 角度特性演示:高反光不锈钢工件稳定检出   
研祥金码
专题报道
《我们的回答》ABB电气客户故事
《我们的回答》ABB电气客户故事 ABB以电气问题解决专家之志,回答未来之问。讲述与中国用户携手开拓创新、引领行业发展、推动绿色转型的合作故事,共同谱写安全、智慧和可持续的电气化未来。
企业通讯
研祥IPC-310准系统,5月28日冰点底价限时开抢
研祥IPC-310准系统,5月28日冰点底价限时开抢

疯狂星期三,研祥IPC-310准系统,5月28日冰点底价限时开抢!

优傲机器人新品巡展 NVITATION 邀请函
优傲机器人新品巡展 NVITATION 邀请函

优傲机器人将于2025年6月5日在北京亦庄举办新品巡展活动。届时,您将有机会近距离品鉴优傲新品成为首批见证 UR15 中

在线会议
热门标签

社区