前言#
本文前情提要:
- 仅关注数字 IC 设计流程中的主要 / 关键步骤。
- 尽量避免晦涩术语
什么是 IC 设计流程#
集成电路设计流程是一种系统化的方法,包括一系列步骤,直至集成电路蓝图准备就绪,可以转移到半导体工厂进行制造。
IC 设计流程中的关键步骤#
典型的 IC 设计周期包括几个步骤:
以下流程引用自 wiki:
- 系统规格
- 可行性研究和芯片尺寸估算
- 功能分析
- 架构或系统级设计
- 逻辑设计
- 模拟设计、仿真和布局
- 数字设计和仿真
- 系统仿真、仿真和验证
- 电路设计
- 物理设计
- 楼层规划
- 布局和布线
- 寄生提取
- 物理验证和 签署
- 静态时序
- 协同仿真和时序
- 掩模数据准备 (布局后处理)
- 芯片完成与 流片
- 光刻布局
- 布局到掩模准备
- 光刻版制造
- 光掩模制造
- 晶圆制造
- 封装
- 芯片测试
- 后硅验证 和集成
- 设备特性
- 调整(如有必要)
- 芯片部署
再进一步总结为如下几个关键步骤
规格和架构设计#
在这个阶段,设计工程师应该能够回答以下问题:
- IC 是为了什么而制造的?
- IC 必须提供哪些功能?
- 需要的速度和功耗是多少?
- 目标成本是多少?
通俗来说此阶段即为高层次的顶层架构设计。
设计输入 – 逻辑 / 电路设计#
完成架构设计并确定要实现哪些功能后,工程师使用 RTL 实现逻辑功能,并通过逻辑综合完成 RTL 到门级网表的转换。一般称逻辑设计为 IC 前端,物理设计为 IC 后端,逻辑综合为桥梁,提供物理设计所需的技术相关网表。
物理设计#
物理设计阶段的重点是将电路的逻辑表示转化为适合制造的物理布局。这涉及到楼层规划、布局、布线等步骤,需要遵守严格的设计约束条件,如面积、功率和时序等要求,以满足 PPA。
物理验证#
物理验证阶段是一个反复进行的过程,对确保设计的正确性和稳健性至关重要。采用包括模拟、形式验证和仿真在内的各种技术来模拟集成电路的物理效应(电阻、串扰等),检测设计缺陷,确保符合特定要求。
换句话说,这一阶段可以帮助设计人员想象电路将如何铺设在硅片上,并测量电路在压力下的功能。
签署(DFM – DFT 和制造)#
签署指的是在设计流程的不同阶段对芯片进行确认和批准。通常,签署涉及到多个阶段和多个方面的确认,以确保设计在满足规格要求的情况下能够正常工作,并且符合预期的性能指标。
- 前仿真(功能仿真)
在设计的电路进入布局布线前应检查其功能是否符合设计要求,这一仿真验证称之为第一次签署。
- 后仿真(时序仿真)
设计经过布局布线之后,使用 EDA 工具进行寄生参数提取,形成精确的 后布局电路网表,对此网表做时序仿真,来检查时序行为是否符合要求,这一过程称之为第二次签署。之后就可以进入代工厂流片生产了。
签署分析做的是否完整和完备对 IC 产品的质量是至关重要的,若在这个阶段查找到问题并加以修正要比在生产阶段的花费要低廉很多,所以各个 IC 公司都非常重视这个过程,EDA 厂商也都有自己完整的用来做签署的工具集。
比较合适的方式是将签署分析集成到 IC 设计的流程中,与主体的设计工作形成一个迭代,以保证设计的质量。签署阶段需要检查的检查清单包含:时序、信号完整性、功耗、IR 降、电迁移、寄生参数提取、DRC(设计规则检查)、LVS(版图与电路图一致性检查)、噪声、片上热量分析等。这些项目的检查分析,可以在一个集成的环境中完成,如 Virtusos 或 Customer Designer。有些人把它称为内部签署。
总的来说:
芯片流片前会利用工具做各种检查。只有这些检查通过了,我们的芯片才有可能顺利流片,然后再将设计送交代工厂制造。所有会影响芯片性能或可制造性的关键参数都要根据 "黄金签署" 质量工具(包括 DFM 和 DFT)的结果进行验证。
- DFM: 可制造性设计
- DFT: 测试设计
验证完成后,最终设计数据将被送到半导体代工厂进行制造。设计文件以及代工厂特定的指导方针和要求将被发送到半导体工厂。一旦设计完成,半导体制造流程就开始了,包括晶圆加工、光刻、蚀刻和封装,将硅晶圆转化为集成电路。
总结#
粗略地说,数字集成电路设计可分为三个部分。
- 电子系统级 设计:这一步创建用户功能规格。用户可以使用多种语言和工具来创建此描述。示例包括 C/C++ 模型、VHDL、SystemC、SystemVerilog 事务级模型、Simulink 和 MATLAB。
- RTL 设计:这一步将用户规格(用户希望芯片执行的操作)转换为 寄存器传输级 (RTL) 描述。RTL 描述了芯片上数字电路的确切行为,以及与输入和输出的连接。
- 物理电路设计:这一步使用 RTL 和可用逻辑门的库(标准单元 库),创建芯片设计。这一步涉及使用 IC 布局编辑器、布局和楼层规划,确定使用哪些门,定义它们的位置,并将它们连接起来(时钟时序综合、布线)。⭐
注意:RTL 负责让芯片做正确的事情。而 PD 完全不影响功能(如果设计正确的话),但决定了芯片的运行速度和成本。