数字IC设计流程与工具

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

数字IC设计流程与工具电子科技大学通信学院111教研室版权所有Notes本PPT内容是整个DDC项目组的集体学习研究成果感谢已经毕业的曾经参与后端项目的师兄师姐,以及各位老师。闻道有先后,术业有专攻共同学习,共同进步大家有问题请直接请教熟悉相应工具的同学。Tips:可以参考QUATURSII的designflow!!Contents基于标准单元的ASIC设计流程1数字前端设计(front-end)2数字后端设计(back-end)3Q&A43教研室ASIC后端文件归档Contents基于标准单元的ASIC设计流程1数字前端设计(front-end)2数字后端设计(back-end)3Q&A43教研室ASIC后端文件归档基于standcell的ASIC设计流程Architechturalspecs&RTLcodingConcept+MarketResearchRTLsimulationLogicSynthesis,Optimization&ScanInsertionFormalVerification(RTLvsGates)Pre-layoutSTATimingOK?Floorplanning&Placement,CTInsertionAutoRoutingFormalVerification(ScanInsertedNetlistvsCTInsertedNetlist)DRC,LVS,ECOPost-layoutSTATimingOK?FormalVerification(ECONetlistvsCTInsertedNetlist)PowercheckNoYesNoTapeOutYesDCMODELSIMMBISTARCHITECTFORMALITYPTAstroAstroRailFORMALITYPTHerculesCaliberVirtuoso数字前端设计。以生成可以布局布线的网表为终点。数字后端设计。以生成可以可以送交foundry进行流片的GDS2文件为终点。术语:tape-out—提交最终GDS2文件做加工;Foundry—芯片代工厂,如中芯国际。。。算法模型c/matlabcodeRTLHDLvhdl/verilogNETLISTverilogStandcelllibrary综合工具根据基本单元库的功能-时序模型,将行为级代码翻译成具体的电路实现结构LAYOUTgds2基于standcell的ASIC设计流程布局布线工具根据基本单元库的时序-几何模型,将电路单元布局布线成为实际电路版图对功能,时序,制造参数进行检查TAPE-OUTContents基于标准单元的ASIC设计流程1数字前端设计(front-end)2数字后端设计(back-end)3Q&A43教研室ASIC后端文件归档数字前端设计流程-1综合RTLfile布局布线前静态时序分析形式验证NETLISTMeetrequirements?YESNO整个ASIC设计流程都是一个迭代的流程,在任何一步不能满足要求,都需要重复之前步骤,甚至重新设计RTL代码。模拟电路设计的迭代次数甚至更多。。。数字前端设计流程-2怎样保证网表的正确性?以往的方法是对网表文件做门级仿真。此种方式的仿真时间较长,且覆盖率相对较低。形式验证+静态时序分析。此种方法仿真时间短,覆盖率高,为业界普遍采用的方式。数字前端设计流程-3使用DC综合SYNOPSYS–DesignCompiler数字前端设计流程-4使用DC综合步骤可以归纳为:1.指定综合使用的库2.根据符号库将行为级模型转换为逻辑网表(由逻辑单元GTECH构成)3.指定综合环境以及约束4.进行综合,根据约束将逻辑网标映射为实际网表(由标准单元构成)5.优化网表6.输出综合结果数字前端设计流程-5使用DC综合ASIC的综合与FPGA的综合有什么不同?原理是相同的!关键在于综合目标不同。FPGA综合是将逻辑映射为FPGA器件资源(如LUT,REG,MEM-BLOCK);ASIC综合是将逻辑映射为标准单元(如门电路,寄存器,RAM,ROM)。标准单元库中对于某一种功能的门电路具有不同版本,分别对应不同驱动能力。数字前端设计流程-6使用DC综合综合不仅仅要求功能,也要求时序!综合具有一定条件,如工作频率、电路面积等。门电路沟道宽度窄,自然面积小,但是驱动能力降低,电路工作速率降低。所以要对综合进行约束!综合器中也有静态时序分析功能,用来计算当前综合结果的工作速率。使用wireloadmodel来估算延时。数字前端设计流程-7使用DC综合关于延时计算将在静态时序分析部分详细介绍。可以参考QUATURSII软件的ANALYSIS&SYNTHESIS工具学习DC。TIPS:数字前端设计流程-8使用PT进行STASYNOPSYS–PrimeTime只是一个时序分析工具,本身不对电路做任何修改。在ASIC流程中对于电路进行任何修改过后都应该使用STA工具检查其时序,以保证电路时序满足要求。仍然采用wireloadmodel来估算电路时序。可以参考QUATURSII的timequesttiminganalyzer学习。数字前端设计流程-9延时计算采用wireloadmodel可以计算电路端到端路径延时。端到端路径:寄存器输出寄存器输入寄存器输出输出端口输入端口寄存器输出延时采用标准单元库查表进行运算Input:transitiontime,outputnetcapacitanceOutput:inputtooutputdelay,transitiontimeNetcapacitance使用wireloadmodel进行估算数字前端设计流程-10延时计算数字前端设计流程-11延时计算布局布线前,由于无布线信息,所以连线延时只能够通过连接关系(与fanout相关)估计得到。当特征尺寸降低时,此种估计方法越来越不准确,所以可以使用physicalsynthesis技术。在布局布线后,布局布线工具可以提取出实际布线后的线网负载电容,此时PT可以计算实际延时(back-annote)。可以将延时信息写入SDF(synopsysdelayfile)文件用于后仿真。数字前端设计流程-12PT使用流程使用方法与DC类似1.指定使用的库2.读入网表文件3.指定时序约束及工作环境4.进行静态时序分析,给出报告从一个synthesizablesubcircuit中,pt能捕获一个时序环境,并写成一系列的dc指令,在dc中用其为这个subcircuit定义时间约束和时序优化--值得关注这两个都支持用SDC(synopsysdesignconstraints)格式指定设计规则,包括时间面积约束。数字前端设计流程-13形式验证静态时序分析检查了电路时序是否满足要求,而形式验证检查了电路功能的正确性。形式验证工具本质是一个比较器!其功能就是比较两电路功能是否完全一致。由于在综合过程中电路节点名称可能改变,因此可以使用形式验证工具找到RTL代码中节点在网表中的对应节点。数字前端设计流程-14逻辑锥原理把设计划分成无数个逻辑锥(logiccone)的形式,以逻辑锥为基本单元进行验证.当所有的逻辑锥都功能相等,则验证successful!逻辑锥锥顶作为比较点.它可以由原始输出,寄存器输入,黑盒输入充当----formality自动划分数字前端设计流程-15形式验证VerifyRTLdesignsvs.RTLdesigns--thertlrevisionismadefrequentlyVerifyRTLdesignsvs.Gatelevelnetlists--verifysynthesisresults--verifymanuallycodednetlists,suchasDesignWareverifyGatelevelnetlistsvs.Gatelevelnetlists--testinsertion--layoutoptimization什么时候需要做形式验证?Contents基于标准单元的ASIC设计流程1数字前端设计(front-end)2数字后端设计(back-end)3Q&A43教研室ASIC后端文件归档数字后端设计流程-1目前业界广泛使用的APR(AutoPlaceAndRoute)工具有:Synopsys公司的ASTROCadence公司的Encounter可以参考QUARTUSII的FITTER学习。数字后端设计流程-2哪些工作要APR工具完成?芯片布图(RAM,ROM等的摆放、芯片供电网络配置、I/OPAD摆放)标准单元的布局时钟树和复位树综合布线DRCLVSDFM(DesignForManufacturing)数字后端设计流程-3ASTRO布局布线流程数字后端设计流程-4布图布图步骤主要完成宏单元的放置,电源规划以及PAD的摆放,布图影响到整个设计的绕线难易以及时序收敛。电源环的宽度计算:maxI4pIWkn数字后端设计流程-4布图数字后端设计流程-5布局Astro是一个gridbased软件,grid分为placementgrid和routinggrid.Placementgrid就是所谓的unitTile,unitTile为一个row的最小单位,standardcell就是摆放在row上面,起摆放位置须对齐每个unitTile的边缘,因此每个standardcell都必须是同一高度。数字后端设计流程-5布局数字后端设计流程-5时钟树和复位树综合时钟树综合的目的:低skew低clocklatency在DC综合时并不知道各个时序元件的布局信息,时钟线长度不确定。DC综合时用到的线载模型并不准确。时钟树和复位树综合为什么要放在APR时再做呢?数字后端设计流程-6时钟树和复位树综合数字后端设计流程-7布线将分布在芯片核内的模块、标准单元和输入输出接口单元(I/Opad)按逻辑关系进行互连,其要求是百分之百地完成他们之间的所有逻辑信号的互连,并为满足各种约束条件进行优化。布线工具会自动进行布线拥塞消除、优化时序、减小耦合效应、消除串扰、降低功耗、保证信号完整性等问题。数字后端设计流程-8布线LayerMETAL1pitch=0.41LayerMETAL2pitch=0.46LayerMETAL3pitch=0.41LayerMETAL4pitch=0.46LayerMETAL5pitch=0.41LayerMETAL5pitch=0.46LayerMETAL7pitch=0.41LayerMETAL8pitch=0.96数字后端设计流程-8布线数字后端设计流程-8布线第一步全局布线Globalroute进行时,整个芯片会被切割成一块块的globalroutingcell(GRC),其目的在于建立一个绕线的蓝图。对于每个GRC,Astro会去计算包含其中且可以使用的wiretrack,根据这些信息选择绕线要经过的GRC。如图所示,有一个以X为起点Y为终点的连接需要绕线,考虑到blockage和congestion的状况后,选择了变化4、9、14、19、24、23、22、21、16的GRC来绕线。数字后端设计流程-9布线第二步布线通道分配在globalroute时已经将信号线分配到每个GRC,而trackassignment的功能就是将这些信号线在分配到每个track上,决定每条线要走的路径。Trackassignment是以整个芯片为处理单位来作规划,尽量绕出又长又直且via数目最少的绕线。数字后端设计流程-10布线第三步详细布线Detailroute的工作主要是将trackassignment的DRCviolation移除,一次是以一个switchbox(SBOX)为单位来进行修复的。SBOX由GRC构成,且每个SBOX的边缘会重叠一个GRC的宽度。DFM包括:天线效应(信号线太长造成)Metalli

1 / 52
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功