版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第八章综合策略及静态时序分析OutlinesLogicSynthesis&CompilingStrategyPhysicalSynthesis&CompilingStrategySynthesisUsingSynopsys’sDesignCompiler(DC)StaticTimingAnalysis(STA)STAUsingSynopsys’sPrimetime(PT)StatisticalStaticTimingAnalysis(SSTA)WhatLogicSynthesisDo?Generatenetlistwithuserspecifiedlibrary(translate&mapping)Massagenetlisttomeetreleasecriteria(optimization)SelectingandUsingaCompilingStrategyCompilingStrategy:
Top-downThetop-leveldesignandallitssubdesignarecompiledtogetherAdvantages:
OnlytoplevelconstraintsareneededBetterresultsduetooptimizationacrossentiredesignDisadvantagesLongcompiletimesIncrementalchangestothesub-blocksrequirecompletere-synthesisToollimitforhandle“large”designCompilingStrategy:
Bottom-upTheindividualsubdesignsarecompiledseparatelyYoumayneedtodoTime-budgetingattopleveltogetconstraintfileforeachsubdesignStartingfromthebottomofthehierarchyandproceedingupthroughthelevelsofthehierarchyuntilthetop-leveldesigniscompiledCompilingStrategy:
Bottom-up–cont.AdvantagesEasiertomanagethedesignbecauseofindividualscriptsGoodqualityresultsingeneralbecauseofflexibilityintargetingandoptimizingindividualblocksDisadvantagesTedioustoupdateandmaintainmultiplescriptsCriticalpathsseenatthetoplevelmaynotbecriticalatlowerlevelOptimizingDesignArchitecturaloptimizatione.g.SelectingDesignWareimplementationsLogic-LeveloptimizationStructuring--forreduceddesignareaFlattening--forspeedoptimizationGate-LeveloptimizationDelayoptimizationDesignrulefixingAreaoptimizationTimingcorrectionismosteffectivewithplacementinformationE.g.,PhysicalsynthesisLargeCircuitOptimizationProblemsRun-timebecomesintractableQualityofsolutiondropssharplySuggestion
Circuitpartition–usingbottom-upsynthesisstrategy“Timingbudget”synthesisstrategyTop-down(RTL-to-gate)togetthetimingbudgetforeachmodule,thendosynthesisoptimizationoneachmodule,followedbygate-to-gatesynthesisoptimizationfortheentiredesignPreserveClockandResetNetworksClocknetworksaretypicallydonebyClockTreeSynthesis(CTS),notbysynthesizeAsynchronousresetnetworksarealsotypicallytreatedasspecialnetworks,w/insertingappropriatebuffersPreserveclock&resetnetworkExample:Synopsys’sDesignCompliler,set_dont_touch_network<name>OutlinesLogicSynthesis&CompilingStrategyPhysicalSynthesis&CompilingStrategySynthesisUsingSynopsys’sDesignCompiler(DC)StaticTimingAnalysis(STA)STAUsingSynopsys’sPrimetime(PT)StatisticalStaticTimingAnalysis(SSTA)WireDelayandDeviceDelayChallengeforLogicSynthesisToolForprocess0.18umorless,wiredelaylargerthandevicedelayWiresareclosertogetherWiresarenarrowerStatisticalwireloadmodel(set_wire_load)nolongerworksPhysicalViewLogicalViewPhysicalSynthesisPhysicalsynthesiscombinesSynthesis,PlacementandStatictiminganalysiswithrouteestimationtogetherItdoesnotusewireload-modelsThedelayiscalculatedbasedonplacementratherthanfanoutBenefitsFrontenddesignerscanconsiderphysicaleffectsearlierinthedesignprocessBettersynthesisresultsleadfastertimingclosurePhysicalConstraintsPhysicalsynthesisrequirestheconstraints:Physicalsizeofthemacro/chipPinlocationsGroupinginformationPhysicalSynthesisFlowRTL-to-placed-gateflow
Intputs:RTL,floorplan,timingconstraint,libsetupfileCouldtakeextremelylongtime,especiallyforlargedesigngate-to-placed-gateflowInputs:gatelevelnetlist,floorplan,timingconstraint,libsetupfile
OptimizingexistinggatelevelnetlistaccordingtotheplacementRecommendedflowforfasttimingclosureOutlinesLogicSynthesis&CompilingStrategyPhysicalSynthesis&CompilingStrategySynthesisUsingSynopsys’sDesignCompiler
StaticTimingAnalysis(STA)STAUsingSynopsys’sPrimetimeStatisticalStaticTimingAnalysis(SSTA)SynopsysDCFlowSpecifyLibraries
Target_libraryThetechnologylibrarieswhichcontainstandardcellsthatDesignCompilermapstoduringoptimizationLink_library Alltechnologylibrarieswhichcontainhardmacros,standardcellsthatDesignCompilerusestoresolvecellreferencesSynthetic_library ADesignWarelibraryisacollectionofreusablecircuit-designbuildingblocks(component).Technologyindependent.Symbol_library Symbollibrariescontaindefinitionsofthegraphicsymbolsthatrepresentlibrarycellsinthedesignschematics.
DefiningDesignEnvironment
DefiningtheOperatingConditionsDefiningWireLoadModelsModelingtheSystemInterfaceDesignConstraints
Designruleconstraintsset_max_transitionset_max_fanoutset_max_capacitanceDesignoptimizationconstraintsset_input_delayset_output_delayset_max_areaHintsHighfanoutnets/equaldelaypathcanbeachievedinDC:set_min_delay,set_max_delayExample:data/addressbusesforexternalSDRAMinterfaceDefiningClockcreate_clock–name–period–waveform[get_ports]set_clock_latency(insertiondelay)set_clock_uncertainty(skew)set_clock_transition(transitiontime)create_generated_clockSpecifyingI/OTimingRequirementsInputDelay–Aninputdelayisthespecificationofanarrivaltimeatinputportrelativetoaclockedge.Outputdelay–Anoutputdelayrepresentsanexternaltimingpathfromanoutputporttoaregister.
set_input_delay4.5–clockPHl1IN1set_output_delay4.3–clockPHl1OUT1SpecialPathControlSet_false_pathToignoreaparticularpathfortimingoroptimizationSet_multicycle_pathToinformDCregardingthenumberofclkcyclesaparticularpathrequired.Defaultis1cyclepathSet_max_delay/set_min_delayDefinethemax/mindelayrequiredforaparticularpathFalsePathAfalsepathisthepathwhichisneversensitized/caredduetothelogicconfiguration,expecteddatasequence,oroperatingmode.ItwillnotbecheckedinSTAe.g.set_false_path–from<list>to<list>Multi-cyclePathAmulti-cyclepathisApathdesignedtotakemorethanoneclockcyclefromlaunchtocapturee.g.set_multicycle_path2–setup–fromA-toBRunDesignCompiler(dc)Suggesttohave3files:Startupfile.synopsys_dc.setupConstraintfilesconstraints.tclDCscriptsdc_script.tclCodingGuidelinesforSynthesisScriptsAllscriptsshouldbeginwithaheaderdescribingfile,purpose,author,revisionCommentsshouldbeusedextensivelyAllscriptsshouldbeunderrevisioncontrolNohard-codednumbers,datavalues,orfilenamesshouldbeburiedinthebodyofthescriptsNohard-codedpathsshouldappearinanyscriptsScriptsshouldbeassimpleastheycanbeandstillmeettheirobjectivesCommoncommandssuchasdefininglib,searchpathsshouldbeinasinglesetupfile,.synopsys_dc.setupRecommendationAlwaysreadthelogfiletofind“Warning”Alwaysuseanalyze&elaborateAlwaysuselinktomakesurenothingismissingAlwaysusecheck_designandcheck_timingandunderstandthewarningmessagesAlwaysstartwithadefaultcompileAlwayssavethedesignwiththe-hierarchyoptionAlwaysputconstraintsintoaseparatescriptfileandcallitfromyourmainscriptUse-syntax_check&-context_checkpriortorunningascriptforthefirsttimeFixallcombinatorialfeedbackloopsreportedbyDCExample–.synopsys_dc.setup(tclformat)
#/*.synopsys_dc.sretup*/#/*********************************************************/setsearch_path[contact$search_path[list“.”“/usr/golden/library/std_cells”]]settarget_library[listex25_worst.dbex25_best.db]setlink_library[list“*”,ex25_worst.dbex25_best.db]setsymbol_library[listex25.sdb]
define_name_rulesBORG–allowed“A-Za-z0-9”-first_restricted“_”\-last_restricted“_”-max_length30\-map[contact[list“\*cell\*””mycell”][list“*-return””myreturn”]]setbus_naming_style{%s[%d]}setverilogout_no_tritruesetverilogout_show_unconnected_pinstrue#/*ForDFT:definescanstyle******/settest_default_scan_stylemultiplexer_flip_flopExampleofcreate_clockcreate_clock-nameSYS_CLK-period9-waveform[list04][get_pinspll_clk]set_clock_uncertainty-setup0.5SYS_CLKset_clock_uncertainty-hold0.5SYS_CLKset_clock_latency4-min[get_clocksSYS_CLK]set_clock_latency4.5-max[get_clocksSYS_CLK]set_clock_transition0.5[get_clocksSYS_CLK]set_dont_touch_network[get_clocksSYS_CLK]Set_ideal_network[get_clocksSYS_CLK]Exampleofcreate_generatedclockForaclkfromadivider:create_generated_clock-divide_by2-source[get_pinspll_clk]-name48MCLK[get_pins{crc/crm_clkc_clkgen/usb_clk}]set_clock_uncertainty-setup0.548MCLKset_clock_uncertainty-hold0.548MCLKset_clock_latency4-min[get_clocks48MCLK]set_clock_latency4.5-max[get_clocks48MCLK]set_clock_transition0.5[get_clocks48MCLK]set_dont_touch_network[get_clocks48MCLK]Set_ideal_network[get_clocks48MCLK]Example-constraint.tcl
#/****************************************/#/*Clockspecificationanddesignconstraints*/create_clock–period33–waveform[list016.5]tckset_dont_touch_network[listtcktrst]set_ideal_network[listtcktrst]set_clock_latency2.0tckset_clock_uncertainty–setup3.0tckset_driveing_cell–lib_cellBUFF1X–pinZ[all_inputs]set_input_delay20.0–clocktck–max[all_inputs]set_output_delay10.0–clocktck–max[all_outputs]
set_max_area0Example-dc_script.tcl#/*Genericsynthesisscriptforsub-modules*/#/*********************************************************/#/*Definedesignname*/setactive_designtap_bypass#/*******************************************************/#/*DefineentryinVerilogformat*/analyze–formatverilog[format“%s%s”$active_design“.v”]elaborate$active_designcurrent_design$active_designlink#/****************************************/#/*Defineenvironment*/set_wire_loadSMALL–modetopset_operating_conditionsWORSTExample-dc_script.tcl–cont.#/*Compilewithscaninsertion*/set_fix_multiple_port_nets–buffer_constant–allcompile–scancheck_testcreate_test_patterns–sample10preview_scaninsert_scancheck_test#/*Clean-upandgeneratethenetlistinveriloganddbformats*/remove_unconnected_ports[find-hierarchycell“*”]change_names–h–rulesBROG
set_dont_touch[current_design]
write–hierarchy–output[format“%s%s”$active_design“.db”]write–formatverilog–hierarchy-output[format“%s%s”$active_design“.v”]CheckListoftheReportIsthereanyWarningorErrormessageinlogfile?Isthereanytimingviolation?Isthereanydesignviolation?Isthereanyportdirectlyconnectingtopowersuppliesinsteadofthrougha“tie1/0cell”?OutlinesLogicSynthesis&CompilingStrategyPhysicalSynthesis&CompilingStrategySynthesisUsingSynopsys’sDesignCompiler(DC)StaticTimingAnalysis(STA)STAUsingSynopsys’sPrimetime(PT)StatisticalStaticTimingAnalysis(SSTA)HowSTAWork?AdvancedAnalysis
Dynamicsimulationreliesonqualityandcoverageoftest-bench,testvectorsSTAismainlyforverifyingallpossible
pathsofgate-leveldesignfortimingStaticTimingAnalysisTechniqueStaticTimingAnalysisInputvectorpatternindependentEverysourceofdatalaunchischeckedatdestinationsorsinksDeterminestheworstpossibletimeaneventwilloccurAdvantage–Comprehensive,guaranteealltimingpathsareanalyzedDisadvantage–Howdoesdistinguishbetweenfunctional&non-functionalpathsWhatSTAtoAnalyze?TraverseallstatictimingpathsPathsbeginatsourcepinsPrimaryInputsPathsendatsinkpinsPrimaryOutputsWherevertimingcheckareperformedStorageelements(flip-flop,latch)Timingelements(clockgate)WhatSTAtoAnalyze?–cont.CalculatelatestandearliestpossibleswitchingtimesindesignDeterminethearrivaltimeofsignalsfortheworstcase(latestorearliest)ofallpossiblepathsComparecalculatedsignalarrivaltimeswithexpectedtimesat“endpoints”IttypicallyReports:Setup/holdtimeClockskewMaximumtransitionMaximumfanoutMaximumcapacitanceMaximumtransition……WhatSTAnottoAnalyze?ItdoesnotperformadelayanalysisbasedfunctionalsimulationItdoesnotconsiderthelogicfunctioningofthecircuitsItdoesnotsupportself-timedasynchronouslogicwherenoglobalclockisusedTypeofTimingPathExampleFromprimaryinputstoflip-flopsFromflip-floptoflip-flopFromflip-floptoprimaryoutputFromprimaryinputstoprimaryoutput
SomeBasicConceptsSetupTimeandHoldTimeforFFsSetupTime-Thelengthoftimethatdatamuststabilizebeforetheclocktransition.HoldTime-ThelengthoftimethatdatamustremainstableattheinputpinaftertheactiveclocktransitionRecoveryTimeRecoverytime-istheminimumlengthoftimethattheactivelowsetorresetsignalmustremainhighbeforetheactiveedgeoftheclocktoensurecorrectfunctioningofthecell.TimeSlackSlacksisusedtodescribehowmuchofthebudgetdidthelogicusedupSlack-theresultingmarginbetweenrequired&actualtimeofsignaltravelinginthepath.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人工智能在证券投资决策支持系统中的应用
- 桥梁施工桥面施工方案
- 仿生算法在证券风险评估中的应用
- 池塘渔业法规解读
- 山东菏泽市郓城县2025-2026学年七年级下学期7月期末历史试题(文字版含答案)
- 2026年海北中级统计师资格考试(统计基础理论及相关知识)能力提高训练试题库及答案
- 江苏省南通市田家炳初级中学2025-2026学年七年级上学期英语周练6-文字版-含答案-
- 2026年福建省南平市政和县石屯镇石门村社区工作人员考试模拟试题及答案
- 2026年电梯安全管理安全生产模拟考试题库及答案
- 2026年安徽铜陵二级造价工程师考试模拟题库及答案:建设工程计量与计价实务、水利工程
- 2026年陕甘青宁高考历史真题含答案
- 2026年教师招聘面试试讲真题(高中政治)
- SYT 6620-2025《立式圆筒形钢制焊接储罐完整性评价技术规范》
- 开掘工作面局部通风机停风应急处置与安全管理
- 医院消毒供应室工作制度、职责、操作流程
- 2026年云南省第一人民医院医护人员招聘笔试参考题库及答案详解
- mckinsey -2026 人力资源监测报告:人力职能迎来转折点 HR Monitor 2026 A turning point for the people function
- 2026福建省农业融资担保有限公司招聘3人备考题库含答案详解
- 2026年中式烹调师高级技师考试题
- 慢性肾脏病的代谢紊乱与干预
- 雨课堂学堂在线学堂云《走进军事理论(空军工程)》单元测试考核答案
评论
0/150
提交评论