芯片设计到底难在哪里?
来源:密科圈城MechTown
(资料图片仅供参考)
众所周知,芯片一直是手机等电子产品的核心部件,需要极其密集的资金支持和技术含量。芯片之于手机,犹如大脑之于人,这样说来似乎更加容易理解。
一枚芯片从设计到投入使用需要经历芯片设计、晶圆制造、封装、测试等几个主要环节,每个环节“各司其职”,都有其难点和不可替代的一面,且都是科技和人类智慧结晶的体现。
单从芯片设计来讲,自八十年代EDA(Electronicdesign automation —— “电子设计自动化”)技术诞生以来,设计大规模集成电路的难度大大降低,设计工程师们只需要借助EDA软件将语言编译成逻辑电路,之后再进行一段时间的调试就可以了。
但尽管如此,有EDA如此强大的支持,芯片设计依旧不是一件容易的事情,不存在芯片设计比芯片制造简单一说。
芯片设计流程
芯片设计,是一种复杂、高端、且浩瀚无比的技术工程。小编详细罗列了芯片设计各个步骤的难点,以及designer为芯片设计所经历的艰辛,以飨读者。
难点1——架构
芯片设计有很多环节,每一个都不可或缺,且都有其各自的难点。如若需要评估整个设计流程的难度,还需要拆分开来看,按照顺序,想要完整设计出一个芯片的基本架构,步骤通常有:
需求分析:
无需多说,芯片应用对老百姓的生活可谓是无孔不入,而从一张简单的IC卡,到售价几千元的手机,不同的市场有不同的需求。因此,明确需求是芯片设计的第一步。其中包括对未来市场趋势的准确判断、自身工厂能力的评估、设计人员数量及能量的精准衡量。
前端设计:芯片前端设计主要包括HDL编码,仿真验证,STA,逻辑综合,简而言之就是从输入需求到输出网表的过程。例如在HDL编码过程中,designer必须充分满足芯片可以达到的目标,且不能超出临界值。在静态时序分析(STA中),designer不仅需要确定芯片最高工作频率,还要检查时序约束是否满足,如若不满足,要给出具体原因,进一步修改程序直至满足要求。在逻辑综合(ASIC综合)中,designer需要设定详细的目标参数和约束条件,才能将设计实现的RTL代码翻译成门级网表,交给后端工作人员。以上及其他未被列出的前端设计步骤,均需要designer严谨、周密的思维方式;需要对芯片的性能、性质等有良好的把握;需要超于常人的精力,绝非一日之功可以达成。后端设计:
芯片后端设计主要包括DFT,布局规划,布线,CTS,版图物理验证,简而言之就是从输入网表到输出GDSII文件的过程。
例如DFT(Design ForTest),可测性设计,在设计中插入扫描链,将非扫描单元(如寄存器)变为扫描单元,由于芯片内部往往都自带测试电路,designer需要在设计的时候就考虑将来的测试。
布局规划(FloorPlan),这一环节难度在于对芯片结构的熟悉,designer是否能用尽可能少的模块和尽可能低的标准达到要求。
物理版图验证,对完成布线的物理版图进行功能和时序上的验证,验证项目繁琐且复杂,如LVS(Layout Vs Schematic)、DRC(Design Rule Checking)等。
以上及其他未被列出的后端设计步骤,均需要考虑许多变量,例如信号干扰、发热分布等。
而芯片的物理特性在不同制程和不同环境下都有很大不同,且无现成公式套用计算,只能依靠EDA工具不断试错、模拟和取舍。稍有不慎,就有重蹈覆辙的危险。由此,芯片设计的难度可窥得一斑。
难点2——流片
在IC设计领域,流片即指试生产,就是说设计完电路以后,先生产一部分以供测试使用。虽然流片看起来是芯片制造的步骤,但实际属于芯片设计。
检验流片在芯片设计到制造的过程中,是一个不可或缺的步骤。假如designer在设计的时发现某个地方可以进行优化,但又怕给芯片带来不可预估的后果,若根据有错误的设计方案着手制造,那么损失难以估量。
所以为了检验芯片设计的完整性、正确性,必须进行流片,从一个电路图到一块芯片,检验每一个工艺步骤是否可行,检验电路是否具备我们所要的性能和功能。测试通过,则大规模生产;测试失败,可能需要重复之前的设计步骤进行优化,查缺补漏。
难点3——验证
验证是在芯片设计每一个环节中的重复性行为,可细分为系统级验证、硬件逻辑功能验证、物理层验证、时序验证等。在验证过程中如若出现错误,需要重复前面几步、不断迭代优化才能解决,由此也决定了这项工作的复杂性。
designer需要反复考虑可能会遇到的问题,在保证正确率的情况下高效进行,费用高昂不说,也非常考验designer的耐心、决心与智慧。一方面要对相关协议算法有足够了解,根据架构、算法工程师设定的目标设计仿真向量;另一方面要对设计本身足够了解,以提高验证效率,缩短验证时间。
远眺未来,芯片的使用场景会愈发丰富,例如5G、智能汽车、云计算等领域,所需求芯片的质量会有更高的要求;摩尔定律接近极限,芯片性能提升的重担也落在了designer身上。以上因素势必会给designer带来更大的压力,给芯片设计带来更多新的挑战。