你不知道的数字IC后端实现
发布时间:2023-06-02
1. 什么是数字IC后端设计?
数字 IC后端设计是指将集成电路(IC)的前端设计转化为实际制造所需的物理版图(Layout),并进行布局、布线、逻辑提取、时序分析等工作,以满足性能、功耗、电磁兼容等各种约束要求的过程。数字IC 后端设计主要包括以下几个方面:
物理版图设计:将前端设计的逻辑电路转换为通过计算机辅助设计(CAD)工具生成的物理版图,以确保在芯片上所有电路都能正确地交互和连接。
布局设计:根据设计规则和最佳实践,对电路元素进行整合和布置,以满足设计中的要求,并最小化布局中的噪声、漏电及功率损失等问题。
布线设计:在物理版图中,使用自动布线工具或手动技巧完成各种电器元件间的连线。这一步骤通常需要考虑到多个因素,如信号传播延迟、功耗控制、抗干扰性能和面积占用等。
逻辑提取:后端设计工程师会从物理版图中提取出逻辑门级描述;
时序分析:此阶段会执行关键时序路径的时间分析,以确保芯片性能也满足要求。
2. 数字后端设计流程
数字IC设计后端流程如上图所示,主要分为以下步骤:
①逻辑综合是将RTL代码映射为与工艺库相关的网表,该流程可放前端实现。逻辑综合中整个代码编译过程是在人为设定的约束条件下进行,通过约束和设定目标来指导工具完成Compiler的工作。逻辑综合过程可以看成一个多目标(频率、面积、功耗)多约束的工程优化问题。
②DFT(Design ForTest,可测性设计)是在芯片内部加入可测试电路,它可让内部信号暴露给外部,其目的是方便芯片流片后测试。常见的DFT技术有扫描测试(SCAN)、边界扫描测试(BSCAN)、内建自测试(BIST)、静态电流(IDDQ)测试等。
③数据导入。后端设计所需的设计数据主要包括前端设计后经过综合生成的门级网表、具有时序约束和时钟定义的SDC约束文件、物理设计单元库数据。
④布局规划( Floorplan ) 。该阶段完成设计中IO Pad、宏单元的物理布局、标准单元布局约束和电源网络布局实现。
⑤单元放置( Placement )。布局规划后,宏单元、IO Pad的位置和放置标准单元的约束区域都已确定,APR工具根据网表和时序约束信息进行自动放置标准单元工作。
⑥时钟树综合( Clock Tree Synthesis )。该阶段用于实现芯片中的时钟树。芯片中的时钟需要驱动设计中所有的时序单元,时钟网络及其使用的缓冲器构成了物理上的时钟树。
⑦全局与细节布线( Global&Detail Route)。布线是指在满足工艺规则和布线层数限制、线宽、线间距限制和各线网可靠绝缘的电性能约束的条件下,根据电路的连接关系将各单元模块的输入输出端口用互连线连接起来。
⑧电压衰减分析( IR-drop&EM )。布线完成后,设计数据就基本确定了,对整个设计进行功耗及电压降分析就更加精确,因此通过电压降分析评估电源网络是否达到设计要求。
⑨时序验证与ECO。后端一般是通过静态时序分析来验证系统是否满足时序要求。ECO(工程修改,Engineering Change Order)是对电路和单元布局进行小范围改动,不用重新布局布线,通过手工修改版图来满足功能和时序要求或修复一些bug,避免重复整个芯片的设计过程。
⑩功能等价性检查。布局布线过程需要根据物理情况修改门级网表,所以通过等价性检查这个过程来确认最终的网表与前端提供的初始网表功能上是否一致。
⑪物理验证。物理验证中主要包括DRC和LVS两大部分,DRC是对芯片版图中的各层物理图形进行设计规则检查,保证满足流片要求。LVS保证物理验证流片出来的物理版图和实际设计的电路图一致。
⑫Signoff,后端所说的signoff,是指将设计数据交给芯片制造厂商生产之前,对设计数据进行复检,确认设计数据达到交付标准,这些检查和确认统称为signoff。
⑬流片(Tapeout )。在所有检查和验证都准确无误的情况下,把最终的版图GDSII文件传递给流片厂进行掩膜制造。
数字后端设计工具介绍
数字后端设计中常用的工具主要是由Cadence,
Synopsys和Mentor三大公司推出的。
逻辑综合工具:Synopsys
DC ,Cadence
Genus
可测性设计工具:Mentor系列DFT工具,Synopsys
DFT Compiler
布局布线工具:Cadence
Innovus ,Synopsys
ICC2
静态时序分析工具:PrimeTime,Encounter
Timing System
功耗分析工具:RedHawk,PrimeRail,Encounter
Power System
形式化验证工具:Formality,Conformal
寄生参数提取工具:QRC
Extraction,Star-RCXT,Calibre
xRC
物理验证工具:Calibre,Hercules
需掌握的知识点
①linux基础,脚本语言(tcl、perl,awk等,要掌握一门或多门脚本语言);
②数字电路和半导体基础知识;
③熟悉后端流程,熟练掌握后端工具的使用;
④精通时序分析,学会使用工具分析功耗及其对设计的影响。
后端学习相关书籍推荐
《半导体物理学(第7版)》
《CMOS数字集成电路——分析与设计(第三版)》
《高级ASIC芯片综合》
《数字集成电路物理设计》
《综合与时序分析的设计约束》
【免责声明】:本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。