芯片设计被誉为人类历史上最细微也是最宏大的工程。经过数十年的发展,先进芯片的开发者可以把上千亿颗晶体管集成在面积不到指甲盖大小的芯片上。他们能实现这样目标所以靠的是电子设计自动化(Electronics Design Automation)工具,也就是我们俗称的EDA工具。
EDA 是电子产业最上游、最高端的产业,驱动芯片设计、制造、终端应用。从另一个角度看,下游的任何创新,都离不不开EDA 软件的创新支持。
根据应用场景的不同,EDA工具的使用主要分为设计、验证、制造等几大类。以物理实现为分界,芯片设计可以划分为前端(逻辑设计)与后端(物理设计),其实现过程中将不断对设计进行优化,优化可能改变逻辑描述方式和结构,存在引入错误的风险,所以验证贯穿整个设计过程,在每个环节都反复确保逻辑优化过程不改变功能、时序满足目标需求、物理规则无违规等等,因此产生大量的验证流程和工作,更涉及多方共同协作。
换而言之,验证是芯片开发流程上最不能忽视的一环。
无处不在的验证
芯片验证流程一般包括需求定义、功能实现、功能实现、逻辑综合以及物理实现。具体看来:
需求定义主要根据市场分析结果提出下一代产品需求。结合外部环境分析、供应链资源、公司自身定位等信息,应用端提出对新一代产品的需求,并进一步考虑产品作用、功能、所需线板数量、使用集成电路类型等,精准定义产品需求。 功能实现是描述希望芯片实现的目标。开发者用Verilog或VHDL等硬件描述语言,编写出百万行起的代码来实现芯片功能。就像是建筑设计之前,需要先规划好房间数量、用途、和遵守的法规。
功能验证是反复迭代验证,使设计精准、可靠。在芯片制造之前,通过检查、仿真、原型平台等手段反复迭代验证,提前发现系统软硬件功能错误、优化性能和功耗,使设计精准、可靠,且符合最初规划的芯片规格。
逻辑综合是从行为级描述到电路级描述。规格设计与验证之后,开发者将硬件描述语言转换成逻辑电路图,这一步被称之为“逻辑综合”。
物理实现即为制造芯片绘制图纸。把逻辑电路转换成为有物理连接的电路图,将上百亿或千亿元器件和电路合理的布局布线并使其互不干扰。
物理版图以 GDSII 的文件格式交给晶圆厂,在硅片上做出实际的电路,再进行封装和测试,就得到了实际看见的芯片。当前的验证几乎必须贯穿芯片设计的每个步骤,以便芯片研发团队及时发现错误,只有经过充分的仿真和验证,才能确保流片的成功与质量。 验证环节能够为芯片设计带来诸多好处,例如缩短芯片设计时间,降低芯片设计成本等等。具体来看:
首先是芯片设计的复杂度方面,随着设计与工艺技术的不断发展,集成电路设计的规模越来越大,复杂度越来越高。
为了缩短芯片的上市时间,节约开发成本,集成了微处理器、模拟IP核、数字IP核和存储器(或片外存储控制接口)等多家IP核的SoC(系统级芯片,System on Chip)也成为主流,随之而来的挑战是验证复杂度呈现指数级的增长,验证工具的革新目标是快速、准确、完备、易调试的完成日益复杂的验证,让开发者有信心Signoff设计交付给晶圆厂进行流片。
做一款中等规模的芯片大致需要十多人的团队一年半以上的开发时间,而现今主流的SoC芯片更是需要一个经验丰富的团队投入3-5年时间开发。因此,一个高效的验证平台使得验证迅速收敛显得尤为重要。
其次是芯片的成本方面,最新数据显示,先进工艺的芯片设计环节成本及其高昂,从千万美金级到亿美金不等,由于设计缺陷或者工艺缺陷很容易造成芯片变成所谓的“废片”,而如果要重新投片不仅需要高昂的资金成本,更会将芯片上市时间延后至少半年,这些风险对于商业公司来说都是不可接受的。因此,在芯片流片之前通过验证活动发现所有的设计缺陷和错误显得愈发重要。
再来是安全性方面,随着芯片使用场景延伸至AI、云计算、智能汽车、5G等领域,由于其场景无一不是依托于芯片运行,芯片的安全性、可靠性前所未有的重要。
我们已经完成从规模化复杂性到系统化复杂性的转变,当芯片、系统和软件环境融合在一起,无数的“应用模式”都需要从安全角度进行充分的验证。以智能汽车使用的自动驾驶芯片为例,其复杂程度并不低于一架小型飞机,汽车行业要求系统能够准确运行以避免危险情况的发生,并能够实时监测和管理故障。
还有软硬件协同验证方面,在早期软件和硬件并不相融的阶段,软件与硬件的开发及其验证均为独立进行,遵循先有芯片设计制造再到上层软件开发的工作流程。
如今随着AI、智能汽车等领域快速发展,带来专用芯片和适应行业需求的全新架构需求,芯片本身即是一个软硬件结合的复杂系统,开发者从需求定义的阶段即明确需要软硬件协同开发,才能得到期望的功能和性能。
开发者们引入ESL(电子系统级,Electronic system-level)设计理念,针对软件开发仅需要编程模型,不需要硬件实现细节的特点,在设计的早期阶段即构建一个高抽象级的虚拟原型(virtual prototype),由于并不需要硬件描述细节,系统级模型的仿真速度较RTL级仿真速度快上几个数量级,让硬件人员和软件人员可以在早期阶段运用采系统进行硬件参照和软件开发。
这一理念同时也是“Shift-Left”方法学的实践,在RTL实现前就可以完成相关的软件开发验证工作。软件可以解决安全性问题,但软件本身也有安全性问题,因此当完成后,需要检查软件安全性,找出问题并不断解决问题。
特别是在我们用到很多开源软件的情况下,开源会产生数据泄露的问题,所以我们需要在整个开发过程的最早期就开始介入,并在之后的开发过程中解决这些问题,实现Shift Left,加速芯片的开发、降低风险的同时,更缩短了产品面世的时间。
最后是低功耗设计方面,低功耗一直是便携式电子电气设备的关键要求。近年来,这一要求已扩大到许多种类的终端产品,无论是自动驾驶的大规模芯片设计或是精巧的物联网芯片设计,低功耗都是开发者关注的重要指标之一。
电子工业已经发展了广泛的电源管理技术,并定义了统一电源格式(UPF)来描述一些最常用方法的设计意图。低功耗半导体设计的成功开发包括检查UPF描述,以及在项目的多个阶段根据设计验证UPF。对应至芯片开发中的指标即为PPA(Performance, Power, Area)当中的Power,开发者在设计和验证过程中始终关注这三个重要指标的平衡。
低功耗SoC设计流程
在Soc设计中采用门控功耗和门控时钟技术成为使用最广和效率最高的功耗节省方式。门控功耗依靠关闭那些不用的模块节省功耗,而门控时钟则是通过关闭那些不需要激活的模块和寄存器来缩减功耗,因此,开发者透过设置数十个电压域和数千种功耗模式来达到低功耗要求,而验证需要确保在所有功耗模式下电路的行为皆正确,其复杂程度和验证负荷可想而知。
验证工具发展史
正如前文所言,设计与工艺技术在不断发展,因此芯片也变得更加复杂,EDA工具与工艺绑定,半导体工艺更新一次EDA就要跟着更新。据了解,行业巨头Synopsys 为了维持行业地位和紧跟技术发展,研发费用高达 35%。这足以证明EDA发展速度很快,很显然,验证工具也随之迅速发展。
回看验证工具的来路,是一部值得探究的发展史。
须知,数字电路的验证随着集成电路设计与制造的发展逐渐细化,形成庞大的技能树中的一个重要分支,其包含系统级验证、硬件逻辑功能验证、混合信号验证、软件功能验证、物理层验证、时序验证等等。
因此当回顾其发展历史,一般是以80年代用于硬件描述的Verilog语言以及相应逻辑仿真器的出现作为验证工具发展的起点。本篇重点挑选随集成电路发展而成为新刚需的两种验证工具介绍。
(a)硬件仿真
1980年代,所有早期的硬件仿真器都是由大量商用FPGA构建而成的,这些FPGA通常成千上万,并大量安装在大型板上被装在大机柜中,并通过复杂的FPGA背板互连,通过大量电缆插入目标系统来实现对仿真器的输入/输出,这种部署方案被称为ICE(In-circuit-emulation),这一方式繁琐不可靠,且相当耗时,业界因此发明了仿真时间(TTE)一词,以表达并衡量将设计输入到编译器与仿真器后所花费的部署时间;导致其无法被推广的原因还有高拥有成本,以及由于设备可靠性不佳,需要一批经验丰富的应用工程师来支持其部署。
1995年左右的早期硬件仿真器特性
仿真先驱Quickturn在90年代与IBM合作,引入新技术以解决其调试功能差、部署和编译时间长、性能无法随着设计规模线性扩展等缺点;1999年,由中国人于硅谷所创办的Axis推出能将设计从仿真器交换到专有仿真器以做调试的加速器;2000年,四名法国工程师创办了EVE(Emulation Verification Engineering)并推出了一款名为Zebu for Zero-Bugs的模拟器。
发展到2000年左右,通过基于定制ASIC的新体系结构,硬件仿真器得到了显着改善,支持软件改进,支持Verilog和VDHL语言,并设计了新的部署模式,客户群扩展到了处理器和图形的市场之外,在多机箱配置下总容量能扩展到1亿门,接近1MHz的仿真速度。
如今,随着芯片集成度提高,SoC逐渐成为常态,到2015年左右,设计已经达到十亿门的规模,硬件仿真已成为所有验证策略的基础、SoC设计中必备的工具。在这段期间经过多次并购整合,市场上仅剩三家在仿真领域竞争:1998年,Cadence购买了Quickturn并推出了名为Palladium的硬件仿真系统;Mentor Graphics并购了Meta Systems和IKOS推出了Veloce仿真器和Questa(R) CodeLink;Synopsys于2012年收购了EVE并在两年后推出了基于Xilinx Virtex-7 FPGA的ZeBu-Server3。
(b)虚拟原型
早期开发者想验证其设计,只有等待极其漫长的模拟结果,或是等待流片成果,而一旦结果不如预期,不管是再次模拟或是二次流片,都将产生极高的成本。因此,当Xilinx和Altera推出可重新编程门阵列(FPGA)时,开发者通过用FPGA板拼凑出有效的流程来对设计进行验证,这一比流片便宜、比仿真要快的方式成为开发者选择的第三种方式。
但自行组装意味着需要对设计进行分区,而FPGA上有更多的信号在各个分区之间传输,需要对引脚进行多路复用,门的数量呈平方增长,而引脚的数量呈线性增长,这意味着每个引脚有数千个门,这一方法要求工程师具备大量设计及FPGA的知识,以及对FPGA工具流程的熟悉。
因此,2000年,一家创立于瑞典的公司Hardi Electronics正式推出一款基于FPGA的原型系统HAPS,HAPS可以通过多种方式快速组装ASIC原型系统,为客户在关键验证阶段节省数月的时间。2007年,Synplicity以2400万美元的金额收购了这家公司,而Synopsys在2008年以2.27亿美元收购了Synplicity,HAPS经历几代人于2015年发展至HAPS-80,至今仍是业界最快的原型验证加速平台。
与其同时,S2C于2003年于硅谷成立以解决FPGA原型市场需求;Cadence于2011年推出Rapid Prototyping Platform,也就是今天的Protium;而开发者也仍在运用其丰富的FPGA知识自行组装原型系统。
芯片设计需要怎样的验证工具?
目前验证工具已经衍生出了很多类别,作为全球排名第一的 EDA 解决方案提供商,新思科技的工具产品线最为全面,一直致力于开发适用于复杂的芯片系统的工具,因此新思也就成为了我们研究的重点。
在分门别类介绍之前,我们不得不提到近年来大火的AI技术。麦肯锡咨询公司预测,AI正在为半导体业开启数十年来的最佳商机,因为AI可以助力半导体公司从技术堆栈中获得高达40%~50%的产值,而移动时代只为半导体业提供了价值20%的产值。新思科技人工智能实验室主任廖仁亿也曾指出,EDA 未来的终极形式就是AI。
近期,新思科技推出业界首个AI自主芯片设计解决方案DSO.ai,据悉该解决方案可以在芯片设计任务的巨大求解空间中搜索优化目标并迅速完成设计,是新思科技多年持续将AI应用于芯片设计技术的重要成果之一。
再说回验证工具,显然,AI在其中也扮演了不小的角色。验证工具一般分为架构设计、硬件开发、软件开发以及业界仿真速度最快的硬件加速器等类别。
(1)架构设计:探索和优化
在架构设计中,芯片设计首先要定义系统架构,明确功能、选用的IP核之间的通讯协议、PPA(Power-Performance-Area)的平衡关系等。
AI芯片设计需要高性能和能效的架构,这往往代表着更为创新的架构,在早期架构探索与优化阶段,快速搭建精确地架构概念模型,验证系统的性能和功耗设计目标可实现,帮助神经网络架构和算法设计师快速确定全面均衡的架构,消除芯片设计的后期更改风险,提前发现问题并提高开发效率,成为AI芯片设计的普遍需求。 早在2018年,AI芯片创业公司寒武纪就曾宣布,其云端智能处理器芯片采用的验证工具,正是新思科技 HAPS 原型验证解决方案。
实际上,像寒武纪这样正在使用新思科技设计工具的芯片公司不止一家,Denso基础电子研发部项目经理Takashi Abe曾表示:“汽车AI芯片设计需要高性能和能效的架构,Platform Architect Ultra使我们能够快速搭建精确的架构概念模型,利用实际AI工作负载进行测试,有效对比数以百计的架构和IP备选方案,确保我们的汽车芯片提供最佳性能和功效。”
据悉,Platform Architect Ultra为智能映射与优化AI芯片架构的CNN,能满足高性能和低功耗的平衡。其独特的技术、功能和AI参考系统支持整合、分析和优化AI架构CNN工作负载模型。AI 芯片团队可利用Platform Architect Ultra进行正确有效的架构权衡决策,以消除芯片设计的后期更改。
(2)硬件开发:静态检查和形式化验证
在设计流程的早期,对综合后的网表进行快速分析并检查 RTL 设计是否在功能上与HDL设计存在等价性, 确保功能在优化过程中并未被改变,在仿真之前发现大部分缺陷并进行修复,提高仿真的速度和效率,并减少总体成本、时间和精力。Synopsys的SpyGlass和形式验证解决方案基于下一代数据库和引擎构建,可提供验证最大、最复杂设计所需的功能和性能。
近期,新思宣布面向市场推出VC SpyGlass? RTL静态Signoff平台,该平台采用了公认的SpyGlass?技术,是Verification Continuum?平台的一部分。
对此,瑞萨电子数字设计技术部、共享研发部、物联网与基础架构业务部主管Hideyuki Okabe曾表示,“约束不充分或不正确是造成大量违例问题的主要原因,这也会相应地增加我们的调试周期。借助VC SpyGlass的新机器学习技术,我们的设计团队能够显著减少要调试的CDC违例误报的数量,从而加快识别根本原因。”
(3)硬件开发:动态仿真和调试 仿真验证就是检验编码设计的正确性,检验的标准就是第一步制定的规格。看设计是否精确地满足了规格中的所有要求。规格是设计正确与否的黄金标准,一切违反、不符合规格要求的,就需要重新修改设计和编码。设计和仿真验证是反复迭代的过程,直到验证结果显示完全符合规格标准。
在这方面,新思也有布局,新思推出Verification Continuum的全新增强型原生集成实现了所有验证引擎之间的性能提升,加快了复杂片上系统设计的上市。
对此,天数智芯(Iluvatar)市场副总裁梁斌表示:“为了获得竞争优势,我们需要全方位解决方案来改善验证流程,并缩短高性能人工智能(AI)解决方案的上市时间。新思科技VC Formal控制和数据路径应用,加上VCS的原生编译和Verdi的统一调试,使我们能够在数分钟内发现无用代码,并在一天内检验复杂的128 x 128 MAC。”
(4)软件开发:虚拟原型设计平台 虚拟原型设计使软件工程师在硬件设计完成的数月之前就开始研发,在硅片出品后数天之内就可全面启动系统。随着芯片与应用领域的紧密结合,基于虚拟原型的软件开发会成为常态,加速软件开发的工具将日益普及。
平头哥与新思在此方面也有合作,平头哥副总裁孟建熠博士曾表示,在玄铁910处理器开发过程中,新思科技HAPS-80系统帮助我们在两周内将芯片原型交付给软件团队,为玄铁910处理器的早日面市提供了极大保障。
恩智浦副总裁兼车辆网络处理器部门总经理Ray Cornyn指出,新思科技针对S32G车辆网络处理器推出的VDK,可帮助汽车系统开发者利用S32G的先进功能,加速其软件开发、集成和测试。”
(5)业界仿真速度最快的硬件加速器:
验证加速及软硬件系统验证测试 将还处于RTL级别的设计放到一个可重构的虚拟硬件环境中,让验证速度得到成千上万倍提升,在数小时之内将操作系统在RTL模块上启动起来,同时也让软硬协同成为可能。
2019年,新思宣布与AMD的多年协议,利用它的ZeBu ?Server 4仿真系统,加快了越来越多的AMD高性能处理器,图形和游戏项目的验证。对此,AMD仿真和快速平台建模部门高级研究员Alex Starr评价道,“高性能处理器、图形和游戏芯片的复杂程度继续显著提升。高性能仿真已经成为我们开发战略中的关键组成部分。部署ZeBu Server 4能够高效地分析新架构的能源效率和性能,并能执行处理客户的工作负载。”
小结
验证是芯片开发的重要保障,占芯片开发过半的工作量,是以数学的方法将错误推向无限接近于零的过程。随着AI、智能驾驶、5G为代表的创新应用领域对芯片的需求增长,针对不同类型芯片的验证工作面临的挑战也更为复杂多样,验证工具之间的搭配、可扩展性、加速软硬件开发等成为开发者关注的重点,新思科技针对不同领域也已有成熟方案可帮助客户缩短开发周期、提高流片成功率。
相关新闻: |
另辟蹊径再续摩尔定律 |
我们不应该再用nm来衡量芯片的进步 |
一图看懂EDA设计流程及其工具 |
学习园地