目录
在芯片设计流程中,使用多种专门的EDA(Electronic Design Automation)工具来辅助各个环节的工作。以下是对芯片设计流程中常用工具的详细介绍:
1. 规格制定(Specifications)
- 文档编写工具:如Microsoft Word、LaTeX等,用于编写详细的规格文档。
2. 架构设计(Architecture Design)
- 架构建模工具:如MATLAB/Simulink、SystemC等,用于构建系统的高层次模型。
- 架构仿真工具:如Simulink、ModelSim等,用于仿真和验证高层模型。
3. 前端设计(Front-End Design)
3.1 逻辑设计(Logic Design)
- HDL编辑器:如Cadence Virtuoso、Synopsys Design Compiler等,用于编写和编辑Verilog或VHDL代码。
- IP核库:如ARM、Xilinx、Altera等公司的IP核库,用于集成已有的模块。
3.2 验证(Verification)
- 仿真工具:如Cadence Incisive、Synopsys VCS、Mentor Graphics ModelSim等,用于功能验证。
- 形式验证工具:如Cadence Conformal、Synopsys Formality等,用于形式验证。
- 断言语言工具:如SystemVerilog Assertion(SVA)、Property Specification Language(PSL)等,用于断言驱动的验证。
- 测试平台工具:如Verilator、Cocotb等,用于构建测试平台。
3.3 综合(Synthesis)
- 逻辑综合工具:如Synopsys Design Compiler、Cadence Genus等,用于将RTL代码转换为门级网表。
- 约束管理工具:如Synopsys SDC(Synopsys Design Constraints)、Cadence SDC等,用于定义时序和物理约束。
- 优化工具:如Synopsys IC Compiler、Cadence Innovus等,用于进行时序优化、面积优化等。
4. 后端设计(Back-End Design)
4.1 布局规划(Floorplanning)
- 布局规划工具:如Synopsys IC Compiler、Cadence Innovus等,用于进行布局规划。
- 功耗分析工具:如Cadence Spectre、Synopsys PrimePower等,用于分析功耗分布。
- 热分析工具:如ANSYS Icepak、COMSOL Multiphysics等,用于分析温度分布。
4.2 逻辑映射(Logical Mapping)
- 标准单元映射工具:如Synopsys Design Compiler、Cadence Genus等,用于将门级网表映射到标准单元库。
- 时钟树合成工具:如Synopsys PrimeTime、Cadence Sigrity等,用于生成时钟树。
4.3 物理设计(Physical Design)
- 布局工具:如Cadence Virtuoso、Synopsys IC Compiler等,用于确定各个模块的物理位置。
- 布线工具:如Cadence Allegro、Synopsys IC Compiler等,用于连接各个模块之间的连线。
- 密度优化工具:如Cadence Innovus、Synopsys IC Compiler等,用于优化芯片内部的密度分布。
4.4 布局布线(Place and Route)
- 布局工具:如Cadence Innovus、Synopsys IC Compiler等,用于确定各个模块的精确位置。
- 布线工具:如Cadence Allegro、Synopsys IC Compiler等,用于连接各个模块之间的连线。
- 时序闭合工具:如Synopsys PrimeTime、Cadence Sigrity等,用于确保所有路径满足时序要求。
- 信号完整性工具:如Cadence Sigrity、HyperLynx等,用于分析信号在布线过程中的变化。
5. 最终验证(Final Verification)
- 时序验证工具:如Synopsys PrimeTime、Cadence Sigrity等,用于确保所有路径满足时序要求。
- 信号完整性验证工具:如Cadence Sigrity、HyperLynx等,用于确保信号质量。
- 功耗验证工具:如Cadence Spectre、Synopsys PrimePower等,用于确保功耗在允许范围内。
- 制造准备工具:如Synopsys IC Compiler、Cadence Innovus等,用于生成GDSII文件,用于制造掩膜。
6. 制造(Manufacturing)
- 掩膜制作工具:如KLA-Tencor、Nikon等,用于根据GDSII文件制作掩膜。
- 晶圆制造工具:如ASML光刻机、Applied Materials等,用于在晶圆上制造芯片。
- 封装测试工具:如Teradyne、Advantest等,用于进行功能测试和性能测试。
7. 量产(Production)
- 批量生产工具:如ASML光刻机、Applied Materials等,用于根据市场需求批量生产芯片。
- 质量控制工具:如KLA-Tencor、Advantest等,用于进行严格的质量控制。
8. 应用支持(Application Support)
- 技术支持工具:如Jira、Confluence等,用于提供技术支持和应用指南。
- 持续改进工具:如GitLab、Jenkins等,用于根据市场反馈和客户需求,对芯片进行持续改进。
示例
假设设计一个高性能处理器内核:
-
规格制定:
- 使用Microsoft Word编写详细的规格文档。
-
架构设计:
- 使用MATLAB/Simulink构建高层次模型。
- 使用Simulink进行仿真和验证。
-
逻辑设计:
- 使用Synopsys VCS编写Verilog代码。
- 使用ARM IP核库集成已有的模块。
-
验证:
- 使用Cadence Incisive进行功能验证。
- 使用Synopsys Formality进行形式验证。
- 使用SystemVerilog Assertion(SVA)进行断言驱动的验证。
-
综合:
- 使用Synopsys Design Compiler进行逻辑综合。
- 使用Synopsys SDC定义时序和物理约束。
- 使用Synopsys IC Compiler进行优化。
-
布局规划:
- 使用Synopsys IC Compiler进行布局规划。
- 使用Cadence Spectre进行功耗分析。
- 使用ANSYS Icepak进行热分析。
-
逻辑映射:
- 使用Synopsys Design Compiler进行标准单元映射。
- 使用Synopsys PrimeTime进行时钟树合成。
-
物理设计:
- 使用Cadence Virtuoso确定模块的物理位置。
- 使用Cadence Allegro连接各个模块之间的连线。
- 使用Cadence Innovus优化芯片内部的密度分布。
-
布局布线:
- 使用Cadence Innovus确定模块的精确位置。
- 使用Cadence Allegro连接各个模块之间的连线。
- 使用Synopsys PrimeTime确保所有路径满足时序要求。
- 使用Cadence Sigrity分析信号在布线过程中的变化。
-
最终验证:
- 使用Synopsys PrimeTime确保所有路径满足时序要求。
- 使用Cadence Sigrity确保信号质量。
- 使用Cadence Spectre确保功耗在允许范围内。
- 使用Synopsys IC Compiler生成GDSII文件。
-
制造:
- 使用ASML光刻机根据GDSII文件制作掩膜。
- 使用ASML光刻机在晶圆上制造芯片。
- 使用Teradyne进行功能测试和性能测试。
-
量产:
- 使用ASML光刻机批量生产芯片。
- 使用Advantest进行严格的质量控制。
-
应用支持:
- 使用Jira提供技术支持和应用指南。
- 使用GitLab根据市场反馈和客户需求,对芯片进行持续改进。
通过这些工具的支持,芯片设计团队可以高效地完成从概念到最终物理实现的每一个环节,确保设计的正确性和可靠性。