集成电路后端设计概述

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

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

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

资源描述

自动布局布线工具SocEncounter2020/2/9MEI.XiDianUniv.2SocEncounter•设计流程简介•数据的准备•启动工具•设计数据导入•SpecifyFloorplan•PowerPlanning•Placement•时钟树的综合•时序分析•TrialRoute•功耗分析•SRoute•NanoRoute•加Filler•数据输出•DRC&LVS的准备2020/2/9MEI.XiDianUniv.3设计流程简介-基于标准单元的设计流程2020/2/9MEI.XiDianUniv.4设计流程简介(续)-SocE的设计流程2020/2/9MEI.XiDianUniv.5设计流程简介(续)-IO&PGplace2020/2/9MEI.XiDianUniv.6设计流程简介(续)-SpecifyFloorplan2020/2/9MEI.XiDianUniv.7设计流程简介(续)-AmebaPlace2020/2/9MEI.XiDianUniv.8设计流程简介(续)-ScanChainReorder2020/2/9MEI.XiDianUniv.9设计流程简介(续)-PowerPlaning2020/2/9MEI.XiDianUniv.10设计流程简介(续)-时钟数综合2020/2/9MEI.XiDianUniv.11设计流程简介(续)-功耗分析vdd2020/2/9MEI.XiDianUniv.12设计流程简介(续)-AddIOFiller2020/2/9MEI.XiDianUniv.13设计流程简介(续)-PowerRoute2020/2/9MEI.XiDianUniv.14设计流程简介(续)-DetailRoute2020/2/9MEI.XiDianUniv.15数据准备-必需的文件必须的文件有以下几个Gate-Levelnetlist(verilog)PhysicalLibrary(LEF)TimingLibrary(LIB)Timingconstraints(sdc)IOconstraint2020/2/9MEI.XiDianUniv.16数据准备-门级网表需要的是一个完整和干净的门级网表完整:读入的网表必须含有“IOPADS”;“POWERPADS”;“CORNERPADS”等信息。2020/2/9MEI.XiDianUniv.17数据准备-门级网表干净:1、Uniquifythenetlist2、Simplifynetlistbychangingnamesofnetsinthedesign3、Removeunconnectedfromtheentiredesign4、Makesurethatallpinsnamesofleafcellsarevisible5、Checkforassignandtranstatements6、Checkforunintentionalgatingofclocksorresets7、Checkforunresolvedreferences.2020/2/9MEI.XiDianUniv.18数据准备-门级网表-Uniquifythenetlist•这样虽然会降低网表的可读性,并且增加了电路规模,但是解决了一个问题:就是APR工具完成时钟树综合以后,只有Uniquify的网表电路,完整的拓朴信息才可以被读回DC综合器中,否则只会读回其中一部分的时钟树电路连接信息。(认为一个时钟节点只能连接一个叶节点)。•解决办法:首先:取消所有子模块的“Donttouch”的特性然后:用Uniquify命令使得所有子模块不重名!dc_shellremove_attributefind(-hierarchydesign,“*”)dc_shelluniquify2020/2/9MEI.XiDianUniv.19Simplifynetlistbychangingnamesofnetsinthedesign•APR工具对网表中的节点名有一定的要求:1、长度不能太长2、不能出现以“下划线”开始或结尾的线名3、线名中不能含有关键字“*cell*”和“*-return”•解决办法:在综合工具中规定一些命名规则1、在.synopsys_dc.setup文件中定义相关的命名规则define_names_rulesMYRULE–allowed“A~Za~z0~9”\-first_restricted“_”–last_restricted“_”\-max_length30\-map{{“\*cell\*”,“mycell”},{“*-return”,“myreturn”}}2、在dc_shell中键入命令:dc_shellchange_names–hierarchy–rulesMYRULE2020/2/9MEI.XiDianUniv.20Removeunconnectedfromtheentiredesign•在网表中会有一些不影响功能,但是却保持开路不连接的状态,我们最好是把它在DC里去除。因为,这些节点会在APR工具中出现warning,可能会把一些重要的warning信息覆盖•解决办法:dc_shellremove_unconnected_portsfind(hierarchycell,“*”)dc_shellcheck_design2020/2/9MEI.XiDianUniv.21Makesurethatallpinsnamesofleafcellsarevisible•所有单元的端口实现显形调用,包括没有连接的端口,避免端口数目不匹配。•如:库中有一个触发器:DEF(CLK,D,Q,QN)在调用的时候,只用到了三端DFFdff1(.CLK(clk),.D(data),.Q(out))这样,在读入netlist的时候会出现不匹配的问题•解决办法:在.synopsys_dc.setup文件中,把显形调用开关打开verilogout_show_unconnected_pins=ture2020/2/9MEI.XiDianUniv.22Checkforassignandtranstatements•很多的APR工具对三态线和Assign的赋值状态无法处理,所以需要在综合的时候进行适当的处理•三态线的解决办法(可能是因为设计中有inout的端口定义):在.synopsys_dc.setup文件中设置:verilogout_no_tri=ture•Assignstatements的解决办法dc_shellset_fix_multiple_port_nets–feedthroughdc_shellset_fix_multiple_port_nets–all–buffer_constraintsdc_shellremove_attributefind(net,netname)dont_touchBlockInoutBlockInoutgnd2020/2/9MEI.XiDianUniv.23Checkforunintentionalgatingofclocksorresets•由于时钟是其他一切信号的参考信号,所以,如果在综合的时候clock信号中插入了一些buffer(很可能是由于没有设置set_dont_touch_network),这些buffer会影响到时钟信号的latency和skew.•一般情况下,全局的reset信号也需要被保护。•解决办法:dc_shellreport_transitive_fanout–clock_treedc_shellreport_transitive_fanout–fromreset-clock_tree和-from这两个选项有一定的区别,-clock_tree可以由-from来替代,但是反过来不行。用-clock_tree选项的时候要保证已经建立了时钟信号(create_clock)2020/2/9MEI.XiDianUniv.24Checkforunresolvedreferences•如果设计网表中存在没有定义的模块,则会出现一些报警(warning),在把网表送到APR工具之前,需要解决这些问题。•例如,网表的顶层模块是A,模块A调用了模块B,但是在读入的库信息中,没有关于模块B的定义;此时如果输出一个模块A的网表文件,就会出现unresolvedreference的报警信息。2020/2/9MEI.XiDianUniv.25数据准备-物理信息文件LEFPhysicalLibrary(LEF)和GDSII有差别:含有两类重要信息:1、和工艺相关的信息2、和自动布局布线有关的信息2020/2/9MEI.XiDianUniv.26数据准备-物理信息文件LEF(续)1、和工艺相关的信息-三部分(1)层定义:单元内部含有哪些Layer(ploy;metal1;contact;metal2;via1)(2)设计规则线宽;线间距;面积;电流密度;天线效应;(3)寄生参数的定义电容;电阻2020/2/9MEI.XiDianUniv.27数据准备-物理信息文件LEF(续)2、和自动布局布线有关信息(六部分)Unit(单元名等信息)Site(位置信息)Routingpitch(走线规则,线间距)Defaultdirection(方向信息)Viagenerate(自动实现互连)Viastack(通孔之间是否可以叠放)2020/2/9MEI.XiDianUniv.28数据准备-物理信息文件LEF(续)2、和自动布局布线有关信息-Site2020/2/9MEI.XiDianUniv.29数据准备-物理信息文件LEF(续)2、和自动布局布线有关信息-Routingpitch,DefaultdirectionMetal1routepitchMetal2routepitchDirection:奇数层:水平偶数层:垂直2020/2/9MEI.XiDianUniv.30数据准备-物理信息文件LEF(续)2、自动布局布线有关信息-Viagenerate当两个不同的层交叉的时候需要实现自动连接和宽AL连接的时候需要通孔阵列来减小连线电阻LayerMetal1DirectionHORIZONTALOVERHANG0.2LayerMetal2DirectionVERTICALOVERHANG0.2LayerVia1RECT–0.14–0.140.140.14SPACING0.56BY0.562020/2/9MEI.XiDianUniv.31数据准备-物理信息文件LEF(续)2、和自动布局布线有关信息-Viastack高层的金属容易走线布线的密度高必须符合最小线间距等设计规则2020/2/9MEI.XiDianUniv.32数据准备-物理信息文件LEF(续)2、和自动布局布线有关信息-宏单元(MACRO)宏单元的种类:StandardcellsI/OpadsMemoriesotherhardmacros描述的信息:SizeClassPinsObstructions2020/2/9MEI.XiDianUniv.33数据准备-物理信息文件LEF(续)2、和自动布局布线有关信息-宏单元(MACRO)MACROADD1CLASSCORE;FOREIGNADD10.00.0;ORIGEN0.00.0;LEQADD;SIZE19.8BY6.4;SYMMETRYxy;SITEcoresitePINADIRECTIONINPUT;PORTLAYERMetal1;RECT19.28.219.510.3……ENDENDAOBS……ENDENDADD12020/2/9MEI.XiDianUniv.34数据准备-时序信息文件(LIB)Operatingconditionslow,fast,typicalPintypeinput/output/inoutfunctiondata/clockcapacitancePathd

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

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

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

×
保存成功