IC 设计也就是集成电路设计完整流程,整体可以划分为前端设计和后端设计两大阶段,前端主要完成规格定义 架构设计 RTL 编码 功能验证 综合,后端主要完成布局布线 时序收敛 物理验证,最终输出可以交给晶圆厂流片的 GDSII 版图文件,整个 IC 设计流程是一套严谨的迭代闭环体系,每一个阶段都设置检查点,前一级输出作为下一级输入,如果某一级验证发现问题,就需要返回上一级修改,不能直接跳过检查继续往下推进,IC 设计和普通 PCB 设计不一样,芯片流片成本极高,一次流片失败会带来巨大时间和资金损失,所以 IC 设计流程里面验证环节占比非常大,成熟项目验证工作量甚至超过编码工作量,主流数字 IC 设计流程还会穿插 DFT 可测性设计,以及低功耗设计 静态时序分析 ERC DRC LVS 等检查,模拟 IC 设计流程和数字 IC 设计流程存在差异,模拟 IC 更多依靠原理图设计 晶体管级仿真 手工版图,本篇详细介绍主流数字 IC 完整设计流程,同时补充模拟 IC 流程差异要点。
为什么 IC 设计流程必须分阶段迭代,芯片内部包含上亿甚至几十亿晶体管,电路复杂度极高,如果一次性写完全部代码直接流片,任何逻辑错误 时序违例 物理规则错误,都会导致流片之后芯片功能失效,分阶段设计的核心目的就是在流片之前,尽可能把逻辑错误 时序错误 制造规则错误全部提前暴露,通过多次仿真和规则检查,把风险控制在设计阶段,降低流片失败概率,同时团队分工也依托这套流程划分,架构工程师 验证工程师 前端设计工程师 后端工程师 DFT 工程师协同工作,依靠标准化流程衔接不同岗位工作内容。
IC 设计完整阶段拆解
项目需求与规格定义
这是整个 IC 设计流程的起点,产品经理架构师收集客户需求,确定芯片定位,确定工艺节点,确定主频 功耗 接口类型 存储容量 性能指标,编写芯片规格书,定义模块划分,确定总线协议,比如 AXI APB,同时确定项目排期,明确芯片需要支持的功能清单,这个阶段还要评估工艺库,选定晶圆厂 PDK 工艺设计包,PDK 里面包含标准单元库 IO 库 器件模型 设计规则,是后续全部设计工作的基础。
架构设计与模块划分
根据规格书完成顶层架构,划分各个子模块,比如 CPU 核 DMA 外设控制器 中断控制器,定义模块之间接口信号,确定时钟域划分,规划复位方案,确定低功耗域,画出架构框图,完成微架构设计,确定数据通路 流水线级数,评估面积 功耗 性能 PPA 指标,这个阶段会做架构级仿真,确认架构方案可以满足性能目标。
RTL 设计编码
设计工程师使用 Verilog 或者 SystemVerilog 硬件描述语言,按照模块划分编写 RTL 代码,RTL 是寄存器传输级描述,描述数字电路寄存器之间的数据传输逻辑,编码需要遵循编码规范,保证代码可综合,不能写纯仿真专用语句,同时要考虑可维护性,模块之间接口严格匹配架构定义,RTL 编写完成之后先做 lint 静态检查,排查语法错误 不可综合语句 信号未驱动 多驱动等基础问题。
功能验证
功能验证是 IC 设计流程核心环节,验证工程师搭建验证环境,主流方法是 UVM 验证方法学,编写 testcase,构造激励,对 RTL 施加测试向量,检查输出结果是否和预期参考模型一致,验证包含定向测试 随机测试 覆盖率收集,覆盖率分为代码覆盖率 功能覆盖率,覆盖率达标之后,才能判定 RTL 功能正确,这个阶段会不断回归测试,修改 RTL 里面发现的逻辑 bug,直到全部功能测试通过。
逻辑综合
RTL 验证通过之后进入逻辑综合,使用综合工具,把 RTL 代码映射成工艺库里面对应的标准单元门级网表,综合工具会做逻辑优化,根据设定的时序约束 面积约束 功耗约束,选择合适的标准单元,优化门电路连接,输出门级网表,综合之后需要做综合后静态时序分析,检查建立时间保持时间,确认初步时序是否满足目标,如果时序不收敛,需要返回修改 RTL 或者调整约束重新综合。
DFT 可测性设计插入
DFT 一般在综合前后插入,核心是增加扫描链 BIST 内建自测试,目的是让流片之后封装好的芯片,可以通过测试机台检测制造缺陷,扫描链把触发器串联起来,BIST 可以对 SRAM 存储器做自检测试,如果没有 DFT,芯片生产之后很难定位制造缺陷,DFT 设计完成之后需要做 DFT 仿真验证,保证测试结构本身不会影响芯片正常功能。
布局规划 Floorplan
后端设计第一步就是布局规划,确定芯片顶层 IO 位置,宏单元比如 SRAM PHY IP 核摆放位置,划分电源网格,确定芯片 die 面积,规划时钟树区域,预估模块占用面积,评估电源压降,这一步决定芯片物理实现的基础框架,规划不合理会造成后面布线拥塞 时序很难收敛。
布局 Placement
放置标准单元,把综合输出的标准单元按照时序要求 拥塞情况自动摆放,同时做逻辑优化,调整单元位置,降低布线长度,这个阶段会提前预估时序,提前优化关键路径。
时钟树综合 CTS
时钟树综合是 IC 后端非常关键步骤,构建平衡的时钟分发网络,让所有触发器收到的时钟延迟尽量一致,降低时钟偏斜,时钟树质量直接决定芯片主频能不能达到设计目标,CTS 之后重新做静态时序分析,检查时序违例。
布线 Routing
完成标准单元和宏单元之间的金属连线,按照工艺设计规则完成信号走线,同时完成电源地网络布线,布线过程工具会自动规避 DRC 设计规则冲突,布线完成之后提取寄生参数,也就是 RC 寄生,得到真实的寄生延迟数据。
寄生参数提取与时序收敛
提取版图里面金属线 通孔带来的电阻电容寄生参数,生成带寄生信息的网表,再次运行静态时序分析 STA,检查建立时间 保持时间违例,同时做功耗分析 电源压降分析 IR Drop,这个阶段是反复迭代优化的过程,调整单元尺寸 重排单元 优化走线,直到全部时序满足约束,也就是时序收敛,这个阶段经常需要多轮迭代,是 IC 设计流程耗时最长的阶段之一。
物理验证
时序收敛之后执行全套物理验证,DRC 设计规则检查,检查版图是否满足晶圆厂工艺制造规则,LVS 版图与原理图一致性检查,确认版图网表和综合网表逻辑一致,ERC 电气规则检查,检查悬空引脚 短路 天线效应等问题,天线效应是 IC 版图常见问题,金属长导线像天线一样,制造等离子工艺会积累电荷击穿栅极,需要插入二极管修复天线效应。
流片数据输出
物理验证全部通过之后,导出 GDSII 版图文件,同时输出流片配套文档,包括网表 时序文件 测试向量,提交给晶圆厂,晶圆厂根据 GDSII 制作光罩,然后进行晶圆制造。
晶圆测试与封装后测试
晶圆制造完成之后,先做晶圆 CP 测试,也就是探针测试,对每一颗 die 做电性测试,筛除坏 die,合格 die 切割之后进行封装,封装完成之后做 FT 成品测试,也就是终测,验证封装之后芯片全部功能,同时做老化测试,筛选早期失效芯片,测试合格芯片才可以出货,这个属于 IC 设计流程之后的制造测试环节,设计团队会根据测试失败的数据,回溯设计问题,用于下一代芯片迭代。
数字 IC 和模拟 IC 设计流程对照表
对比项目 数字 IC 设计流程 模拟 IC 设计流程
设计描述方式 Verilog SystemVerilog RTL 晶体管级原理图 schematic
验证方式 UVM 随机验证 大量 SPICE 晶体管仿真
版图方式 自动布局布线为主 大多手工版图
核心检查 STA 时序收敛 DRC LVS 噪声匹配 失配分析
适用芯片 处理器 FPGA 数字 SoC 电源管理芯片 ADC 射频芯片
IC 设计流程关键检查点清单
规格评审 确认需求指标合理
RTL Lint 检查 排除语法与可综合错误
功能验证覆盖率达标 确认逻辑功能正确
综合后 STA 初步时序检查
Floorplan 评审 确认物理规划方案
CTS 之后 STA 检查时钟偏斜
布线后寄生提取 STA 最终时序收敛
DRC LVS ERC 全部清零 版图满足制造要求
补充深度知识点,SoC 芯片是现在主流 IC 类型,SoC 内部会集成多个 IP 核,比如 CPU IP GPU IP,IP 核是预先验证好的成熟模块,IC 设计流程里面 IP 集成也是重要部分,需要处理 IP 之间总线互联,跨时钟域 CDC 设计,CDC 检查是专门检查跨时钟域同步电路,防止亚稳态,很多项目会专门做 CDC 验证,亚稳态问题是 IC 设计高频 bug 来源,另外低功耗 IC 设计还会加入 UPF 低功耗规范,做电源门控 多电压域设计,在流程里面增加低功耗仿真,PPA 也就是性能功耗面积是整个 IC 设计流程全程权衡的核心指标,不能只追求高性能,也要平衡功耗和芯片面积,面积直接决定晶圆成本。
总结,IC 设计流程分为前端 RTL 设计验证综合,后端布局规划 CTS 布线 时序收敛 物理验证,最后输出 GDSII 流片,之后还有 CP 晶圆测试和 FT 终测,整套流程是多轮迭代闭环,验证和时序收敛是最核心耗时环节,数字 IC 以自动实现为主,模拟 IC 以晶体管原理图和手工版图为主,项目全程围绕 PPA 指标,同时需要处理 CDC DFT DRC LVS 等专项检查,理解这套完整流程,就可以掌握芯片从需求到流片出货全部开发链路。
【常见问题】
问题 1 ic 设计流程详细,数字 ic 设计流程里面前端和后端是以哪个节点作为分界
回答 1 ic 设计流程详细介绍当中,一般是以逻辑综合完成作为前端和后端的分界,前端负责规格 RTL 编码 功能验证 综合,后端从 Floorplan 布局规划开始,一直到物理验证输出 GDSII。
问题 2 ic 设计流程详细,ic 设计流程里面时序收敛是什么意思
回答 1 ic 设计流程详细说明,时序收敛就是通过多轮迭代优化,让全部路径建立时间保持时间满足时序约束,不存在时序违例,是后端设计最核心目标,没有时序收敛不能提交流片。
问题 3 ic 设计流程详细,ic 设计流程为什么一定要做 DFT 可测性设计
回答 1 ic 设计流程详细里面 DFT 是在芯片内部增加扫描链 BIST 结构,目的是流片封装之后可以检测晶圆制造产生的缺陷,没有 DFT 会大幅提升芯片生产之后的测试难度,不良品很难筛选。
问题 4 ic 设计流程详细,ic 设计流程里面 DRC 和 LVS 分别是什么检查
回答 1 ic 设计流程详细里面 DRC 是设计规则检查,校验版图是否满足晶圆厂工艺制造规则,LVS 是版图原理图一致性检查,确认版图和原始网表逻辑结构保持一致,两项都是流片前必做物理验证项目。
【免责申明】
本文内容仅作为 IC 设计技术学习参考,不同工艺节点 不同芯片类型 不同公司内部 IC 设计流程会存在定制化差异,EDA 工具版本 PDK 版本更新之后操作细节会变动,本文不构成芯片流片项目立项 工艺选型 工程实施的专业指导建议,实际项目请结合晶圆厂 PDK 规范以及企业内部设计规范执行。
本文来自作者[居家百事说]投稿,不代表启知新能源网立场,如若转载,请注明出处:https://www.qzdaily.com.cn/shbk/202611/6893.html
评论列表(4条)
我是启知新能源网的签约作者“居家百事说”!
希望本篇文章《ic 设计流程详细 集成电路全流程开发指南》能对你有所帮助!
本站[启知新能源网]内容主要涵盖:光伏,风电,储能,氢能,户用光伏,家用光伏,光伏投资,光伏新闻,光伏政策,太阳能,多晶硅,逆变器,太阳能电池,光热,组件
本文概览:IC 设计也就是集成电路设计完整流程,整体可以划分为前端设计和后端设计两大阶段,前端主要完成规格定义 架构设计 RTL 编码 功能验证 综合,后端主要完成布局布线 时序收敛 物理验证,最终输出可以交给晶圆厂流片的 GDSII 版图文件,整个 IC 设计流程是一套严谨的迭代闭环体系,每一个阶段都设置检查点,前一级输出作为下一级输入,如果某一级验证发现问题,就需要返回上一级修改,不能直接跳过检查继续往下推进,IC 设计和普通 PCB 设计不一样,芯片流片成本极高,一次流片失败会带来巨大时间和资金损失,所以 IC 设计流程里面验证环节占比非常大,成熟项目验证工作量甚至超过编码工作量,主流数字 IC 设计流程还会穿插 DFT 可测性设计,以及低功耗设计 静态时序分析 ERC DRC LVS 等检查,模拟 IC 设计流程和数字 IC 设计流程存在差异,模拟 IC 更多依靠原理图设计 晶体管级仿真 手工版图,本篇详细介绍主流数字 IC 完整设计流程,同时补充模拟 IC 流程差异要点。