1 芯片验证是什么?
芯片设计可以划分为前端(逻辑设计)与后端(物理设计),验证环节则是个分外的存在,就像一条支线,相对独立但与需求定义到综合到物理实现的这个过程又是并行的,贯穿着芯片设计流程的始末。而验证存在的意义在于不断地给设计或者实现过程供应迭代的关键见地,即验证过程中创造的性能不知足、设计代码功能bug、整芯片集成缺点等问题。
随着进度的推进,一颗芯片表现形式会发生变革,它从RTL代码转换为各种网表,再到末了的版图。在这个过程中,验证可以分为前仿真(基于RTL代码)和后仿真(基于门级网表)。而大部分设计问题都该当会在前仿真的时候就暴露出来,毕竟越到后面设计的迭代本钱越高,风险也会越大。

2 为什么要验证?
韶光与本钱
目前前辈工艺的芯片设计环节本钱及其高昂,从千万美元级到亿美元不等,在芯片设计过程中的笔误或者设计bug至少有上千个,开拓者乃至连做梦都担心芯片变成石头。一款成功的产品是须要在精确的韶光投放市场,如果由于芯片的延期而错过最佳投放市场的韶光,或者不幸要重新投片,那么这便是一个氪金的故事,对付商业公司所带来的丢失是不可接管的。因此,前辈工艺的芯片设计本钱高昂,在流片之前通过验证活动创造所有的设计毛病和缺点是非常主要的,毕竟没有流片的保险可以买。
质量与安全
芯片的质量有很大程度上依赖于验证,当然制造工艺也很关键。为了缩短芯片的上市韶光,节约开拓本钱,SoC(系统级芯片,System on Chip)这一将微处理器、仿照IP核、数字IP核和存储器(或片外存储掌握接口)等多家IP核集成在单一芯片上的形式成为了主流。随着5G、AI等浩瀚运用的不断呈现,芯片功能繁芜度爆发式增长,不同的芯片更需适配不同的运用处景。比质量更主要的是芯片的安全性、可靠性,当芯片、系统和软件环境领悟在一起,无数的“运用模式”都须要从安全角度进行充分的验证。随着系统集成度的提高,系统自身的繁芜性也在随之增加,而系统繁芜度的提高对付功能验证的哀求是首当其冲的——以智能汽车利用的自动驾驶芯片为例,它的繁芜程度并不低于一架小型飞机,汽车行业哀求系统能够准确运行以避免危险情形的发生,并能够实时监测和管理故障。
3 如何进行验证?
验证的直不雅观反馈是须要仰赖验证工具的,利用工具找出BUG,你猜对了,是EDA没错。
数字电路的验证随着集成电路设计与制造的发展逐渐细化,形成弘大的技能树中的一个主要分支,其包含系统级验证、硬件逻辑功能验证、稠浊旗子暗记验证、软件功能验证、物理层验证、时序验证等等。
目前验证办法紧张有动态仿真(Dynamic Simulation)、虚拟原型/硬件加速(Prototyping and Emulation)和形式化验证(Formal Verification)等。今天主要先容已然成为新刚需的两种验证工具。
4 硬件仿真
硬件仿真实在由来已久,它给设计职员在流片前供应了一种更为准确的电路行为描述,由于硬件仿真是通过真实的电路和逻辑来实现设计。硬件仿真始于 20 世纪 80 年代末,在 20 世纪 90 年代末盛行,当时紧张是通过商业 FPGA 进行实现,用于验证须要较长测试周期的处理器和图形设计。它们也碰着诸如电路建模难度高以及可靠性低等各种问题。其本钱也较为高昂,并且作为单用户资源,其投资回报较低。然而,硬件仿真器的出色实行速率仍使其成为长处理周期的必要工具。
1980年代,所有早期的硬件仿真器都是由大量商用FPGA构建而成的,这些FPGA常日成千上万,并大量安装在大型板上被装在大机柜中,并通过繁芜的FPGA背板互连,通过大量电缆插入目标系统来实现对仿真器的输入/输出,这种支配方案被称为ICE(In-circuit-emulation),这一办法繁琐不可靠,且相称耗时,业界因此发明了仿真韶光(TTE)一词,以表达并衡量将设计输入到编译器与仿真器后所花费的支配韶光;导致其无法被推广的缘故原由还有高拥有本钱,以及由于设备可靠性不佳,须要一批履历丰富的运用工程师来支持其支配。
仿真先驱Quickturn在90年代与IBM互助,引入新技能以办理其调试功能差、支配和编译韶光长、性能无法随着设计规模线性扩展等缺陷;1999年,由中国人于硅谷所创办的Axis推出能将设计从仿真器交流到专有仿真器以做调试的加速器;2000年,四名法国工程师创办了EVE(Emulation Verification Engineering)并推出了一款名为Zebu for Zero-Bugs的仿照器。
发展到2000年旁边,通过基于定制ASIC的新体系构造,硬件仿真器得到了显著改进,支持软件改进,支持Verilog和VDHL措辞,并设计了新的支配模式,客户群扩展到了处理器和图形的市场之外,在多机箱配置下总容量能扩展到1亿门,靠近1MHz的仿真速率。
ZeBu-Server4
如今,随着芯片集成度提高,SoC逐渐成为常态,到2015年旁边,设计已经达到十亿门的规模,硬件仿真已成为所有验证策略的根本、SoC设计中必备的工具。在这段期间经由多次并购整合,我们也于2012年收购了EVE并在两年后推出了基于Xilinx Virtex-7 FPGA的ZeBu-Server3。
5 FPGA原型验证
早期开拓者想验证其设计,只有等待极其漫长的仿照结果,或是等待流片成果,而一旦结果不如预期,不管是再次仿照或是二次流片,都将产生极高的本钱。因此,当Xilinx和Altera推出可重新编程门阵列(FPGA)时,开拓者通过用FPGA板拼凑出有效的流程来对设计进行验证,这一比流片便宜、比仿真要快的办法成为开拓者选择的第三种办法。
FPGA作为一种分外的存在,由电路进行编程,可以通过软件手段变动、配置器件内部连接构造和逻辑单元,完成既定设计功能。这一内部电路可重构的特点险些可以完备映射芯片的逻辑设计。那么重构的特点意味着须要开拓者在此过程中对设计进行分区,而FPGA上有更多的旗子暗记在各个分区之间传输,须要对引脚进行多路复用,门的数量呈平方增长,而引脚的数量呈线性增长,这意味着每个引脚有数千个门,这一方法哀求工程师具备大量设计及FPGA的知识,以及对FPGA工具流程的熟习。
因此,2000年,一家创立于瑞典的公司Hardi Electronics正式推出一款基于FPGA的原型系统HAPS,HAPS可以通过多种办法快速组装ASIC原型系统,为客户在关键验证阶段节省数月的韶光。2007年,Synplicity以2400万美元的金额收购了这家公司,而我们在2008年以2.27亿美元收购了Synplicity,HAPS经历几代后发展至HAPS-80,至今仍是业界最快的原型验证加速平台。
目前ASIC的设计变得越来越大,越来越繁芜,单片FPGA已不能知足原型验证哀求,多片FPGA验证应运而生。
RTL逻辑的分割、多片FPGA之间的互联拓扑构造、I/O分配、高速接口都对运用FPGA原型验证的芯片开拓者提出了更高的哀求也带来了前所未有的寻衅。
所以是时候好好晒一下宝藏HAPS原型验证办理方案了。
担心Partition?HAPS原型验证办理方案,具有独一无二的自动可干预分割功能并对应设计了自动可干预分割功能,同时供应系统级跨FPGA的时序剖析工具,为HSTDM IP、缆线和I/O供应时序模型,以方便地处理TDM路径上的多个约束,为多FPGA的设计供应了优化且可靠的时序,担保了平台的高速性能和稳定性。
迭代方面也可以交给HAPS,基于HAPS原型验证办理方案,在对设计进行分割和时序优化的同时,也充分考虑到后续FPGA布局布线的寻衅,在综合时,HAPS采取独特的技能,增强和优化单FPGA的综合结果,可以有效的减少后期Vivado布局布线的韶光,并结合多核多进程综合等技能,有效减少各个环节的韶光,加快迭代速率。
接口方案也顺便科普一下吧,HAPS原型验证办理方案设计了多种灵巧的接口方案,供应丰富的外部子卡凑集,降速桥方案;还和业界伙伴通过HAPS Connect Program,为利用者供应了更广泛的扩展空间。
不雅观测性也什么不是问题,HAPS原型验证平台供应了多种灵巧的调试手段。DTD(深度跟踪调试)功能,为用户供应了多FPGA实时速率的RTL级别旗子暗记联合波形调试,可以不雅观测上千旗子暗记秒级的波形,进一步结合Verdi/Siloti的关键旗子暗记提取功能,可显著的扩大旗子暗记不雅观测的范围。GSV是其余一个被用户广泛采取的调试功能,它可以供应设计内部所有寄存器的快照,在多种实际调试场景有效的帮助软硬件团队剖析定位系统问题。
显而易见,HAPS原型验证办理方案,在全面性,成熟度,和对大规模设计的支持上,都霸占绝对明显的上风。
终极总结,纳米级的旅程,一颗芯片要“走”至少两年,不仅要经由无数道工序的“精益求精”,更是涉及到高昂的研发本钱、流片本钱,这使得芯片设计的每个环节都不容许涌现丝毫差错。而验证是担保芯片一次成功的关键基石,HAPS,你绝对值得拥有。
至此,芯片验证的科普就到这了,实在如果没有韶光与资源的限定,大规模芯片的验证事情是可以一贯做下去的,直到天荒地老海枯石烂。以是现在我要去创造Bug,创造所有的Bug,证明没有Bug了。