芯片设计到底难在哪里?
芯片作为现代电子产品的核心部件,一直充当着“大脑”的位置,其技术含量和资金极度密集,生产线动辄数十亿上百亿美金。
芯片制造的完整过程包括:芯片设计、晶圆制造、封装、测试等几个主要环节,其中每个环节都是技术和科技的体现。
对于芯片来说设计和工艺同样复杂,八十年代EDA技术诞生——芯片自动化设计,使得芯片设计以及超大规模集成电路的难度大为降低,工程师只需将芯片的功能用芯片设计语言描述并输入电脑,再由EDA工具软件将语言编译成逻辑电路,然后再进行调试即可,正如编辑文档需要微软的office,图片编辑需要photoshop一样,芯片开发者利用EDA软件平台来进行电路设计、性能分析到生成芯片电路版图。现在的一块芯片有上百亿个晶体管,不依靠EDA工具,高端芯片设计根本无从下手。你细品,这么浩瀚的工程怎么能靠手动完成呢?
重点是尽管有了EDA也并不代表芯片设计这件事很容易,芯片设计仍然是一个集高精尖于一体的复杂系统工程。
不管是IDM还是fabless,共同的特点是以芯片设计为产业的核心。举个栗子,2018年AMD的处理器改由台积电代工,制程为7nm,英特尔的处理器制程还是14nm,但性能照样压制了AMD,说明芯片设计也是非常关键的鸭。
设计一款芯片,开发者先要明确需求,确定芯片“规范”,定义诸如指令集、功能、输入输出管脚、性能与功耗等关键信息,将电路划分成多个小模块,清晰地描述出对每个模块的要求。
然后由“前端”开发者根据每个模块功能设计出“电路”,运用计算机语言建立模型并验证其功能准确无误。“后端”开发者则要根据电路设计出“版图”,将数以亿计的电路按其连接关系,有规律地翻印到一个硅片上。
至此,芯片设计才算完成。如此复杂的设计,不能有任何缺陷,否则无法修补,必须从头再来。如果重新设计加工,一般至少需要一年时间,再投入上千万美元的经费,有时候甚至需要上亿。
敲黑板,戴眼镜,既然大家普遍对芯片制造的难度有一定的了解,那这篇文章希望可以让大家对芯片设计的难度也有共同的认知。
第一关,难在架构设计
芯片设计,环节众多,每个环节都面临很多挑战。以相对较为简单的数字集成电路设计为例设计多采用自顶向下设计方式,层层分解后包括:
需求定义:结合外部环境分析、供应链资源、公司自身定位等信息,提出对新一代产品的需求,并进一步考虑产品作用、功能、所需线板数量、使用集成电路类型等,精准定义产品需求。这一环节的难度在于对市场、技术的未来趋势准确判断和对设计人员、制造工厂等自身和产业链情况、能力的充分了解。
功能实现:描述芯片需要实现的目标,通常用硬件描述语言编写。这一环节的难度在于对芯片整体可以达到的性能、功能的把握,既要充分满足目标,又不能超过自身的能力上限。
结构设计:根据芯片的特点,将其划分成接口清晰、相互关系明确、功能相对独立的子模块。这一环节难度在于对芯片结构的熟悉,是否能用尽可能少的模块和尽可能低的标准达到要求。
逻辑综合:开发者将硬件描述语言转换成逻辑电路图。这一环节难度在于需要保证代码的可综合、清晰简洁、可读性,有时还要考虑模块的复用性。
物理实现:将逻辑电路转换成为有物理连接的电路图。这一环节难度在于如何根据制程,使用尽可能少的元件和连线完成从RTL描述到综合库单元之间的映射,得到一个在面积和时序上满足需求的门级网表,并使内部互不干扰。
物理版图:以 GDSII 的文件格式交给晶圆厂,在硅片上做出实际的电路,再进行封装和测试,得到物理芯片。
必须说明的是,芯片设计时,需要考虑许多变量,例如信号干扰、发热分布等,而芯片的物理特性,如磁场、信号干扰,在不同制程下有很大不同,没有数学公式可以直接计算,也没有可套用的经验数据直接填入,只能依靠EDA工具一步一步设计,一步步模拟,不断取舍。每一次模拟之后,如果效果不理想,就要重新设计一次,对团队的智慧、精力、耐心都是极大考验。
第二关,难在验证
芯片验证目标是在芯片制造之前,通过检查、仿真、原型平台等手段反复迭代验证,提前发现系统软硬件功能错误、优化性能和功耗,使设计精准、可靠,且符合最初规划的芯片规格。
它不是在设计完成后再进行的工序,而是贯穿在设计的每一个环节中的重复性行为,可细分为系统级验证、硬件逻辑功能验证、混合信号验证、软件功能验证、物理层验证、时序验证等。
验证很难,首先在验证只能证伪,需要反复考虑可能遇到的问题,以及使用形式化验证等手段来保证正确的概率,非常考验设计人员的经验和智慧。
其次在验证的方法必须尽可能高效。现在的芯片集成了微处理器、模拟IP核、数字IP核和存储器(或片外存储控制接口),验证复杂度指数级增长。如何快速、准确、完备、易调试地完成日益复杂的验证,进入流片阶段,是每个芯片设计人员最大的挑战。
最后在验证工具本身。以常见的FPGA硬件仿真验证为例,90年代FPGA验证最多可支持200万门,每门的费用为1美元。如今单位价格虽然大幅下降,随着芯片的复杂程度指数级增长,验证的门数也上升到以千万和亿为计算的规模,总体费用更加惊人。
此外,FPGA本身也是芯片设计的一种。现在大型设计(大于2千万等效ASIC门)需要用多块FPGA互联进行验证,FPGA的设计面对RTL逻辑的分割、多片FPGA之间的互联拓扑结构、I/O分配、布局布线、可观测性等现实要求,这就又给设计环节增加了难度。
第三关,难在流片
流片就是试生产,设计完后,由芯片代工厂小批量生产一些,供测试用。它看起来是芯片制造,但实际属于芯片设计行业。
流片技术上不困难,因为芯片设计基于现有工艺,除了少量需要芯片设计企业指导的生产之外,困难在于钱、钱、钱。
流片一次有多贵?先引用CMP(Circuits Multi-Projets,美国一家非营利性多项目晶圆服务组织)的公开报价吧。
按照这份报价,以业内裸芯(die)面积最小的处理器高通骁龙855为例(尺寸为8.48毫米×8.64毫米,面积为73.27平方毫米),用28纳米制程流片一次的标准价格为499,072.5欧元,也就是近400万元人民币!
然后,芯片设计企业可以拿到什么呢?25个裸芯,平均每个16万元!
更重要的是,流片根本不是一次性的事啊!
流片失败,需要修改后再次流片;流片成功,可能需要继续修改优化,二次改进后再次流片。
每一次都需要至少几百万元。
什么叫做氪金?这才叫做氪金啊!
或许有知友会提出疑问,这是成本上的问题,为什么算在困难上呢?这当然是困难了,世界上最大的困难不就是没钱吗?
之所以在会提到流片费用,是因为许多人在谈及芯片制造困难的时候都会指出,建立一条先进制程芯片产线需要天量资金投入,但通过流片可以看出,其实芯片设计对资金的渴求也同样惊人。
第四关,越来越具有挑战性的设计需求
首先是随着芯片使用场景延伸至AI、云计算、智能汽车、5G等领域,芯片的安全性、可靠性变得前所未有的重要,对芯片设计提出更高、更严格的要求。 其次是随着AI、智能汽车等领域快速发展,带来专用芯片和适应行业需求的全新架构需求,这一全新的课题给芯片设计带来更多新的挑战。 最后是随着硅基芯片根据摩尔定律,在两三年之后将达到1纳米的工艺极限,继续提升性能、降低功耗的重任更多落在芯片设计身上,给芯片设计更大的压力。此外,制程工艺提升也迫切需要芯片设计的指导才能实现,也额外增加了压力。