Top Banner

of 20

Place and Route With SoC Encounter12313

Jan 10, 2016

Download

Documents

a.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 9/8/2015 PlaceandRoutewithSoCEncounter

    http://vlsicad.ucsd.edu/courses/ece260bw05/Lab2/Lab2.php 1/20

    PlaceandRoutewithSoCEncounterHome|Labs

    Version03Datemodified:01/25/2004

    Instructions(READCAREFULLY)

    ImportantnoteforLab2experiments

    1.PleasereadthroughthetutorialandworkwithSoCEncounterinparalleltoknowvariousknobsavailableinthetool.

    2.AnSoCEncounterDesignFlowGuideandTutorialcanbefoundat/home/ostl/cs241w/software/SOC32/doc/soceflow/soceflow.pdf.Thiswillprovideyouwithalittleunderstandingofwhatthistoolisusedforandwhatitsfeaturesare.

    3.Thetutorialmakesyouworkthroughastraight(floorplanplacerouteextractiontiminganalysis)flow(Flow1).SOCEallowsyoutoperformincrementaloptimizationsateachofthesestepsandhenceinthelab,youwillbeworkingonanupdatedflowgivenatthebeginningoflab.Thisflow,whileprincipallyidenticaltoFlow1,enhanceseachstepandperformsmoredetailedoptimizationsforimprovingtimingofthedesign.

    4.Inthelabpart,youwillbeworkingontheenhancedflow(Flow2).YoucanchoosetoworkwiththeSOCEGUIortheSOCEcommandlineorbothinparallel(asyoudidwithBuildGatesPKS).

    Youcanperformexactlythesamesetofsteps(giveninFlow2)withboththeGUIandthecommandline.

    5.Twoveryimportantreferencesare:(a)TheSOCEuserguide,foundat/home/ostl/cs241w/software/SOC32/doc/encounter/encounter.pdf(b)TheSOCEtextcommandreferencemanual,foundat/home/ostl/cs241w/software/SOC32/doc/fetxtcmdref/fetxtcmdref.pdf.Refertothesedocumentsforhelp.

    6.Duetocontinuousenhancementstoscripts,configfilesetc.,filenames/paths/defaultvaluesofitemsinthetutorialscreenshotsmaydifferfromwhatyouwilluse.Donotpanic:).ThedirectorystructureusedforthislabisexactlythesameasyouusedinLab1.Youshouldbeworkingfromthetopleveldirectory(thatcontainssrc/run/output/andcmd/directories)inorderfortheflowtoexecutesmoothly.Youmightafacelittledifficultyinrunningthetutorialforthefirsttime,andthatisnotuncommon.

    7.DownloadthetarpackageforLab2fromhere.Thispackageincludessynthesizednetlistinsrc/netlistdirectoryandtimingconstraintfileinsrc/sdcdirectory.Youdonotneedtoperformsynthesisagaintoobtainthesefiles.

    8.LinktoflashtutorialsonplaceandrouteusingSoCEnconter

    ABSTRACT

    ThislabwillstartwithanintroductiontutorialtotheplaceandrouteflowinSOCEncounter.CadenceSOCEncounterisaversatiletoolwhichtakesadesignfromtheRTLsignoffstagetotheGDSIIformat.Inthislab,wewillfirstfollowthetutorialtogetacquaintedwiththetoolsothatyougainanunderstandingofthebasicplaceandrouteflow.Thelabsection(questions)arebasedonanenhancedflowthatperformsdetailedoptimizationsateachstage.Wewillrunthetoolwiththisflowtomeetspecifictiming/areaobjectives.

    ForthistutorialweuseasynthesizedVerilogfile(.sv)oftheAEScorefromtheSynthesislab(providedinthetarpackageabove)alongwithArtisanTSMC0.13umtimingandphysicallibraries.

    1.Tutorial

    Inthistutorial,weuseSOCEncounter(SOCE)3.2(v03.20p005_1)onx86serversrunningRedHatEnterpriseLinux.SOCEcanberuneitherfromacommandlineorfromaGUI.Togetacquaintedwiththetool,wewillusetheGUIinitially.However,werecommendyourunthetoolfromthecommandlineonceyouarefamiliarwithit.Thiswillhelpyouwritetclscriptsthatcanbeusedtoautomatetheflowandrunitinbatchmode,aswedidinLab1.

    Inthistutorial,wefollowthesectionoftheflowindicatedinorange.Startingwithinitializationandfileimport,weperformfloorplaning,placement(withAmoebaPlace),andclocktreesynthesisandrouting(withNanoRoute).WethenperformRCextractionwiththeSOCEinbuiltextractorandperformtiminganalysiswiththeCommonTimingEngine.

  • 9/8/2015 PlaceandRoutewithSoCEncounter

    http://vlsicad.ucsd.edu/courses/ece260bw05/Lab2/Lab2.php 2/20

    Initialization

    Togetstarted,youneedtosetupyourenvironmentvariablesandorganizeyourdirectories.Forthistutorial,youareprovidedwitha.tar.gzpackagecontainingallthefilesyouneed.FollowthesestepstoinitializeandrunSOCE.

    Createdirectorystructure[cs241wzz@ostl10~]$pwd/home/ostl/cs241w/cs241wzz[cs241wzz@ostl10~]$tarzxfLab2.tar.gz[cs241wzz@ostl10~]$cdLab2[cs241wzz@ostl10~/Lab2]$lscmd/output/run/src/SetupSOCEenvironment//SetpathstoSOCE3.2andothertools[cs241wzz@ostl10~/Lab2]$source~/../public/cshrc

    TostartSOCE[cs241wzz@ostl10~/Lab2]$encounter(1)[cs241wzz@ostl10~/Lab2]$encounternowin(2)

    Use(2)ifyouexplicitlywanttoinitializeEncounterwithouttheGUI.Ifyouuse(1),youwillgettheSOCEGUIaswellastheencounter>shellontheterminalfromwhichyouinitializedSOCE.(shownbelow)

  • 9/8/2015 PlaceandRoutewithSoCEncounter

    http://vlsicad.ucsd.edu/courses/ece260bw05/Lab2/Lab2.php 3/20

    Hereisthedirectorystructureforyourreference.Theaesdirectorymaydifferonyoursystem,dependingonwhatnameyoudecidedtouseforyourtoplevelLab2directory.

    Afterinitialization,theSOCEGUIshowsup.Thefirststepistoimportdesign,tech,library,LEFandconstraintfiles.Toimportfiles,clickonthethe"Design"menu.

    Theloaddesignmenupopsupandyoucanentertherelevantfilesintheboxprovided.Wedescribeeachtypeoffilesbelow.

  • 9/8/2015 PlaceandRoutewithSoCEncounter

    http://vlsicad.ucsd.edu/courses/ece260bw05/Lab2/Lab2.php 4/20

    Inthe"Design"tab,loadallinputfilespertainingtothedesign.Thesefilescanbefoundinsimilarlocationstowhereyoufoundtheminthepreviouslab.Thecommandlineequivalentstothisstepcanbefoundincmd/encounter/aes_cipher_top.conf

    EnterthesynthesizedVerilognetlistfileaes_cipher_top.svin"VerilogFiles".

    TheILM(InterfaceLogicModeling)filesspecifytheinterfacenetlist(thisisoptional).Inourcase,youmayleavethisblank.

    "Topcell"isthenameofthetoplevelVerilogmoduleinthesynthesizednetlist.

    SpecifytheLEFfile(s)inthephysicallibrarysection.[LEFfile=tsmc13fsg_6lm.lef]

    IntheFETechnologyfilessection,specifythetechnologyfile(.tech)thatcontainsgeometricandcapacitanceinformationofvariouslayersofthechosentechnology.[Techfile=tsmc13fsg_6lm.lef.tech]

    IntheStd.CellLibrariessection,specifythelistoflibrarycelldumpfiles.[Celldumpfile=tsmc13fsg_6lm.lef.cdump]

    FEtechfilesandStd.celllibraryfilesarecreatedfromLEFfilesusingtheutilityreadlef.YoucanfindmoreinformationabouttheutilityfromtheSOCEmanual.

    Loadtiminglibraries(.tlforSynopsys.lib)filesinthe"TimingLibraries"section.Thisspecifiesthetiminginformationofvariouscellsinthelibrary.

    The"Footprints"sectionspecifiesthenamesofbuffer,delayelement,andinverternamesinthelibrary.Thissectionisoptional.YoucanloadIOpinassignmentinformationinthe"IOinformation"section.Ifyoudonotspecifythis,IOassignmentwillbeperformedrandomly.WestronglysuggestyoutosavetheIOassignmentaftertheinitialrunanduseitforeveryrunafterwards.Thishelpsinstudyingtheimprovementinvariousstepsoftheflowstartingfromthesameinitialpoint.

    The"CoreSpecDefaults"tabshowsthedefaultaspectratioandrowutilizationratioofthedesign.Thesearesetto1.0and0.6respectively.Youcanchangetheseparametersduringthefloorplanningstage.

    Inthe"Timing"tab,youcanentertimingconstraintfiles,capacitancetablesforRCextraction,andotherrelatedparmeters.

  • 9/8/2015 PlaceandRoutewithSoCEncounter

    http://vlsicad.ucsd.edu/courses/ece260bw05/Lab2/Lab2.php 5/20

    Forthistutorial,wewillonlyloadthetimingconstraintfile(whichweusedforsynthesis)andretainallthedefaultvalues.Formoreinformationonchangingthedefaultvalues,refertotheSOCEmanual.

    Inthepowertab,youcanspecifynamesofthepowerandgroundnets(VDDandVSS)alongwiththetoggleratescalefactorforpoweranalysis.ThisfactorsetsthescalingvaluethatisusedtomultiplythetogglerateinthePowerAnalysisformtoanewscaledvalue.Thedefaultvalueis1.0,whichmeansthatnotogglescalingisdone.Youmayleavethisfieldblank.

  • 9/8/2015 PlaceandRoutewithSoCEncounter

    http://vlsicad.ucsd.edu/courses/ece260bw05/Lab2/Lab2.php 6/20

    Underthe"misc"tab,thereareoptionsforenteringtheSignalStormdatabase,Fire'n'Ice(RCextractor)techfiles,CeltICdatabasefiles.

  • 9/8/2015 PlaceandRoutewithSoCEncounter

    http://vlsicad.ucsd.edu/courses/ece260bw05/Lab2/Lab2.php 7/20

    However,wedonotusethesetoolsforcurrenttutorial,soyoucanleavetheseboxesempty.Clickon"OK"afteryouhaveenteredpathstoallrelevantfiles.IttakessometimeforSOCEtoloaddesignfiles,librariesandconstraints.Thesefilescanalsobeloadedfromthecommandline.Youcanspecifyallinputfilesina.conffile(forexample,aes_cipher_top.conf)andusethefollowingcommandtoloadit.

    encounter>loadConfigaes_cipher_top.conf

    Thefileaes_cipher_top.confispresentincmd/encounter/directorywithallappropriatepathsset.Tosavetimeinfuturerunsyoucanwritethedesignimportprocesstoa.conffileusingthe"Save..."buttoninthebottomofdesignimportdialogbox.

    Floor&Powerplanning

    Inthisstep,weperformfloorplanningofthedesign.Toinitializethefloorplan,goto"Floorplan"andchoosethe"SpecifyFloorplan"option.

  • 9/8/2015 PlaceandRoutewithSoCEncounter

    http://vlsicad.ucsd.edu/courses/ece260bw05/Lab2/Lab2.php 8/20

    Thefollowingmenupopsupandyoucanchoosevariousoptionstospecifyafeasiblefloorplan.Inthisstep,youwillspecifytheaspectratioofthedie(usuallysetto1.0),therowutilizationratio,andthecoretoIOdistance,amongotheroptions.

  • 9/8/2015 PlaceandRoutewithSoCEncounter

    http://vlsicad.ucsd.edu/courses/ece260bw05/Lab2/Lab2.php 9/20

    Theaspectratioisspecifiedusing"Ratio(H/W)".Thisratiois1.0bydefault.Thecoreutilizationcorrespondstotherowutilizationratioofthestandardcells.Dependingonthetypeofdesign,thisnumberhastobespecifiedappropriately.Highutilizationratios(typically>0.75)resultinhighcongestionduringroutingresultinginunroutabledesigns.

    TheAEScoreisheavilyinterconnectdominated.Topreventcongestion,wechoosearowutilizationof0.6.Insubsequentruns,youcantryincreasingtherowutilizationandobserveitsaffectoncongestionandtiming.

    Inthe"CoreMarginsby"section,youcanspecifythecoretoIOdistanceonallfoursidesofthecore.ThisnumberhastobechosenbasedonthenumberofIOsinthedesign.IfthenumberofIOsistoolarge,thenthecoretoIOdistanceshouldbelargeenoughtoreduceIOdensityattheboundary.Inourtutorial,weuse15umspacings.

    RowtoRowspacingcanbespecifiedin"StandardCellRows"box.Thedefaultvalueissetto0.0um.Afterloadinginallvalues,clickApply.Allthevalueswillbeadjustedslightlytocreateafeasiblefloorplan(observethattheaspectratioischangedto0.99990525andthecoremarginwidthsarechanged).ClickOKtoclosethedialogbox.

    Thenextstepintheflowispowerplanning.Inthisstep,youwillcreateapowerringandpowerstripestocreateapowerdistributionnetworkforcellsinthedesign.Clickon"FloorplanPowerPlanningAddRings".

  • 9/8/2015 PlaceandRoutewithSoCEncounter

    http://vlsicad.ucsd.edu/courses/ece260bw05/Lab2/Lab2.php 10/20

    Thefollowingwindowpopsupandyoucanspecifytheringtypeandconfiguration.Youcanplanthepowerdistributionnetworkinvariousmodestofacilitatecreationofvariousdesignstyles.Inthistutorial,werestrictourselvestocorerings.

    The"ringconfiguration"optionsspecifywhichmetallayerstouseforeachsideoftheringaswellasthedesiredwidthsandspacings.WechooseMETAL4fortopandbottomsidesandMETAL3forleftandrightsides.ThewidthsandthicknessesoftheseshouldcorrespondtowirewidthsandthicknessesinLEFfile.

  • 9/8/2015 PlaceandRoutewithSoCEncounter

    http://vlsicad.ucsd.edu/courses/ece260bw05/Lab2/Lab2.php 11/20

    Afteryoucreatearing,createpowerstripes.Choose"FloorplanPowerPlanningAddStripes"fromthemenu.Thefollowingwindowpopsup.

  • 9/8/2015 PlaceandRoutewithSoCEncounter

    http://vlsicad.ucsd.edu/courses/ece260bw05/Lab2/Lab2.php 12/20

    Settosetdistancespecifiesthedistancebetweentwosetsofstripesconnectingpowerrings.Powerstripesshouldbespacedcorrectly.Toomanypowerstripescreateroutingblockagewhichmakesroutingdifficult.Toofewpowerstripesresultsinpoorpowerdistributiontothecellsandwasteswiringresourcesonthelowermetallayers.

    Forthistutorial,enterasettosetdistanceof50um.Topreventpowerstripesfrombeingplacedalongtheedgesofthedie,youcanspecifyastripeoffsetboundaryvalue.ClickOKafteryouenterallrelevantvalues.

    AlthoughfloorplaningcanalsobeperformedusingcommandlineequivalentsofGUIoperations,itisrecommendedthatyourinitialfloorplanbeperformedusingtheGUIsothattheusergainsabetterunderstandingoftheprocess.Therearevarioustools(pointer,resizing,reshaping,cloningetc)thatyoucanalsousetodofloorplanning.MoreinformationontheuseofthesetoolscanbefoundintheSOCEmanual.

    Yetanotherfloorplanningmethodisusingtheblockplacer.ThisanalyzestheconnectivitybetweenblocksandIOsandperformsfloorplanning.Toinitializeit,choose"FloorplanPlaceBlocks/ModulesPlace"fromthemenu.ChoosetheoptionspresentinthewindowandclickonOK.Thetoolperformsblockplacementanddisplaysoneofthepossiblefloorplansolutions.Youcanviewothersolutionsbychoosing"FloorplanPlaceBlocks/ModulesViewPlacementSolutions"fromthemenu.ClickOKtoacceptasolution.Showninthefigurebelowisonesuchfloorplansolution.

    REMEBER:Thefloorplansolutionshownhere(obtainedbyblockplacement)cannotbereplicatedexactly.Itdependsonyourchoiceofparameters.Thisisshownasanexampleofwhatyoumightget.Forlargehierarchicaldesigns,partitioningandfloorplanningareverycrucialsteps.Thequalityoftheplacement,routingandthereforetimingdepends,toalargeextent,onthefloorplan.

  • 9/8/2015 PlaceandRoutewithSoCEncounter

    http://vlsicad.ucsd.edu/courses/ece260bw05/Lab2/Lab2.php 13/20

    Placement

    Inthisstep,youwillperformtimingdrivenplacementusingAmoebaPlace.Choose"Place"fromthePlacemenuandthefollowingwindowpopsup.

    Choosetheplacementeffortlevel:prototyping,low,mediumorhigh.Ifyouaretryingtoevaluatethequalityofthepartitioningorfloorplanningstep,chooseprototyping.Forourtutorial,choosemediumeffort.Timingdrivenplacementisenabledbyclickingonthecheckboxlabeled"TimingDriven".Check"SaveNewNetlist"tosavethemodifiednetlistwhichmayhavewithbuffersinsertedbytheplacer.

    Tominimizecongestion,theplacercanalsoberunwithcongestionoptimizationturnedon.Thisoptionisnotavailableinthewindowyouseeabove.Todothis,runthefollowingcommandfromtheencountershell.

    encounter>amoebaPlaceslowtimingdrivendoCongOpt

    Ittakessometimeforthetooltoperformtimingdrivenplacementwithcongestionoptimization.Themodifiednetlistwillbesavedtothefileaes_cipher_top.post_tdp.v.*YoucanviewtheplacementusingtheGUIafterthisstep.Youcandoubleclickonaparticularcelltoviewitsproperties(location,size,name,#ofconnectionsetc.).

  • 9/8/2015 PlaceandRoutewithSoCEncounter

    http://vlsicad.ucsd.edu/courses/ece260bw05/Lab2/Lab2.php 14/20

    Afterperformingplacement,addfillercellstomakethechipuniformlydense.Choose"PlaceFillerAddFiller"fromthemenu.Specifythenamesoftypesfillercellsinthefollowingwindow.

    AfteraddingFILL64cells,addFILL32,FILL16,FILL8,FILL4,FILL2andFILL1,inthatorder.

    ClockTreeSynthesis

    Toperformclocktreesynthesis(CTS),afilecontainingclockspecificationsneedstobeimportedtoSOCE.Thisfileisalreadyincludedtheinsrc/cts/directory.Foryourreference,itisshownbelow

    #ClockSynthesisFile

    AutoCTSRootPinclkNoGatingNOMaxDelay2.5nsMinDelay2nsMaxSkew100psMaxDepth20BufferCLKBUFX20CLKBUFX16CLKBUFX12CLKBUFX8CLKBUFX2End

    Thisfilespecifiestheclocksignalnames,maximumrequireddelay,minimumrequireddelay,maximumclockskewbetweenleafnodes,andtreedepth,amongotherparameters.FormoreinformationonallavailableoptionsrefertotheSOCEmanual.Importtheclocktreespecificationfilebyselecting"ClockSpecifyClockTree"fromthemenu.Synthesizetheclocktreebychoosingthe"SynthesizeClockTree"optionfromtheClock

  • 9/8/2015 PlaceandRoutewithSoCEncounter

    http://vlsicad.ucsd.edu/courses/ece260bw05/Lab2/Lab2.php 15/20

    menu.Thefollowingwindowshows.

    ClickOKtostartckSynthesis(theutilityequivalenttoCTGen).Ittakessometimetocompleteclocktreesynthesis.Thelogfileofthesynthesisrunisproducedinhtmlformat.Youcanviewthereportfilesusinganywebbrowser.Ifthereportmentionsanyviolations,thentheclocktreespecificationshavetobemodifiedandckSynthesisshouldbererun.

    Nanoroute

    AfterCTS,starttheglobalanddetailroutingusingNanoroute.Choose"Nanoroute"fromtheRoutemenu.Thefollowingwindowpopsup.

    Choosethetimingdrivenoption.ThisperformsseveraliterationsoftheroutingwithfastRCextractionandtiminganalysistoimprovetimingslack.ClickonOKtostartNanoroute.Ittakessometimefortheroutingtocomplete.Thetoolperformsviolationchecks,DRC(DesignRuleChecking)andreportserrorsandwarningsaftertheprocessiscomplete.Thefollowingfiguredisplaystherouteddesign.

  • 9/8/2015 PlaceandRoutewithSoCEncounter

    http://vlsicad.ucsd.edu/courses/ece260bw05/Lab2/Lab2.php 16/20

    Youcanviewdesigninformationandnetstatisticsusingoptionsin"Tools"menu.Thereisanoptiontochooseindividualnetsandobtaintheirstatistics.

    RCExtractionandTimingAnalysis

    Toverifyifthechipmeetstimingornotandtostudytimingslacksofpathsinthedesign,weperformparasiticextractionandstatictiminganalysis.Todothis,weusethesimple2.5DRCextractorbuiltintoSOCE.Amoreaccurate3DRCextractor(Fire'n'Ice)canbeusedtoperformsignoffqualityextraction.Forourcurrentrun,westickwiththesimpleRCextractor.Toperformextraction,choose"TimingExtractRC".

    SelecttheoptionsshownaboveandthenclickOKtoperformRCextraction.Dependingonthesizeofthedesign,thismaytakesometime.AfterRCextractioniscomplete,doadelaycalculation.Tocalculatedelay,choose"TimingCalculateDelay".Storethedelayvaluestoaes_cipher_top.sdf.ThisfilewillbeusedinStaticTimingAnalysis(STA).

    Thenextstepinthedesignflowistiminganalysis.Beforeperformingtiminganalysis,settheoperatingconditions.Choose"TimingSpecifyAnalysisConditionSpecifyOperatingCondition".

  • 9/8/2015 PlaceandRoutewithSoCEncounter

    http://vlsicad.ucsd.edu/courses/ece260bw05/Lab2/Lab2.php 17/20

    Choose"timinglibrary:slow"underthemaxtaband"timinglibrary:fast"formintabandclickOK.Thestatictimingtool(CommonTimingEngine)performstiminganalysisundertheseoperatingconditions.Timinganalysiscanbeperformedbyexecutingfollowingcommandsattheencountershell.

    encounter>buildTimingGraph

    Reporttimingslacksandviolationsafterbuildingthetiminggraphbyusingthefollowingcommands

    encounter>setCteReportencounter>reportTAsummaryoutfileaes_cipher_top_TD.tarptnworst50encounter>reportTAoutfileaes_cipher_top_TD.slacknworst50

    Viewthetimingandviolationreportstoobservetimingslacksforvariouspathsandseeifthedesignmettiming.Youcanviewvarious"worstcase"pathsbystartingtheslackbrowser.Choose"TimingReportTimingSlacks"firstandcreatea.slkfile.Then,youcangoto"TimingTimingDebugSlackBrowser"toinitializetheslackbrowser.Apopupwindowopensaskingfortheslackreportgeneratedinthepreviousstep.Afterthisfileisimported,youcanviewthevarioustimingpathsinthedesignbyhighlightingthepathsintheslackbrowser.

    **************ENDOFTUTORIAL*******************

    2.LAB

    Inthispart,youwillrunSOCEonthesynthesizedAEScoretomeetvarioustimingandareaobjectiveswithanenhancedflow.Theflowandtheassociatedcommand(.tcl)filesareexplainedbelow.

  • 9/8/2015 PlaceandRoutewithSoCEncounter

    http://vlsicad.ucsd.edu/courses/ece260bw05/Lab2/Lab2.php 18/20

    Note:Individualstepsareindicatedinorangeboxes.Yellowboxesrepresentdetailedproceduresofmainstepsoutlinedbytheredboxes.

    1.Step1oftheflowperformsinitializationofenvironmentvariables,setspathstodirectories.Oneimportantfilethatisusedforinitializationisaes_cipher_top.conf.Thisfileispresentinthecmd/encounterdirectoryandisusedtosetpathstolibraries,timingcostraintfiles,rowutilizationandotherparameters.Openthefileinatexteditortoviewallavailableitems.Youcanchangethisfiletosuityourexperiments.(file:cmd/encounter/01_ini.tcl)

    2.Step2oftheflowsetstiminganalysisparameters(referto"setCteReport"intextcommandmanual)(file:cmd/encounter/02_timing.tcl)

    3.Step3performsblockplacementandfloorplanning.Youcanchoosetoperformthesestepsmanuallytohaveabetterviewofthefloorplanandblockplacementsolutions.(file:cmd/encounter/03_floorplan.tcl)

    4.Step4performspowerplanning.Itaddspowerringsandpowerstripesinthedesign.Again,youcanchoosetodothesemanually.(file:cmd/encounter/04_power.tcl)

    5.Step5(redbox)doesplacementwithamoebaPlaceinthetimingdriven,congestionoptimizationmode.Thisisfollowedbytrialrouteandparasiticextraction.Thisisdoneinordertoevaluatethequalityofplacement.Timinganalysisisperformedwiththeextractedparasitics.(file:cmd/encounter/05_place.tcl)

    6.Step6performsIPO(Inplaceoptimization)oftheplaceddesigninordertoimprovedesigntiming.Inthisstep,theIPOmodeissetupandsetuptimeviolationsarefixed(withoperationssuchasbuffering,resizingandcloning).Toevaluatetheimprovementintiming,trialroute,RCextraction,andthentiminganalysisareperformed.(filecmd/encounter/06_ipo1.tcl)

    7.Step7performsclocktreesynthesis.ClocktreeanalysisisperformedafterCTStoevaluateitsquality.Sincetheclocktreenowexists,thedesignistrialroutedwiththeclocktreeandtiminganalyzed.(file:cmd/encounter/07_cts.tcl)

    8.Step8fixesofsetupandholdtimeviolationsafterclocktreesynthesis.(file:cmd/encounter/08_ipo2.tcl)

  • 9/8/2015 PlaceandRoutewithSoCEncounter

    http://vlsicad.ucsd.edu/courses/ece260bw05/Lab2/Lab2.php 19/20

    9.Step9performsroutingofpowerandgroundwiresincellsandconnectsthemtopowerstripes.(file:cmd/encounter/09_routepower.tcl)

    10.Toensurethecontinuousconnectionofpowerandgroundlinesthatrunonthetopsandbottomsofstandardcellrows,fillercellsareintroducedincellgaps.Thisisperformedinstep10.(file:cmd/encounter/10_addfiller.tcl)

    11.InStep11,youspecifyvariousroutingattributesandnanoRouteoptionstoperformwirerouting.Foradetaileddescriptionofoptionsandattributes,refertotheSOCEmanualandtextcommandreference.(file:cmd/encounter/11_route.tcl)

    12.Wiringconnectivityandcellgeometriesareverifiedinstep12.Violationsarereported.(file:cmd/encounter/12_verify.tcl)

    13.Instep13,afinaltiminganalysisisperformedafterdetailedRCextraction.Aftertiminganalysis,theDEFfileandmodifiednetlistofthedesignareexportedtooutputdirectories.(file:cmd/encounter/13_write.tcl)

    RunningSOCEfromthecommandline(encountershell)

    Eachoftheabovestepscanberunsequentiallybysourcingthetclfilescorrespondingtoeachstep

    encounter>sourcecmd/encounter/01_ini.tcl

    Thereisafilecalled"do_encounter.tcl"thatsourcesallthesefilesandrunsthedesignthroughtheflowmentionedabove.YoumightwanttoopentheGUIsessioninparalleltoobservechangesinthedesignasitprogressesthroughvariousstages.Youcancontroltheflowbymodifyingoptionsinthetclfiles.Formoreinformationonallavailableoptionsrefertothetextcommandreferencemanual.

    Experiments

    Foreachquestion,pleaseexplainnotonlyWHAThappened,butWHYyouthinkithappened.

    Forexample,"Changingconstraintxcausedytohappen"onlyexplainswhat,butnotwhy."Changingconstraintxmeantthatthesynthesizerhadtodoa,b,andcbecauseifitdidnot,thegoaldwouldnothavebeenmet.Aswecansee,doinga,b,andctothedesigncausedustoobserveyintheresults."ismorealongthelinesofwhatwe'relookingfor.

    Youwillgetmorepointsforalogicalandwellthoughtoutobservation,evenifit'sincorrect,thanyouwillfornotprovidingoneatall.

    Q1.Inthisexercise,youwillstudytheeffectofplacement(andplacementknobs)onthetimingandcongestionofthedesign.Runtheplaceandrouteflow(specifiedabove)ontheaescorewithrowutilizationsetto50%andthefollowingoptionsforamoebaPlace

    1.amoebaPlacetimingdrivenlowEffort2.amoebaPlacetimingdrivenhighEffort3.amoebaPlacetimingdrivenhighEffortdoCongOpt>theflagdoCongOptperformscongestionoptimization4.amoebaPlacelowEffort

    Foreachoftheseruns,dumpcongestioninformationusingthe

    dumpCongestAreaallcongestionMap.txt

    commandAFTERROUTING.Foreachoftheaboveruns,reporttiming,congestionandruntime(foramoebaPlace+NanoRouteonly)inatable.Youcangetruntimesfromtheencounter.logfileproducedaftereachrun.Deliverable:(a)theencounter.logfileofeachofthefourruns(b)Areportofyourobservationsexplainingthereasonforthedegradation/improvementintimingdueuseofvariousknobsinplacement.

    Q2.Inthisexercise,youwillstudytheeffectofrouting(andvariousknobs)usingNanoRouteontiming,congestionandsignalintegrityofthedesign.Runtheplaceandrouteflow(specifiedabove)withthefollowingoptionsforNanoRoute.YoucanspecifyattributesforNanoRouteusingeithertheGUIorthecommandline

    setNanoRouteMode

    Formoreinformation,refertotheSOCEtextcommandreferencemanual.

    1.FixantennaON+TimingDrivenON+TimingOptimizationOFF2.FixantennaON+TimingDrivenOFF+TimingOptimizationON+SIDrivenON(LowEffort)3.FixantennaON+TimingDrivenOFF+TimingOptimizationON+SIDrivenON(HighEffort)4.FixantennaOFF+TimingDrivenOFF+TimingOptimizationOFF+SIDrivenON(HighEffort)5.FixantennaOFF+TimingDrivenOFF+TimingOptimizationOFF+SIDrivenOFF(justplainglobalanddetailedroute)

    Performatiminganalysisafterplaceandrouteineachoftheseruns.Verifyconnectivityandgeometryforeachoftheseusingthe"Verify"menuofSOCE.Obtaindesignstatisticsfrom"Tools"menuofSOCE.Foreachoftheserunscollectthefollowinginformation.

    Worsttimingslack,runtime(onlyforrouting),congestioninformation,#ofviolations,totalcellarea

    Deliverable:(a)encounter.logfileofeachofthefiveruns(b)Areportofyourobservationsexplainingdegradation/improvementintiming,congestion,#violationsandtotalcellareaofthedesign.Pleasetrytoprovideobservationsinatabularformforimprovedreadability.

    Q3.IfyouhavesolvedQ1andQ2already,thenyouhavesomeideaof"goodpractices"formeetingtimingofadesign.Thisquestionattemptstoletyouexplorevarioustooloptionstomeettiming.

    Runplaceandroutewithrowutilizations=50%,60%,70%andperformtiminganalysis.Youshouldattempttomeettimingrequirementswitha3.6nsclock.Youareprovidedwiththetimingconstraintstouseintimingdrivenplaceandroute.Toeasecongestion,performplacementinthecongestionoptimizationmode.Youmayormaynotmeettiming,butyoushouldtrytominimizeveslackasmuchaspossible.

    Iwasabletomeettimingwithasmall+veslackonlyforrowutilization=50%.Meetingtimingwith60%and70%rowutilizationisnontrivial.Duetoarelativelyhighutilizationratio,therewillbeincreasedparasiticsduetowiresbeingclosetogether.whichresultsintimingdegradation.Trytoexperimentwithdifferentfloorplans(blockplacementsolutions),performcongestionoptimizationanditerativelyimproveplacementandtheroutingsolutiontoimproveparasitics.

    Deliverable:(a)Commandfiles(encounter.cmd),scripts(whichyoumighthaveused)andencounter.logfilesforthebestrunyouhadforeachvalueofrowutilization.

  • 9/8/2015 PlaceandRoutewithSoCEncounter

    http://vlsicad.ucsd.edu/courses/ece260bw05/Lab2/Lab2.php 20/20