资讯详情

【IC】【DE】数字IC基本设计流程

📅 2026/10/27 1:12:57 | 华诺云谱 👁 阅读
【IC】【DE】数字IC基本设计流程
数字IC基本设计流程0. 需求分析1. 架构设计2. RTL编写3. 功能仿真验证(前仿真)4. 逻辑综合5. 静态时序分析6. 形式验证(Formality)7. DFT数字后端设计8. 布局(Place)9. 时钟树综合(CTS)10. 布线(Routing)11. 寄生参数提取(Extrat RC)12. 后仿真13. 功耗分析14. 可制造性分析(DFM)15. ECO16. 物理版图验证17. Tape Out数字IC设计的基本流程如下芯片设计分为前端设计和后端设计前端设计也称逻辑设计和后端设计也称物理设计并没有统一严格的界限一般以逻辑综合为分界点涉及到与工艺有关的设计就是后端设计。综合、DFT、UVM 等也可以为中端设计。0. 需求分析产品要解决什么问题预测未来 3-5 年的走势和趋向确保芯片是有卖点和前瞻性面向未来。客户向 fabless芯片设计公司提出设计要求包括芯片需要达到的具体功能和性能方面的要求让架构师可以进行细化。可以是产品经理从市场获取的新需求或者是对上一代产品的优化迭代。1. 架构设计数字信号处理类芯片偏向用matlab实现。架构师将系统功能进行分解和细化形成设计规范Specificaiton将设计参数化、具体化。可以分为两部分一是确定芯片的具体指标如物理实现工艺节点、裸片面积等、性能指标速度、功耗等、功能指标功能描述、接口定义等等。更具体的如处理器架构的选择ARM、RISC-V总线接口选择AHB、AXI、APB软硬件功能的划分硬件速度快性能高灵活性差。软件速度慢、性能差灵活性高开发周期短。性能参数引脚选择电压频率、工艺选择、功耗和温度范围二是系统级设计用系统建模语言高级语言 如matlabc等对各个模块描述为了对方案的可行性进行验证。2. RTL编写RTLRegister Transfer Level在写代码的过程中需要具有极强的大局观能够在书写Verilog HDL、描述逻辑功能的同时还能够兼顾逻辑综合、STA、PR、DFX、功耗分析等多方面因素最终提供一份另其他环节的工程师都赏心悦目的代码。这一步之后也会借助Syglass、LEDA、OinCDC等工具进行代码风格检查帮助排除RTL代码中的CDCClock Domain Cross等潜在问题。3. 功能仿真验证(前仿真)功能仿真是对 RTL 级的代码进行设计验证检验设计功能的正确性是否满足规格中的所有要求。是在无延迟的理想情况在通过大量的仿真发现电路设计过程中的人为或者非人为引起的bug。主要指标是功能覆盖率。4. 逻辑综合基于特定的工艺库设定电路的面积、时序等目标参数的约束条件将设计的 RTL 级代码映射为门级网表 netlist。逻辑综合需要基于特定的综合库不同的库中门电路基本标准单元standard cell的面积时序参数是不一样的。逻辑综合之前的工作都可看作是虚拟行的和实现无关的之后的设计步骤就关系到具体的工艺包括电特性、物理特性等。逻辑综合工具的功能主要是将 VerilogHDL 格式的文本映射为网表格式的文本因此它的功能等同于文本编译器。那么转换的方式有很多种工具如何选取呢逻辑综合过程中整个文本格式的编译过程是在给定的人为约束条件下进行的通过这些约束和设定的目标来指导工具完成 Compiler 的工作。5. 静态时序分析基于特定的时序模型采用数学的方法计算所有路径的时序分析其是否违反设计者给定的时序约束主要是建立时间和保持时间的检查从逻辑综合开始基本上每做一步大的调整都会完成一次 STA 分析以保证每步都能实现时序收敛。在前端对时序违例进行修复虽然速度很快但是代码的修改可能会带来新的问题可能需要新的仿真来确认而仿真会需要数月的时间一般是不会在前端进行时序修复的。在布图前PrimeTime使用由库指定的线载模型估计线网延时。在布图后实际提取的延迟被反标注到PrimeTime以提供真实的延迟计算6. 形式验证(Formality)也可以称为一致性检查或等价性检查从功能上对综合后的网表进行验证将综合后的网表与验证后的 HDL 设计对比看他们是否在功能上存在等价性保证逻辑综合过程中没有改变 HDL 描述的电路功能。可以通过对综合后得到的网表进行逻辑仿真的方法验证功能的一致性但是对于大规模设计而言逻辑仿真的时间很长所以现在一般采用的方法是形式验证。RTL代码和逻辑综合后的网表都可以抽象为两幅由节点和边构成的图形式验证采用了类似于直接比较两幅图是否一致的方法来确定逻辑综合生成的网表是否正确。match两张图节点是否一致verify计算得出两张图功能是否一致7. DFT工具Tessent、TetraMax、DFTCompiler可测性设计在设计中插入扫描链。SCAN、Mbist、ATPG 技术等。为了保证芯片内部的制造缺陷尽量能够哦被检测到通过在电路中插入扫描链Scan Chain的方式测试IC在生产制造过程中是否出现问题。加入DFT会增加20%~30%的面积。但为了保证良率为了给客户的片子是合格的需要将具有缺陷工厂制造缺陷的片子筛除。DFT结构插入之后也要进行形式验证和时序分析保证设计的功能正确性。数字后端设计数字后端设计又称物理设计将网标格式的文本转化成一个个有物理大小和位置的单元、连线并且在实现过程中要满足面积、功耗、性能等要求。Desing Setup: 将 Design 导入后端工具后检查输入文件是否缺少或者有错误确保 Design 正常Floor Plan 确定 design 的形状大小给出 Pin 的位置以及所有 macro 的摆放。Placement将所有 标准单元 standard cell 放入 core area 中并且满足 congestion(拥塞) 和 timing 的要求。最简单的说可以分为两步 global 和 detail place。global 不考虑 cell 放的位置是否 legaldetail place 的时候会将 cell 放到附近 legal 的位置。在 place 过程中为了得到更好 timing 结果会对关键路径进行逻辑重组删除 buffer trees。 随着工具的不断发展目前 place 的引擎已经十分强大。例如 C 家的 giga place它采用新的算法 slack-driven通过计算真正 timing而不是预估的 timing 来进行 place 在 place 的同时进行优化。Prects 在 Place 之后 CTS 之前我们会对进行一次 setup timing 优化。只优化 setup原因是 clock tree 还没做所有 clock 都是 ideal 的。CTS芯片中的时钟网络要驱动电路中所有的时序单元所以时钟源端门单元带载很多其负载延时很大并且不平衡需要插入缓冲器减小负载和平衡延时。时钟网络及其上的缓冲器构成了时钟树。RoutingCTS 之后整个芯片的大体结构已定。要将信号线通过金属连接起来。绕线过程主要完成一下几个目标。绕线过程中会考虑 DRC 和 LVS绕完后不会有 DRC/LVS violations 不会导致 timing 变差也不会引入新的 SI 问题。考虑 DFM例如 multi-cut via线宽和线间距。时序仿真同功能仿真只是将 RTL 代码替换为网表然后需要加载 SDF 文件和工艺库模型。该步骤的目的在于在延迟等近似实际工作的条件下观察功能是否还能保持正确。8. 布局(Place)放置芯片的宏单元模块在总体上确定各种功能电路的摆放位置如IP模块RAMI/O引脚等等。布局规划能直接影响芯片最终的面积。工具Synopsys的IC Compiler ICC9. 时钟树综合(CTS)时钟信号在数字芯片的全局指挥作用它的分布应该是对称式的连到各个寄存器单元从而使时钟从同一个时钟源到达各个寄存器时时钟延迟差异最小。这也是为什么时钟信号需要单独布线的原因。工具Synopsys 的 Physical Compiler10. 布线(Routing)普通信号布线包括各种标准单元基本逻辑门电路之间的走线。比如我们平常听到的0.13um工艺或者说90nm工艺实际上就是这里金属布线可以达到的最小宽度从微观上看就是MOS管的沟道长度。工具Synopsys的IC Compiler ICC11. 寄生参数提取(Extrat RC)根据布局布线的结果提取出最真实的延时信息然后用于后仿。此外由于导线本身存在的电阻相邻导线之间的互感、耦合电容在芯片内部会产生信号噪声、串扰和反射。提取寄生参数进行再次分析验证分析信号完整性问题。12. 后仿真基于网表和SDF延时反标文件进行逻辑仿真、时序分析等。13. 功耗分析14. 可制造性分析(DFM)15. ECOEngineering Change Order后仿真中个别路径有时序或逻辑错误时对设计进行小范围的修改。在复杂的设计流程中bug是难以避免的。对于芯片设计而言bug自然是越早发现越好。但是仿真验证差不多进入RTL freeze阶段后一旦发现新的bug就变得有些麻烦。因为RTL freeze前你可以通过修改RTL来更正你发现的bug。然而 RTL freeze之后后端人员做好了floorplan或者已经开始布局布线这个时候再去重新做一遍既耗时耗力又会惹怒后端。这显然不是好的选择。如果这个时候即将tapeout甚至已经tapeout根本就没有机会修改RTL了这个时候我们就需要ECO来修正我们的失误了。ECO即Engineering Change Order的缩写指工程改变命令。简单来说就是手动修改集成电路的过程换句话说就是直接手动修改netlist。一般应用于数字芯片版图设计。对于数字IC设计而言ECO这一步实际上是正常设计流程的一个例外。它是对设计的 layout 进行局部的小范围的修改和重新布线而不影响到设计的其它部分的布局布线所以其它部分的时序信息没有改变。根据功能的不同ECO可以分为功能改变和非功能改变。功能改变是指由于来自客户对设计的追加需求spec改变或者设计的最后阶段发现芯片存在 bug 的情况下进行的 ECO而非功能改变则是为了在不改变 RTL 网表的基础上修复部分时序以及串扰等问题而做的 ECO。ECO也有更加详细的分类具体可以参考芯片设计中的ECO是什么数字后端——ECO16. 物理版图验证保证Fab拿到版图之后可以正常进行生产制造。DRCDesign Rule Check设计规则检查检查连线间距连线宽度等是否满足工艺要求ERCEletronic Rule Check电气规则检查检查短路和开路等电气规则违例LVSLayout Versus Schematic一致性验证版图与逻辑综合后的门级网表的对比验证17. Tape Out将版图数据以GDSII文件的形式交付芯片制造厂。GDSGermetry Data Standard电路版图layout的一种描述方式包含了晶体管大小、数量、物理位置和尺寸连接线的物理尺寸和位置等信息。该文件是二进制文件无法用文本编辑器查看可以用 calibre drv, virtuoso, laker 等工具以图形化的方法查看。该文件包含了制造一个芯片所需要的全部信息fab厂就是基于该文件进行生产制造。其实GSDII是经过加密的文件隐藏了一些信息只显示了连接关系而 LEF/DEF 文件则对设计有更加详细的描述。数字电路的版图晶圆厂拿到GDSII格式的文件之后就可以进行制造、测试、封装等。参考资料数字IC设计ASIC设计完整流程详解IC设计流程从 Spec.到芯片_(数字IC、模拟IC、FPGA设计的流程及EDA工具)
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。

↑