15-Agenda©2010Synopsys,Inc.AllRightsReservedSynopsys20-I-071-SSG-010DAY3ClockTreeSynthesis(Labcontinued)4Routing5ChipFinishing6CustomerSupportCS25-UnitObjectivesAftercompletingthisunit,youshouldbeableto:ExplainthethreeroutingoperationsPerformpre-routingchecksandsetupRouteandoptimizethedesignusingroute_optPerformfunctionalECOs35-IntroducingZroute10XSpeed-up,higherQoR,bettermanufacturabilityZroutesupportsadvanceddesignrulesfortechnologies45nmandbelowThreecharacteristicsseparateZroutefromtraditionalrouters:StateofartroutingtechnologyConcurrentDFMoptimizationsMulti-threadedoperationThe“classic”routerisstillavailableUsedinpreviousversionsofICCompiler45-ZrouteFeatureSummaryFullymulti-threadedConcurrent:AntennarulesoptimizationRedundantviainsertionWirespreading,wideningandshieldingSoftDRCrulesupportReducedtotalwirelengthFewervias,jogsandnotchesSimplifiedflowwithfeweroptionsrequired55-RoutingOperationsofroute_optroute_optperforms:GlobalRoutingTrackAssignmentDetailRoutingAfterroute_optallnetswillbecompletelyconnectedAlsoperformsconcurrentoptimizationof:Timing,areaandpowerBufferingDRCs(max_cap/max_transition,etc)PhysicalDRCsTrackAssignGlobalRouteDetailRoute65-RouteOperations:GlobalRoute(GR)globalroutecongestionareaGRassignsnetstospecificmetallayersandglobalroutingcells(Gcells)GRtriestoavoidcongestedGcellswhileminimizingdetours:CongestionexistswhenmoretracksareneededthanavailableDetoursincreasewirelength(delay)GRalsoavoids:P/G(rings/straps/rails)RoutingblockagesMetaltracesexistafterGlobalRoute.TrueorFalse?75-RouteOperations:GlobalRouteSummaryAnswer:False!GRdoesnotlaydownanymetaltraces.PreroutePrerouteGlobalrouteGlobalroute85-RouteOperations:TrackAssignmentTrackAssignment(TA):AssignseachnettoaspecifictrackandlaysdowntheactualmetaltracesItattemptsto:RouteeachlayerinitspreferreddirectionMakelong,straighttracesReducethenumberofviasTAdoesnotcheckorfollowphysicaldesignrulesTAmetaltracesTAmetaltracesPreroutePrerouteJogreducesviacount95-DetailroutefixesphysicaldesignruleviolationsRouteOperations:DetailRoutingMinSpacingThin&FatSpacingNotchSpacingNotchSpacingpinwirepinViolationsofidenticalrulesthatareincloseproximitytoeachotherwillbemergedandreportedasoneviolation105-TestforUnderstanding1.WhatdoesGlobalRoutingdoincongestedareas?2.AssignmentofnetstometallayersisdoneduringtheTrackAssignmentstage.TorF?3.WillICCompilerrouteametaltraceinthe“non-preferred”direction?4.WilldetailedroutemergeDRCviolationsondifferentlayers,i.e.Metal-MetalspacingandMetal2-Metal2spacing?115-UnitObjectives:PerformPre-routingChecks125-DesignStatus,StartofRoutingPhasePlacement-completedCTS–completedPowerandgroundnets–pre-routedEstimatedcongestion-acceptableEstimatedtiming-acceptable(~0nsslack)Estimatedmaxcap/transition–noviolationsreport_constraints-all135-Pre-RouteChecksCheckdesignforroutingstagereadinessThereshouldbenounexpected:IdealnetsHighfanoutnetsUsecheck_physical_designtocheckadesign’sprerequisitesforroutingandreportalistofviolationsFixbeforerunningZroutecheck_physical_design–stagepre_route_optall_ideal_nets#Defaulthighfanoutthresholdis1000#(defaultforvariablehigh_fanout_net_threshold)all_high_fanout–nets-threshold#report_preferred_routing_direction145-Performpre-routingsetup155-VerifythatZrouteisEnabledCheckifZrouteisenabledIffalseisreturnedenableZroute:OR:UseZrouteon/offswitchinGUIroutemenuget_route_mode_options-zrouteset_route_mode_options–zroutetrue165-EnablingMultithreadingZrouteisdesignedasamultithreadedrouterDiffersfromdistributedrouting,whichrunsonmultiplemachinesMultithreadingcanuseallavailablecores,frommultipleCPUs,onthesamemachineSpecifythenumberofthreadstobeusedasfollows:OneICCompilerlicenseneededperfourthreadsset_host_options-max_cores8175-EnableArnoldiDelayCalculationAlgorithmArnoldiprovidesmoreaccuratenetdelaycalculationsfromtheextractedRCparasiticsBydefault,ElmoreisusedDetailedRouteset_delay_calculation–arnoldi185-ZrouteOptionsZrouteoptionsetupcommandsset_route_zrt_common_optionsset_route_zrt_global_optionsset_route_zrt_track_optionsset_route_zrt_detail_optionsCommandstoreport/queryZrouteoptionsreport_route_zrt_*_optionsget_route_zrt_*_options-nameoption_name*common|detail|global|track195-SetCommonRouteOptionsCommonrouteoptionsareusedtocontrolglobalrouting,trackassignment,anddetailroutingRunsettingsBoundariesLayerrestrictionsViasRedundantviainsertionoptionisrecommendedset_route_zrt_common_options-defaulttrueset_route_zrt_common_options\-post_detail_route_redundant_via_insertionmedium205-SetGlobalRouteOptionsDefinesroutingoptionsthataffectglobalroutingonlyRuncontrolMacroClocknetroutingModifydefaultsettingsifneededset_route_zrt_global_options-defaulttrueset_route_zrt_global_options...215-SetTrackAssignmentOptionsDefinesroutingoptionsthataffecttrackassignmentTimingdrivenTACrosstalkdrivenTAModifydefaultsettingsifneededset_route_zrt_track_options-defaulttrueset_route_zrt_track_options...225-SetDetailRouteOptionsControlsdetailrouteAntennafixingPin/Por