为了设计用于半导体制造的光掩模(Mask),已经采用了许多不同的方法论。
本文不仅适用于半导体行业的从业者,还希望能够帮助各个领域的读者理解相关内容。
接下来,我将讨论开源EDA(Electronic Design Automation)与商业EDA的现状,以及AI EDA等话题。
在现代市场中,最主流的数字半导体设计方法包括:
- 基于硬件描述语言(HDL)的逻辑设计
- 使用EDA工具进行验证和物理设计
那么,什么是EDA?什么是VLSI CAD?
通过计算机进行设计的工具被称为CAD,即计算机辅助设计(Computer-Aided Design)。而用于超大规模集成电路(VLSI,Very Large Scale Integrated Circuit)的设计自动化软件被称为VLSI CAD。
由于“CAD”这一术语还广泛应用于机械、建筑、艺术等领域,为了避免混淆,电子设计领域的专业人员更常使用“EDA”,即电子设计自动化(Electronic Design Automation)。
https://www.youtube.com/watch?v=iDhpKq09XIo
总结来说,
EDA(电子设计自动化)虽然不直接参与芯片的制造,但在“设计、仿真、验证”的自动化方面起着至关重要的作用,主要体现在以下三个方面:
-
TCAD:用于半导体制造工艺的设计与验证。
-
Design & Signoff:实现设计、仿真和验证的自动化,并将设计好的电路与晶圆厂的物理要求进行对比。
-
硅生命周期管理(Silicon Life Management):在芯片制造完成并投入市场后,监控半导体的可靠性。
半导体的应用非常广泛,包括模拟半导体和数字半导体等多个领域。设计方法也可以进一步分为全定制(Full Custom)和半定制(Semi Custom),每个细分领域都有对应的EDA工具来支持这些工作。
https://www.youtube.com/watch?v=x07eJFVgNrM
EDA工具可以简单地概括为代码到代码的自动化以及代码验证。
-
代码到代码的自动化:这是将设计者编写的高级硬件描述语言(HDL)代码自动转换为机器可以理解的低级代码的过程。例如,将用Verilog编写的逻辑转换为实际可以硬件实现的门级网表就是其中的一部分。
-
代码验证:验证设计的代码是否能够准确执行预期的功能。通过仿真来验证设计的正确性,并在实际制造之前对其进行严格的检查,以确保没有错误。
通过这种方式,设计、仿真和验证都实现了自动化,极大地降低了半导体芯片开发的复杂性。
简单的逻辑电路代码如下所示。这种电路代码只包含XOR、AND等逻辑信息,但并不包含XOR的尺寸或速度等物理特性的信息。
在实际的半导体器件中,XOR电路有尺寸、速度、功耗等物理特性。
- 半导体器件工程师将这些特性通过SPICE代码进行存储,
- 特性化(Characterization)工程师将其保存为库代码,
- 库工程师进一步将其压缩成数据库代码。
这些数据库文件被封装在**工艺设计套件(PDK)**中,供物理设计工程师使用。物理设计工程师利用PDK中包含的器件物理信息来进行芯片设计。
设计者们为了在市场上具备竞争力,必须设计具有优异PPA(性能、功耗、面积)特性的半导体。
以下是逻辑到版图(Logic to Layout)流程中,关于逻辑综合(Logic synthesis)阶段的经典描述:
- 接收包含逻辑设计的代码作为输入,
- 将其转换为布尔形式的代码,
- 根据SDC(时序约束文件)、库文件和PDK中的物理信息,将设计映射到PDK中提供的单元(Cell)。
通过将HDL + SDC + Library + PDK作为输入,最终生成以代工厂提供的单元为基础的门级网表(Gate Level Netlist)。
The Maestro Behind Design-Software Behemoth Synopsys - IEEE Spectrum
值得一提的是,Synopsys的创始人Aart de Geus主席,开发了全球首个基于约束条件的综合EDA工具——“SOCRATES”。
此外,Synopsys这个名字的来源是SYNthesis(综合) + OPtimization(优化) + SYStem(系统)的组合。
像Design Compiler和Fusion Compiler这样的产品是Synopsys代表性的逻辑综合工具。
当通过逻辑综合完成基本的映射和优化后,会进入以下关键步骤:
-
逻辑等价性检查(Logical Equivalence Check, LEC):确保初始的RTL代码与最终生成的门级网表(Gate Level Netlist)在逻辑上是等效的。
-
时序和功耗验证及仿真:对设计的时序(Timing)和功耗(Power)进行验证,并通过仿真确保设计的性能符合要求。
-
可测试性设计(Design for Testability, DFT):增加测试结构以便于未来制造后的芯片测试,提高可测试性。
在完成这些步骤后,就会进入到Place & Route(布局布线)阶段,为门级网表中的实例分配坐标,确定各个端口之间的连接路径,从而完成物理设计的布局和走线。
VLSI CAD Lecture:
https://www.coursera.org/learn/vlsi-cad-logic
VLSI CAD Part II: Layout | Coursera
总结来说,半导体芯片极其复杂。正如下面的图示所示,每个半导体芯片中都包含了数量庞大的晶体管。
细微的变化可能导致各个物理参数之间以微妙的方式相互作用。此外,制造工艺的变化也可能引发物理特性的变化,进而影响芯片的性能、功耗和可靠性。
因此,在芯片设计和制造过程中,必须密切关注这些物理参数和工艺变化,以确保最终产品的性能符合预期标准。
要考虑的因素实在太多,如果没有精密的自动化工具,就无法管理这种复杂性。EDA正是提供了这项至关重要的技术。
如果没有EDA工具,今天这种规模和复杂度的半导体设计和制造成本将会极其高昂,导致项目的经济性变得不可行。结果是,半导体产业和消费者将只能使用有限的、低复杂度的芯片。
因此,EDA不仅是现代半导体产业不可或缺的工具,它还大幅降低了设计和制造的成本,使得复杂的半导体器件能够以经济的方式生产和应用。