SoC-Encounter设计流程ppt.ppt_第1页
SoC-Encounter设计流程ppt.ppt_第2页
SoC-Encounter设计流程ppt.ppt_第3页
SoC-Encounter设计流程ppt.ppt_第4页
SoC-Encounter设计流程ppt.ppt_第5页
免费预览已结束,剩余71页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2020/5/11,SoCEncounterDesignFlowSMIC65nmprocess,2011-10-24,2020/5/11,主要内容,8.Post_route9.Make_DFM10.LeakageAddIOcellsandfiller:添加IO单元的filler并fix在固定位置,包括数字和模拟两部分,保证IO单元之间的电源/地连接正确。命令:deleteIoFiller;addIoFillerModifypowerdomainAttribute:调整各个功率域模块的相对位置,标明各功率域属性,如:电源特性、功率域范围、时序分析所用工艺库等信息。命令:relativeFPlan;modifyPowerDomainAttr,2020/5/11,2.Floorplan,Addpowerping:Corering,blockring,powerdomainring生成core、block和功率域的电源环命令:addRing;selectInst;deselectAllAddhalo给功率域、IP模块等设置隔离环,阻止外部单元和走线出现在此区域内命令:deleteHaloFromBlock;addHaloToBlock;addRoutingHaloConnectPG声明各种模块、功率域电源/地线,及和全局电源/地的连接关系命令:clearGlobalNets;globalNetConnect;applyGlobalNets;srouteCreatestripes进行内部电源/地走线,保证充分的电源共给,减小IP-drop等命令:addStripe,2020/5/11,2.Floorplan,Addandconnectspecialcells:Addandconnectwelltap根据特定的规则,给各个功率域(如normal_pd、pso_pd、lv_pd等)填充特定的welltap单元,如FILLTIE、FILLBIAS、FILLBIASNW、FILLBIASPW等,并连接其电源/地到功率域电源/地或指定的外部电源/地。命令:deleteFiller;addWellTap;clearGlobalNets;globalNetConnect;applyGlobalNets;srouteAddandconnectswitchcells在可以关断电源功率域按一定的排列方式插入switchcell,指明端口对应的网表连接中的名称,如pg_en_o等(由于在网表中没有相对应的单元,这类线一般在网表中是悬空的),并进行电源或地的连接,这类单元有HEAD*、FOOT*、HTV_HEAD*、HTV_FOOT*等。命令:addPowerSwitch;verifyPowerSwitchGlobalandstdcellconnect全局性和标准单元电源/地连接,并进行标准单元区域电源/地布线。命令:globalNetConnect;sroute,2020/5/11,2.Floorplan,Reportfileandsave:Timingreport输出时序分析报告,检查报告内容是否有异常的地方。命令:timeDesign-prePlace-expandedViews-outDirreport/floorplanSave保存当前设计,以备下次直接调用。saveDesign./database/$top_cell_name_floorplan.enc-def-relativePathexit,2020/5/11,3.pre_place,Generalplacementsequence:ImportthedesignStudythedesignsconnectivityDothepowerplanningSpecifysparecellandscancellsifnecessaryCreateplacementblockagesifnecessaryLoadthescanchaininformationRunplacementRuntrialroutetoviewplacementandroutingcongestion,2020/5/11,3.pre_place,clocktreeoption:由于布局方式为clkGateAware模式,需要导入时钟树spec和指定延迟单元类型。Loadclocktreespecification导入时钟树综合文件。命令:specifyClockTree-clkfileinput/aes_chip.balance.ctstchSetdontusecell设置在时序优化时可以和不可以使用的标准和PMK单元,这种设置一般全局有效,所以在完成相应的操作后,需要取消设置(把true变为false)。foreachdelay_cell$delay_cell_listsetDontUse$delay_celltruesourcescripts/dontuse_pmk_cell.tcl,2020/5/11,3.pre_place,Specifyingsparecells:闲置单元一般为掩模后ECO提供可用的逻辑单元闲置单元可以定义在整个设计层面(design),也可以定义到模块(module)或一定区域(fence/region)范围内,撒布闲置单元时,闲置单元也会撒布在相应的区域内闲置单元的输入可以浮空或接电源/地,这时闲置单元会撒布在整个布局区域;闲置单元采取互连时,视为闲置单元组,彼此相互靠近,放置在特定区域;闲置单元采用和非闲置单元连接模式时,闲置单元的摆放靠近目标单元命令:createSpareModuledeleteSpareModuledisplaySpareModuleplaceSpareModule,2020/5/11,3.pre_place,Specifyingcellpadding:Cellpadding为预留的、在flip-flop右边、在CTS期间插入驱动时钟buffer的布局空间预留空间为metal2pitch尺寸的整数倍预留空间一般为整个设计空间的5%7%Cellpadding在CTS和Opt期间保留若有拥塞现象,删除cellpadding命令:specifyCellPaddeleteAllCellPaddeleteInstPadreportInstPad,2020/5/11,3.pre_place,JTAG:JTAG=JointTestActionGroup(联合测试行动小组)JTAG是一种国际标准测试协议,主要用于芯片内部测试。基本原理是在器件内部定义一个TAP(TestAccessPort测试访问口)通过专用的JTAG测试工具对内部节点进行测试。JTAG测试允许多个器件通过JTAG接口串联在一起,形成一个JTAG链,能实现对各个器件分别测试。SpecifyJTAGcell,instance,orhierarchicalinstancesJTAGcellplacedatthechipboundary,closetoIOpadsAreaisdecidedbyheightsandrowsofstandardcellyoucancustomizetheplacementblockagelayerOperatedbeforestandardcellplacement命令:specifyJtagplaceJtagreportJtagInsttraceJtag,2020/5/11,3.pre_place,Setplacementblockage:阻止在特定的金属层下摆放单元,有三种阻止方式:Hard任何情况下都不允许Soft在placement期间不允许,但是在Opt、CTS、ECO、refineplacement期间允许Partial设置不允许的百分率,剩余的面积可以进行布局,指定为100%时,视为soft命令:createObstruct;createDensityArea布线方面也有类似的阻挡层设置,2020/5/11,3.pre_place,Placestdcell:SetPlacemode设置单元摆放选项,即在布局时需要考虑的相关信息等,可以通过设置的项目来改善时序、减小拥塞现象和优化走线长度等。例如,WNS(WorstNegativeSlack)可以改善200300ps左右,走线长度可以减小10%左右等。如:setPlaceMode-ignoreScantrue-reorderScanfalsesetPlaceMode-timingDriventruesetPlaceMode-clkGateAwaretrueSettrialroutemode如:setTrialRouteMode-handlePDComplextrue-handleEachPDtruesetTrialRouteMode-maxRouteLayer7PlaceDesign进行单元布局操作,缺省情况为时序驱动,如无约束时,则考虑时序问题,布局操作不止受setPlaceMode影响,还受setClockDomains,setTrialRouteMode,setOptMode,setScanReorderMode等的影响。命令:placeDesign,2020/5/11,3.pre_place,Postplacement:Congestionopt以优化拥塞现象为终极目标,提高信号线的可布性可以改善以后流程的信号完整性锁定热点区域(来自于trialRoute结果)并把部分器件移出热点区域若之前没有trialRoute,这个命令会自动执行trialRoute命令可以在布局、时序优化和时钟树综合后使用优化过程不考虑时序,得到好的时序是由于改善的拥塞现象和走线长度执行此命令前,必须保证布局合理(无overlap和offgrid,如有,先使用refinePlace命令解决),否则会自动退出命令:congOpt,2020/5/11,3.pre_place,Postplacement:ECOplace布局完成后,对设计进行的局部改变掩模前,为把仍没布局的单元移入core,进行布局;掩模后,把仍没布局的单元映射到闲置单元一般情况下,ECO局部改变不超过原设计的20%ECO完成后,进行拥塞和时序检查,保证满足设计要求命令:ecoPlaceCheckplaceandsave检查布局结果,输出报告。命令:checkPlace;refinePlace,2020/5/11,3.pre_place,Placespecialcell:Levelshifterandisolationcell在整体布局完成后,定义例化单元,设置状态为fix,指定摆放位置,进行布局,一般放在功率域的边界。如:dbSetdbG*cds_jd_l2h*.pStatusfixedcreateObstruct6846737231136-soft-namesoft_OBScreateObstruct6846737231136-nameOBS_LVLrefinePlaceplaceDesigndeleteObstructionOBS_LVL:删除区域定义,2020/5/11,3.pre_place,Placespecialcell:Pullcell提供给逻辑单元的高低电平输入,不会穿过层次化模块的边界。此操作在整体布局后进行。如:setTieHiLoMode-cell“PULLHS1PULLHS0”-maxFanout5-maxDistance10:设置属性addTieHiLo-prefixTIEHILO-powerDomainnormal_pdaddTieHiLo-prefixTIEHILO-powerDomainpso_pdaddTieHiLo-prefixTIEHILO-powerDomainlv_pd:摆放区域addTieHiLo-prefixTIEHILO:除上三个区域外部分,必须的,2020/5/11,3.pre_place,Placespecialcell:Alwaysoncell常开单元的全局性电源连接布线。Globalandstdcellconnect全局性和标准单元电源/地连接,并进行标准单元区域电源/地布线。命令:globalNetConnect;srouteReportPMKcell检查PMK单元的状态,输出报告命令:reportIsolation;reportShifter;reportPowerSwith等Savedesign,2020/5/11,4.place_opt,Scanreorder:Scanreorder运行忽略扫描链的placement后,扫描链可能已经断开,要进行扫描链重新排列操作,如果扫描链穿过不同功率域,电源电压不同时,会自动插入levelshifter。在使用这个命令前可以用命令setScanReorderMode设置全局参数。命令:scanReorderGeneratereorderscandef输出重新排列后的扫描链。如:defOutBySection-noComps-noNets-scanChainsoutput/$top_cell_name_scan_reorder.def,2020/5/11,4.place_opt,Specialnetbuffertreesynthesis:对特殊的net插入buffer,按照一定的规则进行综合,如buffer类型、跳变延迟时间、扇出系数等。这类net主要是在floorplan阶段定义的功率域模块的使能控制线(pg_en_o)。如:bufferTreeSynthesis-netsu_aes_core_top/pg_en_ou_aes_core_top/iso_en_ou_aes_core_top/retain_n_ou_aes_core_top/n_22-fixedBuf-fixedLeaf-fixedNet-maxTran0.15-prefixcds_alwayson_-powerDomainBufListnormal_pdBUFHSV4BUFHSV6BUFHSV8BUFHSV12BUFHSV16BUFHSV20pso_pdGBL_BUFHSV8lv_pdBUFHSV4BUFHSV6BUFHSV8BUFHSV12BUFHSV16BUFHSV20set_interactive_constraint_modesall_constraint_modes-activeset_max_transition0.2current_designset_max_fanout16current_design,2020/5/11,4.place_opt,Timinganalysis:进行时序分析前,需要先完成下面的操作:SpecifythedelaycalculationandRCextractionvalues在design_import命令中有相应的选项,可以根据实际情况填入正确的比例系数等。Specifytheoperatingconditions使用setOpCond命令指定PVT参数,在MMMC时使用create_delay_corner和updete_delay_corner命令设置操作环境。命令:setOpCondSpecifyreportmode包括两种报告模式:一为CTE(commontimingengine);一为FE-STA(firstencounterstatictiminganalysis)。CTE模式为默认。注意在同一个项目里最好只使用一种报告模式。CheckandreporttiminglibrariesCheckandreportfootprintSpecifyconstraintconditionDefineRCcorner可以设置角点为typ、best或worst,供进行setup和hold分析时使用。Specifytheanalysismode共有三种分析模式可以使用,分别为:single,BC-WC,OCV,2020/5/11,4.place_opt,Timinganalysis:时序分析流程(以BC-WC为例):Readintheminandmaxlibrariessetrda_Input(ui_timelib,max)$libDir/stdcellwst.lib”setrda_Input(ui_timelib,min)$libDir/stdcellbest.lib”2.SpecifyBC-WCoperatingconditionssetOpCondmaxwccommaxLibrarystdcellwstminbccomminLibrarystdcellbest3.SettheanalysismodetoBC-WC,setupsetAnalysisMode-bcWcsetupskewclockTree4.Generatethetimingreportsforsetupreport_timing5.SettheanalysismodetoholdsetAnalysisModehold6.Generatethetimingreportsforholdreport_timing,2020/5/11,4.place_opt,Timinganalysis:时序分析中,需要注意的几点:DeratingfactorusedinTA使用此命令,可以把数据路径或时钟路径的延迟时间进行一定程度的缩小或放大,更好地使建立时间和保持时间满足时序关系。此命令对latency和inputdelay(fromSDC)及.sdf文件内容没有作用。命令:setTimingDerate-max-early0.8-late1.02.Clockpathpessimismremoval(CPPR)在launchclock和captureclock两个时钟路径上有共用部分(见下页图)在设置时序分析模式时,使用CPPR设置,可以消除由于early和late路径分别调用单元不同延迟时间而产生的误差。命令:setAnalysisMode-cppr3.Multi-ModeMulti-CornerTA具体介绍见前。4.Analysistimingproblem有一系列命令可以使用:check_timing,get_timing,report_timing,report_analysis_coverage,report_annotated_check,report_case_analysis,report_clock_timing等。5.DebuggingTimingresults在CTE和FE-STA模式下,分别有自己的诊断方式。执行TimingDebugTiming可以弹出窗口,填入时序输出报告文件名称,依次进行操作即可。,2020/5/11,4.place_opt,Timinganalysis:下图为时钟共用路径情况,右下图为控制端选择路径情况。,2020/5/11,4.place_opt,Timingoptimization:时序优化阶段,会执行以下操作:CorrectsDRVsReducestotalnegativeslackOptimizessetuptimeforallpath建立时间优化完成后,检查timingreport,分析产生violation,是否可以经过时序优化解决,否则,需要修改前端设计调整。而holdtimeviolation完全可以通过后端流程解决。Fixesholdtimeviolations(optional)Performsusefulskewoptimization(optional)Reclaimsarea,2020/5/11,4.place_opt,Timingoptimization:时序优化阶段,会使用下面技术:AddingbuffersResizinggatesRestructuringthenetlistRemappinglogicSwappingpinsDeletingbuffersMovinginstancesApplyingusefulskew,2020/5/11,4.place_opt,Timingoptimization:按照设计流程,可以分为下面三个优化阶段:pre_CTSOptPost_CTSOptPost_routeOpt在设计的不同阶段,可分别使用下列命令设置与设计阶段相匹配的参数:setAnalysisModesetTrialRouteModesetClockDomainsetOptModesetExtractRCMode,2020/5/11,4.place_opt,Timingoptimization:在进行时序优化前,先完成下列操作:Createandloadfootprints(optional)声明优化时需要插入的buffer/inv等的类型。SettheEncountersoftwaretohandleassignnets检查网表中是否有赋值语句,如果有,使用命令进行等效,以便于相关的nets能够进行优化。命令为:在导入设计数据前使用命令setDoAssignon,在.conf中setrda_Input(assign_buffer)1Setthedefaultanddetailedextractionscalefactors使用命令为:generateRCFactor;setRCFactorSetinputtransitions为便于高扇出网络的高扇出nets的延迟时间计算,可以在.conf中或setInputTransitionDelay命令中设置输入transitions。Checkreservedplacementspace为保证有足够的优化空间,检查剩余空间是否大于5%,以便于优化时插入buffer和结构重组。,2020/5/11,4.place_opt,Timingoptimization:在这里,执行的是pre_CTS,在执行优化前,必须使用命令set_disable_timing打破所有的timingloops(可能是约束文件中规定的),否则,软件不能进行有效地比较。一般优化流程如下:Optmode设置时序优化模式,直到下次重新设置前,一直保持有效。如果想知道当前的设置,可以使用相关查看命令。命令:setOptMode;getOptModeOptdesign首次执行优化,命令会通过调整buffer和gate的尺寸来减小所有net上的延迟时间,然后以路径为基础,使用前面提到的优化方法进行优化操作。其优化顺序为:1.全局时序优化,2.DRV修复,3.临界路径时序优化。命令:optDesign-preCTSCheckplaceVerifyPG验证功率域内电源/地连接的正确性,修改错误,直到完全正确,才能进行以后的流程。命令:verifyPowerDomainSavedesign,2020/5/11,4.place_opt,Timingoptimization:部分优化设置介绍:setOptMode-lowEffort低效率优化模式,不进行结构重组和DRV方面的优化。setOptMode-usefulSkewusefulskew模式优化,可以很好地改善设计时序。setOptMode-noReclaimArea优化模式的默认值为reclaimArea,即对面积方面的调整,如果不需要整合,必须如此设置。OptonSpecificpath针对特定的路径进行优化,可在优化操作前执行下面命令,首先要清楚时钟域,然后在定义需要优化的路径,这个命令不会对指定路径以外的路径进行任何操作。clearClockDomainssetClockDomains-fromTypesourcePoint-toTypedestinationPointIncrementalPre-CTSOpt进一步加强优化效果,对剩余的violations进行优化。命令:optDesign-preCTS-incr,2020/5/11,5.clock_syn,availablefiles:Clocktreespecificationfile(*.ctstch)Verilognetlist(*.V)GDSIIorLEFphysicallibraryProperRCmodelfromLEF,orEncountercapacitancetableTimingconstraintsfile(SDC)(optional)Synopsys.libfileorTLFfilewithtimingmodelsforstandardcellsandcellfootprintnames.Placementinformation,suchasaDEFfileoranEncounterplacementfile,2020/5/11,5.clock_syn,CTSOperationModes:Manualmode手动编写clocktreespec,可以根据实际的需要,自由地控制插入buffer的级数和每个级别buffer的数量,产生时钟树拓扑,平衡时钟相位延迟。automaticmode也需要clocktreespec文件,CTS会根据约束文件,自动地决定插入buffer的级数和每个级别buffer的数量。产生时钟树拓扑,平衡时钟相位延迟。除非特殊要求,一般会选用这种方式进行CTS。,2020/5/11,5.clock_syn,CTSGuidelines:CTS追踪时钟信号穿过的buffer、inv和门控单元等,一般停止在时钟pin、D触发器的输入pin、宏单元或隔离单元的入口及没有时序要求的单元入口。CTS不会对没有时序要求的单元进行时钟相位平衡。如果包含宏单元模型,必须在spec中对其特性进行定义。如果要对时钟进行分组,也要在spec中进行定义。CTS会产生一个布线向导,加强和detail-route关联性,使用这个向导可以把CTS和post-route联系的个紧密,要实现这个功能,必须在spec、CTSmode和执行命令CTS时,打开相关的选项。CTS优先级为:clockskew-inputtransitiontimeforpowerconsumption-clockinsertiondelay推荐的运行流程为:OpttofixsetuptimeviolationCTSOpttofixholetimeviolation,2020/5/11,5.clock_syn,Automaticflow:一般流程:,clockDesign,setCTSMode,clockDesigngenSpecOnly,Displayclocktree,Resultok?,NO,Clocktreebrowser,AnalysisandDebuggingSupport,ckECO,CTSSpecFile,ManualEdit,ManualECO,setCTSModeGUI,2020/5/11,5.clock_syn,mainstagesforCTS:Pre-CTSGenerateclocktreespecsetCTSModePre-CTStracergraphicalinterface(没找到)CTSSynthesizetheclocktreePost-CTSManualECOPost-CTSoptimizationusingckECO,2020/5/11,5.clock_syn,Pre-CTS:Inputconfigurationfile读入和时钟树综合相关的信息,内容包括输入时钟名称、输入根节点,每个时钟相关的属性,及需要用到的缓冲器类型等信息。可以使用命令specifyClockTree(或createClockTreeSpec)产生一个模板,然后对模板进行修改产生。若综合结果不满足要求,也可以通过再修改此文件达到符合要求的综合结果。文件的后缀为.ctstch命令:loadSetsynthesismode设置时钟树综合的各种属性,在时钟树综合前,必须设置属性。在时钟树综合后,需要改变属性,需使用命令cleanupSpecifyClockTree清除前面的设置,重新使用设置命令进行设置。命令:setCTSModeListCTScell列出CTS中可以用到的缓冲器、反相器单元名称,这些也可以在design_inport中设置。命令:addCTSCellList;addCTSCellFootPrint,2020/5/11,5.clock_syn,Clocksynthesis:CTS列出可用单元后(否则不会运行CTS),按照设置和SDC文件约束,进行CTS操作。在执行操作时,软件会自动删除现存的时钟树。综合后,针对MMMC相关情景进行时序分析。命令:clockDesign;set_analysis_viewTimingreportandsave输出报告,检查结果并保存。命令:report_timing;report_clock_timing;report_timing_by_clock_view;timeDesign,2020/5/11,5.clock_syn,Post-CTS:ManualECO使用clocktreeBrowser选择一个时钟打开,会出现一个时钟的拓扑结构,可以根据相应的参数,对这个拓扑进行编辑,主要包括两种方式:1)buffer/invinsert/deleteorresize这种方法主要用来调整skew,latencyandusefulskew和Maxtransition修正,插入的buffer/inv和在refineplace和放在靠近目标的区域。2)disconnectingandreconnecting通过重新调整buffer/inv的连接关系,调整Timing、capacitancebalancing和usefulskew,这种调整不会改变单元的相对位置关系。Post-CTSoptimizationusingckECOckECO是在CTS后对时钟树的优化操作,主要目标是改善每个时钟(组)的skew,解决最小相位延迟violation,但不会改善DRV。命令:ckECO-preRoute/-clkRouteOnly/-postRoute,2020/5/11,6.clock_opt,Post_CTStimingoptimization:时钟树建立以后,优化的目的包括:FixingremainingDRVsFixingholdtimeviolationsOptimizingremainingsetupviolationsCorrectingtimingwithpropagatedclocksReducingarea优化的流程和相关设置和pre_CTS优化时类似,2020/5/11,6.clock_opt,Post_CTStimingoptimization:Resetanalysismode重新设置分析模式、优化模式及针对的MMMC情景。命令:setOptMode;setAnalysisMode;set_analysis_viewControlpinsynthesis对全局控制信号进行综合,插入buffer,增加驱动能力。如reset、clk_en、test_mode等信号。命令:bufferTreeSynthesisCTO建立时钟树后,进行时序优化,一般情况下,时钟树综合后的时序分析主要针对holdtime进行。命令:optDesign-postCTS-outDirreport/clock_optTimingreportandsave同上。,2020/5/11,6.clock_opt,Poweranalysis:功耗分析是在各种电源/地先布局完成之后进行的IR_drop、powerrail和EM分析,最好是在便于对电源布局进行优化的阶段进行。命令中规定可以在dummyclock、pre_cts、post_cts阶段进行,Dataprepare在调用文件(*.pp)中指明所有电源/地PAD的坐标。编辑时钟跳变(from0to1orfrom1to0)几率的文件(*.tg),编辑器件电源电压文件(*.power)。Poweranalysis调用电源分析命令,填入所需要的文件,进行IR_drop、powerrail和EM分析,并分别检查分析结果(显示)。命令:updatePower;displayRailAnalysisResults;clearRailAnalysisDisplayRepairandSavedesign检查结果若不符合设计要求指标,修改电源/地布局,重复上述步骤,直到满足要求,并保存设计结果。,2020/5/11,7.Nano_route,Prepare:RunPlacementwiththeMediumEffortoptionRunCheckPlacement检查是否有单元重叠、单元不在栅格等现象,如果有,使用refineplacement命令解决掉。RunTrialRoutewiththeMediumEffortoption确保没有拥塞现象的发生。outputanewnetlistfile执行完布局、时序分析优化、时钟树综合优化后,网表的结构和原来相比已经发生变化,因此需要一个和物理设计完全一致的网表。ThedetailedrouterneedsthesetwofilesPlacementfileinDEFformatwithclocktreeNetlistfile,2020/5/11,7.Nano_route,AddFillercells:Deletefillercells在填充filler之前,需要先从标准单元区域进行删除filler操作,可以全局性删除,也可以指定面积删除。命令:deleteFillerSetfillermode设置全局性填充参数,这些参数是累加性的,即新设置的参数会和原来的参数同时发生作用,且在addFiller命令中的参数会替换掉此命令中的同类参数。命令:setFillerModeAddfillercells在详细布线前,对标准单元间隙进行filler单元填充。如果是在布线后,其会自动检查DRC。为了消除由其带来的DRC,执行verifyGeometry命令表示错误出,再执行一次带有-fixDRC参数的addFiller命令,即可对错误处filler进行替换。命令:addFillerGlobalpowerconnection执行addFiller后,进行全局性电源连接,声明连接关系。,2020/5/11,7.Nano_route,Nanoroute:Routealwaysonnetfirst设置选择性布线模式,选择常开net连接对象,进行布线。布线完成后,取消选择性布线模式。命令:setPGPinUseSignalRoute;setNanoRouteMode;selectNet;routeDesign;deselectAllSetNano_routemode设置全局性布线模式,设置进程个数等。命令:setNanorouteMode;setMultiCpuUsageGlobalanddetailedroute执行详细布线操作。命令:routeDesign,2020/5/11,7.Nano_route,Checkandsave:Checksetupandholdtime在布线完成后,使用expandedViews选项进行时序分析,目的是产生MMMC模式的、各个情景独立的、详细的、建立时间和保持时间的时序报告。如:timeDesign-postRoute-expandedViews-outDirreport/nano_routetimeDesign-postRoute-expandedViews-hold-outDirreport/nano_routeCheckpowerdomain检查功率域设置是否正确,主要检查是否有重叠现象发生。命令:verifyPowerDomainsave保存设计结果。,2020/5/11,8.Post_route,Postrouteopt:详细布线完成后,因为前面已经进行了时序优化,所以,剩余的violations不会很多,新产生的violation主要是由于布线前(预测)和布线后(实际)的差异,以及寄生耦合引起,这阶段的时序优化主要进行下面操作:RepairingtimingproblemsandDRVswithoutintroducingnewproblemsResolvingsignalintegrity(SI)issuesSI优化时,进行下面的操作:AnalysescrosscouplingcapacitanceeffectsonglitchandnoiseBack-annotatesdelaysduetocrosscouplingcapacitanceRerunstiminganalysisRepairssetupviolationsRepairsholdviolations优化的流程和相关设置和pre_CTS优化时类似,2020/5/11,8.Post_route,Resetanalysismode:重新设置分析模式,使用于布线后优化。如:setAnalysisMode-analysisTypeonChipVariation:包括single、bcWc、OCV三种-clockGatingChecktrue:检查clockgating-cpprtrue:去除时钟路径上的悲观情况-timingEnginestatic:静态分析模式,2020/5/11,8.Post_route,Opttargetslack:Setoptmode设置布线后优化模式。如:setOptMode-optimizeNetsAcrossDiffVoltPDstrue-holdTargetSlack0.01-setupTargetSlack0.01-criticalRange1Setanalysisview设置分析针对的情景,通常,全部的view都要在这里进行分析。如:set_analysis_view-setupnormal_func1_max_dcw_viewnormal_func2_max_dcw_view-holdnormal_func1_min_dcb_viewnormal_func2_min_dcb_viewSettimingderate对数据、时钟路径、max/min操作条件等设置时序缩放比例因子,改善指定corner下的OCV(onchipvariation),可以分别针对建立(later)、保持(early)时间进行缩放。如:set_timing_derate-early0.95-late1.0-delay_cornernormal_func2_max_dcw_view_dcset_timing_derate-early1.0-late1.05-delay_cornernormal_func2_min_dcb_view_dc,2020/5/11,8.Post_route,Optimization:Drvandsetuptimeopt进行布线后designrulerviolation和setuptime方面的优化。如:optDesign-postRoute-outDirreport/post_routeoptDesign-postRoute-incr-outDirreport/post_route_incrHoldtimeopt进行holdtime方面的优化,消除violation,进行holdtime优化时,有可能会产生setup问题,可以使用命令setupTargetSlack设置参数进行限制。如:optDesign-postRoute-hold-outDirreport/post_routeSaveandoutput输出应用于不同目的的verilog网表及def文件,保存设计saveNetlist-excludeLeafCelloutput/$top_cell_name.vsaveNetlist-excludeLeafCell-flatoutput/$top_cell_name_flat.vsaveNetlist-excludeLeafCell-physoutput/$top_cell_name_phys.vdefOut-placement-routing-floorplanoutput/$top_cell_name.defsaveDesign./database/$top_cell_name_post_route.enc-def-relativePath,2020/5/11,8.Post_route,ECOfixtiming如果经过上面流程后依旧有时序错误,可以通过单元替换、插入/消除缓冲单元方式解决。可以把需要修改的地方写入tcl文件,再读入文件。ECO前要先清楚filler单元;调用文件后进行ecoPlace、ecoRoute和addFiller步骤。如:修复setuptime,更改单元尺寸ecoChangeCell-instu_aes_core_top/aes_core_main/aes_algo_lv/aes0_i/us10/g93953-cellINAND2HSV4修复holdtime,插入缓冲单元ecoAddRepeater-termu_aes_core_top/aes_core_main/aes_algo_normal/aes0_i/u0/w0_reg12/D-cellBUFHSV4-relativeDistToSink0.9Saveandoutput输出应用于不同目的的verilog网表及def文件,保存设计,2020/5/11,8.Post_route,Crosstalkrepair属于SI范畴,crosstalk是信号间的电磁耦合而导致的信号功能故障或延迟变化。在布局和布线阶段设置模式部分,都有crosstalk方面的设置,可以提前消除部分这类violation。下面是单独进行修复的步骤:Dataprepare设置操作条件(包括温度、工艺、电压等,这些都在设计开始时输入的timinglibrary中),指定.cdb文件。检查设计正确,没有timingviolation方面的问题等。命令:setOpCond;congOpt;optDesigntimeDesignSetbufferused在每一次优化前,都有必要进行bufferinvclkinv等方面的约束设置,并且在优化完成后,取消此约束,以免影响后面的设计。如:优化前foreachdelay_cell$delay_cell_listsetDontUse$delay_celltrue优化后foreachdelay_cell$delay_cell_listsetDontUse$delay_cellfalseRCextract进行crosstalk分析前,必须进行RC提取,产生耦合电容,供分析时使用。命令:setExtractRCModedetailno

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论