catesnanosim剪卡

nanosim剪卡  时间:2021-01-17  阅读:()
IdentifyUserGuideJune2013http://solvnet.
synopsys.
comLOPreface2013Synopsys,Inc.
IdentifyUserGuide2June2013CopyrightNoticeandProprietaryInformation2013Synopsys,Inc.
Allrightsreserved.
ThissoftwareanddocumentationcontainconfidentialandproprietaryinformationthatisthepropertyofSynopsys,Inc.
Thesoftwareanddocumentationarefurnishedunderalicenseagreementandmaybeusedorcopiedonlyinaccordancewiththetermsofthelicenseagreement.
Nopartofthesoftwareanddocumentationmaybereproduced,transmitted,ortranslated,inanyformorbyanymeans,electronic,mechanical,manual,optical,orotherwise,withoutpriorwrittenpermissionofSynopsys,Inc.
,orasexpresslyprovidedbythelicenseagreement.
RighttoCopyDocumentationThelicenseagreementwithSynopsyspermitslicenseetomakecopiesofthedocumentationforitsinternaluseonly.
Eachcopyshallincludeallcopyrights,trademarks,servicemarks,andproprietaryrightsnotices,ifany.
Licenseemustassignsequentialnumberstoallcopies.
Thesecopiesshallcontainthefollowinglegendonthecoverpage:"ThisdocumentisduplicatedwiththepermissionofSynopsys,Inc.
,fortheexclusiveuseofanditsemployees.
ThisiscopynumberDestinationControlStatementAlltechnicaldatacontainedinthispublicationissubjecttotheexportcontrollawsoftheUnitedStatesofAmerica.
DisclosuretonationalsofothercountriescontrarytoUnitedStateslawisprohibited.
Itisthereader'sresponsibilitytodeterminetheapplicableregulationsandtocomplywiththem.
PrefaceIdentifyUserGuide2013Synopsys,Inc.
June20133DisclaimerSYNOPSYS,INC.
,ANDITSLICENSORSMAKENOWARRANTYOFANYKIND,EXPRESSORIMPLIED,WITHREGARDTOTHISMATERIAL,INCLUDING,BUTNOTLIMITEDTO,THEIMPLIEDWARRANTIESOFMERCHANTABILITYANDFITNESSFORAPARTICULARPURPOSE.
RegisteredTrademarks()Synopsys,AEON,AMPS,Astro,BehaviorExtractingSynthesisTechnology,Cadabra,CATS,Certify,CHIPit,CoMET,CODEV,DesignCompiler,DesignWare,EMBED-IT!
,Formality,GalaxyCustomDesigner,GlobalSynthesis,HAPS,HapsTrak,HDLAnalyst,HSIM,HSPICE,Identify,Leda,LightTools,MAST,METeor,ModelTools,NanoSim,NOVeA,OpenVera,ORA,PathMill,PhysicalCompiler,PrimeTime,SCOPE,SimplyBetterResults,SiVL,SNUG,SolvNet,SonicFocus,STARMemorySystem,Syndicated,Synplicity,theSynplicitylogo,Synplify,SynplifyPro,SynthesisConstraintsOptimizationEnvironment,TetraMAX,UMRBus,VCS,Vera,andYIELDirectorareregis-teredtrademarksofSynopsys,Inc.
Trademarks()AFGen,Apollo,ARC,ASAP,Astro-Rail,Astro-Xtalk,Aurora,AvanWaves,BEST,Columbia,Columbia-CE,Cosmos,CosmosLE,CosmosScope,CRITIC,CustomExplorer,CustomSim,DCExpert,DCProfessional,DCUltra,DesignAnalyzer,DesignVision,DesignerHDL,DesignPower,DFTMAX,DirectSiliconAccess,Discovery,Eclypse,Encore,EPIC,Galaxy,HANEX,HDLCompiler,Hercules,HierarchicalOptimizationTechnology,High-performanceASICPrototypingSystem,HSIMplus,i-VirtualStepper,IICE,in-Sync,iN-Tandem,Intelli,Jupiter,Jupiter-DP,JupiterXT,JupiterXT-ASIC,Liberty,Libra-Passport,LibraryCompiler,Macro-PLUS,Magellan,Mars,Mars-Rail,Mars-Xtalk,Milkyway,ModelSource,ModuleCompiler,MultiPoint,ORAengi-neering,PhysicalAnalyst,Planet,Planet-PL,Polaris,PowerCompiler,Raphael,RippledMixer,Saturn,Scirocco,Scirocco-i,SiWare,Star-RCXT,Star-SimXT,StarRC,SystemCompiler,SystemDesigner,Taurus,Total-Recall,TSUPREM-4,VCSi,VHDLCompiler,VMC,andWorksheetBufferaretrademarksofSynopsys,Inc.
LOPreface2013Synopsys,Inc.
IdentifyUserGuide4June2013ServiceMarks(sm)MAP-in,SVPCafé,andTAP-inareservicemarksofSynopsys,Inc.
SystemCisatrademarkoftheOpenSystemCInitiativeandisusedunderlicense.
ARMandAMBAareregisteredtrademarksofARMLimited.
SaberisaregisteredtrademarkofSabreMarkLimitedPartnershipandisusedunderlicense.
Allotherproductorcompanynamesmaybetrademarksoftheirrespectiveowners.
PrintedintheU.
S.
AJune2013IdentifyUserGuide2013Synopsys,Inc.
June20135ContentsChapter1:GettingStartedManualConventions12TextConventions12SyntaxConventions12ToolConventions13FileSystemConventions13DesignHierarchyConventions14Chapter2:SystemOverviewTheDebuggingSystem18TheDesignFlow19SystemComponents21IICE21IdentifyInstrumentor22IdentifyDebugger22Chapter3:ProjectHandlingProjectsintheIdentifyInstrumentor24IntegratedIdentifyInstrumentorProjects24AssistedIdentifyInstrumentorProjects26ViewingaCompiledFile26InstrumentingandSavingaProject27ProjectswithDistributedInstrumentation28IdentifyDebuggerProjects29OpeninganIdentifyDebuggerProject29ConfiguringanIdentifyDebuggerProject29SavingaProject31LOContents2013Synopsys,Inc.
IdentifyUserGuide6June2013Chapter4:IICEConfigurationMultipleIICEUnits34AddinganIICEUnit34DeletinganIICEUnit34CommonIICEParameters35DeviceFamily35CommunicationPort36BoardType36UseSkew-ResistantHardware36PrepareIncremental37IndividualIICEParameters38IICESamplerTab38IICEControllerTab43Chapter5:HAPSDeepTraceDebugExternalMemoryInstrumentationandConfigurationSteps47SRAMClocks50SampleDepthCalculation51SampleClockCalculation51HardwareConfigurationVerification52Chapter6:SupportforInstrumentingHDLVHDLInstrumentationLimitations56VerilogInstrumentationLimitations58SystemVerilogInstrumentationLimitations61Chapter7:IdentifyInstrumentorIdentifyInstrumentorWindows65InstrumentationWindow66ProjectWindow69ConsoleWindow70CommandsandProcedures71OpeningProjects71ExecutingScriptFiles72SelectingSignalsforDataSampling72InstrumentingBuses75PartialInstrumentation77MultiplexedGroups79ContentsIdentifyUserGuide2013Synopsys,Inc.
June20137SamplingSignalsinaFoldedHierarchy80InstrumentingSignalsDirectlyintheidcFile82SelectingBreakpoints84SelectingBreakpointsResidinginFoldedHierarchy84ConfiguringtheIICE86Real-timeDebugging86WritingtheInstrumentedDesign90SynthesizingInstrumentedDesigns92ListingSignals92SearchingforDesignObjects94ConsoleText96Chapter8:IdentifyDebuggerInvokingtheIdentifyDebugger98SynthesisToolLaunch98OperatingSystemInvocation98IdentifyDebuggerWindows99InstrumentationWindow100ConsoleWindow102ProjectWindow102CommandsandProcedures104OpeningandSavingProjects104ExecutingaScriptFile105Activating/DeactivatinganInstrumentation105SelectingMultiplexedInstrumentationSets109Activating/DeactivatingFoldedInstrumentation110RunCommand113SampledDataCompression114SampleBufferTriggerPosition115StopCommand116SampledDataDisplayControls117DisplayingDatafromFoldedSignals119DisplayingDataforPartialBuses120DisplayingDataforPartialInstrumentation120SavingandLoadingActivations121CrossTriggering123ListingWatchpointsandSignals125ShowWatchpoint/BreakpointIcons126DebuggingonaDifferentMachine127SimultaneousDebugging128LOContents2013Synopsys,Inc.
IdentifyUserGuide8June2013Identify-AnalystIntegration129WaveformDisplay134LogicAnalyzerInterfaceParameters137LogicAnalyzerScanTab137LogicAnalyzerPropertiesTab138LogicAnalyzerSubmitTab139IICEAssignmentsReportTab140ConsoleText141Chapter9:IncrementalFlowRequirements144SettinguptheOriginalDesign144CreatingtheIncrementalInstrumentation145RedefiningtheInstrumentedSignals146GeneratingtheBitfile146DebuggingtheIncrementalVersion147Chapter10:IICEHardwareDescriptionJTAGCommunicationBlock149BreakpointandWatchpointBlocks150Breakpoints150Watchpoints151MultiplyActivatedBreakpointsandWatchpoints151SamplingBlock152ComplexCounter153CreatingaComplexCounter153DebuggingwiththeComplexCounter153DisablingtheCounter155StateMachineTriggering156SimpleorAdvancedTriggering156AdvancedTriggeringMode157State-MachineEditor167State-MachineExamples171Chapter11:ConnectingtotheTargetSystemBasicCommunicationConnection180IdentifyDebuggerCommunicationsSettings180IdentifyDebuggerConfiguration186ContentsIdentifyUserGuide2013Synopsys,Inc.
June20139JTAGCommunication191JTAGHardwareinInstrumentedDesigns193UsingtheBuilt-inJTAGPort193UsingtheSynopsysDebugPort195BoardsWithoutDirectBuilt-inJTAGConnections197SettingtheJTAGChain199JTAGCommunicationDebugging201BasicCommunicationTest201On-chipIdentificationRegister202JTAGChainTests202UMRBusCommunicationsInterface203HAPSBoardBring-upUtility204SettingInitialValues205ConfProGUI205UtilityandBoard-TestCommands207LOContents2013Synopsys,Inc.
IdentifyUserGuide10June2013IdentifyUserGuide2013Synopsys,Inc.
June201311CHAPTER1GettingStartedTheIdentifytoolsetincludestheIdentifyinstrumentorandtheIdentifydebugger.
ThesetwotoolsallowyoutodebugyourHDLdesign:inthetargetsystematthetargetspeedattheVHDL/VerilogRTLsourcelevelTheIdentifytoolsethelpsyoudebuganydesignthatisimplementedbyanelectronicallyprogrammablelogicdevicesuchasanFPGAorPLD.
Forthefirsttimeyouwillbeabletodebuglivehardwarewiththeinternaldesignvisibilityyouneedwhileusingintuitivedebuggingtechniques.
ThisguideprovidescomprehensiveinformationabouthowtheIdentifytoolsetworkswithinyourHDLdesignflow.
Thischaptercontains:ManualConventionsToolConventionsLOGettingStartedManualConventions2013Synopsys,Inc.
IdentifyUserGuide12June2013ManualConventionsThereareseveralconventionsthatthismanualusesinordertocommunicatecommandinformation.
TextConventionsThereareseveraltextconventionsthatthismanualusestoorganizecommand,path,anddirectoryinformation.
Theseconventionsortextstylesare:SyntaxConventionsThereareseveralconventionsthatthismanualusestoconveycommandsyntax.
Theseconventionsare:Thisconvention.
.
.
Organizesthisinformation.
.
.
BoldcommandtitlesMonospacingtypecommand,pathname,anddirectoryexamplesSans-seriftypecommands,literals,andkeywordsItalicsvariableargumentsThisconvention.
.
.
Organizesthisinformation.
.
.
boldCommandsandliteralargumentsenteredasshown.
italicsUser-definedargumentsorexamplecommandinformation.
[]Optionalinformationorargumentsforcommanduse.
Donotincludethesebracketswiththecommandwithinthecommandline.
ToolConventionsGettingStartedIdentifyUserGuide2013Synopsys,Inc.
June201313ToolConventionsTherearetoolconceptsyoumustfamiliarizeyourselfwithwhenusingtheIdentifytoolset.
TheseconceptshelpyoutodecipherstructuralandHDL-relatedinformation.
FileSystemConventionsThetermfilesystemreferstoanycommandthatusesfile,directory,orpathnameinformationinitsargument.
Afilesystemreferencemustfollowtheseconventions:PathSeparator"/"Allfilesystemcommandsthatcontainadirectorynameuseonlyforwardslashes,regardlessoftheunderlyingoperatingsystem:/usr/syn/data.
datc:/synopsys/data.
dat.
.
.
Itemsthatcanberepeatedanynumberoftimes.
|Choicesyoucanmakebetweentwoitemsorcommands.
Theitemsarelocatedoneithersideofthissymbol.
#Commentsconcerningthecodeorinformationwithinthecommandline.
Thisconvention.
.
.
Organizesthisinformation.
.
.
LOGettingStartedToolConventions2013Synopsys,Inc.
IdentifyUserGuide14June2013WildcardsAwildcardisacommandelementyoucanusetorepresentmanydifferentfiles.
Youcanusethesewildcardsasargumentstothefilesystemcommands.
Conventionsforwildcardsareasfollows:Squarebracketsareusedinpatternmatchingasfollows:Tousesquarebracketsinwildcardspecifications,youmustdelimittheentirenamewithcurlybraces{}.
Forexample,{[a-d]1}matchesanycharacterinthespecifiedrange(a-d)precedingthecharacter1.
DesignHierarchyConventionsDesignhierarchyreferstothestructureofyourdesign.
Designhierarchyconventionsdefineawaytorefertoobjectswithinthedesignhierarchy.
TheIdentifytoolsetsupportsbothVHDLandVerilog.
Theselanguagesvaryintheirhierarchyconventions.
TheVHDLandVeriloglanguagescontaindesignunitsandhierarchiesofthesedesignunits.
InVHDLthesedesignunitsareentity/architecturepairs,inVerilogtheyaremodules.
VHDLandVerilogdesignunitsareorganizedhierarchically.
EachofthefollowingHDLdesignunitscreatesanewlevelinthehierarchy.
SyntaxDescription*MatchesanysequenceofcharactersMatchesanysinglecharacterSyntaxDescription[abcd]Matchesanycharacterinthespecifiedset.
[a-d]Matchesanycharacterinaspecifiedrange.
ToolConventionsGettingStartedIdentifyUserGuide2013Synopsys,Inc.
June201315VHDLThetop-levelentityArchitecturesComponentinstantiationstatementsProcessstatementsControlflowstatements:if-then-else,andcaseSubprogramstatementsBlockstatementsVerilogThetop-levelmoduleModuleinstantiationstatementsAlwaysstatementsControlflowstatements:if-then-else,andcaseFunctionsandtasksDesignHierarchyReferencesAreferencetoanelementinthedesignhierarchyconsistsofapathmadeupofreferencestodesignunits(similartoafilereferencedescribedearlier).
RegardlessoftheunderlyingHDL(VHDLorVerilog),thepathseparatorcharacterisalways"/":/inst/reset_nAbsolutepathnamesbeginwithapathseparatorcharacter.
Thetop-leveldesignunitisrepresentedbytheinitial"/".
Thus,aportonthetop-leveldesignunitisrepresentedas:/port_nameThearchitectureofthetop-levelVHDLdesignunitisrepresentedas:/archLOGettingStartedToolConventions2013Synopsys,Inc.
IdentifyUserGuide16June2013Relativepathnamesdonotstartwiththepathseparator,andarerelativetothecurrentlocationinthedesignhierarchy.
Initially,thecurrentlocationisthetop-leveldesignunit,butcommandsexistthatallowyoutochangethislocation.
Note:DesignunitreferencescanbecasesensitivedependingontheHDLlanguage.
VHDLnamesarenotcasesensitive.
Incontrast,Verilognamesarecasesensitive.
WildcardsAwildcardisacommandelementyouusetorepresentmanydifferentdesignhierarchyreferences.
Youcanusewildcarddesignreferencesasargumentstothedesignhierarchycommands.
Conventionsforwildcardsareasfollows:Squarebracketsareusedinhierarchypatternmatchingasfollows:Tousesquarebracketsinpatternmatching,youmustdelimittheentirenamewithcurlybraces{}.
Forexample,{[a-d]1}matchesanycharacterinthespecifiedrange(a-d)precedingthecharacter1.
SyntaxDescription*MatchesanysequenceofcharactersMatchesanysinglecharacterSyntaxDescription[abcd]Matchesanycharacterinthespecifiedset.
[a-d]Matchesanycharacterinaspecifiedrange.
IdentifyUserGuide2013Synopsys,Inc.
June201317CHAPTER2SystemOverviewTheIdentifytoolsetispartofanHDLdesignflowprocess.
Thetoolsetisadual-componentsystemthatallowsyoutoprobeyourHDLdesigninthetargetenvironment.
Thesystemfitseasilyintoyourexistingdesignflow,withonlyafewmodifications.
Thedual-componentsystemconsistsoftheIdentifyinstrumentorsoftwarethatallowsyoutoselectyourdesigninstrumentationattheHDLlevelandthencreateanon-chiphardwareprobe,andtheIdentifydebuggersoftwarethatinteractswiththeon-chiphardwareprobeandallowsyoutoperformlivedebuggingofyourdesign.
Acombinedsystemofinstrumentoranddebuggerallowsyoutodebugyourdesignfaster,easier,andmoreefficiently.
Thischapterprovidesahigh-leveldescriptionoftheIdentifytoolset,detailinghowtheinstrumentoranddebuggerworkandhowtheyfitintoyourdesignflow.
Thechapterdescribes:TheDebuggingSystemTheDesignFlowSystemComponentsLOSystemOverviewTheDebuggingSystem2013Synopsys,Inc.
IdentifyUserGuide18June2013TheDebuggingSystemTheIdentifytoolsetisbasedontheprincipleofin-systemdebugging.
Usingthesetoolsallowsyoutodebugyourdeviceinthetargetsystem,attargetspeedwhiledebuggingattheHDLlevel.
StartingwithanHDLdesign,theIdentifyinstrumentorenablesyoutocreateadebuggableHDLversionofyourdesign.
Then,theIdentifydebuggercommunicateswiththisdebuggabledesign,capturestheoperationofthedesign,andrelatesthecaptureddatabacktotheoriginalHDLdesign.
TheIdentifytoolsetcapturesthedeviceoperationbyinsertinganIICE(Intel-ligentIn-Circuit-Emulator)deviceintoyourdesign.
TheIICEisconnectedtosignalsofinterestinyourdesignandcommunicateswithahostcomputerthroughaJTAGcable.
YourIICEYourSystemDeviceTheDesignFlowSystemOverviewIdentifyUserGuide2013Synopsys,Inc.
June201319TheDesignFlowDesignflowsforHDLdesignanddebuggingvaryaccordingthetypeofhardwareanddeviceyouuse.
DisplayedbelowisthetypicalHDLdesignflowforaprogrammablehardwaredeviceandthedesignflowwiththeIdentifytoolset:Inthetypicaldesignflow,thefirststepistocreatetheHDLdesignfileswhicharethensynthesizedtothetargetdevice.
Followingsynthesis,thedesignisplacedandrouted,targetingaparticulardevice.
Then,thedesignisimple-mentedontheactualhardwarebyprogrammingthedevice.
ProgramWriteHDLSynthesisPlaceandRouteDeviceProgramWriteHDLSynthesisPlaceandRouteDeviceInstrumentDebugTypicalDesignFlowIdentifyDesignFlowLOSystemOverviewTheDesignFlow2013Synopsys,Inc.
IdentifyUserGuide20June2013TheflowthroughtheIdentifytoolsetmakesaveryminorchangetothetypicalflow.
AftertheHDLissuccessfullycreated,theIdentifyinstrumentorisusedtoidentifythespecificsignalstobemonitored.
Savingtheprojectgeneratesaninstrumentationdesignconstraints(idc)fileandaddsconstraintfilestothedesignRTLfortheinstrumentedsignalsandbreakpoints.
Thedesignissynthesizedandthenrunthroughtherestofthetypicalprocess.
Afterthedeviceisprogrammedwiththedebuggabledesign,theIdentifydebuggerisusedtodebugthedesignwhileitisrunninginthetargetsystem.
BecausetheIdentifytoolsetprovideslogicdebuggingcapabilitiesinthetargetsystemwhichisrunningatthetargetspeed,theneedforextensivesystem-levelsimulationcanbereduced.
Instead,theeffortinthesimulationstepcanconcentrateonthemuchsimplerandfastermodule-levelsimulationandsomesystem-levelsimulation.
TheIdentifydebuggerisusedtohelpdebugsystem-levelfunctionality.
SystemComponentsSystemOverviewIdentifyUserGuide2013Synopsys,Inc.
June201321SystemComponentsTheIdentifysystemismadeupofthefollowing:IICEIdentifyInstrumentorIdentifyDebuggerIICETheIntelligentInCircuitEmulator(IICE)isacustomblockthatisinsertedintoyourdesignandconnectedtosignalsinthedesignbytheIdentifyinstru-mentorinaccordancewithyourinterfacespecifications.
TheIICEsamplesinternalsignalsandfeedsthesampledsignalinformationbacktotheIdentifydebuggerwherethedataistransformedforinterpretationattheHDLlevel.
TheIICEblockisactuallymadeupoftwodifferenttypesofblocks.
Thefirstisthecontrollerblockandthesecondistheprobeblock.
Theprobeblocksamplesinternalsignaldataandcommunicateswiththecontrollerblock.
ThecontrollerblockcommunicateswiththeJTAGport.
FilterIICETCKTMSTDITDOIdentifyDebuggerLargeDataPathMemoryBusControllerExtI/OCPUI/OLOSystemOverviewSystemComponents2013Synopsys,Inc.
IdentifyUserGuide22June2013Theprobeblockcontainsthesamplebufferwheresignalvaluedataisstored.
Theprobeblockalsocontainsthetriggerlogicthatdetermineswhenthesignaldataisstoredinthesamplebuffer.
ThecontrollerblockreceivesthesampledatafromtheprobeblockandsendsitthroughtheJTAGporttotheIdentifydebugger.
IdentifyInstrumentorTheIdentifyinstrumentorreadsandanalyzesthepre-synthesisHDLdesignandprovidesdetailedinformationaboutthesignalsthatcanbeobservedandallowsyoutospecifyhowtocontrolsignalobservation.
TheIdentifyinstrumentorusestheHDLdesignfilesandtheuser-selectioninformationtocreatethecustomIICEblock.
TheIdentifyinstrumentorconnectstheIICEtotheappropriatesignalsinthedesignandwritesthenewdesigntoauser-specifiedlocation.
IdentifyDebuggerTheIdentifydebuggerletsyouinteractwiththedebuggablehardwareattheHDLlevel.
IntheIdentifydebugger,youcanactivatebreakpoints,setwatch-points,andviewcaptureddatarelatedtotheoriginalsourcecodeoraswaveforms.
IntheIdentifydebugger,yousettriggerconditionsthatdeterminewhentocapturesignaldata.
Atriggerconditionisasetofon-chipsignalvaluesorevents.
Whenatriggerconditionoccurs,dataistransferredfromthehardwaredevicetotheIdentifydebuggerthroughtheJTAGcommunica-tioncableortheUMRBusonaHAPSboard.
IdentifyUserGuide2013Synopsys,Inc.
June201323CHAPTER3ProjectHandlingAprojectcontainsalloftheinformationrequiredtoinstrumentanddebugadesign.
ThisinformationincludesreferencestotheHDLdesignfiles,theuser-selectedinstrumentation,thesettingsusedtocreatetheIICE,thewatchpointandbreakpointactivationsfromthedebugger,andothersystemsettings.
Additionally,youcansavetheoriginaldesign,ineitheranencryptedornon-encryptedformat,inaprojectsubdirectory.
TheprojectfileisusedtoreproducetheexactstateoftheprojectintheIdentifytoolset.
Thischapterdescribestheproceduresformanagingprojectsandincludes:ProjectsintheIdentifyInstrumentorIdentifyDebuggerProjectsLOProjectHandlingProjectsintheIdentifyInstrumentor2013Synopsys,Inc.
IdentifyUserGuide24June2013ProjectsintheIdentifyInstrumentorThissectiondescribeshowprojectsaredefinedbetweentheIdentifyinstru-mentorandthesynthesistool.
Integrated–anIdentifyimplementationisdefinedintheSynopsysFPGAsynthesistoolandtheIdentifyinstrumentoristhenlauncheddirectlyfromtheIdentifyimplementationinthatproject.
Assisted–anIdentifyimplementationisdefinedinthesynthesistoolproject,theprojectissaved,andthesynthesistoolexited.
TheIdentifyinstrumentoristhenlaunchedindependentlytoopenthesavedprojectfile.
IntegratedIdentifyInstrumentorProjectsForSynplify,SynplifyPro,andSynplifyPremierusersandusersofCertifyreleasesD-2010.
06andlater,aSynopsysFPGAproject(prj)fileispassedtotheIdentifyinstrumentortodefinetheproject.
Thisprojectfilespecifiesthedesignfilesandtheirorder,thedevicetechnology,andthedesign'stop-levelmoduleorentity.
TomakeaSynplify,SynplifyPro,SynplifyPremier,orcompatibleCertifyprojectavailabletotheIdentifyinstrumentor,opentheprojectinthecorre-spondingSynopsysFPGAsynthesistool'sProjectviewand:1.
Rightclickontheproject(Synplify)orimplementation(SynplifyPro,SynplifyPremier,orCertify)andselectNewIdentifyImplementationfromthepopupmenu.
2.
Set/verifyanytechnology,devicemapping,orotherpertinentoptions(seetheimplementationoptiondescriptionsintheSynopsysFPGAsynthesistooluserguide)andclickOK.
Anew,Identifyimplementationisaddedtotheprojectview.
ProjectsintheIdentifyInstrumentorProjectHandlingIdentifyUserGuide2013Synopsys,Inc.
June201325Note:BecausemultipleimplementationsarenotsupportedintheSynplifysynthesistool,theexistingimplementationisreplacedwiththeIdentifyimplementation.
3.
EitherrightclickontheIdentifyimplementationandselectLaunchIdentifyInstrumentorfromthepopupmenuorclicktheLaunchIdentifyInstrumentortoolbaricontolaunchtheIdentifyinstrumentor.
Note:Ifyouarepromptedtolocatetheexecutable,enterthepathtotheIdentifysoftwareintheLocateIdentifyInstallationfield(usethebrowsebuttontotherightofthefield).
Ifyouarepromptedtoselectalicensetype,selecttheappropriatetypefromthelist;checktheSaveasdefaultlicensetypeboxtoavoidthelicensepromptinfuturesessions.
LaunchingtheIdentifyinstrumentorfromtheSynopsysFPGAsynthesisorCertifytool:BringsuptheIdentifyinstrumentorgraphicalinterface.
Extractsthelistofdesignfiles,theirworkdirectories,andthedevicefamilyfromtheprjfile.
AutomaticallycompilesthedesignfilesusingthesynthesistoolcompileranddisplaysthedesignhierarchyandtheHDLfilecontentwithallthepotentialinstrumentationmarkedandavailableforselection.
IdentifyImplementationLOProjectHandlingProjectsintheIdentifyInstrumentor2013Synopsys,Inc.
IdentifyUserGuide26June2013AssistedIdentifyInstrumentorProjectsASynplify,SynplifyPro,SynplifyPremier,orCertifyprojectwithanexistingIdentifyimplementationcanbeopeneddirectlyintheIdentifyinstrumentor.
ToopenasynthesisprojectdirectlyfromtheIdentifyinstrumentor,selectFile->Openprojectfromthemainmenu,clicktheOpenexistingprojecticon,orclicktheOpenProjectbuttonintheprojectwindow.
EachofthesecommandsbringsuptheOpenProjectfiledialogboxtoallowyoutonavigatetothedirectorycontainingthesynthesisproject(prj)files.
OnopeningaSynplify,SynplifyPro,SynplifyPremier,orCertifyprojectfile,thedataforthatprojectisloadedintotheIdentifyinstrumentor.
Loadingaprojectretrievesalloftheinformationstoredintheproject(usersettingsandfilehistoriesareautomaticallysaved).
TheIdentifyinstrumentorautomati-callycompilesthefiles.
Whencompilationiscomplete,theinstrumentationwindowdisplaysthedesignhierarchyandtheHDLfilecontentwithallthepotentialinstrumentationmarkedandavailableforselection.
Alistofthefour,mostrecentprojectsismaintainedbytheIdentifyinstru-mentor.
AnyoftheseprojectscanbeopeneddirectlyfromtheFile->RecentProjectsmenu.
ViewingaCompiledFileOnceadesignhasbeensuccessfullycompiled,thecontentsofindividualHDLfilescanbeopenedinthecurrentlyactiveIICE.
ToopenanHDLfile,eitherdoubleclickonthefilenameoriconintheprojectvieworrightclickonthefilenameoriconandselectViewfilefromthepopupmenu.
TheselectedfileisdisplayedinthecurrentlyactiveIICEdisplay.
ProjectsintheIdentifyInstrumentorProjectHandlingIdentifyUserGuide2013Synopsys,Inc.
June201327TechnologyCellDefinitionsTheIdentifyinstrumentornormallyinstantiatesmoduledefinitionsfortechnology-specificcells.
Whenatechnologycellisnotpreviouslydefined,theIdentifyinstrumentorcreatesadummy(empty)blackboxfortheundefinedmoduletoallowthecompilationtocomplete.
Todisablethegenerationofblackboxesforuninstantiatedmoduledefini-tions,enterthefollowingcommandintheIdentifyinstrumentorconsolewindow:devicetechnologydefinitions0Note:ThecommandacceptsallBooleanarguments(0,off,false,1,on,ortrue).
Enteringthecommandwithoutanargumentreturnsthecurrentsetting.
InstrumentingandSavingaProjectAftersettinguptheIICEasdescribedinChapter4,IICEConfigurationandafterselectingtheinstrumentation(selectingthesignalsforsampling,andsettingbreakpoints)asdescribedinChapter7,IdentifyInstrumentor,theprojectisinstrumentedandsaved.
Tosaveyourinstrumentedproject,selectFile->Saveprojectinstrumenta-tionfromthemenuorclickontheSaveproject'sactivatedinstrumentationicon.
Savingaprojectgeneratesaninstrumentationdesignconstraints(idc)fileandaddscompilerpragmasintheformofconstraintfilestothedesignRTLfortheinstrumentedsignalsandbreakpoints.
Thisinformationisthenusedbythesynthesistooltoincorporatetheinstrumentationlogic(IICEandCOMMblocks)intothesynthesizednetlist.
LOProjectHandlingProjectsintheIdentifyInstrumentor2013Synopsys,Inc.
IdentifyUserGuide28June2013ProjectswithDistributedInstrumentationDistributedinstrumentationallowsaninstrumenteddesigntobepartitionedintomultipleFPGAsandsubsequentlydebuggedthroughasingleIdentifyDebuggersession.
Distributedinstrumentationgeneratesaninstrumentationdesignconstraints(idc)filethatdescribestheinstrumentedsignalsandbreakpoints.
BeforerunningRTLpreparationinCertify,thedesignisinstru-mentednormally.
DuringSLPgenerationinCertify,theIdentifylogicisaddedtothepartitionednetlist.
FollowingSLPgeneration,theSLPsrsprojectsaresynthesizedandtheindividualFPGAsareprogrammed.
TheIdentifyDebuggeristheninvokedfromtheCertifyproject.
TheDebuggercommuni-cateswitheachoftheindividualFPGAstoconfiguretheIICEandtodownloadthesampledata.
Formoreinformationondistributedinstrumenta-tion,seetheCertifyUserGuide.
IdentifyDebuggerProjectsProjectHandlingIdentifyUserGuide2013Synopsys,Inc.
June201329IdentifyDebuggerProjectsThissectionincludesdescriptionsofthefollowingtasksassociatedwiththeIdentifydebugger:OpeninganIdentifyDebuggerProjectConfiguringanIdentifyDebuggerProjectSavingaProjectOpeninganIdentifyDebuggerProjectToopenaprojectintheIdentifydebugger,theprojectmusthavebeencreatedintheIdentifyinstrumentor(onlytheIdentifyinstru-mentorcancreateaproject)andsynthesizedinthesynthesistool.
ToopenanexistingIdentifydebuggerprojectfromtheSynopsysFPGAsynthesisorCertifytool,highlighttheIdentifyimplementationanddooneofthefollowing:selectLaunchIdentifyDebuggerfromthepopupmenuclicktheLaunchIdentifyDebuggericoninthemenubarselectRun->LaunchIdentifyDebugger(synthesistool)orTools->LaunchIdentifyDebugger(Certify)fromthemainmenuYoucanalsoopenanexistingprojectfromtheIdentifydebuggerinterfacebyselectingFile->OpenProjectfromthemenuorbyclickingontheOpenexistingprojecticon.
Thenameoftheprojectfilewillhaveaprjextension.
Alistofthefour,mostrecentprojectsismaintainedbytheIdentifydebugger.
AnyoftheseprojectscanbeopeneddirectlyfromtheFile->RecentProjectsmenu.
Onopening,thedatafortheprojectisloadedintotheIdentifydebugger.
Loadingaprojectretrievesalloftheinformationstoredinaprojectandmakesthatprojectthecurrentworkingproject.
ConfiguringanIdentifyDebuggerProjectToconfigureanIdentifydebuggerproject,clicktheprojecttabtoreopentheprojectwindow(reopeningtheprojectwindowshowstheinstrumentationandcommunicationsettings).
LOProjectHandlingIdentifyDebuggerProjects2013Synopsys,Inc.
IdentifyUserGuide30June2013ReviewingtheInstrumentationSettingsTheInstrumentationsettingsaredisplayedintheInstrumentationsettingssectionoftheprojectwindow.
Becausetheseconfigurationsettingsareinher-itedfromtheIdentifyinstrumentorandusedtoconstructtheIICE,youcannotchangethesesettingsintheIdentifydebugger.
ChangingtheCommunicationSettingsThecabletypeandportspecificationcommunicationsettingscanbesetorchangedfromtheprojectwindow.
Thereisalargelistofpossiblecabletypesettingsincluding:byteblaster,xilinx-auto,xilinxusb,xilinxparallel,Microsemi_BuiltinJTAG,JTAGTech3710,Altera_BuiltinJTAG,anddemo.
AumrbussettingisalsoavailabletosetupUMRBuscommunica-tionsbetweenthehostandaHAPSboard(seeUMRBusCommunicationsInterface,onpage203).
SetCabletypevalueaccordingtothetypeofcableyouareusingtoconnecttotheprogrammabledevice.
Adjusttheportsettingbasedontheportwherethecommunicationcableisconnected.
Mostoften,lpt1isthecorrectsettingforparallelports.
IdentifyDebuggerProjectsProjectHandlingIdentifyUserGuide2013Synopsys,Inc.
June201331ReviewingtheJTAGChainSettingsTheJTAGchainsettingsareviewedbyclickingtheShowchainbuttonintheCommunicationsettingssectionoftheprojectwindow.
Normally,theJTAGchainsettingsforthedevicesareautomaticallyextractedfromthedesign.
Whenthechainsettingscannotbedetermined,theymustbecreatedand/oreditedusingthechaincommandintheconsolewindow.
Thesettingsshownbelowarefora2-devicechainthathasJTAGidentificationregisterlengthsof8and10bits.
Inaddition,thedevicenamed"fpga"hasbeenenabledfordebugging.
SavingaProjectSavingaprojectintheIdentifydebuggersavesthefollowingadditionalprojectinformationtotheprojectfile:IICEsettingsInstrumentationsandactivationsTosaveaprojectintheIdentifydebugger,clicktheSavecurrentactiva-tionsiconorselectFile->Saveactivationsfromthemenu.
"fpga"deviceenabledfordebuggingDebug:DeviceID:IRLength:1.
2.
[][x]promfpga810LOProjectHandlingIdentifyDebuggerProjects2013Synopsys,Inc.
IdentifyUserGuide32June2013IdentifyUserGuide2013Synopsys,Inc.
June201333CHAPTER4IICEConfigurationAnimportantpartoftheconfigurationofaprojectissettingtheparametersfortheIntelligentIn-CircuitEmulator(IICE)intheIdentifyinstrumentor.
TheIICEparametersdeterminetheimplementationofoneormoreIICEunitsandconfiguretheunitssothatpropercommunicationcanbeestablishedwiththeIdentifydebugger.
TheIICEparameterscommontoallIICEunitsaresetintheIdentifyinstrumentorprojectwindowandapplytoallIICEunitsdefinedfortheimplementation;theIICEparametersuniquetoeachIICEdefinitioninamulti-IICEconfigurationareinteractivelysetononeoftwoIICEConfigurationdialogboxtabs:IICESamplerTab–includessampledepthselectionandclockspecificationandalsodefinestheexternalmemoryconfigurationfortheHAPSDeepTraceDebugfeature.
IICEControllerTab–includescomplexcountertriggerwidthspecification,selectionofstatemachinetriggering,andimport/exportoftheIICEtriggersignal.
ThischapterdescribeshowtoconfigureoneormoreIICEunits.
LOIICEConfigurationMultipleIICEUnits2013Synopsys,Inc.
IdentifyUserGuide34June2013MultipleIICEUnitsMultipleIICEunitsallowtriggeringandsamplingofsignalsfromdifferentclockdomainswithinadesign.
EachIICEunitisindependentandcanhaveuniqueIICEparametersettingsincludingsampledepth,sampling/triggeringoptions,andsampleclockandclockedge.
Duringthedebuggingphase,individualormultipleIICEunitscanbearmed.
AddinganIICEUnitANewIICEbuttonisincludedintheIdentifyinstrumentorprojectwindowtoallowanadditionalIICEtobedefinedforthecurrentinstrumentation.
WhenyouclicktheNewIICEbutton,theprojectwindowisreducedtoatabandanewinstrumentationwindowisopenedwiththeHDLsourcecoderedis-playedwithoutanysignalsinstrumented.
Note:WhenyoucreateanewIICEfromtheGUI,thenameoftheIICEunitisformedbyaddingan_nsuffixtoIICE(forexample,IICE_0,IICE_1,etc.
).
IfyoucreateanewIICEfromthecommandlineusingtheIden-tifyinstrumentoriicenewcommand,youcanoptionallyincludeanamefortheIICE.
Right-clickingontheIICEtabandselectingConfigureIICEfromthepopupmenubringsuptheConfigureIICEdialogboxwhichallowsyoutodefinetheparametersuniquetotheselectedIICE(seeIndividualIICEParameters,onpage38).
Note:Communicationportselection,whichiscommontoallIICEunitsforaninstrumentation,isdefinedintheIdentifyinstrumentorprojectwindow(seeCommonIICEParameters,onpage35).
DeletinganIICEUnitTodeleteanIICEunitfromyourIdentifyinstrumentorproject,right-clickonthetaboftheIICEtobedeletedandselectDeleteIICEfromthepopupmenu.
CommonIICEParametersIICEConfigurationIdentifyUserGuide2013Synopsys,Inc.
June201335CommonIICEParametersTheIICEparameterscommontoallIICEunitsdefinedforaninstrumentationinclude:theIICEdevicefamilyasdefinedbythesynthesistoolthecommunicationportifoptionalskew-resistanthardwareistobeusedifincrementalupdatingisenabled(Xilinxtechnologiesonly)Theseparametersareset/displayedintheprojectwindowforthecurrently-activeinstrumentation.
AllIICEunitsinamulti-IICEconfigurationsharethesesameparametervalues.
DeviceFamilyThedevicefamilyselectedinthesynthesistoolisreportedintheDevicefamilyfield(thefieldisread-only)andcannotbechanged.
Note:IfthedevicefamilyspecifiedinthesynthesistoolisnotsupportedbytheIdentifytoolset,anerrormessageisissuedandyouarepromptedtoexittheIdentifyinstrumentor.
LOIICEConfigurationCommonIICEParameters2013Synopsys,Inc.
IdentifyUserGuide36June2013CommunicationPortTheCommunicationportparameterspecifiesthetypeofconnectiontobeusedtocommunicatewiththeon-chipIICE.
Theconnectiontypesare:builtin–indicatesthattheIICEisconnectedtotheJTAGTapcontrolleravailableonthetargetdevice.
soft–indicatesthattheSynopsysTapcontrolleristobeused.
TheSynopsysFPGATapcontrollerismorecostlyintermsofresourcesbecauseitisimplementedinuserlogicandrequiresfouruserI/Opinstoconnecttothecommunicationcable.
umrbus–indicatesthattheIICEisconnectedtothetargetdeviceonaHAPS-60orHAPS-70seriessystemthroughtheUMRBus.
SeeChapter11,ConnectingtotheTargetSystem,foradescriptionofthecommunicationinterface.
BoardTypeTheBoardTyperead-onlyfieldisonlypresentwhenoneofthesupportedSynopsysHAPSdevicetechnologiesisselectedinthesynthesistoolandindicatesthetargetedHAPSboardtype.
UseSkew-ResistantHardwareTheUseskew-resistanthardwarecheckbox,whenchecked,incorporatesskew-resistantmaster/slavehardwaretoallowtheinstrumentationlogictooperatewithoutrequiringanadditionalglobalclockbufferresourcefortheJTAGclock.
WhennoglobalclockresourcesareavailablefortheJTAGclock,thisoptioncausestheIICEtobebuiltusingskew-resistanthardwareconsistingofmaster-slaveflip-flopsontheJTAGchainwhichpreventsclockskewfromaffectingthelogic.
EnablingthisoptionalsocausestheIdentifyinstrumentortoNOTexplicitlydefinetheJTAGclockasrequiringglobalclockresources.
CommonIICEParametersIICEConfigurationIdentifyUserGuide2013Synopsys,Inc.
June201337PrepareIncrementalThePrepareincrementalcheckboxisonlyenabledwhenoneofthesupportedXilinxVirtextechnologiesisselectedinthesynthesistool.
Checkingthisboxenablesthemulti-pass,incrementalflowfeatureavailableforspecificXilinxtechnologies(seeChapter9,IncrementalFlow).
LOIICEConfigurationIndividualIICEParameters2013Synopsys,Inc.
IdentifyUserGuide38June2013IndividualIICEParametersTheindividualparametersforeachIICEaredefinedontwotabsoftheConfigureIICEdialogbox.
Todisplaythisdialogbox,firstselecttheactiveIICEbyclickingtheappropriateIICEtabintheIdentifyinstru-mentorprojectwindowandthenselectActions->ConfigureIICEfromthemenuorclickontheEditIICEsettingsicon.
Youcanalsoright-clickdirectlyontheIICEtabandselectConfigureIICEfromthepopupmenu.
IICESamplerTabTheIICESamplertabdefines:IICEunitformulti-IICEconfigurationsIICEtype(regularorreal-timedebugging)BuffertypeSampledepthSampling/triggeringoptionsDatacompressionuseSampleclockandclockedgeNote:TheIICESamplertabisredefinedwhentheBuffertypeissettohapssram.
IICEtabsIndividualIICEParametersIICEConfigurationIdentifyUserGuide2013Synopsys,Inc.
June201339CurrentIICETheCurrentIICEfieldidentifiesthetargetIICEwhentherearemultipleIICEunitsdefinedwithinanimplementation.
TheIICEisselectedfromthedrop-downmenu.
IICEtypeTheIICEtypeparameterisaread-onlyfieldthatspecifiesthetypeofIICEunitcurrentlyselected–regular(thedefault)orrtd(real-timedebugging).
TheIICEtypeissetfromtheprojectviewintheuserinterfacewhenanewIICEisdefinedorbyaniicesamplerTclcommandwitha-typeoption.
Forinformationonthereal-timedebuggingfeature,seeReal-timeDebugging,onpage86.
BufferTypeTheBuffertypeparameterspecifiesthetypeofRAMtobeusedtocapturetheon-chipsignaldata.
Thedefaultvalueisinternal_memory;thehapssramsettingconfigurestheIICEtoadditionallyuseexternalHAPSRAM(formoreinforma-tion,seeChapter5,HAPSDeepTraceDebug).
LOIICEConfigurationIndividualIICEParameters2013Synopsys,Inc.
IdentifyUserGuide40June2013SampleDepthTheSampledepthparameterspecifiestheamountofdatacapturedforeachsampledsignal.
SampledepthislimitedbythecapacityoftheFPGAsimple-mentingthedesign,butmustbeatleast8duetothepipelinedarchitectureoftheIICE.
SampledepthcanbemaximizedbytakingintoaccounttheamountofRAMavailableontheFPGA.
Asanexample,ifonlyasmallamountofblockRAMisusedinthedesign,thenalargeamountofsignaldatacanbecapturedintoblockRAM.
IfmostoftheblockRAMisusedforthedesign,thenonlyasmallamountisavailabletobeusedforsignaldata.
Inthiscase,itmaybemoreadvantageoustouselogicRAM.
AllowQualifiedSamplingTheAllowqualifiedsamplingcheckbox,whenchecked,causestheIdentifyinstrumentortobuildanIICEblockthatiscapableorperformingqualifiedsampling.
Whenqualifiedsamplingisenabled,onedatavalueissampledeachtimethetriggerconditionistrue.
Withqualifiedsampling,youcanfollowtheoperationofthedesignoveralongerperiodoftime(forexample,youcanobservetheaddressesinanumberofbuscyclesbysamplingonlyonevalueforeachbuscycleinsteadofafulltrace).
Usingqualifiedsamplingincludesaminimalareaandclock-speedpenalty.
AllowAlways-ArmedTriggeringTheAllowalways-armedtriggeringcheckbox,whenchecked,savesthesamplebufferforthemostrecenttriggerandwaitsforthenexttriggeroruntilinter-rupted.
Whenalways-armedsamplingisenabled,asnapshotistakeneachtimethetriggerconditionbecomestrue.
Withalways-armedtriggering,youalwaysacquirethedataassociatedwiththelasttriggerconditionpriortotheinterrupt.
Thismodeishelpfulwhenanalyzingadesignthatusesarepeatedpatternasatrigger(forexample,buscycles)andthenrandomlyfreezes.
Youcanretrievethedatacorrespondingtothelasttimetherepeatedpatternoccurredpriortofreezing.
Usingalways-armedsamplingincludesaminimalareaandclock-speedpenalty.
IndividualIICEParametersIICEConfigurationIdentifyUserGuide2013Synopsys,Inc.
June201341AllowdatacompressionTheAllowdatacompressioncheckbox,whenchecked,addscompressionlogictotheIICEtosupportsampledatacompressionintheIdentifydebugger(seeSampledDataCompression,onpage114).
Whenunchecked(thedefault),compressionlogicisexcludedfromtheIICE,anddatacompressionintheIdentifydebuggerisunavailable.
Notethatthereisalogicdataoverheadassociatedwithdatacompressionandthatthecheckboxshouldbeleftuncheckedwhensampledatacompressionisnottobeused.
SampleClockTheSampleclockparameterdetermineswhensignaldataiscapturedbytheIICE.
Thesampleclockcanbeanysignalinthedesignthatisasingle-bitscalartype.
Enterthecompletehierarchicalpathofthesignalastheparam-etervalue.
Caremustbetakenwhenselectingasampleclockbecausesignalsaresampledonanedgeoftheclock.
Forthesamplevaluestobevalid,thesignalsbeingsampledmustbestablewhenthespecifiededgeofthesampleclockoccurs.
Usually,thesampleclockiseitherthesameclockthatthesampledsignalsaresynchronouswithoramultipleofthatclock.
Thesampleclockmustuseascalar,globalclockresourceofthechipandshouldbethehighestclockfrequencyavailableinthedesign.
ThesourceoftheclockmustbetheoutputfromaBUFG/IBUFGdevice.
Youcanalsoselectthesampleclockfromtheinstrumentationwindowbyright-clickingonthewatchpointiconinthesourcecodedisplayandselectingSampleClockfromthepopupmenu.
Theiconfortheselected(single-bit)signalchangestoaclockfaceasshowninthefollowingfigure.
BUFGDCM/PLLLOIICEConfigurationIndividualIICEParameters2013Synopsys,Inc.
IdentifyUserGuide42June2013Note:YoumustsettheotherindividualIICEparametersfromtheConfigureIICEdialogboxincludingthesampleclockedge.
ClockEdgeTheClockedgeradiobuttonsdetermineifsamplesaretakenontherising(positive)orfalling(negative)edgeofthesampleclock.
Thedefaultisthepositiveedge.
SampleClockIconIndividualIICEParametersIICEConfigurationIdentifyUserGuide2013Synopsys,Inc.
June201343IICEControllerTabTheIICEControllertabselectstheIICEcontroller'striggeringmode.
AlloftheseinstrumentationchoiceshaveacorrespondingeffectontheareacostoftheIdentifyIICE.
CurrentIICETheCurrentIICEfieldisusedtoidentifythetargetIICEwhentherearemultipleIICEunitsdefinedwithinanimplementation.
TheIICEisselectedfromthedrop-downmenu.
LOIICEConfigurationIndividualIICEParameters2013Synopsys,Inc.
IdentifyUserGuide44June2013IICEtypeTheIICEtypeparameterisaread-onlyfieldthatspecifiesthetypeofIICEunitcurrentlyselected–regular(thedefault)orrtd(real-timedebugging).
TheIICEtypeissetfromtheprojectviewintheuserinterfacewhenanewIICEisdefinedorbyaniicesamplerTclcommandwitha-typeoption.
Forinformationonthereal-timedebuggingfeature,seeReal-timeDebugging,onpage86.
SimpleTriggeringSimpletriggeringallowsyoutocombinebreakpointsandwatchpointstocreateatriggerconditionforcapturingthesampledata.
Complex-CounterTriggeringComplex-countertriggeringaugmentsthesimpletriggeringbyinstrumentingavariable-widthcounterthatcanbeusedtocreateamorecomplextriggerfunction.
Usethewidthsettingtocontrolthedesiredwidthofthecounter.
State-MachineTriggeringState-machinetriggeringallowsyoutopre-instrumentavariable-sizedstatemachinethatcanbeusedtospecifyanultimatelyflexibletriggercondition.
UseTriggerstatestocustomizehowmanystatesareavailableinthestatemachine.
UseTriggerconditiontocontrolhowmanyindependenttriggercondi-tionscanbedefinedinthestatemachine.
Formoreinformationonstate-machinetriggering,seeStateMachineTriggering,onpage156.
ImportExternalTriggerSignalsExternaltriggeringallowsthetriggerfromanexternalsourcetobeimportedandconfiguredasatriggerconditionfortheactiveIICE.
TheexternalsourcecanbeasecondIICElocatedonadifferentdeviceorexternallogicontheboardratherthantheresultofanIdentifyinstrumentation.
Theimportedtriggersignalincludesthesametriggeringcapabilitiesastheinternaltriggersourcesusedwithstatemachines.
Theadjacentfieldselectsthenumberofexternaltriggersourceswith0,thedefault,disablingrecognitionofanyexternaltrigger.
Selectingoneormoreexternaltriggersautomaticallyenablesstate-machinetriggering.
IndividualIICEParametersIICEConfigurationIdentifyUserGuide2013Synopsys,Inc.
June201345Note:Whenusingexternaltriggers,thepinassignmentsforthecorre-spondinginputportsmustbedefinedinthesynthesisorplaceandroutetool.
ExportIICETriggerSignalTheExportIICEtriggersignalcheckbox,whenchecked,causesthemastertriggersignaloftheIICEhardwaretobeexportedtothetop-leveloftheinstrumenteddesign.
Allowcross-triggeringinIICETheAllowcross-triggeringinIICEcheckbox,whenchecked,allowsthisIICEunittoacceptacross-triggerfromanotherIICEunit.
Formoreinformationoncross-triggering,seeCrossTriggering,onpage123.
LOIICEConfigurationIndividualIICEParameters2013Synopsys,Inc.
IdentifyUserGuide46June2013IdentifyUserGuide2013Synopsys,Inc.
June201347CHAPTER5HAPSDeepTraceDebugTheHAPSDeepTraceDebugfeatureusesexternalSRAMassamplememorywhichallowsIdentifytouseboththeFPGAinternalblockRAMaswellastheexternalHAPSRAM.
Withtheaddedexternalmemory,amuchdeeper,signal-tracebufferisavailable.
IdentifyenablestheuseofHAPSSRAMdaughter-boardsasanexternalbufferingmemoryfordesignsbeingtargetedfortheHAPSplatforminasingle-FPGAdebuggingmode.
Thischapterprovidesdetaileddescriptionsofthefeatureanditsuse.
Astepbysteptutorialusinganexampledesignisalsoavailable.
TheHAPSDeepTraceDebugfeatureisonlyavailablewithSynopsysHAPS-50,HAPS-60,andHAPS-70seriesprototypingboardsusingaHAPSSRAM_1x1_HTIIdaughterboard(HAPS-50andHAPS-60)oraHAPSSRAM_HT3(HAPS-70)daughterboard.
ExternalMemoryInstrumentationandConfigurationStepsWiththeHAPSDeepTraceDebugmode,theSynplify/Identifyflowremainsunchanged.
TheonlydifferenceisintheconfigurationofaHAPSSRAMmemoryastheexternalsamplebufferusingIICEparameters.
LOHAPSDeepTraceDebugExternalMemoryInstrumentationandConfigurationSteps2013Synopsys,Inc.
IdentifyUserGuide48June2013TheHAPSDeepTraceDebugfeatureincludesthecapabilitytocontroltheconfiguredsampledepth.
ThisdepthcanbedynamicallyvariedusingtheSampledepthoptionavailableontheIICESamplertab.
Thedepthcanbevariedbetweentheminimumdepthtothemaximumconfigureddepth,butcannotexceedthemaximumconfigureddepth.
ThefollowingfigureshowstheHAPSSettingsdialogboxfortheHAPSDeepTraceDebugmodewhenthebuffertypeontheIICESamplertabissettohapssram.
Note:YoucanalsoselectthehapssrambuffertypeusingtheiicesamplerhapssramTclcommand.
TheindividualHAPSDeepTraceDebugparametersaredescribedintheensuingtable.
ExternalMemoryInstrumentationandConfigurationStepsHAPSDeepTraceDebugIdentifyUserGuide2013Synopsys,Inc.
June201349ParameterDescriptionBoardTheHAPSDeepTraceDebugfeatureisavailableonlywithspecificHAPSboards.
TheinstrumentorallowsselectionofhapssrambuffertypeonlywhenthedeviceusedontheHAPSboardissetintheimplementationoptions.
Forexample,ifaSynopsysHAPS-50deviceisspecifiedinSynplifyPro,theIdentifyInstrumentorenablesHAPS-50seriesboardselectionfromthedrop-downmenu.
Similarly,ifaSynopsysHAPS-60orHAPS-70deviceisspecifiedfortheproject,HAPS-60orHAPS-70seriesboardselectionisenabledfromthedrop-downmenu.
SRAMlocationsThebufferingoftheinstrumentedsamplesisperformedusinganexternalSRAMdaughtercardconnectedtoanyoralltheHapsTrakIIorHapsTrak3connectorsofasingleFPGA.
TheselectionoftheconnectorswherethedaughtercardsarephysicallyconnectedisdonebyselectingoneormoreHapsTraklocations(locations1through6forHAPS-50/HAPS-60oramatrixlocationforHAPS-70)ofthedaughtercardsfortheFPGAunderdebug.
SRMstackThedepthofSRAMoneachdaughtercardis4Mlocationsof72-bitwordsforHTIISRAMcardsand8Mlocationsof90-bitwordsforHT3SRAMcards.
ToincreasetheexternalSRAMmemorydepthbeyond4Mx72or8Mx90,thedaughtercardscanbestacked.
FortheHTIItypeSRAM,1,2,or4daughtercardscanonlybestackedfortheselectedSRAMlocationsandforHT3typeSRAMcards,1,2,3,or4cardscanbestacked.
ThestacknumberspecifiedappliestoallconnectorlocationsspecifiedbySRAMlocations.
SRAMmoduletypeTheHapsTrakSRAMdaughtercardtypeisselectedusingthisdrop-downoption.
SRAMclocktypeTheclocktotheSRAMdaughtercardcanbeeitherfedfromtheclockusedwithinthedesign(Internal)orfromanexternalclocksourcepresentontheHAPSboard(seeSRAMClocks,onpage50).
SRAMclockfrequencySpecifiesthefrequencyoftheclocksourcetotheSRAM.
ThesupportedSRAMoperatingfrequencyrangesforvariousHAPSboardandSRAMcardstacksusingtheFPGAinternalPLLoutputastheSRAMclockarelistedinSRAMClocks,onpage50.
LOHAPSDeepTraceDebugExternalMemoryInstrumentationandConfigurationSteps2013Synopsys,Inc.
IdentifyUserGuide50June2013SRAMClocksWhentheclocksourceisinternaltothedesign:selecttheInternalradiobuttonspecifytheclocksignaltobeusedasthesourceclockintheadjacenttextbox.
AnyclocksignalwithinthedesignatanyhierarchylevelcanbeinstrumentedastheSRAMclock.
Whentheclocksourceisexternal:selecttheExternalradiobuttonSpecifyasuitablepin-lockconstraintinthesynthesisconstraintfileforthedeepbuf_sclk_iiceName_panddeepbuf_sclk_iiceName_nports(theseportsarecreatedautomaticallyintheinstrumenteddesign)providetheexternalclocksourcetothisFPGAportBecauseofperformanceconsiderations,usersarerecommendedtouseFPGAinternalPLLoutputasthesourceoftheSRAMclock.
SpecifythefrequencyoftheclocksourcetotheSRAM.
ThesupportedSRAMoperatingfrequencyrangesforvariousHAPSboardsandSRAMcardstacksusingtheinternalPLLoutputastheSRAMclockaregiveninthefollowingtable:SRAMH-SRAM-1x1-HTII(2.
5V)HT3-SRAM(1.
8V)BoardHAPS-50SeriesHAPS-60SeriesHAPS-70Series1SRAMstack88to140MHz96to155MHz150MHz2SRAMcardstack88to100MHz92to116MHz100MHz3SRAMcardstackNotSupportedNotSupportedNotSupported4SRAMcardstack75MHz80to110MHzNotSupportedExternalMemoryInstrumentationandConfigurationStepsHAPSDeepTraceDebugIdentifyUserGuide2013Synopsys,Inc.
June201351SampleDepthCalculationForagiven,user-definedexternalmemoryconfigurationsetting,themaximumalloweddepthcanbecalculatedbasedontheformuladescribedbelow.
NumberofHapsTrakslotsused:NslotNumberofSRAMcardsstacked:NSRAMNumberof72-bitor90-bitwordsperSRAMcard:Nword(4194304forHapsTrakII;8388608forHapsTrak3)Numberofsignalstobesampled(instrumented):NsignalForexample,ifNslot=1,NSRAM=1,Nword=4M(4194304)andNsignal=1900,themaximumsamplingdepthforKsamplesforaHapsTrakIISRAMcardis155344.
SampleClockCalculationForagivensetofuser-definedexternalmemoryconfigurationsettings,thesampleclockfrequencycanestimatedusingtheformuladescribedbelow.
Intheaboveexpressions:NumberofHapsTrakslotsused:NslotNumberofsignalstobesampled(instrumented):Nsignal+≤slotsignalSRAMwordsampleNNNNK726+≤slotsignalSRAMwordsampleNNNNK72690HapsTrakIIHapsTrak32726++≤slotsignalSRAMsamplingNNff2726++≤slotsignalSRAMsamplingNNff90HapsTrakIIHapsTrak3LOHAPSDeepTraceDebugExternalMemoryInstrumentationandConfigurationSteps2013Synopsys,Inc.
IdentifyUserGuide52June2013SRAMbusfrequency:fSRAMForexample,iffSRAM=100MHz,Nslot=1,andNsignal=1900,themaximumsamplingfrequencyforaHapsTrakIISRAMcardis3.
44MHz.
Note:Foreveryparameter/optionthatisset,asdescribedabove,anequiv-alentTclcommandisalsoavailable.
HardwareConfigurationVerificationAself-testisavailableforverifyingthedeeptracedebughardwareconfigura-tion.
Theself-testwritesdatapatternstotheexternalmemoryandreadsbackthedatapatternwrittentodetectconfigurationerrors,connectivityproblems,andSRAMfrequencymismatches.
Theselftestisnormallyexecuted:followingtheinitialsetuptoverifythehardwareconfigurationagainsttheinstrumentationduringroutineoperationswheneverahardwareproblemissuspectwheneverthephysicalconfigurationismodified(changinganyoftheIICESamplerdialogboxconfigurationsettingssuchasrelocatingtheSRAMdaughtercardtoanotherconnector)Toruntheself-testfromtheIdentifydebuggerGUI:1.
Opentheprojectview.
2.
ClicktheIICEicon.
3.
Selectoneofthetwopatterns(pattern0orpattern1)fromtheSelf-testdrop-downmenu.
4.
ClicktheRunSRAMtestsbutton.
ExternalMemoryInstrumentationandConfigurationStepsHAPSDeepTraceDebugIdentifyUserGuide2013Synopsys,Inc.
June201353Selecting0usesonetestpattern,andselecting1usesanotherpattern.
Toensureadequatetesting,repeatthecommandusingalternatepatternsettings.
Theself-testcanalsoberunfromthecommandlineusingthefollowingsyntax:iicesampler-runselftest1|0LOHAPSDeepTraceDebugExternalMemoryInstrumentationandConfigurationSteps2013Synopsys,Inc.
IdentifyUserGuide54June2013IdentifyUserGuide2013Synopsys,Inc.
June201355CHAPTER6SupportforInstrumentingHDLTheIdentifytoolsetfullysupportsthesynthesizablesubsetofbothVerilogandVHDLdesignlanguages.
DesignsthatcontainamixtureofVHDLandVerilogcanbedebugged–theIdentifysoftwarereadsinyourdesignfilesineitherlanguage.
TherearesomelimitationsonwhichpartsofadesigncanbeinstrumentedbytheIdentifyinstrumentor.
However,inallcasesyoucanalwaysinstru-mentallotherpartsofyourdesign.
Theinstrumentationlimitationsareusuallyrelatedtolanguagefeatures.
Theselimitationsaredescribedinthischapter.
VHDLInstrumentationLimitations,onpage56VerilogInstrumentationLimitations,onpage58SystemVerilogInstrumentationLimitations,onpage61LOSupportforInstrumentingHDLVHDLInstrumentationLimitations2013Synopsys,Inc.
IdentifyUserGuide56June2013VHDLInstrumentationLimitationsThesynthesizablesubsetsofVHDLIIEEE1076-1993andIEEE1076-1987aresupportedinthecurrentreleaseoftheIdentifydebugger.
DesignHierarchyEntitiesthatareinstantiatedmorethanoncearesupportedforinstrumenta-tionwiththeexceptionthatsignalsthathavetypecharacteristicsspecifiedbyuniquegenericparameterscannotbeinstrumented.
SubprogramsSubprogramssuchasVHDLproceduresandfunctionscannotbeinstru-mented.
Signalsandbreakpointswithinthesespecificsubprogramscannotbeselectedforinstrumentation.
LoopsBreakpointswithinloopscannotbeinstrumented.
GenericsVHDLgenericparametersarefullysupportedaslongasthegenericparam-etervaluesfortheentiredesignareidenticalduringbothinstrumentationandsynthesis.
TransientVariablesTransientvariablesdefinedlocallyinVHDLprocessescannotbeinstru-mented.
VHDLInstrumentationLimitationsSupportforInstrumentingHDLIdentifyUserGuide2013Synopsys,Inc.
June201357BreakpointsandFlip-flopInferencingBreakpointsinsideflip-flopinferringprocessescanonlybeinstrumentediftheyfollowthecodingstylesoutlinedbelow:Forflip-flopswithasynchronousreset:process(clk,reset,.
.
.
)beginifreset='0'thenreset_statements;elsifclk'eventandclk='1'thensynchronous_assignments;endif;endprocess;Forflip-flopswithsynchronousresetorwithoutreset:process(clk,.
.
.
)beginifclk'eventandclk='1'thensynchronous_assignments;endif;endprocess;Or:processbeginwaituntilclk'eventandclk='1'synchronous_assignments;endprocess;Theresetpolarityandclock-edgespecificationsaboveareonlyexemplary.
TheIdentifysoftwarehasnorestrictionswithrespecttothepolarityofresetandclock.
Acodingstylethatuseswaitstatementsmusthaveonlyonewaitstatementanditmustbeatthetopoftheprocess.
Usinganyothercodingstyleforflip-flopinferringprocesseswillhavetheeffectthatnobreakpointscanbeinstrumentedinsidethecorrespondingprocess.
Duringdesigncompilation,theIdentifyinstrumentorissuesawarningwhenthecodecannotbeinstrumented.
LOSupportforInstrumentingHDLVerilogInstrumentationLimitations2013Synopsys,Inc.
IdentifyUserGuide58June2013VerilogInstrumentationLimitationsThesynthesizablesubsetsofVerilogHDLIEEE1364-1995and1364-2001aresupported.
SubprogramsSubprogramssuchasVerilogfunctionsandtaskscannotbeinstrumented.
Signalsandbreakpointswithinthesespecificsubprogramscannotbeselectedforinstrumentation.
LoopsBreakpointswithinloopscannotbeinstrumented.
ParametersVerilogHDLparametersarefullysupported.
However,thevaluesofalltheparametersthroughouttheentiredesignmustbeidenticalduringinstru-mentationandsynthesis.
LocallyDeclaredRegistersRegistersdeclaredlocallyinsideanamedbeginblockcannotbeinstrumentedandwillnotbeofferedforinstrumentation.
Onlyregistersdeclaredinthemodulescopeandwirescanbeinstrumented.
VerilogIncludeFilesTherearenolimitationsontheinstrumentationof'includefilesthatarerefer-encedonlyonce.
Whenan'includefileisreferencedmultipletimesasshowninthefollowingexample,thefollowinglimitationsapply:Ifthekeywordmoduleorendmodule,oriftheclosing')'ofthemoduleportlistislocatedinsideamultiply-includedfile,noconstructsinsidethecorrespondingmoduleoritssubmodulescanbeinstrumented.
Ifsignificantportionsofthebodyofanalwaysblockarelocatedinsideamultiply-includedfile,nobreakpointsinsidethecorrespondingalwaysblockcanbeinstrumented.
VerilogInstrumentationLimitationsSupportforInstrumentingHDLIdentifyUserGuide2013Synopsys,Inc.
June201359Ifeithersituationisdetectedduringdesigncompilation,theIdentifyinstru-mentorissuesanappropriatewarningmessage.
Asanexample,considerthefollowingthreefiles:adder.
vFilemoduleadder(cout,sum,a,b,cin);parametersize=1;outputcout;output[size-1:0]sum;inputcin;input[size-1:0]a,b;assign{cout,sum}=a+b+cin;endmoduleadder8.
vFile`include"adder.
v"moduleadder8(cout,sum,a,b,cin);outputcout;parametermy_size=8;output[my_size-1:0]sum;input[my_size-1:0]a,b;inputcin;adder#(my_size)my_adder(cout,sum,a,b,cin);endmoduleadder16.
vFile`include"adder.
v"moduleadder16(cout,sum,a,b,cin);outputcout;parametermy_size=16;output[my_size-1:0]sum;input[my_size-1:0]a,b;inputcin;adder#(my_size)my_adder(cout,sum,a,b,cin);endmoduleThereisaworkaroundforthisproblem.
Makeacopyoftheincludefileandchangeoneparticularincludestatementtorefertothecopy.
Signalsandbreakpointsthatoriginatefromthecopiedincludefilecannowbeinstru-mented.
LOSupportforInstrumentingHDLVerilogInstrumentationLimitations2013Synopsys,Inc.
IdentifyUserGuide60June2013MacroDefinitionsThecodeinsidemacrodefinitionscannotbeinstrumented.
Ifamacrodefini-tioncontainsimportantpartsofsomeinstrumentablecode,thatcodealsocannotbeinstrumented.
Forexample,ifamacrodefinitionincludesthecasekeywordandthecontrollingexpressionofacasestatement,thecasestate-mentcannotbeinstrumented.
AlwaysBlocksBreakpointsinsideasynchronousflip-flopinferringanalwaysblockcanonlybeinstrumentedifthealwaysblockfollowsthecodingstylesoutlinedbelow:Forflip-flopswithasynchronousreset:always@(posedgeclkornegedgereset)beginif(!
reset)beginreset_statements;endelsebeginsynchronous_assignments;end;end;Forflip-flopswithsynchronousresetorwithoutreset:always@(posedgeclk)beginsynchronous_assignments;endprocess;Theresetpolarityandclock-edgespecificationsandtheuseofbeginblocksaboveareonlyexemplary.
TheIdentifyinstrumentorhasnorestrictionswithrespecttotheseotherthanrequiredbythelanguage.
Forothercodingstyles,theIdentifyinstrumentorissuesawarningthatthecodeisnotinstrumentable.
SystemVerilogInstrumentationLimitationsSupportforInstrumentingHDLIdentifyUserGuide2013Synopsys,Inc.
June201361SystemVerilogInstrumentationLimitationsThesynthesizablesubsetsofVerilogHDLIEEE1364-2005(SystemVerilog)aresupportedwiththefollowingexceptions.
TypedefsYoucancreateyourownnamesfortypedefinitionsthatyouusefrequentlyinyourcode.
SystemVerilogaddstheabilitytodefinenewnetandvariableuser-definednamesforexistingtypesusingthetypedefkeyword.
Onlytypedefsofsupportedtypesaresupported.
StructConstructAstructuredatatyperepresentscollectionsofdatatypes.
Thesedatatypescanbeeitherstandarddatatypes(suchasint,logic,orbit)or,theycanbeuser-definedtypes(usingSystemVerilogtypedef).
Signalsoftypestructurecanonlybesampledandcannotbeusedfortriggering;individualelementsofastructurecannotbeinstrumented,anditisonlypossibletoinstrument(sampleonly)anentirestructure.
Thefollowingcodesegmentillustratestheselimitations:Intheabovecodesegment,portsignalsig_oport_P_Struc_dataisapackedstructureconsistingoftwoelements(up_nibbleandlo_nibble)whichareofauser-defineddatatype.
Aselementsofastructure,theseelementscannotbeinstrumented.
Thesignalsig_oport_P_Struc_datacanbeinstrumentedforsampling,butcannotbeusedfortriggering(settingawatchpointonthesignalisnotallowed).
Ifthissignalisinstrumentedforsampleandtrigger,theIdentifyinstrumentorallowsonlysamplingandignorestriggering.
modulelddt_P_Struc_top(inputsig_clk,sig_rst,.
.
.
outputstructpacked{logic_nibbleup_nibble;logic_nibblelo_nibble;}sig_oport_P_Struc_data);Cannotbeinstrumented(nosamplingandnotriggering)Instrumentableonlyforsampling;notriggeringLOSupportforInstrumentingHDLSystemVerilogInstrumentationLimitations2013Synopsys,Inc.
IdentifyUserGuide62June2013UnionConstructAunionisacollectionofdifferentdatatypessimilartoastructurewiththeexceptionthatmembersoftheunionsharethesamememorylocation.
Unionsarenotsupportedforinstrumentationanditisnotpossibletoselectauniondatatypesignalforeithersamplingortriggering.
Thefollowingcodesegmentillustratesthislimitation:Intheabovecode,portsignalssig_iport_P_Union_dataandsig_oport_P_Union_dataareoftypeunion.
Codethatincludesunionconstructscompilessuccessfullywithouterrorinthesynthesistool,butisdisabledforinstrumentationintheIdentifyinstrumentor.
ArraysArrayshavingmorethanonedimensioncannotbeinstrumentedfortriggering.
Thefollowingcodesegmentillustratestheselimitation:Intheabovecodesegment,waddress,waddress1,andraddressareonedimen-sionalpackedarrays.
Thesesignalscanbeinstrumentedforbothsamplingandtriggering.
Signalsdataanddata1are2-dimensionalarrays.
Thesesignalscanonlybeinstrumentedforsampling,andtriggeringisnotallowed.
modulelddt_P_Union_top(inputsig_clk,sig_rst,inputunionpacked{type_P_Struc_datapktP_Struc_data;logic[7:0][7:0]P_Array_data;}sig_iport_P_Union_data,outputunionpacked{type_P_Struc_datapktP_Struc_data;logic[7:0][7:0]P_Array_data;}sig_oport_P_Union_data);Cannotbeinstrumented(nosamplingandnotriggering)moduletest(clock,waddress,waddress1,raddress,we,data,data1,q,q1);inputclock;input[8:0]waddress,waddress1,raddress;inputwe;input[255:0][31:0]data,data1;outputreg[31:0]q,q1;InstrumentedforsamplingonlySystemVerilogInstrumentationLimitationsSupportforInstrumentingHDLIdentifyUserGuide2013Synopsys,Inc.
June201363Partialinstrumentationofmulti-dimensionalandmulti-dimensionalarraysofstructisnotpermitted,andinstrumentationofmulti-dimensionalarraysofpackedunionsisnotsupported.
InterfaceInterfaceandinterfaceitemsarenotsupportedforinstrumentationandcannotbeusedforsamplingortriggering.
Thefollowingcodesegmentillus-tratesthislimitation:interfaceff_if(inputlogicclk,inputlogicrst,inputlogicdin,outputlogicdout);modportwrite(inputclk,inputrst,inputdin,outputdout);endinterface:ff_ifmoduletop(inputlogicclk,inputlogicrst,inputlogicdin,outputlogicdout);ff_ifff_if_top(.
clk(clk),.
rst(rst),.
*);sffUUT(.
ff_if_0(ff_if_top.
write));endmoduleIntheabovecodesegment,theinterfaceinstantiationofinterfaceff_ifisff_if_topwhichcannotbeinstrumented.
Similarly,interfaceitemmodportwritecannotbeinstrumented.
PortConnectionsforInterfacesandVariablesInstrumentationofnamedportconnectionsoninstantiationstoimplicitlyinstantiateportsisnotsupported.
PackagesPackagespermitthesharingoflanguage-defineddatatypes,typedefuser-definedtypes,parameters,constants,functiondefinitions,andtaskdefini-tionsamongoneormorecompilationunits,modules,orinterfaces.
Instru-mentationwithinapackageisnotsupported.
ConcatenationSyntaxTheconcatenationsyntaxonanarraywatchpointsignalisnotacceptedbytheIdentifydebugger.
Toillustrate,considerasignaldeclaredas:bit[3:0]sig_bit_type;LOSupportforInstrumentingHDLSystemVerilogInstrumentationLimitations2013Synopsys,Inc.
IdentifyUserGuide64June2013Tosetawatchpointonthissignal,theacceptedsyntaxintheIdentifydebuggeris:watchenable–iiceIICE{/sig_bit_type}{4'b1001}The4-bitvectorcannotbedividedintosmallervectorsandconcatenated(asacceptedinSystemVerilog).
Forexample,thebelowsyntaxisnotaccepted:watchenable–iiceIICE{/sig_bit_type}{{2'b10,2'b01}}IdentifyUserGuide2013Synopsys,Inc.
June201365CHAPTER7IdentifyInstrumentorTheIdentifyinstrumentorperformsthefollowingfunctions:definestheinstrumentationfortheuser'sHDLdesigncreatestheinstrumentedHDLdesigncreatestheassociatedIICEcreatesthedesigndatabaseTheremainderofthischapterdescribes:IdentifyInstrumentorWindowsCommandsandProceduresIdentifyInstrumentorWindowsTheGraphicalUserInterface(GUI)fortheIdentifyinstrumentorisdividedintothefollowingthreemajorareas:InstrumentationWindowProjectWindowConsoleWindowLOIdentifyInstrumentorIdentifyInstrumentorWindows2013Synopsys,Inc.
IdentifyUserGuide66June2013Inthissection,eachoftheseareasandtheirusesisdescribed.
Thefollowingdiscussionsassumethataproject(withanHDLdesign)hasbeenloadedintotheIdentifyinstrumentor.
InstrumentationWindowTheinstrumentationwindowincludesahierarchybrowserontheleftandthesource-codedisplayontheright.
Thewindowisdisplayedwhenyouopenasynthesisproject(prj)fileintheIdentifyinstrumentorbyeitherlaunchingtheIdentifyinstrumentorfromasynthesisprojectorexplicitlyloadingasynthesisprojectintotheIdentifyinstrumentor.
HierarchyBrowserThehierarchybrowserontheleftshowsagraphicalrepresentationofthedesign'shierarchy.
AtthetopofthebrowseristheROOTnode.
TheROOTnoderepresentsthetop-levelentityormoduleofyourdesign.
ForVHDLdesigns,thefirstlevelbelowtheROOTisthearchitectureofthetop-levelentity.
Thelevelbelowthetop-levelarchitectureforVHDLdesigns,orbelowtheROOTforVerilogdesigns,showstheentitiesormodulesinstantiatedatthetoplevel.
HierarchyBrowserSource-CodeDisplayIdentifyInstrumentorWindowsIdentifyInstrumentorIdentifyUserGuide2013Synopsys,Inc.
June201367Clickingona+signopenstheentity/moduleinstancesothatthehierarchybelowthatinstancecanbeviewed.
Lowerlevelsofthebrowserrepresentinstantiations,casestatements,ifstatements,functionaloperators,andotherstatements.
Singleclickingonanyelementinthehierarchybrowsercausestheassoci-atedHDLcodetobevisibleintheadjacentsourcecodedisplay.
Apopupmenuisavailableinthehierarchybrowsertosetorclearbreak-pointsorwatchpointsatanylevelofthehierarchy.
Positioningthecursoroveranelementandclickingtherightmousebuttondisplaysthefollowingmenu.
Theselectedoperationisappliedtoallbreakpointsorsignalwatchpointsattheselectedlevelofhierarchy.
Note:Youcannotinstrumentsignalswhenasampleclockisincludedinthedefinedgroup.
LOIdentifyInstrumentorIdentifyInstrumentorWindows2013Synopsys,Inc.
IdentifyUserGuide68June2013ThepopupmenufunctionscanbeduplicatedintheconsolewindowusingtheIdentifyinstrumentorhierarchycommandincombinationwitheithertheIdentifyinstrumentorbreakpointsorsignalscommand.
AtypicalIdentifyinstru-mentorcommandsequencetoinstrumentthesignalsetwithinadesignwouldbe:signalsadd[hierarchyfind-typesignal/]Intheabovesequence,theslash(/)indicatesthatallofthesignalsintheroothierarchy(entiredesign)aretobeinstrumented.
Ifyouspecifyalowerlevelofhierarchyfollowingtheslash,thecommandonlyappliestothathierarchicallevel.
FormoreinformationontheIdentifyinstrumentorbreakpoints,signals,andhierarchycommands,seetheReferenceManual.
Black-boxmodulesarerepresentedbyablackicon,andtheircontentscannotbeinstrumented.
Also,certainmodulescannotbeinstrumented(seeChapter6,SupportforInstrumentingHDL,foraspecificdescription).
Modulesthatcannotbeinstrumentedaredisplayedinadisabledstateinagreyfont.
SourceCodeDisplayTheHDLsourcecodeinthesourcecodedisplayisannotatedwithsignalsthatcanbeprobedandbreakpointsthatcanbeselected.
SignalsthatcanbeselectedforprobingbytheIICEareunderlined,coloredinblue,andhavesmallwatchpointiconsnexttothem.
Sourcelinesthatcanbeselectedasbreakpointshavesmallcirculariconsintheleftmarginadjacenttothelinenumber.
IdentifyInstrumentorWindowsIdentifyInstrumentorIdentifyUserGuide2013Synopsys,Inc.
June201369ProjectWindowTheprojectwindowisdisplayedwhenyoufirststartuptheIdentifyinstru-mentor(toinvoketheIdentifyinstrumentor,seeProjectsintheIdentifyInstrumentor,onpage24).
TheprojectwindowincludesasetofprojectmanagementbuttonsandasymbolicviewoftheprojectontheleftandanareaforsettingthecommonIICEparametersontheright(theareabelowthecommonIICEparametersshowsthetop-levelunitwhenthedesignwascompiled).
Theprojectwindowcanbedisplayedatanytimebyclickingtheprojectnametabthatremainsvisiblewhenaninstrumentationwindowisdisplayed.
CommonIICEProjectButtonsProjectSymbolsParametersTop-LevelUnitLOIdentifyInstrumentorIdentifyInstrumentorWindows2013Synopsys,Inc.
IdentifyUserGuide70June2013ConsoleWindowTheconsolewindowappearsbelowtheprojectorinstrumentationwindowanddisplaysahistoryofIdentifyinstrumentorcommandsthathavebeenexecuted,includingthoseexecutedbymenuselectionsandbuttonclicks.
TheIdentifyinstrumentorconsolewindowallowsyoutoentercommandsaswellastoviewtheresultsofthosecommands.
Commandhistoryrecordingisavailablethroughatranscriptcommand(seetheReferenceManual).
Whenyousaveyourinstrumentation(clickSaveproject'sactiveimplementation),theinformationatthebottomofthedisplayreportsthetotalnumberofinstrumentedsignalstoimplementineachIICE.
TodisplaytheresourceestimatesfortheFPGAdevice,clicktheIICEsresourceestimationicon.
CommandsandProceduresIdentifyInstrumentorIdentifyUserGuide2013Synopsys,Inc.
June201371CommandsandProceduresThefollowingsectionsdescribebasicIdentifyinstrumentorcommandsandprocedures.
OpeningProjectsTolaunchtheIdentifyinstrumentorfromtheSynopsyssynthesistool(Synplify,SynplifyPro,SynplifyPremier,orCertify)graphicalinterface:1.
RightclickontheimplementationandselectNewIdentifyImplementationfromthepopupmenu.
2.
Set/verifyanytechnology,devicemapping,orotherpertinentoptions(seetheimplementationoptiondescriptionsintheSynopsysFPGASynthesisorCertifyUserGuide)andclickOK.
Anew,Identifyimplementationisaddedtothesynthesistoolprojectview.
3.
EitherrightclickontheIdentifyimplementationandselectLaunchIdentifyInstrumentorfromthepopupmenuorclicktheLaunchIdentifyInstrumentortoolbaricontolaunchtheIdentifyinstrumentor.
LaunchingtheIdentifyinstrumentorfromaSynopsyssynthesistool:BringsuptheIdentifyinstrumentorgraphicalinterface.
IdentifyImplementationLOIdentifyInstrumentorCommandsandProcedures2013Synopsys,Inc.
IdentifyUserGuide72June2013Extractsthelistofdesignfiles,theirworkdirectories,andthedevicefamilyfromtheprjfile.
AutomaticallycompilesthedesignfilesusingthesynthesistoolcompileranddisplaysthedesignhierarchyandtheHDLfilecontentwithallthepotentialinstrumentationmarkedandavailableforselection.
WhenimportingasynthesistoolprojectintotheIdentifyinstrumentor,theworkingdirectoryisautomaticallysetfromthecorrespondingprojectfile.
SeeChapter3,ProjectHandling,fordetailsonsettingupandmanagingprojects.
ExecutingScriptFilesAscriptfileisafilethatcontainsIdentifyinstrumentorTclcommands.
Ascriptfileisaconvenientwaytocaptureacommandsequenceyouwouldliketorepeat.
Toexecuteascriptfile,selecttheFile->ExecuteScriptmenuselectionintheIdentifyinstrumentoruserinterfaceandnavigatetothelocationofyourscriptfileorusethesourcecommand(seeChapter4,AlphabeticalCommandReference,intheReferenceManual).
SelectingSignalsforDataSamplingToselectasignaltobesampled,simplyclickonthewatchpointiconnexttothesignalnameintheIdentifyinstrumentorinstrumentationwindow;apopupmenuappearsthatallowsthesignaltobeselectedforsampling,triggering,orboth.
Tocontroltheoverheadforthetriggerlogic,alwaysinstrumentsignalsthatarenotneededfortriggeringwiththeSampleonlyselection(thewatchpointiconisblueforsample-onlysignals).
ScalarSignalPopupBusSignalPopupCommandsandProceduresIdentifyInstrumentorIdentifyUserGuide2013Synopsys,Inc.
June201373QualifiedclocksignalscanbespecifiedastheSampleClock(seeSampleClock,onpage41)andbussegmentscanbeindividuallyspecified(seeInstrumentingBuses,onpage75).
Inaddition,signalsspecifiedasSampleandtriggerorSampleonlycanbeincludedinmuxgroups(seeMultiplexedGroups,onpage79).
Iftheiconisclear(unfilled),thesignalisdisabledforsampling(notinstru-mented),andiftheiconisred,thesignalisenabledfortriggeringonly.
Iftheiconisblue,thesignalisenabledforsamplingonly,andiftheiconisgreen,thesignalisenabledforbothsamplingandtriggering.
Intheexamplebelow,noticethatwhensignal"grant1"isenabled,theconsolewindowdisplaysthetextcommandthatimplementstheselectionandtheresultsofexecutingthecommand.
SignalsthatcanbeselectedLOIdentifyInstrumentorCommandsandProcedures2013Synopsys,Inc.
IdentifyUserGuide74June2013Todisableasignalforsamplingortriggering,selectthesignalintheIdentifyinstrumentorinstrumentationwindowandthenselectNotinstrumentedfromthepopupmenu;thewatchpointiconwillagainbeclear(unfilled).
Note:YoucanuseFindtorecursivelysearchforsignalsandtheninstru-mentselectedsignalsdirectlyfromtheFinddialogbox(seeSearchingforDesignObjects,onpage94).
Signal"grant1"selectedCommandsandProceduresIdentifyInstrumentorIdentifyUserGuide2013Synopsys,Inc.
June201375InstrumentingBusesEntirebusesorindividualorgroupsofbitsofabuscanbeindependentlyinstrumented.
InstrumentingaPartialBusToinstrumentasequence(range)ofbitsofabus:1.
PlacethecursoroverabusthathasnotbeenfullyinstrumentedandselectAddpartialinstrumentationtodisplaythefollowingdialogbox.
2.
Inthedialogbox,enterthemost-andleast-significantbitsintheMSBandLSBfields.
Notethatthebitrangespecifiediscontiguous;toinstrumentnon-contiguousbitranges,seethesection,InstrumentingNon-ContiguousBitsorBitRanges,onpage76.
Note:WhenspecifyingtheMSBandLSBvalues,theindexorderofthebusmustbefollowed.
Forexample,whendefiningapartialbusrangeforbus[63:0](or"63downto0"),theMSBvaluemustbegreaterthantheLSBvalue.
Similarly,forbus[0:63](or"0upto63"),theMSBvaluemustbelessthattheLSBvalue.
3.
Selectthetypeofinstrumentationforthespecifiedbitrangefromthedrop-downmenuandclickOK.
WhenyouclickOK,alargeletter"P"isdisplayedtotheleftofthebusnameinplaceofthewatchpointicon.
Thecolorofthisletterindicatesifthepartialbusisenabledfortriggeringonly(red),forsamplingonly(blue),orforbothsamplingandtriggering(green).
LOIdentifyInstrumentorCommandsandProcedures2013Synopsys,Inc.
IdentifyUserGuide76June2013InstrumentingSingleBitsofaBusToinstrumentasinglebitofabus,enterthebitvalueintheMSBfieldoftheAddpartialbusdialogbox,leavetheLSBfieldblank,andselecttheinstrumen-tationtypefromthedrop-downmenuaspreviouslydescribed.
InstrumentingNon-ContiguousBitsorBitRangesToinstrumentnon-contiguousbitsorbitranges:1.
Instrumentthefirstbitrangeorbitasdescribedinoneofthetwoprevioussections.
2.
Re-positionthecursoroverthebus,clicktherightmousebutton,andagainselectAddpartialinstrumentationtoredisplaytheAddpartialbusdialogbox.
Notethatthepreviouslyinstrumentedbitorbitrangeisnowdisplayed.
3.
Specifythebitorbitrangetobeinstrumentedaspreviouslydescribed,selectthetypeofinstrumentationfromthedrop-downmenu,andclickOK.
Ifthetypeofinstrumentationisdifferentfromtheexistinginstrumentation,theletter"P"willbeyellowtoindicateamixtureofinstrumentationtypes.
Note:Bitscannotoverlapgroups(abitcannotbeinstrumentedmorethanonce).
CommandsandProceduresIdentifyInstrumentorIdentifyUserGuide2013Synopsys,Inc.
June201377ChangingtheInstrumentationTypeTochangetheinstrumentationtypeofapartialbus:1.
Positionthecursoroverthebusandclicktherightmousebutton.
2.
Highlightthebitrangeorbittobechangedandselectthenewinstrumentationtypefromtheadjacentmenu.
Note:TheaboveprocedureisalsousedtoremovetheinstrumentationfromabitorbitrangebyselectingNotinstrumentedfromthemenu.
PartialInstrumentationPartialinstrumentationallowsfieldswithinarecordorastructuretobeindividuallyinstrumented.
Selectingacompatiblesignalforinstrumentation,eitherintheRTLwindoworthroughtheFinddialogbox,enablesthepartialinstrumentationfeatureanddisplaysadialogboxwherethefieldnameanditstypeofinstrumentationcanbeentered.
Wheninstrumented,thesignalisdisplayedwithaPiconinplaceofthewatchpoint(glasses)icontoindicatethatportionsoftherecordareinstru-mented.
ThePiconisthesameiconthatisusedtoshowpartialinstrumenta-tionofabusandusesasimilarcolorcoding:GreenindicatesthatallfieldsoftherecordareinstrumentedforsampleandtriggerBlueindicatesthatallfieldsoftherecordareinstrumentedforsampleonlyLOIdentifyInstrumentorCommandsandProcedures2013Synopsys,Inc.
IdentifyUserGuide78June2013PinkindicatesthatallfieldsoftherecordareinstrumentedfortriggeronlyYellowindicatesthatnotallfieldsoftherecordareinstrumentedthesamewayThefigurebelowshowsthepartialinstrumentationicononsignaltt.
Theyellowcolorindicatesthattheindividualfields(tt.
r2andtt.
c2)areassigneddifferenttypesofinstrumentation.
TheFinddialogalsousesthepartialinstrumentationicontoshowthestateofinstrumentationonfieldsofpartiallyinstrumentedrecords.
Note:Partialinstrumentationcanonlybeaddedtoafieldorrecordoneslice-leveldowninthesignalhierarchy.
CommandsandProceduresIdentifyInstrumentorIdentifyUserGuide2013Synopsys,Inc.
June201379MultiplexedGroupsMultiplexedgroupsallowsignalstobeassignedtologicalgroups.
Usingmultiplexedgroupscansubstantiallyreducetheamountofpatternmemoryrequiredduringsubsequentdebuggingwhenallofinstrumentedsignalsarenotrequiredtobeloadedintomemoryatthesametime.
OnlysignalsorbusesthatareinstrumentedaseitherSampleandtriggerorSampleonlycanbeaddedtoamultiplexedgroup.
Tocreatemultiplexedgroups,rightclickoneachindividualinstrumentedsignalorbusandselectAddmuxgroupfromthepopupmenu.
IntheAddmuxgroupdialogboxdisplayed,selectacorrespondinggroupbycheckingthegroupnumberandthenclickOKtoassigntothesignalorbustothatgroup.
AsignalcanbeincludedinmorethanonegroupbycheckingadditionalgroupnumbersbeforeclickingOK.
Whenassigninginstrumentedsignalstogroups:Amaximumofeightgroupscanbedefined;signalscanbeincludedinmorethanonegroup,butonlyonegroupcanbeactiveintheIdentifydebuggeratanyonetime.
SignalsinstrumentedasSampleClockorTriggeronlycannotbeincludedinmultiplexedgroups.
Partialbusescannotbeassignedtomultiplexedgroups.
LOIdentifyInstrumentorCommandsandProcedures2013Synopsys,Inc.
IdentifyUserGuide80June2013Thesignalsgroupcommandcanbeusedtoassigngroupsfromtheconsolewindow(seesignals,onpage79oftheReferenceManual).
Commandoptionsallowmorethanoneinstrumentedsignaltobeassignedinasingleoperationandallowtheresultantgroupassign-mentstobedisplayed.
ForinformationonusingmultiplexedgroupsintheIdentifydebuggerseeSelectingMultiplexedInstrumentationSets,onpage109.
SamplingSignalsinaFoldedHierarchyWhenadesigncontainsentitiesormodulesthatareinstantiatedmorethanonce,itistermedtohaveafoldedhierarchy(foldedhierarchiesalsooccurwhenmultipleinstancesarecreatedwithinagenerateloop).
Bydefinition,therewillbemorethanoneinstanceofeverysignalinafoldedentityormodule.
Toallowyoutoinstrumentaparticularinstanceofafoldedsignal,theIdentifyinstrumentorautomaticallyrecognizesfoldedhierarchiesandpresentsachoiceofallpossibleinstancesofeachsignalwiththehierarchy.
Thechoicesaredisplayedintermsofanabsolutesignalpathnameoriginatingatthetop-levelentityormodule.
Thelistofchoicesforaparticularsignalisaccessedbyclickingthewatchpointiconorcorre-spondingsignal.
Theexamplebelowconsistsofatop-levelentitycalledtwo-levelandtwoinstancesoftherepeated_unitentity.
Thesourcecodeofrepeated_unitisdisplayed,andthelistofinstancesofthevalsignalisdisplayedbyclickingonthewatchpointiconorthesignalname.
Twoinstancesofthesignalvalareavailableforsampling:/rtl/cnt_inst0/val/rtl/cnt_inst1/valEither,orboth,oftheseinstancescanbeselectedforsamplingbyselectingthesignalinstanceandthenslidingthecursorovertoselectthetypeofsamplingtobeinstrumentedforthatsignalinstance.
CommandsandProceduresIdentifyInstrumentorIdentifyUserGuide2013Synopsys,Inc.
June201381Thecolorofthewatchpointiconisdeterminedasfollows:Ifnoinstancesofthesignalareselected,thewatchpointiconisclear.
Ifsome,butnotall,instancesofthesignalaredefinedforsampling,thewatchpointiconisyellow.
Ifallinstancesaredefinedforsampling,thecolorofthewatchpointiconisdeterminedbythetypeofsamplingspecified(allinstancessampleonly:blue,allinstancestriggeronly:red,allinstancessampleandtrigger:green,allinstancesinanycombination:yellow).
Alternately,anyoftheinstancesofafoldedsignalcanbeselectedordeselectedattheIdentifyinstrumentorconsolewindowpromptbyusingtheabsolutepathnameoftheinstance.
Forexample,signalsadd/rtl/cnt_inst1/valSeetheReferenceManualformoreinformation.
Todisableaninstanceofasignalthatiscurrentlydefinedforsampling,clickonthewatchpointiconorsignal,selecttheinstancefromthelistdisplayed,andselectNotinstrumented.
ForrelatedinformationonfoldedhierarchiesintheIdentifydebugger,seeActivating/DeactivatingFoldedInstrumentation,onpage110andDisplayingDatafromFoldedSignals,onpage119.
ThelistofinstrumentableinstancesofsignalvalLOIdentifyInstrumentorCommandsandProcedures2013Synopsys,Inc.
IdentifyUserGuide82June2013InstrumentingSignalsDirectlyintheidcFileInadditiontothemethodsdescribedintheprevioussections,signalscanbeinstrumenteddirectlywithinthesrsfileinthesynthesistooloutsideoftheIdentifyinstrumentor.
Thismethodologyfacilitatesupdatestoapreviousinstrumentationandalsoallowssignalswithinaparameterizedmodule,whichwerepreviouslyunavailableforinstrumentation,tobesuccessfullyinstrumented.
Thistechniqueisreferredtoas"post-compileinstrumenta-tion.
"Toinstrumentasignaldirectlywithinthesynthesistoolusingthistechnique:1.
Compiletheexistinginstrumenteddesigninthesynthesistool.
2.
OpentheRTLview(srsfile)inthesynthesistool.
3.
Highlightthenetofthesignaltobeinstrumented.
4.
Withthenethighlighted,clicktherightmousebutton,selectIdentify-CopyTCLfromthepopupmenu,andselectthetypeofinstrumentationtobeapplied.
.
5.
Createaneworopenanexistingidentify.
idcfileinthedesignName/rev_ndirectoryandpastethesignalstringintothefile.
Thefollowingfigureshowsthecntrl_ack_o_0_sqmuxasignal(fromtheblock_xferblock)online10beingpastedintothefileasasample-onlysignal.
CommandsandProceduresIdentifyInstrumentorIdentifyUserGuide2013Synopsys,Inc.
June201383Note:Ifyouarecreatinganewidentify.
idcfile,youmustaddtheIICEdefinitiononlines1,2,and3tothebeginningofthefileasshownintheabovefigure.
6.
Edittheentryandaddan-iiceoptiontothelineasshownintheexamplebelow(theCopyTCLcommanddoesnotautomaticallyincludetheIICEunitintheentry):signalsadd-iice{IICE}-sample{/SRS/blk_xfer_inst/cntrl_ack_o_0_sqmuxa}7.
Savetheeditedidentify.
idcfileandrerunsynthesis.
WhenyouopentheIdentifydebugger,anSRSentryisincludedinthehierarchybrowser;selectingthisentrydisplaystheadditionalsignalorsignalsaddedtotheidentify.
idcfile.
SelectingasignalintheinstrumentationwindowbringsuptheWatchpointSetupdialogboxtoallowatriggerexpressiontobeassignedtothedefinedsignal.
Notethattriggerexpressionsonsignalsaddedtotheidentify.
idcfilemustusetheVHDLstyleformat.
LOIdentifyInstrumentorCommandsandProcedures2013Synopsys,Inc.
IdentifyUserGuide84June2013SelectingBreakpointsBreakpointsareusedtotriggerdatasampling.
OnlythebreakpointsthatareinstrumentedintheIdentifyinstrumentorcanbeenabledastriggersintheIdentifydebugger.
ToinstrumentabreakpointintheIdentifyinstrumentor,simplyclickonthecircularicontotheleftofthelinenumber.
Thecoloroftheiconchangestogreenwhenenabled.
Onceabreakpointisinstrumented,theIdentifyinstrumentorcreatestriggerlogicthatbecomesactivewhenthecoderegioninwhichthebreakpointresidesisactive.
Intheaboveexample,thecoderegionoftheinstrumentedbreakpointisactiveifthevariablecurrent_stateisstatezero(s_ZERO)andthesignalclrisnot'0'whentheclockeventoccurs.
SelectingBreakpointsResidinginFoldedHierarchyIfadesigncontainsentitiesormodulesthatareinstantiatedmorethanonce,thedesignistermedtohavefoldedhierarchy.
Bydefinition,therewillbemorethanoneinstanceofeverybreakpointinafoldedentityormodule.
Toallowyoutoinstrumentaparticularinstanceofafoldedbreakpoint,theIdentifyinstrumentorautomaticallydetectsfoldedhierarchyandpresentsachoiceofallpossibleinstancesofeachbreakpoint.
Breakpointonline23enabledCommandsandProceduresIdentifyInstrumentorIdentifyUserGuide2013Synopsys,Inc.
June201385Thechoicesaredisplayedintermsofanabsolutebreakpointpathnameoriginatingatthetop-levelentityormodule.
Thelistofchoicesforapartic-ularbreakpointisaccessedbyclickingonthebreakpointicontotheleftofthelinenumber.
Theexamplebelowconsistsofatop-levelentitycalledtopandtwoinstancesoftherepeated_unitentity.
Thesourcecodeofrepeated_unitisdisplayed;thelistofinstancesofthebreakpointonline100isdisplayedbyclickingonthebreakpointiconnexttothelinenumber.
Asshowninthefollowingfigure,threeinstancesofthebreakpointareavailableforsampling.
Anyorallofthesebreakpointscanbeselectedbyclickingonthecorre-spondinglineentryinthelistdisplayed.
Thecolorofthebreakpointiconisdeterminedasfollows:Ifnoinstancesofthebreakpointareselected,theiconisclearincolor.
Ifsome,butnotall,instancesofthebreakpointareselected,theiconisyellow.
Ifallinstancesareselected,theiconisgreen.
Alternately,anyoftheinstancesofafoldedbreakpointcanbeselectedordeselectedattheIdentifyinstrumentorconsolewindowpromptbyusingtheabsolutepathnameoftheinstance.
Forexample,breakpointsadd/rtl/inst0/rtl/process_18/if_20/if_23/repeated_unit.
vhd:24SeetheReferenceManualformoreinformation.
Foldedbreakpointonline100selectedLOIdentifyInstrumentorCommandsandProcedures2013Synopsys,Inc.
IdentifyUserGuide86June2013Thelinesinthelistofbreakpointinstancesacttotoggletheselectionofaninstanceofthebreakpoint.
Todisableaninstanceofabreakpointthathasbeenpreviouslyselected,simplyselecttheappropriatelineinthelistbox.
ConfiguringtheIICEIftheIICEconfigurationparametersfortheactiveIICEneedtobechanged,usetheActions->ConfigureIICEmenuselectionortheEditIICEsettingsicontochangethem.
Chapter4,IICEConfiguration,discusseshowtosettheseparametersforbothsingle-andmulti-IICEconfigu-rationsandfortheHAPSdeeptracedebugfeature.
Real-timeDebuggingReal-timedebuggingisafeaturethatallowsusersofHAPS-50andHAPS-60seriesboardstoprovidescopeorlogicanalyzeraccesstoinstrumentedsignalsdirectlythroughaMictorboardinterfaceconnectorinstalledontheHAPSboard.
Theuseofthisfeaturerequires:AHAPS-50orHAPS-60seriesboardOneormoreMictorboardsinstalledinHapsTrakIIconnectorsSynopsysHAPSdevicefamilyspecifiedinthesynthesistoolEnablingtheReal-timeDebuggingFeatureThereal-timedebuggingfeaturecanbeusedonlywhentheaboverequire-mentsaremet.
Tousereal-timedebugging,aspecialIICEisdefinedineithertheuserinterfaceorbycommandentryintheconsolewindow.
TospecifytheIICEfromtheuserinterface,opentheProjectviewandclicktheNewIICEbuttontodisplaythefollowingdialogbox.
SelecttheRTDradiobuttonandclickOK.
CommandsandProceduresIdentifyInstrumentorIdentifyUserGuide2013Synopsys,Inc.
June201387TodefinetheIICEfromtheconsolewindow,entertheiicenewcommand:iicenew[iiceID]-typertdInthecommandsyntax,iiceIDisthenameofthenewIICEand,ifomitted,defaultstoanincrementalnumber(forexample,IICE_0).
Eitheroftheabovemethodscreatesanew,real-timeIICEforthedesignwithallofthesignals"notinstrumented.
"ThisnewIICEisidentifiedbythe"R"symbolintheIICEtab.
Beforeyoucaninstrumentanyofthesignals,youmustconfiguretheHAPSSettingstabasoutlinedinthenextsection.
HAPSSettingsTabTheHAPSSettingstabforthereal-timedebuggingfeatureincludesadrop-downmenuforselectingtheHAPSboardtypeandasetofMictorboardlocationcheckboxes.
TheavailableboardselectionsaredeterminedbytheSynopsysHAPSdeviceselectionontheDevicetaboftheImplementationOptionsdialogboxinthesynthesistool.
WhenaHAPS-60baseddeviceistargeted,theavailableselectionsareHAPS-61,HAPS-62,andHAPS-64asshowninthefollowingfigure.
Similarly,whenaHAPS-50baseddeviceistargeted,theavailableradiobuttonsareHAPS-51,HAPS-52,andHAPS-54.
TheMictordaughterboardlocationcheckboxesidentifythecorrespondingHapsTrakIIconnectorlocation.
Real-timeIICETabLOIdentifyInstrumentorCommandsandProcedures2013Synopsys,Inc.
IdentifyUserGuide88June2013OntheIICESamplertab:1.
SpecifytheHAPSboardyouareusingfromtheBoarddrop-downmenu.
2.
SpecifyoneormoreMictorboardHapsTrakIIconnectorlocationsbyclickingontheconnectornumber.
3.
Whenfinishedwiththeaboveentries,clicktheOKbuttonatthebottomofthetab.
InstrumentingtheReal-TimeDebugSignalsInstrumentingsignalsforreal-timedebuggingissimilartonormalinstru-mentationinthatsignalwatchpointsandbreakpointsareidentifiedandactivatedintheinstrumentationwindow.
Theexceptionisthattheonlywatchpointselectionavailablefromthepopupmenuforreal-timedebuggingsignalsisSampleonly.
CommandsandProceduresIdentifyInstrumentorIdentifyUserGuide2013Synopsys,Inc.
June201389ViewingtheSignalAssignmentsWatchpointedsignalsareautomaticallyassignedtothespecifiedMictordaughterboardpinlocations.
TheseassignmentsarelistedintheChangemappingdialogbox.
Todisplaythedialogbox,clickthe'R'icon(Change'RTD'typeIICEsignals/breakpointsmapping)inthetopmenubar.
Individualassignmentscanbechangedbyhighlightingtheassignmenttobechangedandtheneither:movingtheassignmentupordownusingtheUporDownbuttons.
clickingtheAssignbuttontodisplaytheAssignmappingdialogboxandthenselectingthenewpinlocationfromthedrop-downmenuandclickingOK.
LOIdentifyInstrumentorCommandsandProcedures2013Synopsys,Inc.
IdentifyUserGuide90June2013LogicAnalyzerInterfaceThelogicanalyzerinterfaceattheMictorconnectorisconfiguredintheIdentifydebugger(seeLogicAnalyzerInterfaceParameters,onpage137).
WritingtheInstrumentedDesignTocreatetheinstrumenteddesign,youmustfirstcompletethefollowingsteps:1.
Defineasynthesisprojectwithallsourcefilesdefined2.
SpecifyIICEparameters/HAPSsettings3.
Selectsignalstosample4.
Selectbreakpointstoinstrument5.
OptionallyincludetheoriginalHDLsourceNote:ToincludetheoriginalHDLsourcewiththeproject,selectOptions->InstrumentationpreferencefromthemenutodisplaytheInstru-mentationPreferencesdialogboxandselecttheSaveoriginalsourceininstrumentationdirectorycheckbox.
Iftheoriginalsourceistobeencrypted,additionallyselecttheUseencryptioncheckbox.
SelectingSaveoriginalsourceininstrumentationdirectorysavestheoriginalHDLsourcetotheorig_sourcessubdirectoryintheinstrumentationdirec-torywhenyouinstrumentyourdesign.
Finally,clickontheSaveproject'sactiveinstrumentationicontocaptureyourinstrumentation.
Savingaproject'sinstrumentationgeneratesaninstrumentationdesignconstraints(idc)fileandaddscompilerpragmasintheformofconstraintfilestothedesignRTLfortheinstrumentedsignalsandbreakpoints.
Thisinformationisthenusedbythesynthesistooltoincorporatetheinstrumentationlogic(IICEandCOMMblocks)intothesynthesizednetlist.
IfyouareincludinganencryptedHDLsource(Useencryptionboxchecked),youarefirstpromptedtosupplyapasswordfortheencryption.
CommandsandProceduresIdentifyInstrumentorIdentifyUserGuide2013Synopsys,Inc.
June201391IncludingOriginalHDLSourceIncludingtheoriginalHDLsourcewiththeinstrumentedprojectsimplifiesdesigntransferwheninstrumentationanddebuggingareperformedonseparatemachinesandisespeciallyusefulwhenadesignisbeingdebuggedonasystemthatdoesnothaveaccesstotheoriginalsources.
AsexplainedinDebuggingonaDifferentMachine,onpage127,youcansimplycopytheentireimplementationdirectorytothedebugsystem;theIdentifyprojectwillbeabletolocatetheoriginalsourcesfordisplay.
ToincludetheoriginalHDLsource,selecttheSaveoriginalsourceininstrumentationdirectorycheckboxfromtheInstrumentorPreferencesdialogbox(Options->Instru-mentationpreferences)beforeyousaveandinstrumentyourproject.
Thecleartextorencryptedsourceisincludedintheorig_sourcessubdirectory.
WhentheUseencryptioncheckboxisadditionallyselected,theoriginalsourcesareencryptedwhentheyarewrittenintotheorig_sourcessubdirectory.
Theencryptionisbasedonapasswordthatisrequestedwhenyouwriteouttheinstrumentedproject.
Encryptionallowsyoutodebugonamachinethatyoufeelwouldnotbesufficientlysecuretostoreyoursources.
Afteryoutransfertheinstrumentationdirectorytotheunsecuremachine,youarepromptedtoreentertheencryptionpasswordwhenyouopentheprojectinthedebugger.
Formaximumsecuritywhenselectinganencryptionpassword:usespacestocreatephrasesoffourormorewords(multiplewordsdefeatdictionary-typematching)includenumbers,punctuationmarks,andspacesmakepasswordsgreaterthan16charactersinlengthNote:Passwordsaretheuser'sresponsibility;Synopsyscannotrecoveralostorforgottenpassword.
Thedecryptedfilesareneverwrittentotheunsecuremachine'sharddisk.
Usersarediscouragedfromtransferringtheinstr_sourcesdirectorytotheunsecuremachine,asthisdirectoryisnotrequiredfordebugging.
LOIdentifyInstrumentorCommandsandProcedures2013Synopsys,Inc.
IdentifyUserGuide92June2013SynthesizingInstrumentedDesignsWhenyousaveyourinstrumentation,thefollowingfilesandsubdirectoriesareupdatedorcreatedinthesynthesisprojectimplementationdirectory(projectName/rev_n):anidentify.
idcfiledescribingtheinstrumentedwatchpointsandbreak-points;thisfilecanbemanuallyeditedtoaddadditionalwatchpoints(seeInstrumentingSignalsDirectlyintheidcFile,onpage82).
instr_sourcessubdirectorycontaining:–theIICEcorefile(syn_dics.
v)–aSynopsysFPGAconstraintsfile(syn_dics.
sdc)–thisfileisuseddirectlybythesynthesistool–aSynopsysFPGAcompilerdesignconstraintsfile(syn_dics.
cdc)anoptionalorig_sourcessubdirectorycontainingtheoriginalHDLfilesineitherencryptedorclear-textformatanidentify.
dbencrypteddatafileNote:WheninstrumentingaVHDLfilethatisnotcompiledintotheworklibrary,makesurethatthesyn_dics.
vhdfileisincludedinthesynthesisprojectaheadoftheuserdesignfiles.
Additionally,thisfilemustbecompiledintotheworklibrary.
ListingSignalsTheIdentifyinstrumentorincludesasetofmenucommandsand,inmostcases,iconsforlistingwatchpointandbreakpointconditions.
CommandsandProceduresIdentifyInstrumentorIdentifyUserGuide2013Synopsys,Inc.
June201393ListInstrumentedSignalsToviewallofthesignalscurrentlyinstrumentedintheentiredesign,usetheActions->ShowInstrumentedSignalsmenuselectionorclicktheShowInstrumentedSignalsicon.
TheresultoflistingthesignalsisdisplayedintheFinddialogbox.
ListAllSignalsToviewallofthesignalsinthedesign,usetheActions->ShowAllSignalsmenuselection.
ListSignalsAvailableforInstrumentationToseeonlythesignalsinthedesignavailableforinstrumentation,usetheActions->ShowPossibleSignalsmenuselectionortheShowPossibleSignalsicon.
LOIdentifyInstrumentorCommandsandProcedures2013Synopsys,Inc.
IdentifyUserGuide94June2013ListInstrumentedBreakpointsTolistallofthebreakpointsthathavebeeninstrumented,usetheActions->ShowInstrumentedBreakpointsmenuselectionortheShowInstru-mentedBreakpointsicon.
ListAllBreakpointsTolistallbreakpoints,usetheActions->ShowAllBreakpointsmenuselection.
ListBreakpointsAvailableforInstrumentationTolistallofthebreakpointsthatareavailableforinstrumentation,usetheActions->ShowPossibleBreakpointsmenuselectionortheShowPossibleBreakpointsicon.
SearchingforDesignObjectsTheFinddialogboxisageneralutilitytorecursivelysearchforsignals,breakpoints,and/orinstances.
ToinvoketheFinddialogbox,usetheEdit->FindmenuselectionortheDisplayfinddialogicon.
TheFinddialogboxhasanareaforspecifyingtheobjectstofindandanareafordisplayingtheresultsofthesearch.
CommandsandProceduresIdentifyInstrumentorIdentifyUserGuide2013Synopsys,Inc.
June201395Thesearchspecificationincludestheseoptions:Oftype:–specifywhichtypeofobjecttosearchfor:breakpoint,signal,instance,or"*"(any).
Thedefaultis"*"(any).
Named:–specifyaname,orpartialnametosearchforinthedesign.
Wildcardsareallowedinthename.
Thedefaultis"*"(any).
Withstatus:–specifythestatusoftheobjecttobefound.
Thevaluescanbeinstrumented,sampletrigger,sample_only,trigger_only,not-instrumented,or"*"(any).
Thedefaultis"*"(any).
Lookin:–specifythelocationinthedesignhierarchytobegintherecur-sivesearch.
Theroot("/")isthedefaultsetting.
InIICE:–aread-onlyfieldthatindicateswhichIICEistobesearchedwhenmultipleIICEsaredefined.
TosearchanotherIICE,closetheFinddialogbox,clickthedesiredIICEtab,andreopentheFinddialogbox.
ThesearchspecificationalsoincludesaShowhiddenelementscheckbox.
Whenthischeckboxisenabled,thesearchalsoincludesobjectsthatwouldnotnormallybesearchedsuchasbreakpointsindeadcode.
SearchSpecificationSearchResultsLOIdentifyInstrumentorCommandsandProcedures2013Synopsys,Inc.
IdentifyUserGuide96June2013Thesearchresultswindowshowseachobjectfoundalongwithitshierar-chicallocation.
Inaddition,forbreakpointsandsignals,theresultswindowincludesthecorrespondingicon(watchpointorbreakpoint)thatindicatestheinstrumentationstatusofthequalifiedsignalorbreakpoint.
Tochangetheinstrumentationstatusofasignal,clickdirectlyonthewatch-pointiconandselecttheinstrumentationtypefromthepopupmenu.
YoucanusetheCtrlandShiftkeystoselectmultiplesignalsandthenapplythechangetoalloftheselectedsignals.
Totoggletheinstrumentationstatusofabreakpoint,clickthebreakpointicon.
YoualsocanusetheCtrlandShiftkeystoselectmultiplebreakpointsandthenapplythechangetoallselectedbreakpointsfromthepopupmenu.
ConsoleTextTocapturealltextwrittentotheconsole,usethelogconsolecommand(seetheReferenceManual).
Alternately,youcanclicktherightmousebuttoninsidetheconsolewindowandselectSaveConsoleOutputfromthemenu.
Tocaptureallcommandsexecutedintheconsolewindowusethetranscriptcommand(seetheReferenceManual).
Toclearthetextfromtheconsole,usetheclearcommandorclicktherightmousebuttonfromwithintheconsolewindowandselectClearfromthemenu.
IdentifyUserGuide2013Synopsys,Inc.
June201397CHAPTER8IdentifyDebuggerTheIdentifydebuggerenablesHDLdesignstobedebuggedbyinteractingwiththeinstrumentedHDLdesignimplementedinthetargethardwaresystem.
YoucanactivatebreakpointsandwatchpointstocausetriggereventswithintheIICEonthetargetdevice.
ThesetriggerscausesignaldatatobecapturedintheIICE.
ThedataisthentransferredtotheIdentifydebuggerthroughacommunicationsportwhereitcanbedisplayedinavarietyofformats.
Thischapterdescribes:InvokingtheIdentifyDebugger,onpage98IdentifyDebuggerWindows,onpage99CommandsandProcedures,onpage104DebuggingonaDifferentMachine,onpage127SimultaneousDebugging,onpage128Identify-AnalystIntegration,onpage129WaveformDisplay,onpage134LogicAnalyzerInterfaceParameters,onpage137ConsoleText,onpage141LOIdentifyDebuggerInvokingtheIdentifyDebugger2013Synopsys,Inc.
IdentifyUserGuide98June2013InvokingtheIdentifyDebuggerTheIdentifydebuggercanbelauncheddirectlyfromasynthesisprojectortheIdentifydebuggercanbeexplicitlyopeneddirectlyfromaWindowsorLinuxsystem.
SynthesisToolLaunchIfyouareusingaSynopsysFPGAsynthesistoolortheCertifytool,invoketheIdentifydebuggerdirectlyfromthegraphicaluserinterfaceasfollows:FromSynplifyProorSynplifyPremier,highlighttheIdentifyimplemen-tationandselectRun->LaunchIdentifyDebuggerfromthemenubarorpopupmenu,orclicktheLaunchIdentifyDebuggericoninthetopmenubar.
FromSynplify,selectRun->LaunchIdentifyDebuggerfromthemenubarorclicktheLaunchIdentifyDebuggericoninthetopmenubar.
FromCertify,highlighttheIdentifyimplementationandselectTools->LaunchIdentifyDebuggerfromthemenubarorpopupmenu,orclicktheLaunchIdentifyDebuggericoninthetopmenubar.
TheIdentifydebuggerIICEinstrumentationwindowopenswiththecorre-spondingprojectdisplayed(seeInstrumentationWindow,onpage100).
OperatingSystemInvocationTheIdentifydebuggerrunsonboththeWindowsandLinuxplatforms.
ToexplicitlyinvokethedebuggerfromaWindowssystem,either:doubleclicktheIdentifyDebuggericononthedesktoprunidentify_debugger.
exefromthe/bindirectoryoftheinstallationpathToexplicitlyinvoketheIdentifydebuggerfromaLinuxsystem:runidentify_debuggerfromthe/bindirectoryoftheinstallationpathIdentifyDebuggerWindowsIdentifyDebuggerIdentifyUserGuide2013Synopsys,Inc.
June201399TheinitialIdentifydebuggerprojectwindowopens.
Todisplaytheinstrumen-tationwindow,doeitherofthefollowing:ClicktheOpenexistingprojecticoninthemenubarand,intheOpenProjectFiledialogbox,navigatetotheprojectdirectoryandopenthecorre-spondingproject(prj)file.
SelectFile->Openprojectfromthemainmenuand,intheOpenProjectFiledialogbox,navigatetotheprojectdirectoryandopenthecorrespondingproject(prj)file.
TheIdentifyinstrumentation(IICE)windowopenswiththecorrespondingprojectdisplayed(seeProjectWindow,onpage102).
IdentifyDebuggerWindowsTheGraphicalUserInterfacefortheIdentifydebuggerhasthreemajorareas:IICEinstrumentationwindowConsolewindowProjectwindowInthissection,eachoftheseareasandtheirusesaredescribed.
Thefollowingdiscussionsassumethat:aproject(withanHDLdesign)hasbeenloadedintotheIdentifyinstru-mentorandinstrumentedthedesignhasbeensynthesizedinyoursynthesistoolthesynthesizedoutputnetlisthasbeenplacedandroutedbytheplaceandroutetooltheresultantbitfilehasbeenusedtoprogramtheFPGAwiththeinstrumenteddesigntheboardcontainingtheprogrammedFPGAiscabledtoyourhostforanalysisbytheIdentifydebuggerLOIdentifyDebuggerIdentifyDebuggerWindows2013Synopsys,Inc.
IdentifyUserGuide100June2013InstrumentationWindowTheinstrumentationwindowintheIdentifydebugger,liketheinstrumenta-tionwindowintheIdentifyinstrumentor,includesahierarchybrowserontheleftandthesourcecodedisplayontheright.
HierarchyBrowserThehierarchybrowserontheleftshowsagraphicalrepresentationofthedesign'shierarchy.
AtthetopofthebrowseristheROOTnode.
TheROOTnoderepresentsthetop-levelentityormoduleofyourdesign.
ForVHDLdesigns,thefirstlevelbelowtheROOTisthearchitectureofthetop-levelentity.
Thelevelbelowthetop-levelarchitectureforVHDLdesigns,orbelowtheROOTforVerilogdesigns,showstheentitiesormodulesinstantiatedatthetoplevel.
HierarchyBrowserSource-CodeDisplayIdentifyDebuggerWindowsIdentifyDebuggerIdentifyUserGuide2013Synopsys,Inc.
June2013101Clickingona+signopenstheentity/moduleinstancesothatthehierarchybelowthatinstancecanbeviewed.
Lowerlevelsofthebrowserrepresentinstantiations,casestatements,ifstatements,functionaloperators,andotherstatements.
Singleclickingonanyelementinthehierarchybrowsercausestheassoci-atedHDLcodetobedisplayedintheadjacentsourcecodewindow.
SourceCodeDisplayThesourcecodedisplayshowstheHDLsourcecodeannotatedwithsignalsandbreakpointsthatwerepreviouslyinstrumented.
Note:SignalsandbreakpointsthatwerenotenabledintheIdentifyinstru-mentorarenotdisplayedintheIdentifydebugger.
Signalsthatcanbeselectedforsettingwatchpointsareunderlined,coloredinbluetext,andhavesmallwatchpoint(or"P")iconsnexttothem.
Breakpointsthatcanbeactivatedhavesmallgreencirculariconsintheleftmargintotheleftofthelinenumber.
LOIdentifyDebuggerIdentifyDebuggerWindows2013Synopsys,Inc.
IdentifyUserGuide102June2013Selectingthewatchpointor"P"iconnexttoasignal(orthesignalitself)allowsyoutoselecttheWatchpointSetupdialogboxfromthepopupmenu.
Thisdialogboxisusedtospecifyawatchpointexpressionforthesignal.
SeeSettingaWatchpointExpression,onpage105.
Selectingthegreenbreakpointicontotheleftofthesourcelinenumbercausesthatbreakpointtobecomearmedwhentheruncommandisexecuted.
SeeRunCommand,onpage113.
ConsoleWindowTheIdentifydebuggerconsolewindowdisplayscommandsthathavebeenexecuted,includingthoseexecutedbymenuselectionsandbuttonclicks.
TheIdentifydebuggerconsolewindowalsoallowsyoutotypeIdentifydebuggercommandsandtoviewtheresultsofcommandexecution.
ProjectWindowAnemptyprojectwindowisdisplayedwhenyouexplicitlystartuptheIdentifydebuggerfromtheWindowsorLinuxplatform.
Thewindowisreplacedbytheinstrumentationwindowwhenthesynthesisproject(prj)fileisreadintotheIdentifydebugger.
Theprojectwindowisrestoredatanytimebyclickingitstabatthebottomofthewindow.
IdentifyDebuggerWindowsIdentifyDebuggerIdentifyUserGuide2013Synopsys,Inc.
June2013103TheprojectwindowdisplaysthesymbolicviewoftheprojectontheleftandaRunbuttonwithalistofalloftheavailableIICEunitsthatcanbedebuggedontheright.
LOIdentifyDebuggerCommandsandProcedures2013Synopsys,Inc.
IdentifyUserGuide104June2013CommandsandProceduresThissectiondescribesthetypicaloperationsperformedintheIdentifydebugger.
OpeningandSavingProjectsTheIdentifydebuggercommandstoopenandsaveprojectsareavailableasmenuitemsandicons.
Whenopeningaproject:Theworkingdirectoryisautomaticallysetfromthecorrespondingprojectfile.
Iftheprojectwassavedwithencryptedoriginalsources,youarepromptedtoentertheoriginalpasswordusedtoencryptthefiles.
Thispasswordisthenusedtoreadanyencryptedfiles.
SeeChapter3,ProjectHandling,fordetailsonsettingupandmanagingprojects.
FunctionMenuBarIconMenuCommandOpenexistingprojectFile->OpenprojectSavecurrentactivationsFile->SaveactivationsCommandsandProceduresIdentifyDebuggerIdentifyUserGuide2013Synopsys,Inc.
June2013105ExecutingaScriptFileAscriptfilecontainsIdentifyTclcommandsandisaconvenientwaytocaptureacommandsequencethatyouwouldliketorepeat.
Toexecuteascriptfile,selecttheFile->ExecuteScriptmenuselectionandnavigatetoyourscriptfilelocationorusethesourcecommand(seeChapter4,AlphabeticalCommandReference,intheReferenceManual).
Activating/DeactivatinganInstrumentationThetriggerconditionsusedtocontrolthesamplingbuffercomprisebreak-points,watchpoints,andcountersettings(seeChapter10,IICEHardwareDescription).
Activationanddeactivationofbreakpointsandwatchpointsarediscussedinthischapter.
SettingaWatchpointExpressionAnysignalthathasbeeninstrumentedfortriggeringcanbeactivatedasawatchpointintheIdentifydebugger.
AwatchpointisdefinedbyassigningitoneortwoHDLconstantexpressions.
Whenawatchedsignalchangestothevalueofitswatchpointexpression,atriggereventoccurs.
Awatchpointissetonasignalbyclicking-and-holdingonthesignalorthewatchpointiconnexttothesignalandthenselectingtheSetTriggerExpressionsmenuitemtobringuptheWatchpointSetupdialogbox.
Awatchpointissetonapartialbussignalbyclicking-and-holdingonthesignalorthe"P"iconnexttothesignal,selectingthepartialbusgroupfromthelistdisplayed,andthenselectingtheSetTriggerExpressionsmenuitemtobringuptheWatchpointSetupdialogbox.
Therearetwoformsofwatchpoints:valueandtransition.
Avaluewatchpointtriggerswhenthewatchedsignalattainsaspecificvalue.
Atransitionwatchpointtriggerswhenthewatchedsignalhasaspecificvaluetransition.
LOIdentifyDebuggerCommandsandProcedures2013Synopsys,Inc.
IdentifyUserGuide106June2013Tocreateavaluewatchpoint,assignasingle,constantexpressiontothewatchpoint.
Avaluewatchpointtriggerswhenthewatchedsignalvalueequalstheexpression.
Intheexamplebelow,thesignalisa4-bitsignal,andthewatchpointexpressionissetto"0010"(binary).
AnylegalVHDLorVerilog(asappropriate)constantexpressionisaccepted.
Tocreateatransitionwatchpoint,assigntwoconstantexpressionstothewatchpoint.
Atransitionwatchpointtriggerswhenthewatchedsignalvalueisequaltothefirstexpressionduringaclockperiodandthevalueisequaltothesecondexpressionduringthenextclockperiod.
Intheexamplebelow,thetransitionbeingdefinedisatransitionfrom"0010"to"1011.
"TheVHDLorVerilogexpressionsthatareenteredintheWatchpointSetupdialogboxcanalsocontain"X"values.
The"X"valuesallowthevalueofsomebitsofthewatchedsignaltobeignored(effectively,"X"valuesaredon't-carevalues).
Forexample,theabovevaluewatchpointexpressioncanbespecifiedas"X010"whichcausesthewatchpointtotriggeronlyonthevaluesofthethreeright-mostbits.
CommandsandProceduresIdentifyDebuggerIdentifyUserGuide2013Synopsys,Inc.
June2013107Hexadecimalvaluescanadditionallybeenteredaswatchpointvaluesusingthefollowingsyntax:x"hexValue"Asshown,ahexadecimalvalueisintroducedwithanxcharacterandthevaluemustbeenclosedinquotationmarks.
Similarly,youcanincludeahexadecimalentryinanequivalentTclcommandbyliteralizingthequotemarkswithbackslashesasshowninthefollowingexample:watchenable-iiceIICE-condition0/structural/reg_foutx\"aa\"ClickingOKontheWatchpointSetupdialogboxactivatesthewatchpoint(thewatchpointor"P"iconchangestored)whichisthenarmedinthehardwarethenexttimetheRunbuttonispressed.
DeactivatingaWatchpointBydefault,awatchpointthatdoesnothaveawatchpointexpressionisinactive.
Awatchpointthathasawatchpointexpressioncanbetemporarilydeactivated.
Adeactivatedwatchpointretainstheexpressionentered,butisnotarmedinthehardwareanddoesnotresultinatrigger.
Todeactivateawatchpoint,click-and-holdonthesignalortheassociatedwatchpointicon.
Thewatchpointpopupmenuappears.
Todeactivateapartial-buswatchpoint,click-and-holdonthesignalortheassociated"P"iconandselectthebussegmentfromthelistofsegmentsdisplayed.
Thewatchpointpopupmenuappears.
TheWatchmenuselectionwillhaveacheckmarktoindicatethatthewatch-pointisactivated.
ClickontheWatchmenuselectiontotogglethecheckmarkanddeactivatethewatchpoint.
LOIdentifyDebuggerCommandsandProcedures2013Synopsys,Inc.
IdentifyUserGuide108June2013ReactivatingaWatchpointToreactivateaninactivewatchpoint,click-and-holdonthesignalortheassociatedwatchpointor"P"icon.
Clickingthewatchpointiconredisplaysthewatchpointpopupmenu:clickingthe"P"icon,liststhepartialbussegments;selectthebussegmentfromthelistdisplayedtodisplaythewatchpointpopupmenu.
ClickontheWatchmenuselectiontotogglethecheckmarkandreactivatethewatchpoint.
ActivatingaBreakpointInstrumentedbreakpointsareshownintheIdentifydebuggerasgreeniconsintheleftmarginadjacenttothesource-codelinenumbers.
Greenbreak-pointiconsareinactivebreakpoints,andredbreakpointiconsareactivebreakpoints.
Toactivateabreakpoint,clickontheicontotoggleitfromgreentored.
Todeactivateanactivebreakpoint,clickonthebreakpointicontotoggleitfromredtogreen.
Inactivebreakpoint(green)Activebreakpoint(red)CommandsandProceduresIdentifyDebuggerIdentifyUserGuide2013Synopsys,Inc.
June2013109SelectingMultiplexedInstrumentationSetsMultiplexedgroupsofinstrumentedsignalsdefinedintheIdentifyinstru-mentorcanbeindividuallyselectedforactivationintheIdentifydebugger(forinformationondefiningamultiplexedgroupintheIdentifyinstrumentor,seeMultiplexedGroups,onpage79).
Usingmultiplexedgroupscansubstantiallyreducetheamountofpatternmemoryrequiredduringdebuggingwhenalloftheoriginallyinstrumentedsignalsarenotrequiredtobeloadedintomemoryatthesametime.
ToactivateapredefinedmultiplexedgroupintheIdentifydebugger:1.
ClickontheIICEiconinthetopmenutodisplaytheEnhancedSettingsforIICEUnitdialogbox.
2.
Usethedrop-downmenuintheMuxGroupsectiontoselectthegroupnumbertobeactiveforthedebugsession.
3.
Thesignalsgroupcommandcanbeusedtoassigngroupsfromtheconsolewindow(seesignals,onpage79oftheReferenceManual).
LOIdentifyDebuggerCommandsandProcedures2013Synopsys,Inc.
IdentifyUserGuide110June2013Activating/DeactivatingFoldedInstrumentationIfyourdesigncontainsentitiesormodulesthatareinstantiatedmorethanonce,thedesignistermedtohavea"folded"hierarchy(foldedhierarchiesalsooccurwhenmultipleinstancesarecreatedwithinagenerateloop).
Bydefinition,therewillbemorethanoneinstanceofeverysignalandbreak-pointinafoldedentityormodule.
Duringinstrumentation,itispossibletoinstrumentmorethanoneinstanceofasignalorbreakpoint.
Whendebugginganinstrumenteddesignwithmultipleinstrumentedinstancesofabreakpointorsignal,theIdentifydebuggerallowsyoutoactivate/deactivateeachoftheseinstrumentedinstancesindependently.
Independentselectionisaccomplishedbydisplayingalistoftheinstru-mentedinstanceswhenthebreakpointorsignalisselectedforactiva-tion/deactivation.
Activating/DeactivatingaFoldedWatchpointThefollowingexampleconsistsofatop-levelentitycalledfolded2andtwoinstancesoftherepeated_unitentity.
Thesourcecodeofrepeated_unitisdisplayed.
Inthisfoldedentity,multipleinstancesofthesignalvalandthebreakpointatline24(notshown)areinstrumented.
Toactivate/deactivateinstancesofthevalsignal,selectthewatchpointiconnexttothesignal.
Alistwillpopupwiththetwoinstrumentedinstancesofthesignalvalavailableforactivation/deactivation:/rtl/cnt_inst0/val/rtl/cnt_inst1/valEitheroftheseinstancesisactivated/deactivatedbyclickingontheappro-priatelineinthelistboxtobringupthewatchpointmenushowninthefollowingfigure.
CommandsandProceduresIdentifyDebuggerIdentifyUserGuide2013Synopsys,Inc.
June2013111Thecolorofthewatchpointiconisdeterminedasfollows:Ifnoinstancesofthesignalareactivated,thewatchpointiconisgreenincolor.
Ifsome,butnotall,instancesofthesignalareactivated,thewatchpointiconisyellowincolor.
Ifallinstancesareactivated,thewatchpointiconisredincolor.
Forrelatedinformationonfoldedhierarchies,seeSamplingSignalsinaFoldedHierarchy,onpage80andDisplayingDatafromFoldedSignals,onpage119.
Activating/DeactivatingaFoldedBreakpointToactivate/deactivateinstancesofthebreakpointonline24,selecttheiconnexttolinenumber24.
Alistwillpopupwiththetwoinstrumentedinstancesofthebreakpointavailableforactivation/deactivation:/rtl/inst0/rtl/process_18/if_20/if_23/repeated_unit.
vhd:24/rtl/inst1/rtl/process_18/if_20/if_23/repeated_unit.
vhd:24LOIdentifyDebuggerCommandsandProcedures2013Synopsys,Inc.
IdentifyUserGuide112June2013Eitheroftheseinstancescanbeactivated/deactivatedbyclickingontheappropriatelineinthelistbox.
Thecolorofthebreakpointiconisdeterminedasfollows:Ifnoinstancesofthebreakpointareactivated,thebreakpointiconisgreen.
Ifsome,butnotall,instancesofthebreakpointareactivated,thebreak-pointiconisyellow.
Ifallinstancesareactivated,thebreakpointiconisred.
ThelistofinstrumentedinstancesCommandsandProceduresIdentifyDebuggerIdentifyUserGuide2013Synopsys,Inc.
June2013113RunCommandTheRuncommandsendswatchpointandbreakpointactivationstotheIICE,waitsforthetriggertooccur,receivesdatabackfromtheIICEwhenthetriggeroccurs,andthendisplaysthedatainthesourcewindow.
ToexecutetheRuncommandfortheactiveIICE(orasingleIICE),selectDebug->RunfromthemenuorclicktheArmselectedIICE(s)fortriggeringicon.
Ifdatacompressionistobeusedonthesampledata,seeSampledDataCompression,onpage114.
ToexecutetheRuncommandformultipleIICEunits,opentheprojectwindow(clicktheprojectwindowtab),enabletheindividualIICEunitsbycheckingtheircorrespondingboxes,andeitherclickthelargeRunbuttonorselectDebug->Runfromthemenu.
AftertheRuncommandisexecuted,thesampleofsignalvaluesatthetriggerpositionisannotatedtotheHDLcodeinthesourcecodewindow.
Thisdatacanbedisplayedinawaveformviewer(seetheIdentifydebuggerwaveformcommand)orwrittenouttoafile(seetheIdentifydebuggerwritevcdcommand).
Note:Inamulti-IICEenvironment,youcaneditandrunotherIICEswhileanIICEisrunning.
TheiconswithintheindividualIICEtabsindicatewhenanIICEisrunning(rotatingarrow)andwhenanIICEhasnewsampledata(greencheckmark).
Thefollowingexampleshowsadesignwithonebreakpointactivated,thebreakpointtriggered,andthesampledatadisplayed.
Thesmallgreenarrownexttotheactivatedbreakpointintheexampleindicatesthatthisbreakpointwastheactualbreakpointthattriggered.
Notethatthegreenarrowisonlypresentwithsimpletriggering.
LOIdentifyDebuggerCommandsandProcedures2013Synopsys,Inc.
IdentifyUserGuide114June2013SampledDataCompressionAdatacompressionmechanismisavailabletocompressthesampleddatatoeffectivelyincreasethedepthofthesamplebufferwithoutrequiringanyadditionalhardwareresources.
Whenenabled,datacompressionisappliedtothesampleddatatotemporarilyremoveanydatathatremainsunchangedbetweencycles(asampleisautomaticallytakenafter64unchangingcycles).
DatacompressionisenabledfromtheprojectviewbyclickingtheIICEicontodisplaytheEnhancedSettingsforIICEUnitdialogboxandclickingtheEnablecheckboxintheDataCompressionsectionorfromthecommandpromptbyenteringthefollowingcommand:iicesampler-datacompression1DatacompressionmustbesetpriortoexecutingtheRuncommandandappliestoallenabledIICEunits.
Datacompressionisnotavailablewhenusingstate-machinetriggering,orqualifiedoralways-armedsampling.
ActivatedandtriggeredbreakpointSampleddata(inyellow)CommandsandProceduresIdentifyDebuggerIdentifyUserGuide2013Synopsys,Inc.
June2013115SampleDataMaskingAmaskingoptionisavailablewithdatacompressiontoselectivelymaskindividualbitsorbusesfrombeingconsideredaschangingvalueswithinthesampledata.
ThisoptionisonlyavailablethroughtheTclinterfaceusingthefollowingsyntax:iicesampler-enablemask0|1[-msbinteger-lsbinteger]signalNameForexample,thefollowingcommandmasksbits0through3ofvectorsignalmybus[7:0]fromconsiderationbythedatacompressionmechanism:iicesampler-enablemask1-msb3-lsb0mybusSimilarly,toreinstatethemaskedsignalsintheaboveexample,usethecommand:iicesampler-enablemask0-msb3-lsb0mybusSampleBufferTriggerPositionThepurposeoftheactivatedwatchpointsandbreakpointsistocauseatriggereventtooccur.
Thetriggereventcausessamplingtoterminateinacontrolledfashion.
Oncesamplingterminates,thedatainthesamplebufferiscommunicatedtotheIdentifydebuggerandthendisplayedintheGUI.
Thesamplebufferiscontinuouslysamplingthedesignsignals.
Conse-quently,theexactrelationshipbetweenthetriggereventandtheterminationofthesamplingcanbecontrolledbytheuser.
Currently,theIdentifydebuggersupportsthefollowingtriggerpositionsrelativetothesamplebuffer:EarlyMiddleLateDeterminingthecorrectsettingforthetriggerpositionisuptotheuser.
Forexample,ifthedesignbehaviorofinterestusuallyoccursafteraparticulartriggerevent,setthetriggerpositionto"early.
"Thetriggerpositioncanbechangedwithoutrequiringthedesigntobereinstrumentedorrecompiled.
AnewtriggerpositionsettingtakeseffectthenexttimetheRuncommandisexecuted.
LOIdentifyDebuggerCommandsandProcedures2013Synopsys,Inc.
IdentifyUserGuide116June2013EarlyPositionThesamplebuffertriggerpositioncanbesetto"early"sothatthemajorityofthesamplesoccursafterthetriggerevent.
Tosetthetriggerpositionto"early,"usetheDebug->TriggerPosition->earlymenuselectionorclickontheSettriggerpositiontoearlyinthesamplebuffericon.
MiddlePositionThesamplebuffertriggerpositiondefaultsto"middle"sothatthereisanequalnumberofsamplesbeforeandafterthetriggerevent.
Tosetthetriggerpositionto"middle,"usetheDebug->TriggerPosition->middlemenuselectionorclickontheSettriggerpositiontothemiddleofthesamplebuffericon.
LatePositionThesamplebuffertriggerpositioncanbesetto"late"sothatthemajorityofthesamplesoccursbeforethetriggerevent.
Tosetthetriggerpositionto"late,"usetheDebug->TriggerPosition->latemenuselectionorclickontheSettriggerpositiontolateinthesamplebuffericon.
StopCommandTheStopcommandsendscontrolbacktotheIdentifydebuggerafteryouhavearmedthetrigger,butbeforethetriggeroccurs.
TheStopcommandcanbeexecutedbyselectingDebug->StopfromthemenuorbyclickingtheStopdebugginghardwareicon.
Note:IfyouarerunningtheIICEfromtheprojectwindowusingtheRunbuttonandIICEcheckboxes(multi-IICEmode),youcanstoparunbyclickingtheSTOPiconadjacenttothecheckbox.
CommandsandProceduresIdentifyDebuggerIdentifyUserGuide2013Synopsys,Inc.
June2013117SampledDataDisplayControlsThesampleddatadisplaycontrolsareusedtonavigatethroughthedatavaluescapturedbythesamplebuffer.
Allsamplebufferdataistaggedwithacyclenumberbasedonwhenthedataitemwasstoredinthesamplebufferrelativetothetriggerevent.
Thedataitemstoredatthetriggereventtimehascyclenumber0,thedataitemstoredonesampleclockcycleafterthetriggerhascyclenumber1,andthedataitemstoredonesampleclockcyclebeforethetriggerhascyclenumber-1.
Thedatadisplayproceduresallowyoutoretrievedatavaluesforaspecificcyclenumber.
ThesampleddatadisplayedintheIdentifydebuggeriscontrolledbytheCycletextfield.
Youcanmanuallychangethecyclenumberbytypinganumberintheentryfield.
Also,theupanddownarrowstotherightofthecyclenumberincrementordecrementthecyclenumberforeachclick.
Toresetthecyclenumbertothedefaultposition(thezerotimeposition),usetheDebug->Cycle->homemenuselectionorclickontheGototriggereventinsamplehistoryicon.
RadixTheradixofthesampleddatadisplayedcanbesettoanyofanumberofdifferentnumberbases.
Tochangetheradixofasampledsignal:1.
Rightclickonthesignalnameorthewatchpointor"P"iconandselectChangesignalradixtodisplaythefollowingdialogbox.
SampleddatadisplaycontrolsLOIdentifyDebuggerCommandsandProcedures2013Synopsys,Inc.
IdentifyUserGuide118June20132.
Clickthecorrespondingradiobutton.
3.
ClickOK.
Note:Youcanchangetheradixbeforethedataissampled.
Thewatchpointsignalvaluewillappearinthespecifiedradixwhenthesampleddataisdisplayed.
Specifyingdefaultresetstheradixtoitsinitialintendedvalue.
Notethattheradixvalueismaintainedinthe"activationdatabase"andthatthisinforma-tionwillbelostifyoufailtosaveorreloadyouractivation.
Also,theradixsetonasignalislocaltotheIdentifydebuggerandisnotpropagatedtoanyofthewaveformviewers.
Note:Changingtheradixofapartialbuschangestheradixforallbussegments.
CommandsandProceduresIdentifyDebuggerIdentifyUserGuide2013Synopsys,Inc.
June2013119DisplayingDatafromFoldedSignalsIfyourdesigncontainsentitiesormodulesthatareinstantiatedmorethanonce,itistermedtohavea"folded"hierarchy(foldedhierarchiesalsooccurwhenmultipleinstancesarecreatedwithinagenerateloop).
Bydefinition,therewillbemorethanoneinstanceofeverysignalinafoldedentityormodule.
Duringinstrumentation,itispossibletoinstrumentmorethanoneinstanceofasignal.
Whendebugginganinstrumenteddesignwithmultipleinstrumentedinstancesofasignal,theIdentifydebuggerallowsyoutodisplaythedatavaluesofeachoftheseinstrumentedsignals.
Becausemultipledatavaluescannotbedisplayedatthesamelocation,asingledatavalueisalwaysdisplayed.
Formultiplyinstrumentedsignals,theIdentifydebuggerdisplaysanellipsis(.
.
.
)toindicatethattherearemultiplevaluespresent.
Todisplayalloftheinstrumentedvalues,click-and-holdontheellipsisindicator.
Theexamplebelowconsistsofatop-levelentitycalledtopandtwoinstancesoftherepeated_unitentity.
Intheexample,thesourcecodeofrepeated_unitisdisplayed,andbothofthelistsofinstancesofthesignalvalhavebeeninstru-mented.
Thetwoinstancesare/rtl/inst0/valand/rtl/inst1/val,andtheirdatavaluesaredisplayedinthepop-upwindowasshowninthefollowingfigure:Forrelatedinformationonfoldedhierarchies,seeSamplingSignalsinaFoldedHierarchy,onpage80andActivating/DeactivatingFoldedInstrumen-tation,onpage110.
IndicatoroffoldeddataDatavaluesforinstancesoffoldedsignalvalLOIdentifyDebuggerCommandsandProcedures2013Synopsys,Inc.
IdentifyUserGuide120June2013DisplayingDataforPartialBusesWhendebuggingdesignswithpartiallyinstrumentedbuses,theIdentifydebuggerdisplaysthedatavaluesofeachoftheinstrumentedsegments.
Todisplaytheinstrumentedvaluesfortheindividualbussegments,positionthecursoroverthecompositebusvalue.
Theindividualpartialbusvaluesaredisplayedinatooltipinthespecifiedradixasshowninthefollowingfigure.
Notethatintheabovefigure,thequestionmarks()inthecompositebusvalue(64'h3fad7910d136)indicatethatthecorrespondingsegment(data_in[23:8])hasnotbeeninstrumented.
DisplayingDataforPartialInstrumentationIntheIdentifydebugger,thevalueforafullyinstrumentedrecordorstruc-tureisshownwithavalueforeachfield,infieldorder.
Thefollowingfigureshowsinstrumentedsignalsig_iport_P_Struc_instr.
Whendisplayingapartiallyinstrumentedbus,thevalueUisusedfortheuninstrumentedslices.
Thissamenotationisusedtoshowthedatavaluesforapartiallyinstrumentedrecordorstructure(thevalueforeachinstrumentedfieldislistedinfieldorder,andanuninstrumentedfieldvalueisshownasaU).
CompositebusvalueDatavaluesofpartialbusesCommandsandProceduresIdentifyDebuggerIdentifyUserGuide2013Synopsys,Inc.
June2013121TheFinddialogintheIdentifydebuggershowsapartiallyinstrumentedsignalwiththePicon.
Youcansetthetriggerexpressionsonthefieldsinstru-mentedfortriggeringinthesamemannerasifthesignalwasfullyinstru-mented(thatis,selectthesignal,rightclicktobringupthedialog,andselecttheoptiontosetthetriggerexpression).
SavingandLoadingActivationsTheIdentifydebuggerincludesa"captureandreplay"functionthatallowsyoutosaveandloadasetofenabledwatchpointsandbreakpointsreferredtocollectivelyasan"activation.
"Eachactivationcanadditionallyincludethesampledatasetthatwascapturedforagiventriggercondition.
Activationsarestoredinfileswithanadbextensioninaproject'sinstrumentationsubdi-rectory.
SavinganActivationAnactivationcanbeexplicitlysavedorsavedonexit.
Toexplicitlysaveanactivation:1.
Enablethesetofwatchpointsandbreakpointsfortheactivation.
2.
Ifthesampledatasetistobeincluded,runtheIdentifydebuggertocollectthesampledata.
3.
SelectFile->SaveactivationsorclicktheSavecurrentactivationsiconinthemenubartobringupthefollowingdialogbox.
LOIdentifyDebuggerCommandsandProcedures2013Synopsys,Inc.
IdentifyUserGuide122June20134.
Enter(orselect)anactivationnameintheSavecurrenttriggersettingsas:field.
Selectinganexistingactivationfromthedrop-downmenuoverwritestheselectedactivation.
5.
Toincludethesampledatasetwiththeactivation,enabletheSavecurrentsampledatacheckbox.
6.
ClickYestosavetheactivation.
LoadinganActivationToloadanexistingactivation:1.
Opentheprojectview.
2.
Expand(ifnecessary)thehierarchytodisplaythelistofactivationsasshowninthefollowingfigure.
3.
ClickonthedesiredactivationandselectLoadactivation.
CommandsandProceduresIdentifyDebuggerIdentifyUserGuide2013Synopsys,Inc.
June2013123AutosavingCurrentActivationBydefault,whenyouexittheIdentifydebuggerwithoutexplicitlysavinganactivation,theactiveactivationisautomaticallysavedtothelast_run.
adbfile.
Thisfileisautomaticallyloadedthenexttimeyouopentheproject.
Note:Tosaveaspecificactivation,alwaysuseSavecurrentactivationstoexplicitlynamethefileandpreventthedatafromoverwritingthelast_run.
adbfile.
Todisabletheauto-savefeature,unchecktheAuto-savetriggersettingsandsampleresultscheckboxontheDebuggerPreferencesdialogbox(selectOptions->Debuggerpreferences).
CrossTriggeringCrosstriggeringallowsthetriggerfromoneIICEunittobeusedtoqualifyatriggeronanotherIICEunit,evenwhenthetwoIICEunitsareindifferenttimedomains.
Crosstriggeringisavailableinboththesimpletriggeringandcomplexcountertriggeringmodes(state-machinetriggeringsupportscrosstriggeringbyallowingtheIICEunitIDstobeincludedinthestate-machineequations).
CrosstriggeringforanIICEunitisenabledintheIdentifyinstrumentorbyselectingtheAllowcross-triggeringinIICEcheckboxontheIICEControllertabforthelocalIICEunit.
Thecross-triggermodeisselectedfromthedrop-downmenuintheIdentifydebuggerasshownbelow.
LOIdentifyDebuggerCommandsandProcedures2013Synopsys,Inc.
IdentifyUserGuide124June2013Thedrop-downmenuselectionsareasfollows:Note:Ifthedrop-downmenudoesnotdisplay,makesurethatAllowcross-triggeringinIICEisenabledontheIICEControllertaboftheIdentifyinstrumentorandthatyouhavedefinedmorethanoneIICEunit.
MenuSelectionFunctiondisabledNotriggersacceptedfromexternalIICEunits(eventtriggercanonlyoriginatefromlocalIICEunit)anyEventtriggerfromlocalIICEunitoccurswhenaneventatanyIICEunit,includingthelocalIICEunit,occursallEventtriggerfromlocalIICEunitoccurswhenallevents,irrespectiveoforder,occuratallIICEunitsincludingthelocalIICEunitafter-iiceNameEventtriggerfromlocalIICEunitoccursonlyaftertheeventatselectedexternalIICEunitiiceNamehasoccurred(externalIICEunitsareindividuallylisted)afterallEventtriggerfromlocalIICEunitoccursafteralleventsoccuratallIICEunitsCommandsandProceduresIdentifyDebuggerIdentifyUserGuide2013Synopsys,Inc.
June2013125ListingWatchpointsandSignalsTolistcategoriesofwatchpointsandsignalsinthedebugger,usethepopupDebugmenuselectionandselectthecategoryfromthelistdisplayed.
TheresultsaredisplayedintheFindDesignElementsdialogbox.
LOIdentifyDebuggerCommandsandProcedures2013Synopsys,Inc.
IdentifyUserGuide126June2013ShowWatchpoint/BreakpointIconsTheshowwatchpointandbreakpointiconsinthemenubardisplaytheircorrespondingvaluesintheFindDesignElementsdialogboxasfollows:ShowDisabledBreakpointsTodisplaythedisabled(inactive)breakpoints,clicktheShowdisabledbreakpointsicon.
ShowEnabledBreakpointsTodisplaytheenabled(active)breakpoints,clicktheShowenabledbreakpointsicon.
ShowDisabledWatchpointsTodisplaythedisabled(inactive)watchpoints,clicktheShowdisabledwatchpointsicon.
ShowEnabledWatchpointsTodisplaytheenabled(active)watchpoints,clicktheShowenabledwatchpointsicon.
DebuggingonaDifferentMachineIdentifyDebuggerIdentifyUserGuide2013Synopsys,Inc.
June2013127DebuggingonaDifferentMachineItisnotunusualfortheinstrumentationphaseandthedebuggingphasetobeperformedondifferentmachines.
Forexample,thedebugmachineisoftenlocatedinahardwarelab.
Whenadifferentmachineisusedfordebugging,youmustcopyboththeprojectfile(projectName.
prj)andtheIdentifyimple-mentationdirectory(e.
g.
,rev_1)tothelabmachine.
BecausetheIdentifytoolsetallowsyoutodebugyourdesignintheHDL,theIdentifydebuggermusthaveaccesstotheoriginalsourcefiles.
Dependingonthetypeofyournetwork,theIdentifydebuggermaybeabletoaccesstheoriginalsourcesfilesdirectlyfromthelabmachine.
Ifthisisnotpossibleorifthetwocomputersarenotnetworked,youmustalsocopytheoriginalsourcestothedebugmachine.
IftheIdentifydebuggercannotlocatetheoriginalsourcefiles,itwillopentheproject,butanerrorwillbegeneratedforeachmissingfile,andthecorrespondingsourcecodewillnotbevisibleinthesourceviewer.
Copyingthesourcefilestothedebugmachinecanbedoneintwoways:Identifycanautomaticallyincludetheoriginalsourcefilesintheimple-mentationdirectorysothatwhenyoucopytheimplementationdirectorytothelabmachine,theoriginalsourcesfiles(intheorig_sourcessubdi-rectory)areincluded.
TheIdentifydebuggerautomaticallylooksinthisdirectoryforanymissingsourcefiles.
ThispreferenceissetbeforecompilingtheinstrumenteddesignbyselectingOptions->InstrumentationpreferenceandmakingsurethatSaveoriginalsourceininstrumentationdirectoryischecked.
Theoriginalsourcefilescanbemanuallycopiedtothelabmachineormayalreadyexistinadifferentlocationonthismachine.
Inthiscase,itmaybenecessarytohelpIdentifylocatethedesignfilesusingthesearch-pathcommand.
Simplycallthiscommandfromthecommandlinebeforeloadingtheprojectfile(projectName.
prj).
Theargumentisasemi-colon-separated(Windows)orcolon-separated(Linux)listofdirectoriesinwhichtofindtheoriginalsourcefiles.
searchpath{d:/temp;c:/DocumentsandSettings/me/my_design/}LOIdentifyDebuggerSimultaneousDebugging2013Synopsys,Inc.
IdentifyUserGuide128June2013TheIdentifydebuggerwillonlydisplayfilesthatmatchtheCRCgeneratedatthetimeofinstrumentation.
Note:Iftherearesecurityissueswithhavingtheoriginalsourcefilesonthelabmachine,theIdentifyinstrumentorcanpassword-protecttheoriginalsourcesonthedevelopmentmachineforusewiththeIdentifydebugger(forinformationonfileencryption,seeIncludingOriginalHDLSource,onpage91).
SimultaneousDebuggingWhenmultipleIdentifydebuggerlicensesareavailable,multipleFPGAsresidingonasingle,non-HAPSboardcanbedebuggedconcurrentlythroughasinglecable.
Thiscapabilityisbasedonsemaphoresthatallowmorethanonedebuggertosharethecommonport.
BoardFPGA1FPGA2CableSemaphorepid1pid2Debugger1Debugger2PID1PID2Identify-AnalystIntegrationIdentifyDebuggerIdentifyUserGuide2013Synopsys,Inc.
June2013129Identify-AnalystIntegrationThedisplayofinstrumentedsignalscapturedinaVCDfilebytheIdentifydebuggerisavailablewithintheHDLAnalystinSynplifyPremier.
ThefollowingstepsoutlineanabbreviatedprocedureforusinganIdentify-generatedVCDfilewiththeHDLAnalyst.
Foracompletedescriptionofthisfeature,seeVCD-AnalystIntegrationintheSynopsysFPGASynthesisUserGuide.
AftergeneratingaVCDfileintheIdentifydebuggerandopeningtheHDLAnalystRTLviewinSynplifyPremier:1.
ClicktheVCDPanelicon()orselectVCD->VCDPanelfromtheHDL-AnalystmenutodisplaytheVCDcontrolpanel.
2.
Ifnecessary,clicktheMovethispaneltoanalternatelocationbuttontorelocatetheVCDcontrolpanelundertheRTLview.
3.
ClicktheOpenaVCDFileicon()orselectVCD->LoadVCDFilefromtheHDL-AnalystmenutoopentheLoadIdentifyVCDFiledialogbox.
LOIdentifyDebuggerIdentify-AnalystIntegration2013Synopsys,Inc.
IdentifyUserGuide130June20134.
Inthedialogbox,enterthepathtothevcdfilegeneratedbytheIdentifydebugger(usethebrowse.
.
.
button)andmakesurethattheIdentifyDebugboxischecked.
TheValidateVCDFilewithNetlistcheckbox,whenenabled,checksformismatchesbetweenthedesignnetlistandtheVCDfileloaded.
5.
ClicktheLoadbuttontoloadtheVCDfileanddisplaytheinstrumentedsignalsfromtheVCDfileinthewaveformviewer.
6.
IfValidateVCDFilewithNetlistischecked,clicktheShowMismatchesbuttontodisplayanymismatchednets.
MismatchesarereportedintheMismatchingNetsdialogbox.
Identify-AnalystIntegrationIdentifyDebuggerIdentifyUserGuide2013Synopsys,Inc.
June20131317.
ClosetheLoadIdentifyVCDFiledialogbox.
8.
Toviewvaluesforthesignals,selectthedesiredsignalsinthewaveformviewerandselectHDL-Analyst->VCD->VCDProperties.
OntheParameterstab,enabletheAnnotatecheckbox.
9.
ToannotatevaluesonthewaveformviewertotheirrespectiveHDLAnalystsheet,checktheAnnotateboxonthecontrolpanel.
LOIdentifyDebuggerIdentify-AnalystIntegration2013Synopsys,Inc.
IdentifyUserGuide132June2013Selectaparticularsignalonthecontrolpaneltohighlightitscorre-spondingsignalintheRTLview.
Signalsareannotatedwiththeirprevious,current,andnextvalues.
LoadingandUnloadingIdentifyVCDFilesYoucanload,re-load,orunloadIdentifyVCDfilesfromtheHDL-Analyst->VCDmenu.
ToloadanIdentifyVCDfile,selectLoadVCDFile(orclicktheOpenaVCDFileicon()onthecontrolpanel).
Tore-loadanIdentifyVCDfile,selectReloadVCDFile(orclicktheRe-openthepreviouslyloadedVCDfileicon()onthecontrolpanel).
WhentheIdentifydebuggergeneratesarevisedVCDfile,changestotheVCDfilemustbehandledafteritisloaded.
Thereloadpolicyimple-mentedprovidesthefollowingoptions:–Auto–automaticallyreloadtheVCDfile(thedefault)–Ask–promptiftheVCDfileistobereloaded–Never–neverreloadtheVCDfileThereloadpolicyissetontheParameterstaboftheVCDPropertiesdialogbox.
WhenanIdentifyVCDfileisreloaded,thetoolpreservesinforma-tionasmuchaspossiblesuchasthecurrenttimeandwatchedsignals.
TounloadanIdentifyVCDfile,selectUnloadtheVCDFile.
ThisoptionfreesupmemoryusedbytheIdentifydebugdatawithouthavingtocloseandre-opentheHDLAnalystview.
Identify-AnalystIntegrationIdentifyDebuggerIdentifyUserGuide2013Synopsys,Inc.
June2013133VCDControlPanelFunctionsThefollowingadditionalfunctionsareavailablefromtheVCDcontrolpanel:ObservingnetsonaparticularHDLAnalystsheetChangingtheformatofsignalsdisplayedintheviewerThesefunctionsaredescribedindetailintheSynopsysFPGASynthesisUserGuide.
LOIdentifyDebuggerWaveformDisplay2013Synopsys,Inc.
IdentifyUserGuide134June2013WaveformDisplayThewaveformdisplaycontroldisplaysthesampleddatainawaveformstyle.
Bydefault,thisfeatureusestheSynopsysDVEwaveformviewer.
ProvisionforusingotherpopularwaveformviewersthatsupportVCDdataisincluded.
Alternately,youcaninterfaceyourownwaveformviewerbywritingacustom-izedscripttoaccessyourwaveformviewerfromtheIdentifydebugger.
Fordetails,seetheapplicationnote,"InterfacingYourWaveformViewerwiththeIdentifyDebugger"ontheSolvNetwebsite.
ViewerselectionandsetuparecontrolledbytheWaveformViewerPreferencesdialogbox.
SelectingOptions->Debuggerpreferencesfromthemenubarbringsupthedialogboxshownbelow.
WaveformDisplayIdentifyDebuggerIdentifyUserGuide2013Synopsys,Inc.
June2013135TheSynopsysDVEandVerdiwaveformviewersareonlyavailableonLinuxplatforms.
TousetheincludedGTKWaveviewer,clicktheGTKWaveradiobuttonintheDefaultWaveformViewersection.
ThePeriodfieldsetstheperiodforthewaveformdisplayandisindependentofthedesignspeed.
AfterrunningtheIdentifydebugger,theselectedwaveformviewerisdisplayedbyselectingWindow->WaveformfromthemenuorbyclickingtheOpenWaveformDisplayiconinthemenubar.
Allsampledsignalsinthedesignareincludedinthewaveformdisplay.
Twoadditionalsignalsareaddedtothetopofthedisplaywhenenabledbytheircorrespondingcheckboxes.
Thefirstsignal,identify_cycle,reflectsthetriggerlocationinthesamplebuffer.
Thesecondsignal,identify_sampleclock,isareferencethatshowseveryclockedge.
Thefollowingfigureshowsatypicalwaveformviewwiththeidentify_cycleandidentify_sampleclocksignalsenabled(highlightedinthefigure).
IfyouselectawaveformviewerfromtheWaveformpreferencedialogboxthatisnotinstalled,anerrormessageisdisplayedwhenyouattempttoinvoketheviewer.
Toinstallthewaveformviewer:1.
OpentheDebuggerPreferencesdialogbox(selectOptions->Debuggerpreferences).
2.
SelectthedesiredwaveformviewerbyclickingtheadjacentradiobuttonandthenclickOK.
3.
Makesurethattheselectedsimulatorisinstalledonyourmachineandthatthepathtotheexecutableissetbyyour$PATHenvironmentvariable.
ToinvoketheviewerafterrunningtheIdentifydebugger,selectWindow->WaveformorclickontheOpenWaveformDisplayicon.
LOIdentifyDebuggerWaveformDisplay2013Synopsys,Inc.
IdentifyUserGuide136June2013VerdinWaveViewerTheVerdinWaveviewerisusedtodisplaythefastsignaldatabase(FSDB)generatedbytheIdentifydebuggerasshownintheflowdiagrambelow.
Inthediagram,Verdi/Solotigeneratestheessentialsignaldatabase(FSDB)whichisimportedintotheIdentifyinstrumentorwherethedesiredsignalsareinstrumented.
Theinstrumenteddesignisthensynthesized,placedandrouted,andprogrammedintotheFPGA.
TheIdentifydebuggersamplesthedataandgeneratestheFSDBdatabasewhichisthendisplayedintheVerdinWaveviewer.
LogicAnalyzerInterfaceParametersIdentifyDebuggerIdentifyUserGuide2013Synopsys,Inc.
June2013137LogicAnalyzerInterfaceParametersThelogicanalyzerinterfaceparametersforthereal-timedebugfeatureintheIdentifydebuggeraredefinedonthetabsoftheRTDtypeIICEinformationdialogbox.
Todisplaythisdialogbox,clickontheRTD(RTDtypeIICEInformation/Settings)iconinthetopmenu.
LogicAnalyzerScanTabTheLogicAnalyzerScantabdefines:thelogicanalyzertypetheTLAscriptprogramusernamehostname/IPaddressifpodsareautomaticallyassignedtoMictorconnectorsTypeofLogicAnalyzerSelectsthetypeoflogicanalyzerfromadrop-downmenu.
CurrentsupportedtypesareAgilent16700and16900seriesandTektronixTLAseriesanalyzers.
Thelogicanalyzermustbeaccessibleonthelocalnetwork.
LOIdentifyDebuggerLogicAnalyzerInterfaceParameters2013Synopsys,Inc.
IdentifyUserGuide138June2013TLAScriptProgramSpecifiesthefullpathtothetlascriptscriptfileontheTektronixlogicanalyzer.
ThedefaultpathisC:\ProgramFiles\TLA700\System\tlascript.
IfthislocationdoesnotmatchthelocationexpectedbytheTektronixlogicanalyzer,changethelocationsetting.
Thelogicanalyzerrequiresanrshdaemontoaccessthescriptfile.
Todownloadandinstallthershdaemononthelogicanalyzer,seetheweb-siteathttp://rshd.
sourceforge.
net.
UserNameIdentifiestheusernameontheanalyzer(Tektronixonly).
HostName/IPAddressSpecifiesthehostnameorIPaddressfortheIdentifydebuggerhost.
AssignPodsautomaticallytoMictorconnectorsWhenchecked,automaticallyassignspodstotheMictorconnectors.
ScanLogicAnalyzerClickingtheScanLogicAnalyzerbuttonscansthespecifiedIPaddressand,ifscannedsuccessfully:opensanetworkconnectionwiththegivenparametersretrievesthemodulesandpodsinformationdisplaysLogicAnalyzerPropertiesandLogicAnalyzerSubmittabsLogicAnalyzerPropertiesTabTheLogicAnalyzerPropertiestaballowsMictorpingroupstobemanuallyassignedtomodulesandpodsusingcorrespondingdrop-downmenus.
ClickingtheAssignPodsbuttonupdatestheassignments.
LogicAnalyzerInterfaceParametersIdentifyDebuggerIdentifyUserGuide2013Synopsys,Inc.
June2013139LogicAnalyzerSubmitTabTheLogicAnalyzerSubmittabsubmitssignal/breakpointnamestothelogicanalyzer.
LOIdentifyDebuggerLogicAnalyzerInterfaceParameters2013Synopsys,Inc.
IdentifyUserGuide140June2013IICEAssignmentsReportTabWhenusingthereal-timedebuggingfeatureintheIdentifyinstrumentor(seeReal-timeDebugging,onpage86),thesignal/breakpointinterfaceassign-mentstotheMictorconnectorarereportedintheIdentifydebuggerontheIICEAssignmentsReporttab.
ClickingthetabbeforeassigninglogicanalyzerpodstotheMictorpingroupsreportsonlythesignal/breakpointassign-ments.
ClickingthetabafterassigninglogicanalyzerpodstotheMictorpingroupsincludesthepodsassignmentsinthereport.
Bydefault,thereportisdisplayedonthescreen(standardout).
ThereportcanberedirectedtoafileusingtheiiceassignmentsreportTclcommand(seeiice,onpage55intheReferenceManual.
ConsoleTextIdentifyDebuggerIdentifyUserGuide2013Synopsys,Inc.
June2013141ConsoleTextTocaptureallthetextthatiswrittentotheconsole,usethelogconsolecommand(seetheReferenceManual).
Alternately,youcanclicktherightmousebuttoninsidetheconsolewindowandselectSaveConsoleOutputfromthemenu.
Tocaptureallcommandsexecutedintheconsolewindow,usethetranscriptcommand(seetheReferenceManual).
Toclearthetextintheconsolewindow,usetheclearcommandorclicktherightmousebuttoninsidetheconsolewindowandselectclearfromthemenu.
LOIdentifyDebuggerConsoleText2013Synopsys,Inc.
IdentifyUserGuide142June2013IdentifyUserGuide2013Synopsys,Inc.
June2013143CHAPTER9IncrementalFlowIncrementalflowisamulti-passflowavailablefortheXilinxtechnologiesthatallowsyoutomakeminorchangestothesetofinstrumentedsignalswithoutneedingtoresynthesizeandrerunplaceandrouteonyourentiredesign.
Withtheincrementalflow,signalswithintheinitialpasscanbereplacedwithasetofdifferentsignalsforasubsequentpass.
Theincrementalflowisshowninthefollowingfigure.
SetupProjectInstrumentDesignSynthesize&PlaceandRouteDebug1stPassModifyInstrumentedIncrementalSignalsDebug2ndPassRe-routeLOIncrementalFlow2013Synopsys,Inc.
IdentifyUserGuide144June2013RequirementsTheincrementalflowsupportedbytheIdentifytoolsetisavailableonlywhenusingaVirtex-5orVirtex-6Xilinx-basedtechnology.
Note:IncrementalflowissupportedbythemostrecentversionsoftheXilinxISEsoftware;seethereleasenotesforthespecificISEreleaseversionusedwiththeIdentifytoolset.
SettinguptheOriginalDesignTousetheincrementalflow,youmustsetthefollowingintheIdentifyinstru-mentorbeforeyouinstrumentandplaceandrouteyouroriginaldesign:1.
OpenthedesignintheIdentifyinstrumentorbyclickingontheIdentifyimplementationandselectingLaunchIdentifyInstrumentorfromthepopupmenu.
2.
Selecttheprojecttabtodisplaytheprojectview.
3.
Intheprojectview,makesurethatthePrepareincrementalcheckboxischecked.
4.
InstrumentandsaveyouroriginaldesignandclosetheIdentifyinstrumentor.
IncrementalFlowIdentifyUserGuide2013Synopsys,Inc.
June20131455.
Fromthesynthesistool:–rightclickontheIdentifyimplementationandselectAddPlace&Routefromthepopupmenu–enabletheXilinxP&Rcheckbox–clicktheRunbuttontorunXilinxplace-and-routeandgeneratethencdfileCreatingtheIncrementalInstrumentationTomakeincrementalchangestoyouroriginaldesign:1.
Fromthesynthesistool,opentheIdentifyinstrumentorbyclickingontheoriginalimplementationandselectingLaunchIdentifyInstrumentorfromthepopupmenu.
2.
OpentheprojectviewandclicktheMakeIncrementalbuttontodisplaytheCreateIncrementalImplementationdialogbox.
3.
Inthedialogbox,selectthebase(original)instrumentationandusetheBrowsebuttontoselectthepathtotheXilinxncdfile.
Note:Makesurethatyouenterthepathtothecorrectncdfile.
4.
ClickOKtoclosethedialogbox.
5.
Atthispoint,anewincrementaliconappearsintheprojectwindow.
Thisiconislabeledincr_baseinstrwherebaseinstristhenameoftheinitialinstrumentation.
Clickontheicontodisplaythenewinstrumentation.
LOIncrementalFlow2013Synopsys,Inc.
IdentifyUserGuide146June2013RedefiningtheInstrumentedSignalsInthenewinstrumentation,mostoftheregisteredsignalsandmostoftheI/Opinswillbeavailable.
Theconsolewindowreportsstatusofthethree"buckets"(sampleonly,triggeronly,andsampleandtrigger);foreverynewsignalorbitthatyouaddtoabucket,youmustremoveatleastoneexistingsignalorbit(thenumberofsignals/bitsinabucketcannotexceedtheoriginalnumber).
Note:YoucannotchangethedeviceorIICEconfigurationinthenewinstrumentation.
Whenyouhavefinishedremovingandaddingsignals,savethenewinstru-mentation.
ThisactioninvokestheFPGAeditorandrunsincrementalroutinginthebackgroundandcreatesanewncdfileintheinstrumentationdirec-tory.
Usethisncdfiletogenerateyournewbitfile.
GeneratingtheBitfileGeneratingthebitfilefromthenewncdfilecanbedonemanuallyorthroughthenormalXilinxtoolflow.
XilinxToolFlowTousethenormalXilinxflowtocreatethebitfile:1.
CopythenewncdfileintotheXilinxdirectoryoftheoriginalinstrumentation.
2.
RerunONLYthebitgenportionoftheflow.
Note:Becarefulnottoreruntheentireflowwhichwouldoverwritethenewncdfileandreverttotheinitialinstrumentation.
IncrementalFlowIdentifyUserGuide2013Synopsys,Inc.
June2013147ManualGenerationTheXilinxbitgencommandcanbeusedtomanuallygeneratethebitfileformthenewncdfile.
Thesyntaxforthiscommandis:bitgendesignName.
ncddesignName.
bitNote:Therearemanyoptionstothebitgencommandthatareusuallycontainedinaboard-specificutfile.
Youcancallbitgenwiththeboard-Name.
utfileasanoptiontopickupanysite-specificcommandoptions.
DebuggingtheIncrementalVersionIntheIdentifydebugger,opentheproject,loadtheincrementalinstrumenta-tion(themostrecentinstrumentationisloadedbydefault),anddebugasnormal.
LOIncrementalFlow2013Synopsys,Inc.
IdentifyUserGuide148June2013IdentifyUserGuide2013Synopsys,Inc.
June2013149CHAPTER10IICEHardwareDescriptionTheIdentifyinstrumentoraddsinstrumentationlogictoyourHDLdesignthatallowsyoutounderstandanddebugtheoperationofyourdesign.
Therearesomeaspectsoftheinstrumentationlogicthatareimportanttounder-standinordertousetheIdentifytoolsetinthemosteffectiveway.
Inthischapter,theoverallinstrumentationlogicisdescribedbrieflyfollowedbydescriptionsofsomeofthemoreimportantfeatures.
Asimplifiedfunctionalbreakdownoftheinstrumentationlogicconsistsof:JTAGCommunicationBlockBreakpointandWatchpointBlocksSamplingBlockComplexCounterStateMachineTriggeringJTAGCommunicationBlockTheJTAGcommunicationblockcanbeimplementedusingeitherthebuilt-indevice-specificTAPcontroller(thebuiltinoption)orusingtheIdentifyimple-mentationoftheTAPcontroller(thesoftoption).
SeeChapter11,ConnectingtotheTargetSystem,formoreinformationontheJTAGcontroller.
LOIICEHardwareDescriptionBreakpointandWatchpointBlocks2013Synopsys,Inc.
IdentifyUserGuide150June2013BreakpointandWatchpointBlocksThefollowingtopicaredescribedinthissection:BreakpointsWatchpoints,onpage151MultiplyActivatedBreakpointsandWatchpoints,onpage151BreakpointsBreakpointsareawaytoeasilycreateatriggerthatisdeterminedbytheflowofcontrolinthedesign.
InbothVerilogandVHDL,theflowofcontrolinadesignisprimarilydeter-minedbyif,else,andcasestatements.
ThecontrolstateofthesestatementsisdeterminedbytheircontrollingHDLconditionalexpressions.
Breakpointsprovideasimplewaytotriggerwhentheconditionalexpressionsofoneormoreif,else,orcasestatementshaveparticularvalues.
TheexamplebelowshowsaVHDLcodefragmentanditsassociatedbreak-points.
99process(op_code,cc,result)begin100caseop_codeis101when"0100"=>102result0eventsillegalstopsamplingonthenthtriggerevent.
cyclesstopsamplingon1sttriggereventstopsamplingncyclesafterthe1sttriggerevent.
watchdogillegalstopsamplingifthetriggerconditionisnotmetfornconsecutivecycles.
pulsewidthillegalstopsamplingthefirsttimethetriggerconditionismetfornconsecutivecycles.
ComplexCounterIICEHardwareDescriptionIdentifyUserGuide2013Synopsys,Inc.
June2013155eventsModeIntheeventsmode,thenumberoftimestheMasterTriggerSignallogicproducesaneventiscounted.
WhenthenthMasterTriggerSignaleventoccurs,thecomplexcountersendsatriggereventtothesampleblock.
Forexample,thismodecouldbeusedtotriggeronthe12278thtimeacollisionwasdetectedinabusarbiter.
cyclesModeInthecyclesmode,thecomplexcountersendsatriggereventtothesampleblockonthenthcycleafterthefirstMasterTriggerSignaleventisreceived.
Theclockcyclescountedarefromtheclockdefinedforsampling.
Forexample,thismodecouldbeusedtoobservethebehaviorofadesign2,000,000cyclesafteritisreset.
watchdogModeInthewatchdogmode,thecountersendsatriggereventtothesampleblockifnoMasterTriggerSignaleventshavebeenreceivedforncycles.
Forexample,ifaneventisexpectedtooccurregularly,suchasamemoryrefreshcycle,thismodetriggerswhentheexpectedeventfailstooccur.
pulsewidthModeInthepulsewidthmode,thecomplexcountersendsatriggereventtothesampleblockiftheMasterTriggerSignallogichasproducedaneventduringeachofthemostrecentnconsecutivecycles.
Forexample,thismodecanbeusedtodetectwhenarequestsignalisheldhighformorethanncyclestherebydetectingwhentherequesthasnotbeenservicedwithinaspecifiedinterval.
DisablingtheCounterAccordingtotheprevioustable,thecountercanbedisabledsimplybysettingitstargetvalueto1anditsmodetoevents.
Then,thecomplexcounterwillpassanyreceivedeventfromtheMasterTriggerSignallogicontothesampleblockwithnoadditionaldelay.
LOIICEHardwareDescriptionStateMachineTriggering2013Synopsys,Inc.
IdentifyUserGuide156June2013StateMachineTriggeringThissectiondescribesthedifferentmethodsoftriggeringavailableintheIdentifydebugger.
Itexplainsthedifferentchoicesavailableduringinstru-mentationandthefunctionalitythesechoicesprovideintheIdentifydebuggeraswellasdiscussingthecosteffectsofthevarioustypesofinstru-mentation.
SimpleorAdvancedTriggeringTherearetwotriggeringmodesavailable,thesimplemodeandtheadvancedmode.
Thesimplemodeallowscomparingsignalstovalues(includingdon'tcares)andthentriggeringwhenthesignalsmatchthosevalues.
Thisschemecanbeenhancedbyusingbreakpointstodenotebranchesincontrollogic.
Ifabreakpointisenabled,thisparticularbranchmustbeactiveatthesametimethatthesignalsmatchtheirrespectivevalues.
Theoveralltriggerlogicinvolvessignalsandbreakpointsinthefollowingway:Signals:Allsignalsmustmatchtheirrespectivecomparisonvaluesinordertotrigger.
Breakpoints:AllbreakpointsareORconnected,meaningthatanyoneenabledbreakpointisenoughtotrigger.
SignalsandbreakpointsarecombinedusingAND,suchthatallsignalsmustmatchtheirvaluesANDatleastoneenabledbreakpointmustoccur.
Thelogicthatimplementsbreakpointandsignaltriggeringisreferredtoastriggerconditioninthefollowingtext.
Intheadvancedtriggermode,multiplesuchtriggerconditionsareinstru-mented,andaruntime-programmablestatemachineisalsoinstrumentedtoallowyoutospecifythetemporalandlogicalbehaviorthatcombinesthesetriggerconditionsintoacomplextriggerfunction.
Forinstance,thisstatemachineenablesyoutotriggeronacertainsequenceofeventslike"triggerifpatternAoccursexactlyfivecyclesafterpatternB,butonlyifpatternCdoesnotintervene.
"Bydefault,theIdentifyinstrumentorinstrumentsthedesignaccordingtothesimpletriggermode.
Seethefollowingformoreinformationonhowtoselecttheadvancedtriggermode.
StateMachineTriggeringIICEHardwareDescriptionIdentifyUserGuide2013Synopsys,Inc.
June2013157AdvancedTriggeringModeSettingupaninstrumenteddesigntoenableadvancedtriggeringisextremelyeasy.
TherearetwoiicecontrollercommandoptionsavailableintheIdentifyinstrumentorthatcontroltheextentandcostoftheinstrumentation:-triggerconditionsinteger–Theintegerargumenttothisoptiondefineshowmanytriggerconditionsarecreated.
Therangeisfrom1to16.
Allthesetriggerconditionsareidenticalintermsofsignalsandbreakpointsconnectedtothem,buttheycanbeprogrammedseparatelyintheIdentifydebugger.
-triggerstatesinteger–Theintegerargumenttothisoptiondefineshowmanystatesthetriggerstatemachinewillhave.
Therangeis2to16;powersof2arepreferableasothernumberslimitfunctionalityanddonotprovideanycostsavings.
Similartothesimple-triggeringmode,acountercanbeinstrumentedtoaugmentthefunctionalityofthestatemachine.
Toinstrumentacounter,enteraniicecontroller-counterwidthoptionwithanargumentgreaterthan0intheIdentifyinstrumentorconsolewindow.
PleaserefertothefollowingtexttodeterminecostandconsequencesofthesesettingsintheIdentifyinstrumentor.
StructuralImplementationofStateMachineTriggeringForeachtriggerconditionci,alogicconeisimplementedwhichevaluatesthesignalsandthebreakpointsconnectedtothetriggerlogicandculminatesina1-bitresultidenticaltothetriggerconditioninsimplemode.
Allthese1-bitresultsareconnectedtotheaddressinputsofaRAMtable.
Ifacounterhasbeenaddedtotheinstrumentation,thecounteroutputiscomparedtoconstant0,andthesingle-bitoutputofthatcomparisonisalsoconnectedtotheaddressinputsofthesameRAMtable.
Theotheraddressinputsareprovidedbythestateregister.
TheoutputsoftheRAMtableare:thenext-statevaluenstatethetriggersignaltrigger(causesthesamplebuffertotakeasnapshotifhigh)thecounter-enablesignalcnten(if'1',counterisdecrementedby1)LOIICEHardwareDescriptionStateMachineTriggering2013Synopsys,Inc.
IdentifyUserGuide158June2013thecounter-loadsignalcntld(if'1',counterisloadedwithcntval)thecountervaluecntval(onlyusefulinconjunctionwithcntld)Thelastthreeoutputsareonlypresentifacounterisinstrumented.
Pleasealsorefertothefigurebelow.
TheimplementationoftheRAMtableisidenticaltotheimplementationofthesamplebuffer(thatis,thedevicebuffertypesettingselectstheimplementationofboththesamplebufferandthestate-machineRAMtable).
CostEstimationThemostcriticalsettingwithrespecttocostisthenumberoftriggercondi-tions,aseachtriggerconditionresultsinanadditionaladdressbitontheRAM,andthusdoublesthesizeoftheRAMtablewitheachbit.
NextinimportanceisthecounterwidthasthisfactorcontributesdirectlytoRAMtablewidthandisespeciallysignificantinthecontextofFPGARAMprimi-tivesthatallowatrade-offofwidthfordepth.
triggercntldcntencntvalnstatestatecntnull2-portRAMport1,read-onlyport2,write-onlycounterreg.
WriteportdrivenbyJTAGcircuitryc1cnc0StateMachineTriggeringIICEHardwareDescriptionIdentifyUserGuide2013Synopsys,Inc.
June2013159TheblockRAMonXilinxVirtex-II,Virtex-IIPro,Virtex-4,andSpartan-6devicesincludes18kbitsperblockandanumberofdifferentpossibleconfig-urations(Virtex-5,Virtex-6,andVirtex-7devicesinclude36kbitsperblock).
Thefollowingtableprovidessomehintsforgood,triggerstate-machinesettingsforthesmaller,18k-bitdeviceswhenusingonlyasingleblockforthetrigger-statemachine.
Theactualinstrumentation,however,isnotlimitedtothevaluesprovided,norisitlimitedtotheuseofasingleblockRAM(forexample,itmaybeadvantageousinaparticularsituationtotradeawaystatesforadditionaltriggerconditionsorforadditionalcounterwidth).
Anyconfigurationcanbeautomaticallyimplemented,aslongasitfitsonthedevicewiththeremainderofthedesign.
AlthoughRAMparametersareautomaticallydeterminedbytheIdentifyinstrumentor,thisinformationshouldbemonitoredtomakesurethatnoresourcesarewasted.
Table10-1:XilinxVirtex-II,Virtex-IIPro,Virtex-4,andSpartan-6devicesRAMsizeWithcounterWithoutcounterAddressDepthDataConditionsStatesCounterConditionsStates9-bit51236-bit5830-bitnousefulsetting9-bit51236-bit6431-bitnousefulsetting10-bit102418-bit6812-bitnousefulsetting10-bit102418-bit7413-bitnousefulsetting11-bit20489-bit783-bit71612-bit40964-bitn/an/an/a98LOIICEHardwareDescriptionStateMachineTriggering2013Synopsys,Inc.
IdentifyUserGuide160June2013UsingStateMachineTriggeringintheIdentifyDebuggerPerformthefollowingstepsintheIdentifydebuggerconsolewindowtosetupatriggerinadvancedtriggeringmode.
Thesestepscanbedoneinanyorder.
setupthevaluesforthetriggerconditionsusingtheIdentifydebuggerwatchandstopcommands.
setupthetriggerstatemachinebehaviorusingtheIdentifydebuggerstatemachinecommand.
Thewatchcommandtakesanadditionalparameter,-condition,specifyingthetriggerconditionsthatthegivenconditionisintendedfor.
Thisargumentisavailableinsimplemodeaswell,butasthereisonlyonetriggerconditioninthiscase,theargumentisredundant.
watchenable-condition(triggerCondition|all)signalNamevalue1[value2.
.
.
]watchdisable-condition(triggerCondition|all)signalNamewatchinfo[-raw]signalNameTheparametertriggerConditionisalistvalueconformingtotheTcllanguage.
Examplesare:1,"123",{23},or[list123],quotes,braces,andbracketsincluded,respectively.
Alternatively,thekeywordallcanbespecifiedtoapplythesettingtoalltriggerconditions.
TheIdentifydebuggerwatchinfocommandreportsstatusinformationaboutthesignal.
Thisinformationisreturnedinmachine-processibleformiftheoptionalparameter-rawisspecified.
SimilarlyfortheIdentifydebuggerstopcommand:stopenable-condition(triggerCondition|all)breakpointstopdisable-condition(triggerCondition|all)breakpointstopinfo[-raw]breakpointThesemanticsoftheparametersareidenticaltotheabovedescriptions.
ThestatemachineCommandDuringinstrumentation,thenumberofstateswaspreviouslydefinedusingthe-triggerstatesoptionoftheIdentifyinstrumentoriicecontrollercommand.
Now,atdebugtime,youcandefinewhathappensineachstateandtransi-tiondependingonthepatternmatchescomputedbythetriggerconditions.
StateMachineTriggeringIICEHardwareDescriptionIdentifyUserGuide2013Synopsys,Inc.
June2013161TheIdentifydebuggerstatemachinecommandisusedtoconfigurethetriggerstatemachinewiththedesiredbehavior.
Thisisverysimilartothe"advanced"triggermodeofferedbymanylogicanalyzers.
Asitisveryeasytointroduceerrorsintheprocessofspecifyingthestatemachine,specialcautionisappropriate.
Also,astate-machineeditorisavailableintheIdentifydebuggeruserinterfacetofacilitatestate-machinedevelopmentandunder-standing(seeState-MachineEditor,onpage167).
Itisalsoimportanttonotethattheinitialstateforeachrunisalwaysstate0andthatnotalloftheavailablestatesneedtobedefined.
ThesyntaxformsoftheIdentifydebuggerstatemachinecommandare:statemachineaddtrans-fromstate[-tostate][-cond"equation|titriggerInID"][-cntvalinteger][-cnten][-trigger]statemachineclear(-all|state[state.
.
.
])statemachineinfo[-raw](-all|state[state.
.
.
])SubcommandstatemachineaddtransTheIdentifydebuggeraddtranssubcommanddefinesthetransitionsbetweenthestates.
Theoptionsareasfollows:-fromstate–specifiesthestatethistransitionisexitingfrom.
-tostate–specifiesthestatethistransitiongoesto.
Ifthisisnotgiven,itdefaultstothestategiveninthe-fromoption.
-cond"equation|titriggerInID"–specifiestheconditionorexternaltriggerinputunderwhichthetransitionistobetaken.
Thedefaultis"true"(i.
e.
,thetransitionistakenregardlessofinputdata;seebelowformoredetails).
-cntvalinteger–specifiesthatifthistransitionistaken,thecounterisloadedwiththegivenvalue.
Onlyvalidwhenacounterisinstrumented.
-cnten–whenthisflagisgiven,thecounterisdecrementedby1duringthistransition.
Onlyvalidwhenacounterisinstrumented.
-trigger–whenthisflagisgiven,atriggeroccursduringthistransition.
Theorderinwhichthetransitionsareaddedisimportant.
Ineachstate,thefirsttransitionconditionthatmatchesthecurrentdataistakenandanysubsequenttransitionsinthelistthatmatchthecurrentdataareignored.
LOIICEHardwareDescriptionStateMachineTriggering2013Synopsys,Inc.
IdentifyUserGuide162June2013ConditionsTheconditionsarespecifiedusingBooleanexpressionscomprisedofvariablesandoperators.
Theavailablevariablesare:c0,.
.
.
cn,wherenisthenumberoftriggerconditionsinstrumented.
Thesevariablesrepresenttheoutputbitoftherespectivetriggercondi-tion.
titriggerInID–theID(0thru7)ofanexternaltriggerinput.
cntnull–truewheneverthecounterisequalto0(onlyavailablewhenacounterisinstrumented).
iiceID–variableusedwithcrosstriggeringtodefinethesourceIICEunitstobeincludedintheequationforthedestinationIICEtrigger.
Operatorsare:Negation:not,!
,~ANDoperators:and,&&,&ORoperators:or,||,|XORoperators:xor,^NORoperators:nor,~|NANDoperators:nand,~&XNORoperators:xnor,~^Equivalenceoperators:==,=Constants:0,false,OFF,1,true,ONParenthesesarerecommendedwhenevertheoperatorprecedenceisinquestion.
UsetheIdentifydebuggerstatemachineinfocommandtoverifytheconditionsspecified.
Forexample,validexpressionexamplesare:"c0andc1""!
(c1orc2)andc3""c0orti4"(conditionc0orexternaltriggerIDti4)StateMachineTriggeringIICEHardwareDescriptionIdentifyUserGuide2013Synopsys,Inc.
June2013163OtherSubcommandsTheIdentifydebuggerstatemachineclearcommanddeletesalltransitionsfromthestatesgivenintheargument,orfromallstatesiftheargument-allisspecified.
TheIdentifydebuggerstatemachineinfocommandprintsthecurrentstatemachinesettingsforthestatesgivenintheargument,orfortheentirestatemachine,iftheoption-allisspecified.
Iftheoption-rawisgiven,theinforma-tionisreturnedinamachine-processibleform.
StateMachineExamplesToimplementatriggerbehaviorthattriggerswhenthepatternoncondition1orcondition2(c1orc2)becomestrueforthe10thtime(asettingidenticaltocountermodeeventsinthesimplemodetriggering),thefollowingstatemachinecanbeused:statemachineaddtrans-from0-to1-cntval9statemachineaddtrans-from1-cond"(c1|c2)&cntnull"-triggerstatemachineaddtrans-from1-cond"c1orc2"-cntenAtriggerconditionrequiringpatternc2tooccur10timesafterpatternc1hasoccurred,withoutpatternc3occurringinbetween(commonlyavailableinlogicanalyzersas"Pattern1followedbyPattern2beforePattern3")canbeachievedwiththefollowingstatemachine:statemachineaddtrans-from0-to1-condc1-cntval9statemachineaddtrans-from1-cond"c2&cntnull"-triggerstatemachineaddtrans-from1-to0-condc3statemachineaddtrans-from1-cond"c2"-cntenThesebehaviorscanbecascadedbymovingontothenextbehaviorinsteadoftriggeringinthetransitionthathas-triggerspecified,aslongastherearetriggerconditionsandstatesavailable.
LOIICEHardwareDescriptionStateMachineTriggering2013Synopsys,Inc.
IdentifyUserGuide164June2013ConvenienceFunctionsThereareanumberofconveniencefunctionstosetupcomplextriggersavail-ableinthefileidentifyInstallDir/share/contrib/syn_trigger_utils.
tclwhichisloadedintotheIdentifydebuggeratstartup:st_eventsconditioninteger–Setsupthestatemachinetomimiccountermodeeventsofthesimpletriggeringmodeasdescribedabove.
Theargumentconditionisabooleanequationsettingupthecondition,andintegeristhecountervalue.
st_watchdogconditioninteger–Sameasst_eventsforwatchdogmode.
st_cyclesconditioninteger–Sameasaboveforcyclesmode.
st_pulsewidthconditioninteger–Sameasaboveforpulsewidthmode.
st_B_after_AconditionAconditionB[integer:=1]–SetsupatriggermodetotriggerifconditionBbecomestrueanytimeafterconditionAbecametrue.
Theoptionalintegerargumentdefaultsto1anddenoteshowmanytimesconditionBmustbecometrueinordertotrigger.
st_B_after_A_before_CconditionAconditionBconditionC[integer:=1]–SetsupatriggermodetotriggerifconditionBbecomestrueafterconditionAbecomestrue,butwithoutaninterveningconditionCbecomingtrue(sameasthesecondexampleabove).
Theoptionalintegerargumentdefaultsto1anddenoteshowmanytimesconditionBmustbecometruewithoutseeingconditionCinordertotrigger.
st_snapshot_fillcondition[integer]–Usesqualifiedsamplingtosampledatauntilsamplebufferisfull.
Theargumentconditionisabooleanequationdefiningthetriggercondition,andintegeristhenumberofsamplestotakewitheachoccurrenceofthetrigger(default1).
st_snapshot_intrcondition[integer]–UsesqualifiedsamplingtosampledatauntilmanuallyinterruptedbyanIdentifydebuggerstopcommand.
Theargumentconditionisabooleanequationdefiningthetriggerconditionandintegeristhenumberofsamplestotakewitheachoccurrenceofthetrigger(default1).
Pleaserefertothefilesyn_trigger_utils.
tclmentionedabovefortheimplementa-tionofthesetriggermodesusingtheIdentifydebuggerstatemachinecommand.
Userscanaddtheirownconveniencefunctionsbyfollowingtheexamplesinthisfile.
StateMachineTriggeringIICEHardwareDescriptionIdentifyUserGuide2013Synopsys,Inc.
June2013165CrossTriggeringwithStateMachinesCrosstriggeringallowsaspecificIICEunittobetriggeredbyoneormoreIICEunitsincombinationwithitsowninternaltriggerconditions.
TheIICEbeingtriggeredisreferredtoasthe"destination"IICE;theotherIICEunitsarereferredtoasthe"source"IICEunits.
MultipleIICEdesignsallowtriggeringandsamplingofsignalsfromdifferentclockdomains.
Withanasynchronousdesign,aseparateIICEunitcanbeassignedtoeachclockdomain,triggerscanbesetonsignalswithineachIICEunit,andthentheIICEunitsscheduledtotriggereachotheronauser-definedsequenceusingcrosstriggering.
Inthisconfiguration,eachIICEunitisindependentandcanhaveuniqueIICEparametersettingsincludingsampledepth,sample/triggeroptions,andsampleclockandclockedges.
CrosstriggeringissupportedinallthreeIICEcontrollerconfigurations(simple,complexcounter,andstate-machinetriggering)andallthreeconfig-urationsmakeuseofstatemachines.
CrosstriggeringisenabledintheIdentifyinstrumentor(crosstriggeringcanbeselectivelydisabledintheIdentifydebugger).
ToenableadestinationIICEunittoacceptatriggerfromasourceIICEunit,enterthefollowingcommandintheIdentifyinstrumentorconsolewindow(bydefault,crosstriggeringisdisabled):iicecontroller-crosstrigger1Forcrosstriggeringtofunctioncorrectly,thedestinationandthecontributingsourceIICEunitsmustbeinstrumentedbyselectingbreakpointsandwatch-points.
ConcurrentlyruntheseunitseitherbyselectingtheindividualIICEunitsandclickingtheRUNbuttonintheIdentifydebuggerprojectvieworbyenteringoneofthefollowingcommandsintheIdentifydebuggerconsolewindow:run-iiceallrun-iice{iiceID1iiceID2.
.
.
iiceIDn}Whensimple-orcomplex-countertriggeringisselectedinthedestinationIICEcontroller,thefollowingIdentifydebuggercross-triggercommandsareavailable:ThefollowingIdentifydebuggercommandcausesthedestinationIICEtotriggernormally(thetriggersfromsourceIICEunitsareignored).
iicecontroller-crosstriggermodeDISABLEDLOIICEHardwareDescriptionStateMachineTriggering2013Synopsys,Inc.
IdentifyUserGuide166June2013ThefollowingIdentifydebuggercommandcausesthedestinationIICEtotriggerwhenanysourceIICEtriggersoronitsowninternaltrigger.
iicecontroller-crosstriggermodeANYThefollowingIdentifydebuggercommandcausesthedestinationIICEtotriggerwhenallsourceIICEunitsandthedestinationIICEunithavetriggeredinanyorder.
iicecontroller-crosstriggermodeALLThefollowingIdentifydebuggercommandscausethedestinationIICEtotriggerafterthesourceIICEunittriggerscoincidentwiththenextdesti-nationIICEinternaltrigger.
iicecontroller-crosstriggermodeafter-crosstriggeriiceiiceIDiicecontroller-crosstriggermodeafter-crosstriggeriiceallThefirstIdentifydebuggercommandusesasinglesourceIICEunit(iiceID),andthesecondIdentifydebuggercommandrequiresallsourceIICEunitstotrigger.
Whenstate-machinetriggeringisselected,thestatemachinemustbespeci-fiedwithatleastthreestates(threestatesarerequiredforcertaintriggeringconditions,forexample,whenthedestinationIICEisinCyclesmodeandyouwanttoconfigurethedestinationIICEtotriggerafteranother(source)IICE.
Withstate-machinetriggering,thefollowingIdentifydebuggerstatemachinecommandsequencesareavailableintheIdentifydebuggerconsolewindow:ThefollowingIdentifydebuggercommandsequenceisequivalenttodisablingcrosstriggering.
ThedestinationIICEtriggersonitsowninternaltriggercondition(c0).
statemachineclear-allstatemachineaddtrans-from0-cond"c0"-triggerInthefollowingIdentifydebuggercommandsequence,thedestinationIICEwaitsforiiceIDtotriggerandthentriggersonitsowninternaltriggercondition(c0).
Thissequenceimplementsthe"afteriiceID"functionalityofthesimple-andcomplex-countertriggeringmodes.
statemachineclear-allstatemachineaddtrans-from0-to1-cond"iiceID"statemachineaddtrans-from1-to0-cond"c0"-triggerStateMachineTriggeringIICEHardwareDescriptionIdentifyUserGuide2013Synopsys,Inc.
June2013167InthefollowingIdentifydebuggercommandsequence,thedestinationIICEtriggerswhenthelastrunningIICEtriggers.
statemachineclear-allstatemachineaddtrans-from0-cond"c0andiiceIDandiiceID1andiiceID2"-triggerstatemachineaddtrans-from0-to1-cond"c0"statemachineaddtrans-from1-to0-cond"iiceIDandiiceID1andiiceID2"-triggerInthefollowingIdentifydebuggercommandsequence,thedestinationIICEwaitsforalltheotherrunningsourceIICEunitstotriggerandthentriggersonitsowninternaltriggercondition(c0).
statemachineclear-allstatemachineaddtrans-from0-to1-cond"iiceIDandiiceID1andiiceID2"statemachineaddtrans-from1-cond"c0"-trigger"Theincorporationofacounterinthestate-machineconfigurationissimilartotheuseofacounterinnon-crosstriggermodeforastatemachine.
State-MachineEditorTheIdentifydebuggerincludesagraphicalstate-machineeditorthatisavail-ablewhenstate-machinetriggeringisenabledfortheactiveIICEunitontheIICEControllertabintheIdentifyinstrumentor.
Tobringupthestate-machineeditorintheIdentifydebugger,clicktheConfigureStatemachineTriggericonintheIdentifydebuggertoolbar.
Notethattheiconwillbegrayedoutifstate-machinetriggeringwasnotenabledintheIdentifyinstrumentorwhenthedesignwasinstrumentedandthatanerrormessagewillbegeneratedifmorethan10statesaredefined.
ClickingtheicondisplaystheStatemachineEditordialogboxfortheselectedIICE.
LOIICEHardwareDescriptionStateMachineTriggering2013Synopsys,Inc.
IdentifyUserGuide168June2013Eachstateisdefinedinanindividualentryfield.
Withineachentry,youcanaddmultipledefinitionsfortransitioningfromthatstate.
Eachtransitionincludeseitheroneortwoactionsandacondition.
Theactionsandcondi-tionsaredefinedinthefollowingtables.
ActionDescriptionDecrementCounterDecrementscounterwhenconditionistrue(mutuallyexclusivewithInitializeCounter)InitializeCounterInitializescountertocountspecifiedbystatemachinetransitioneditor(mutuallyexclusivewithDecrementCounter)TriggerSampleBuf-ferTriggerssamplebufferwhenconditionistrueGotoStateTransitionstospecifiedstatewhenconditionistrueStateMachineTriggeringIICEHardwareDescriptionIdentifyUserGuide2013Synopsys,Inc.
June2013169Tousethedialogbox:Asanoptionalstartingpoint,useInsertMacrotoselectpredefinedstate-machinebehaviorsfromthedrop-downlist.
Whenamacroisselected,acorrespondingConfigureStatemachineMacrodialogboxisdisplayedtosettheparametersforthemacro.
Thefollowingfigureshowsthedialogboxforthest_B_after_Amacro.
Entertherequiredparametersintothedialogbox.
Theseparametersincludeevents,Booleanfunctions,transitioncount,andIICEunit.
ClickOKafteralloftheparametersareentered.
ConditionDescriptionc0.
.
.
cNReferencestriggereventinactiveIICEunitcntnullTruewhencounterisequalto0(availableonlywhencounterisinstrumented)iiceIDReferencestriggereventfromasecondIICEunitforcrosstriggering(crosstriggeringmusthavebeenenabledwhenthedesignwasinstrumented)titriggerInIDReferencesexternaltriggeroriginatingfromanIICEmoduleinanotherFPGAoron-boardexternallogicBooleanBooleanoperatorsusedtodefinestate-machineevents(seeConditions,onpage162)LOIICEHardwareDescriptionStateMachineTriggering2013Synopsys,Inc.
IdentifyUserGuide170June2013UsetheAddnewtransition,Editcurrenttransition,andDeletecurrenttransitioniconsasrequired.
TheAddnewtransitionandEditcurrenttransitioniconsbringuptheStatemachinetransitioneditordialogboxwhichallowstransi-tionstobedefinedorredefined.
ClickOKwhenthetransitionhasbeendefined/redefined.
ClickOKintheinitialStatemachineEditordialogboxwhenthestate-machinetriggeringconditionhasbeendefined.
Notethatyoucanviewthecorrespondingstate-machinecommandsintheIdentifydebuggerconsolewindowusingthestatemachineinfo-allcommand.
StateMachineTriggeringIICEHardwareDescriptionIdentifyUserGuide2013Synopsys,Inc.
June2013171State-MachineExamplesTheIdentifystate-machinetriggeringfeatureallowsthecreationofcounter-basedstatemachinesfromsequencesoftriggerconditionstocreateveryeffectivetriggers.
Youcansetupastate-machinetriggerduringinstrumenta-tionandthenprogramthestatemachinedynamicallyduringdebugtocreateacomplex,design-specifictrigger.
BuildingaComplexState-machineTriggerWhenbuildingacomplex,state-machinetrigger,youspecifythenumberoftriggerstates,thetriggerconditions(whichcanbesetdynamicallyintheIdentifydebugger),andthecounterwidth.
Acommondesignconfigurationistotriggerwhenaspecificsequenceofeventsoccurswhich,inturn,causesdatacollectiontostopandthesampledatatobedownloadedbythecorre-spondingIdentifydebuggerexecutablefromtheFPGA.
Youcanenablestate-machinetriggeringandspecifythestatesthroughtheuserinterfaceasoutlinedinthefollowingsteps:1.
IntheIdentifyinstrumentorgraphicaluserinterface,selectActions->ConfigureIICEfromthetopmenubarorclicktheIICEicon.
2.
FromtheIdentifyinstrumentorConfigureIICEdialogbox,selecttheIICEControllertab,clicktheStateMachinetriggeringradiobutton,andspecifythenumberoftriggerstates,triggerconditions,andthecounterwidthinthecorrespondingfields.
LOIICEHardwareDescriptionStateMachineTriggering2013Synopsys,Inc.
IdentifyUserGuide172June20133.
BuildthestatemachinetriggerfromtheIdentifydebuggerconsolewindow.
ThefollowingIdentifydebuggercommandsequenceisanexample.
statemachineaddtrans-from0-to1-condc0-cntval7-triggerstatemachineaddtrans-from1-to0-cond"cntnull"statemachineaddtrans-from1-to1-cnten-triggerNotethatinthelastIdentifydebuggerstatemachinecommand,the-to1canbeomitted(unnecessarybecausethereisnochangeinstate)andthatbecausethe-fromstatesarethesameinthesecondandthirdcommands,executionfallsthroughtothethirdcommandwhenthesecondconditionisnottrue.
4.
Oncethestate-machinetriggeriscreated,usetheIdentifydebuggerstatemachineinfo-allcommandtodisplayandreviewthestate-machinetransitions.
Thestate-machineeditorintheIdentifydebuggerGUIcanbeusedtodefinethestate-machinetriggereventdescribedinstep3asshowninthefollowingfigure.
loadcountertriggerwhencounter=0counttransitiononcounter=0transitioncount=0count>0transitionc0=1loadcountertriggercount=0State0State1StateMachineTriggeringIICEHardwareDescriptionIdentifyUserGuide2013Synopsys,Inc.
June2013173Thefollowingfigureshowsthestate-machinetransitioneditor(clicktheAddnewtransitionicon).
TheIdentifydebuggerstate-machineandstate-machinetransitioneditorsallow:GraphicalentryofstatemachinesEditingofstatetransitionsandtriggereventsConditionstobecombinedwitheachotherorwithacounterCountermodeselectionofup,down,orinitializedtoanyvalueState-machineTriggeringwithTclCommandsTheIICEcanbeconfiguredusingTCLcommandsenteredfromboththeIdentifyinstrumentorandIdentifydebuggerconsolewindows.
Someoftheexamplecommandsareasfollows:TodeletethestatetransitionsfromeachIICE,usethefollowingIdentifydebuggercommand:statemachineclear-iiceallLOIICEHardwareDescriptionStateMachineTriggering2013Synopsys,Inc.
IdentifyUserGuide174June2013Toenablecomplexcountertriggering,usethefollowingIdentifyinstru-mentorcommand:iicecontrollercomplexTosetthecounterwidth,usethefollowingIdentifyinstrumentorcommand:iicecontroller-counterwidth8ToconfigureanIICEforstate-machinetriggering,usethefollowingIdentifyinstrumentorcommandsequence:iicecontroller-iiceIICEstatemachineiicecontroller-iiceIICE-counterwidth4iicecontroller-iiceIICE-triggerconditions2iicecontroller-iiceIICE-triggerstates2Inadditiontostate-machinetriggering,theaboveIdentifyinstrumentorcommandssetthenumberoftriggerconditionsto2andthenumberoftriggerstatesto2.
Toenablecrosstriggering,usethefollowingIdentifyinstrumentorcommand:iicecontroller-crosstrigger1Similarly,toconfigurethesampledepth,usethefollowingIdentifyinstrumentorcommand:iicesampler-depth2048Notethattheonlyoptionforbuffertypeisinternal_memory.
QualifiedSamplingDuringqualifiedsampling,dataissampledoneveryclock.
Thefollowingexampleusesqualifiedsamplingtoexaminethedataforagivennumberofclockcycles.
Tocreateacomplextriggereventtoperformqualifiedsampling:1.
FromtheConfigureIICEdialogboxintheIdentifyinstrumentorGUI,selecttheIICEControllertab,clicktheStateMachinetriggeringradiobutton,andenteravalueintheCounterwidthfieldtodefinethewidthofthesamplebuffer.
2.
SelecttheIICESamplertabandenabletheAllowqualifiedsamplingcheckbox.
StateMachineTriggeringIICEHardwareDescriptionIdentifyUserGuide2013Synopsys,Inc.
June20131753.
FromtheIdentifydebuggerGUI,selectqualified_fillfromtheSampleModedrop-downmenu.
4.
FromtheIdentifydebuggerGUI,clickontheadjacentConfigureStatemachineTriggericonanddefinethestate-machinetriggerevent.
5.
FromtheIdentifydebuggerGUI,selectthest_snapshot_fillmacrofromtheInsertMacrodrop-downmenu.
Enterthetriggerevent(theconditionthatwillbethequalifyingtrigger)infieldA,enterthenumberofsamplestobeaccumulatedinthesamplebufferafterthetriggereventoccursinfieldN,andclickOKtoupdatethestate-machinedefinition.
WhenyouclickRunintheIdentifydebuggerprojectwindow,thesamplebufferbeginsaccumulatingdatawhenthetriggereventoccursandstopsaccumulatingdataafterthespecifiednumberofsamplesisreached.
LOIICEHardwareDescriptionStateMachineTriggering2013Synopsys,Inc.
IdentifyUserGuide176June2013Note:IfyouusetheIdentifydebuggerst_snapshot_intrmacroinplaceofthest_snapshot_fillmacro,thesamplebufferiscontinuallyoverwrittenuntilmanuallyinterruptedbyastopcommand.
YoucanalsoperformqualifiedsamplingusingequivalentIdentifydebuggerTclcommands.
ThefollowingIdentifydebuggerexamplecommandsequencesamplesthedataeveryNcyclesbeginningwiththefirsttriggerevent.
iicesampler-samplemodequalified_fillstatemachineclear-iiceIICE-allstatemachineaddtrans-iiceIICE-from0-to1-cond"true"-cntval0statemachineaddtrans-iiceIICE-from1-to2-cond"c0"-cntval15-triggerstatemachineaddtrans-iiceIICE-from2-to2-cond"!
cntnull"-cntenstatemachineaddtrans-iiceIICE-from2-to2-cond"cntnull"-cntval15-triggerRemoteTriggeringRemotetriggeringallowsonedebuggerexecutabletosendasoftwaretriggereventtoterminatedatacollectionintheotherdebuggerexecutables,effec-tivelycreatingaremotestopbutton.
Youcanselectivelysettheremotetriggerto:triggerallIICEsinalldebuggerexecutablestriggerallIICEsinaspecificdebuggerexecutabletriggeraspecificIICEinaspecificdebuggerexecutableAcommondesignconfigurationistotriggerallFPGAsonasingleboard-levelevent;whenthateventoccurs,datacollectionisstoppedandthesampledataisdownloadedbythecorrespondingdebuggerexecutablesforallFPGAs.
Remotetriggeringisascriptingapplication.
TheIICE/debuggertargetsaredefinedbytheIdentifydebuggerremote_triggercommand(seethecommanddescriptionintheReferenceManual).
StateMachineTriggeringIICEHardwareDescriptionIdentifyUserGuide2013Synopsys,Inc.
June2013177Asanexample,theIdentifydebuggerscriptingsequencerun;remote_trigger-pid12waitsforthetriggerconditionintheactiveIICEandthensendsatriggertoallIICEunitsinthedebuggerexecutableidentifiedbyprocessID12.
ImportingExternalTriggersAnimportexternaltriggercapabilitycanbeusedwithtriggersignalsorigi-natingfromon-boardlogicexternaltotheFPGAorfromanIICEmoduleinasecondFPGA.
Forinformationonusingthisfeaturewithstate-machinetriggering,seetheImportingExternalTriggersapplicationnoteavailableonSolvNet.
LOIICEHardwareDescriptionStateMachineTriggering2013Synopsys,Inc.
IdentifyUserGuide178June2013IdentifyUserGuide2013Synopsys,Inc.
June2013179CHAPTER11ConnectingtotheTargetSystemThischapterdescribesmethodstoconnecttheIdentifydebuggertothetargethardwaresystem.
Theprogrammabledeviceordevicesinthetargetsystemthatcontainthedesigntobedebuggedareusuallyplacedonaprintedcircuitboardalongwithanumberofothersupportdevices.
Thedifficultyisthattheboardsdiffergreatlyintheconnectionsbetweentheirprogrammabledevices,theothercomponents,andtheexternalconnectionsoftheboards.
ThischapteroutlineshowtoconnecttheIdentifydebuggertomostofthecommonboardconfigurationsandaddressesthefollowingtopics:BasicCommunicationConnectionJTAGCommunicationJTAGHardwareinInstrumentedDesignsUsingtheBuilt-inJTAGPortUsingtheSynopsysDebugPortJTAGCommunicationDebuggingUMRBusCommunicationsInterfaceHAPSBoardBring-upUtilityLOConnectingtotheTargetSystemBasicCommunicationConnection2013Synopsys,Inc.
IdentifyUserGuide180June2013BasicCommunicationConnectionThecomponentsthatmakeupthedebuggingsystemare:ThehostmachinerunningtheIdentifytoolsetwithaloadedproject.
Thecommunicationcableconnectingthehostmachinetotheprogram-mabledevice.
Theprogrammabledeviceordevicesloadedwiththeinstrumentedversionofthedesigntobedebugged.
IdentifyDebuggerCommunicationsSettingsIdentifydebuggercommunicationssettingsaredefinedontheprojectwindowandincludeselectingthecabletypeandsettingtheportparametersfortheselectedcable.
CableTypeThecabletypeisselectedfromadrop-downmenuintheCommunicationssettingsareaoftheIdentifydebuggerprojectwindow(seefollowingfigure).
BasicCommunicationConnectionConnectingtotheTargetSystemIdentifyUserGuide2013Synopsys,Inc.
June2013181Thefollowingtableliststhecorrespondencebetweencable-typesettingandthesupportedcablesintheIdentifydebugger.
Ifyouareusingthecommandinterface,setthecomcommand'scabletypeoptiontoxilinxparallel,xilinxusb,xilinxauto,byteblaster,Microsemi_BuiltinJTAG,JTAGTech3710,ordemoaccordingtothecablebeingused.
NotethatifyouareusingtheAlterabuiltinJTAGport,anyAlteracabletypecanbeused(communicationsarecontrolledthroughtheQuartusdriver).
IfyouareusingthesoftJTAGport,youmustuseeitheraByteBlasterorByteBlasterMVhardwarecable.
AumrbussettingisalsoavailableforestablishingcommunicationsbetweenHAPShardwareandtheIdentifydebugger(seeUMRBusCommunicationsInterface,onpage203).
CableTypeSettingCompatibleHardwareCablesxilinxparallelXilinxParallelIIIandXilinxParallelIVxilinxusbXilinxUSB(Windowsonly)byteblaster(softJTAGport)AlteraByteBlasterandByteBlasterMVMicrosemi_BuiltinJTAGMicrosemiFlashPro,FlashProLite,orFlashPro3Altera_BuiltinJTAG(builtinJTAGport)AlteraMasterBlaster(parallel,serial,orUSB)orAlteraUSBBlasterLOConnectingtotheTargetSystemBasicCommunicationConnection2013Synopsys,Inc.
IdentifyUserGuide182June2013ByteblasterCableSettingToconfigureaByteBlastercable,clickthePortSettingsbuttontodisplaytheConfigurePortSettingsdialogboxandselecttheappropriateportfromthedrop-downmenu(seefollowingfigure).
Ifyouareusingthecommandinterface,setthecomcommand'scableoptionsbyteblaster_portoptionto1(lpt1),2(lpt2),3(lpt3),or4(lpt4).
Differentcomputershavetheirlptportsdefinedfordifferentaddressrangessotheportyouusedependsonhowyourcomputerisconfigured.
TheIdentifydebuggerusesthe"standard"I/Oportdefinitions:lpt1:0x378-0x37B,lpt2:0x278-0x27B,lpt3:0x3BC-0x3BF,andlpt4:0x288-0x28Bifitcannotdeterminetheproperdefinitionsfromtheoperatingsystem.
Ifthehardwareaddressforyourparallelportdoesnotmatchtheaddressesforlpt1throughlpt4,youcanusethesetsyssetcommandvariablelpt_addresstosetthehardwareportaddress(forexample,setsyssetlpt_address0x0378definesportlpt1).
BasicCommunicationConnectionConnectingtotheTargetSystemIdentifyUserGuide2013Synopsys,Inc.
June2013183XilinxParallelCableSettingsToconfigureaXilinxparallelcable,clickthePortSettingsbuttontodisplaytheConfigurePortSettingsdialogboxandselecttheappropriateportandcommuni-cationspeedfrequencyfromthedrop-downmenu(seefollowingfigure).
Ifyouareusingthecommandinterface,setthecomcommand'sportcableop-tionsxilinxparallel_portoptionto1(lpt1),2(lpt2),3(lpt3),or4(lpt4)andsetthexilinxparallel_speedoptionto5000000(5MHz),2500000(2.
5MHz),or200000(200kHz).
Notethatdifferentcomputershavetheirlptportsdefinedfordifferentaddressrangessotheportyouusedependsonhowyourcomputerisconfigured.
TheIdentifydebuggerusesthe"standard"I/Oportdefinitions:lpt1:0x378-0x37B,lpt2:0x278-0x27B,lpt3:0x3BC-0x3BF,andlpt4:0x288-0x28Bifitcannotdeterminetheproperdefinitionsfromtheoperatingsystem.
Ifthehardwareaddressforyourparallelportdoesnotmatchtheaddressesforlpt1throughlpt4,youcanusethesetsyssetcommandvariablelpt_addresstosetthehardwareportaddress(forexample,setsyssetlpt_address0x0378definesportlpt1).
LOConnectingtotheTargetSystemBasicCommunicationConnection2013Synopsys,Inc.
IdentifyUserGuide184June2013XilinxUSBCableSettingToconfigureaXilinxUSBcable,clickthePortSettingsbuttontodisplaytheConfigurePortSettingsdialogboxandselecttheappropriatecommunicationspeedfrequencyfromthedrop-downmenu(seefollowingfigure).
Note:TheXilinxUSBcableisonlysupportedontheWindowsplatform.
UsingtheolderXilinxUSBblackcablewithaHAPS-70systemlimitsthecommunicationfrequency.
ThenewerXilinxUSBredcabledoesnothavethislimitation.
Ifyouareusingthecommandinterface,setthecomcommand'sportcableop-tionsxilinxusb_speedoptionto24000000(24MHz),12000000(12MHz),6000000(6MHz),3000000(3MHz),1500000(1.
5MHz),or750000(750kHz).
XilinxautoCableSettingsSelectingtheXilinxautocabletypeallowstheIdentifydebuggertodynamicallyselecttheappropriateXilinxcable(parallelorUSB)forthehardwareconfigu-ration.
Fromtheprojectwindow,clickthePortSettingsbuttontodisplaytheConfigurePortSettingsdialogboxandselecttheappropriateparallelportandcommunicationspeedfrequenciesforboththeparallelandUSBcablesfromthedrop-downmenus(seefollowingfigure).
BasicCommunicationConnectionConnectingtotheTargetSystemIdentifyUserGuide2013Synopsys,Inc.
June2013185Ifyouareusingthecommandinterface,setthecomcommand'sportcableop-tionsxilinxparallel_port,xilinxparallel_speed,andxilinxusb_speedoptionsdescribedpreviouslyinXilinxParallelCableSettings,onpage183andXilinxUSBCableSetting,onpage184.
JTAGTech3710CableSettingsToconfigureaJTAGTech3710cable,clickthePortSettingsbuttontodisplaytheConfigurePortSettingsdialogbox(seefollowingfigure)andenterthecorre-spondingparameters(type,port,andtapnumber).
Ifyouareusingthecommandinterface,usethecomcommand'scableoptionsoptiontosetthecable-specificparameters–JTAGTech_type(takesvaluesPCIandUSB;defaultisPCI),JTAGTech_port(takesvalues0,1,2,.
.
.
;defaultvalueis0),andJTAGTech_tapnum(takesvalues1,2,3,or4;defaultis1).
LOConnectingtotheTargetSystemBasicCommunicationConnection2013Synopsys,Inc.
IdentifyUserGuide186June2013MicrosemiActel_BuiltinJTAGcableSettingsToconfigureaMicrosemiFlashPro,FlashProLite,orFlashPro3cable,simplyselecttheMicrosemi_BuiltinJTAGsettingfromtheCabletypedrop-downmenu.
Ifyouareusingthecommandinterface,youcanadditionallyusethecomcommand'scableoptionsoptiontosetthetristatepinparameter(seethecomcommandcableoptionsoptionintheReferenceManualfortheparametersyntax).
DemoCableSettingsThePortSettingsbuttonisdisabledwhenthedemocableisselected.
IdentifyDebuggerConfigurationAllpartsofthedebuggingsystemmustbeconfiguredcorrectlytomakeasuccessfulconnectionbetweentheIdentifydebuggerandtheinstrumenteddeviceordevicesthroughthecable.
InadditiontoselectingthecabletypeandportparametersdescribedinIdentifyDebuggerCommunicationsSettings,onpage180,thefollowingadditionalrequirementsmustbemettoensurepropercommunications.
JTAGClient-ServerConfigurationTheclient-serverconfigurationissetfromadialogboxavailablebyselectingOptions->ConfigureJTAGserverintheIdentifydebugger.
ThedefaultsettingsareusuallycorrectformostconfigurationsandrequirechangingonlywhenthedefaultserverportaddressisalreadyinuseorwhentheIdentifydebuggerisbeingrunfromamachinethatisnotthesamemachineconnectedtotheFPGAboard/device(seeClient-ServerConfigurationforRemoteDebugging,onpage188).
BasicCommunicationConnectionConnectingtotheTargetSystemIdentifyUserGuide2013Synopsys,Inc.
June2013187Inthedialogbox:Cabletype–thetypeofinterfacecable(seeCableType,onpage180).
JTAGserveraddress–theaddressoftheserver.
TheaddresslocalhostisusedwhentheIdentifydebuggerisrunonthesamemachineconnectedtotheFPGAdevice.
TheserveraddressissettotheIPaddressofthemachineconnectedtotheFPGAdevice/boardwhentheIdentifydebuggerisrunfromadifferentmachine.
JTAGclient/serverport–theportnumberoftheserver.
ForXilinxcabletypes,thedefaultportnumberis57015;forMicrosemicabletypes,thedefaultportnumberis58015.
ForAlteradevices,client-serverportconfigurationispartoftheAlteradriverandthesettingisignored.
Changetheserverportsettingwhenthereisaconflictwithanothertoolonthemachine.
JTAGclient/serverlogfile–thenameofthelogfile.
StartJTAGserver/StopJTAGserver–servercontrolbuttonsforstartingandstoppingtheJTAGserver.
TheUpdatelogbuttonaddsastart/stopentrytothelogfile.
LOConnectingtotheTargetSystemBasicCommunicationConnection2013Synopsys,Inc.
IdentifyUserGuide188June2013Client-ServerConfigurationforRemoteDebuggingTheIdentifydebuggerusesaclient-serverarchitecturetocommunicatewithFPGAsovertheJTAGinterface.
Client-serverarchitectureletsyouworkremotelywiththeIdentifydebuggerusingEthernetasthebackboneforclient-servercommunication.
TheIdentifydebuggercanbeconfiguredineithertheclientorservermode.
Intheclient-serverarchitecture,themachineconnectedtothetargetFPGAboardistermedtheserverandanymachineonthesamenetworkthatisusedtolaunchtheIdentifydebuggerandconnecttotheserveristermedtheclient.
YoucanusetheConfigureJTAGclient/serversettingsdialogboxdescribedintheprevioussectiontosettheIPaddressorthehostnameoftheserversothatyoucanremotelydebugthedesign.
Youcanalsospecifytheportforclient-servercommunication.
Client-servercommunicationusestheTCP/IPcommunicationprotocol.
Client-ServerConfigurationToestablishaclient-serverconnection:1.
ConfigurethetargetFPGAwiththedesigntobedebugged.
2.
StarttheserveronthemachineconnectedtothetargetFPGAboard,launchthedebugger,andthenconfiguretheserver-sidedebuggerasdescribedbelow:–Loadtheprojectfile(design)tobedebugged.
–InthedebuggerUI,ConfigureJTAGserverfromtheOptionsdrop-downmenu.
–Specifytheserveraddress,portnumber,andlogfilenameintheConfigureJTAGclient/serversettingsdialogbox.
TheserveraddresscanbeeitherthenameofthehostmachineoritsIPaddress.
IfyoudonotknowthehostnameorIPaddress,setittolocalhost.
Settheclient/serverportaccordingtotheselectedcabletype.
ConfiguringtheJTAGclient-serverparametersdoesnotstarttheserver.
–Tostarttheserver,selecttheStartJTAGserverbuttoninthedialogbox.
Alternatively,youcanrunthecomcheckcommandbyselectingtheCommcheckbuttoninthedebuggerprojectview.
Iftheserverstartssuccessfully,youseethexilinxjtagoracteljtagprocessrunninginthetaskmanager.
Iftheservercannotbestartedonthehostmachine,anerrormessageisdisplayed.
BasicCommunicationConnectionConnectingtotheTargetSystemIdentifyUserGuide2013Synopsys,Inc.
June20131893.
Todebugthedesignfromaremotemachine(client),launchthedebuggerontheclientmachineandloadtheprojecttobedebugged.
Thenconfiguretheclient-sidedebuggerasdescribedbelow:–InthedebuggerUI,ConfigureJTAGserverfromtheOptionsdrop-downmenu.
–Specifytheserveraddress,portnumber,andlogfilenameintheConfigureJTAGclient/serversettingsdialogbox.
TheserveraddresscanbeeitherthenameofthehostmachineoritsIPaddress.
TheportnumbermustbethesameastheportnumberusedtoconfiguretheJTAGserver.
ThefollowingisthesyntaxfortheequivalentTCLcommandtoconfiguretheJTAGserver:jtag_serverset-addr{hostName/IP_address}-port{serverPort}-logf{logFfileName}ToviewtheexistingJTAGserverconfigurationsettings,usethejtag_servergetTclcommand.
Checktheclient-servercommunicationbyrunningthecomcheckcommandbyselectingtheCommcheckbuttoninthedebuggerprojectview.
Iftheclient-servercommunicationcannotbeestablished,anerrormessageisdisplayedinthedebugger.
Oncetheclient-servercommunicationisrunningproperly,youcandebugthedesignremotely.
Parallel/USBPortDriversTheparallelportorUSBdrivermustbeinstalledandoperating(seetheinstallationproceduresinthereleasenotes).
MakesurethehostmachineonwhichyouarerunningtheIdentifydebuggerhastheparallelportorUSBdriverinstalled.
IfyouareusingtheAlterabuiltinJTAG,thebindirectoryfortheQuartussoftwaremustbeincludedintheusers"path"variable.
LOConnectingtotheTargetSystemBasicCommunicationConnection2013Synopsys,Inc.
IdentifyUserGuide190June2013CommunicationCableConnectionsThecommunicationcablemustbeconnectedcorrectly.
Therearetwoconnections:Cable-to-host–makesurethattheparallelportyouconnectthecabletocorrespondstothelptspecifiedusingthecomportcommand.
TheIdentifydebuggerusesthe"standard"I/Oportdefinitions:lpt1:0x378-0x37B,lpt2:0x278-0x27B,lpt3:0x3BC-0x3BF,andlpt4:0x288-0x28Bifitcannotdeterminetheproperdefinitionsfromtheoperatingsystem.
Ifthehardwareaddressforyourparallelportdoesnotmatchtheaddressesforlpt1throughlpt4,youcanusethesetsyssetcommandvariablelpt_addresstosetthehardwareportaddress(forexample,setsyssetlpt_address0x0378definesportlpt1).
Cable-to-board–thecablemustbeconnectedcorrectlytotheboardthatcontainstheprogrammabledeviceordevicestobedebugged.
TheAlteraByteBlastercableconnectswitha10-pinconnectortoaspecialconnectorontheboard.
TheXilinxparallelcable(andsimilarcables)havesixflyingleads.
TheleadsconnecttothefourJTAGsignalsandalsotopowerandground.
BesuretoconnectALLsixleads.
Whenyouinstrumentedyourdesign,youselectedaJTAGconnectiontouse:builtinorSynopsysdebugport(soft).
Ifyouselectedthebuiltinoption,connectthecabletothesameleadsthatyouusefortheJTAGbasedprogrammingofthechip.
IfyouselectedtheSynopsysdebugport(soft),fourJTAGsignalswereaddedtothetoplevelofyourdesign.
Youmustassignthesesignalstopinsonthechipthatareconnectedtoaccessibleprobepointsonyourboard.
Oncethisiscomplete,connectthefourJTAGsignalstotheproperprobepoints,andmakesurethatyoualsoconnectthepowerandgroundleads.
JTAGChainDescriptionIfyouareusingthebuiltinJTAGconnectionandthedevicetobedebuggedispartofamulti-devicescanchain,theIdentifydebuggerfirstattemptstodetectthedevicesinthescanchain.
Ifauto-detectionisunsuccessful,describethedevicechaintotheIdentifydebuggerusingthechaincommand.
ChipProgrammingMakesurethatyouprogramthedevicewiththeinstrumentedversionofyourdesign,NOTtheoriginalversion.
JTAGCommunicationConnectingtotheTargetSystemIdentifyUserGuide2013Synopsys,Inc.
June2013191JTAGCommunicationJTAGisa4-wirecommunicationprotocoldefinedbytheIEEE1149.
1standard.
TheJTAGstandarddefinesthenamesofthefourconnectionsas:TCK,TMS,TDI,andTDO.
TheJTAG-compliantdevicescanbeconnectedtoahostcomputerthroughaJTAGcable.
Suchdevicescanbeconnecteddirectlytothecable(seefollowingfigure),ormultipledevicescanbeconnectedinaserialchainasshowninthefigureonthefollowingpage.
NoticeinthesecondfigurethattheTCKandTMSconnectionsareconnecteddirectlytobothdeviceswhiletheTDIandTDOconnectionsroutefromonedevicetotheotherandloopbacktotheJTAGcable.
JTAGCableTCKTMSTDOTAPControlTDILOConnectingtotheTargetSystemJTAGCommunication2013Synopsys,Inc.
IdentifyUserGuide192June2013TAPControlTDOTDITDOTDITMSTCKJTAGCableTAPControlJTAGHardwareinInstrumentedDesignsConnectingtotheTargetSystemIdentifyUserGuide2013Synopsys,Inc.
June2013193JTAGHardwareinInstrumentedDesignsTheIdentifytoolsetusesaJTAGconnectiontocommunicatewiththeinstru-menteddesign.
Todothis,theIICEmustcontainaTAPcontrollerthatimple-mentstheJTAGstandard.
TheIICEJTAGconnectioncurrentlycanbeimple-mentedinoneoftwoways:TheIICEcanbeconfigured(usingthebuiltinoption)tousetheJTAGcontrollerthatisbuiltintotheprogrammablechip.
Thisapproachhastheadvantagethatthebuilt-inTAPcontrolleralreadyhashard-wiredconnectionsandfourdedicatedpins.
Accordingly,employingtheIdentifytoolsetdoesnotcostextrapins.
Inaddition,thebuilt-inTAPcontrollerdoesnotrequireanyuserlogicresourcesbecauseitusuallyisimplementedinhard-wiredlogiconthechip.
Unfortunately,notalldeviceshaveausablebuilt-inTAPcontroller.
TheIICEcanbeconfigured(usingthesoftJTAGportoption)toincludeacomplete,JTAG-compliantTAPcontroller.
TheTAPcontrollerisconnectedtoexternalsignalsbyusingfourstandardI/Opinsontheprogrammabledevice.
AnyprogrammabledevicefamilycanutilizethistypeofcableconnectionsinceitonlyrequiresfourstandardI/Opins.
Thefollowingsectionsprovidemoredetailonthesetwocommunicationoptions.
UsingtheBuilt-inJTAGPortSomeprogrammabledevicefamiliesemployabuilt-inTAPcontrollerasameansfordeviceconfiguration.
Inmostcases,theIICEalsocanbeconfig-uredtousethisbuilt-inTAPcontroller.
UsingthisTAPcontrollersavestheuserlogicnecessarytoimplementthecontrollerandalsosavesfourI/Opins.
Usingthebuilt-inportisslightlymorecomplicatedthanusingtheIdentifydebugportbecausethebuilt-inportusuallyhasspecialboard-levelconnec-tionsthatfacilitatetheprogrammingofthechip.
Consequently,theseprogrammingconnectionsmustbeunderstoodtoproperlyconnecttheJTAGcabletotheboardandtoproperlycommunicatewiththeIICE.
LOConnectingtotheTargetSystemJTAGHardwareinInstrumentedDesigns2013Synopsys,Inc.
IdentifyUserGuide194June2013BoardswithDirectJTAGConnectionsHAPSboardsandotherboardsthatconnectthebuilt-inJTAGportdirectlytofourheaderpinsontheboardallowtheJTAGcabletosimplybeconnecteddirectlytotheheaderpins.
Thisconfigurationworksforbothdirectlyconnecteddevicesandseriallychaineddevices.
AcommonserialconfigurationisthecombinationofanEEPROMwithaprogrammabledevice.
Thisconfigurationallowsyoutoeitherdirectlyprogramthechip,ortoprogramtheEEPROMandthenusethecontentsoftheEEPROMtoprogramthedeviceviasomeotherconnection(seefollowingfigure).
ThisconfigurationiswellsuitedtotheIdentifydebuggerandworksjustlikeanyotherseriallyconnectedchain.
Similarly,whenusingtheIdentifytoolsetwiththeCertifytoolandaHAPSboardinamulti-FPGAenvironment,thedesignisdistributedamongtheFPGAsandtheinstrumentedlogicisincludedinoneormoreoftheFPGAs.
Inthisconfiguration,theIICEunitorunitsineachFPGAareindividuallyaccessedtoprovidetherequireddebuggingcapabilitiesfortheirassociatedportionofthedesignlogic.
TAPControlEEPROMJTAGCableTAPControlFPGATDOTDITMSTCKJTAGHardwareinInstrumentedDesignsConnectingtotheTargetSystemIdentifyUserGuide2013Synopsys,Inc.
June2013195UsingtheSynopsysDebugPortByconfiguringtheIICEusingthesoftJTAGportoption,thedesigninstrumen-tationincludesacomplete,JTAG-compliantTAPcontroller.
TheIdentifydebuggerconnectstheTAPcontrollertofourtop-levelI/Oconnectionstothedesign.
Thesignalnamesfortheseconnectionsare:identify_jtag_tck:theasynchronousclocksignalidentify_jtag_tms:thecontrolsignalidentify_jtag_tdi:theserialdataINsignalidentify_jtag_tdo:theserialdataOUTsignalDirectJTAGConnectionCommonly,thehostcomputerisdirectlyconnectedtothefourJTAGsignalsontheprogrammablechipasfollows:ThefourJTAGI/Osignalsontheprogrammablechipareconnectedtoaheaderonthecircuitboardthatcontainstheprogrammablechip.
AstandardJTAGcableisconnectedtothefourpinsonthecircuitboardheader.
TheotherendoftheJTAGcableisconnectedtothehostcomputer.
TAPControlFPGA1JTAGCableTAPControlFPGA2TDOTDITMSTCKLOConnectingtotheTargetSystemJTAGHardwareinInstrumentedDesigns2013Synopsys,Inc.
IdentifyUserGuide196June2013SerialJTAGConnectionAprogrammablechipusingtheSynopsysFPGADebugPortcanalsobeconnectedinaserialchain.
ToallowtheIdentifydebuggertocommunicatewiththedevice,theconfigurationofthedevicechainmustbesuccessfullyauto-detectedordeclaredusingthechaincommand(seetheReferenceManual).
Thestepsformakingaserialcableconnectionarethesameasadirectcableconnectiondescribedabove.
JTAGClockConsiderationsTheJTAGclocksignalsyn_tckontheIdentifyJTAGportdrivesmanyflip-flopsintheinstrumentationlogic–thenumberdependsontheinstrumentation,butcanbelargerthan1000flip-flops.
Consequently,theclocksignalontheprogrammabledevicemustbeabletodrivelargenumbersofflip-flopsandhavelow-skewproperties.
IftheJTAGclocksignalisnothandledcorrectly,itislikelythattheinstrumentationwillacterratically.
Mostprogrammabledeviceshavetheabilitytoroutesuchhigh-fanoutsignalsusingdedicatedclockdriversandglobalclockdistributionnetworks.
Differentdevicesusedifferentmethodsofaccomplishingthisandhavedifferentnamesforthisresource.
Herearesomesimpleguides:SomeprogrammabledeviceshaveanumberofdedicatedclockI/Opinsthatdriveinternalclockdistributionnetworks.
Inthiscase,besuretoconnectthesyn_tcksignaltothechipusingoneoftheseclockI/Opins.
Otherprogrammabledeviceshaveclockbuffersandclockdistributionnetworksthatcanuseanyinternalsignalasaclocksignal.
Forthesetechnologies,thesynthesistoolusuallydetectshigh-fanoutsignalsandimplementsthemwithaclockbuffer.
Inthiscase,itisimportanttomakesurethatthesynthesistoolhasworkedcorrectly.
Ifitdoesnotputthesyn_tcksignalintoaglobalbuffer,itmaybenecessarytomanuallyaddaglobalbuffertothissignal.
JTAGHardwareinInstrumentedDesignsConnectingtotheTargetSystemIdentifyUserGuide2013Synopsys,Inc.
June2013197JTAGRegistersXilinx-baseddesignsallowJTAGboundary-scanregisterstobeuser-definedthroughtheBSCAN_VIRTEX*librarymacro.
AfterconfiguringtheXilinxFPGA,theseregistersareaccessiblethroughtheJTAGcontroller'sTAPpins.
TheVirtex-4,Virtex-5,Virtex-6,andVirtex-7devicesincludefourboundary-scanregistersdesignatedUSER1,USER2,USER3,andUSER4;theothersupportedXilinxdevicesincludetworegistersdesignatedUSER1andUSER2.
TheIdentifyinstrumentorrequirestwoboundary-scanregisters.
ForVirtex-4,Virtex-5,Virtex-6,andVirtex-7applications,youcanspecifywhichtworegis-tersarededicatedtoIdentifytoavoidanycontentionamongtheavailableregistersforuserapplications(twoBSCAN_VIRTEX*cellscannotsharethesameaddress).
Bydefault,registersUSER3andUSER4arereservedforIdentify.
Tochangethedefaultregistersettings,usethexilinxjtagaddr1andxilinxjtagaddr2optionstothedevicecommand(seedevice,onpage39oftheReferenceManual).
BoardsWithoutDirectBuilt-inJTAGConnectionsSomeboardsaredesignedsothatthebuilt-inJTAGportcannotbereachedfrompinsontheboard.
Forexample,aboardmayconnectanEEPROMdirectlytothebuilt-inJTAGportontheprogrammabledevice.
TheEEPROMisdirectlyprogrammablefromtheJTAGconnection(seefollowingfigure).
LOConnectingtotheTargetSystemJTAGHardwareinInstrumentedDesigns2013Synopsys,Inc.
IdentifyUserGuide198June2013Inthiscase,theonlyconnectionthatallowstheIdentifydebuggertocommu-nicatewiththeprogrammabledeviceisasoftJTAGPort.
ThisconfigurationrequiresasecondJTAGcabletodirectlyconnecttothefourI/Opinsontheprogrammabledeviceasshowninthefigurebelow.
FPGATDOTDITMSTCKTAPControlEEPROMJTAGCableTAPControlEEPROMFPGASYNDebugPortEEPROMConfigurationPortTDOTDITMSTCKJTAGCableSYNTAPControlTDOTDITMSTCKJTAGCableUserIOPinsSettingtheJTAGChainConnectingtotheTargetSystemIdentifyUserGuide2013Synopsys,Inc.
June2013199SettingtheJTAGChainJTAGconnectionsonanFPGAboardusuallychaindevicestogethertoformaserialchainofdevices.
ThischainincludesPROMsandotherFPGAdevicespresentontheboard.
TheIdentifydebuggerautomaticallydetectstheJTAGchainatthebeginningofthedebugsession.
YoucanreviewtheJTAGchainsettingsbyclickingtheShowJTAGchainbuttonintheCommunicationssettingssectionoftheprojectwindow.
ToenabletheIdentifydebuggertoproperlycommunicatewiththetargetdevice,thedevicechainmustbeconfiguredcorrectly.
If,forsomereason,theJTAGchaincannotbesuccessfullyconfigured,youmustmanuallyspecifythechainthroughaseriesofchaininstructionsenteredintheconsolewindow.
ConfiguringadevicechainisverysimilartothestepsrequiredtoprogramthedevicewithaJTAGprogrammer.
FortheIdentifydebugger,thedevicesinthechainmustbeknownandspeci-fied.
Thefollowinginformationisrequiredtoconfigurethedevicechain:thenumberofdevicesintheJTAGchainthelengthoftheJTAGinstructionregisterforeachdeviceInstructionregisterlengthinformationisusuallyavailableinthebsdfilefortheparticulardevice.
Specifically,itistheInstruction_lengthattributelistedinthebsdfile.
LOConnectingtotheTargetSystemSettingtheJTAGChain2013Synopsys,Inc.
IdentifyUserGuide200June2013Fortheboardusedindevelopingthisdocumentation,thefollowingsequenceofcommandswasusedtospecifyachainconsistingofaPROMfollowedbytheFPGA.
TheinstructionlengthofthePROMis8whiletheinstructionlengthoftheFPGAis5.
Notethatthechainselectcommandidentifiestheinstrumenteddevicetothesystem.
IdentifyingtheinstrumenteddeviceisessentialwhenaboardincludesmultipleFPGAs.
Note:ThenamesPROMandFPGAhavenomeaningtotheIdentifydebugger–theysimplyareusedforconvenience.
Thetwodevicescouldbenameddevice1anddevice2,andthedebuggerwouldfunc-tionexactlythesame.
Again,thesequenceofchaincommandsisspecifictotheJTAGchainonyourboard;thesecommandsarethechaincommandsfortheboardusedtodevelopthisdocument–theboardyouusewillmostlikelybedifferent.
TypethefollowingsequenceintheconsolewindowoftheIdentifydebugger:chainclearchainaddprom8chainaddfpga5chainselectfpgachaininfoThefollowingfigureshowstheresultsoftheabovecommandsequence.
JTAGCommunicationDebuggingConnectingtotheTargetSystemIdentifyUserGuide2013Synopsys,Inc.
June2013201JTAGCommunicationDebuggingTheIdentifydebuggerperformsanumberofdiagnosticcommunicationtests.
ThefirsttimetheIdentifydebuggerconnectstotheon-chipTAPcontroller,itperformsextensivecommunicationtests.
Later,everytimethe"run"functionisexecuted,eitherbyclickingtheRunbuttonorexecutingtheruncommand,simplerandfastertestsareexecuted.
Belowisalistofcommunicationrelatederrormessageswithsomeadditionalexplanations.
BasicCommunicationTestThistestsendsapatternofonesandzerostothechipandexaminesthereturnvaluesERROR:Communicationisstuckatzero.
Pleasecheckthecableconnection.
ItislikelythattheIdentifydebuggerisunabletocommunicatewiththeinstrumentedchip.
Thiserrorisusuallyacableconnectionproblem,orthecabletypeisnotsetcorrectly.
ERROR:Communicationisstuckatone.
Pleasecheckthecableconnection.
Thishasthesamereasonsasastuck-at-zerocommunicationerror.
ERROR:CommunicationisreturningincorrectIRdata.
Pleasecheckthecableconnection.
Ifthiserrorisreceived,thentheprevioustwoerrorswereNOTreceivedasthecommunicationisreturningamixtureofonesandzeroes.
However,thedataisnotcoherentandagainthecommunicationconnec-tionissuspect.
ERROR:Communicationproblem-datasentisnotthesameasdatareceived.
ThistestverifiesthattheIdentifydebuggercanshiftdataintotheinstrumentedchipandreceivethesamedataback.
Ifthiserroroccurs,thereisagainaproblemwithyourcableconnectionorthecabletypesettingisincorrect.
Thelasttwoerrorscanalsobetheresultofasyn_tcksignalthatisnotusingahigh-fanoutclockbufferresource,andthusmayshowlargeclockskewproperties.
Ifyouareusingaparallelport,makesurethatyouhaveselectedthecorrectport.
LOConnectingtotheTargetSystemJTAGCommunicationDebugging2013Synopsys,Inc.
IdentifyUserGuide202June2013On-chipIdentificationRegisterTheIdentifyinstrumentoraddshardwaretoimplementanon-chipidentifica-tionregister.
ERROR:Cannotfindvalidinstrumenteddesign.
TheIdentifydebuggercannotverifythattheidentificationregisterontheinstrumenteddesigniscorrectorevenexists.
ThiserrorusuallymeansthatthedesignontheprogrammablechipisNOTtheinstrumentedversionofthedesign.
ERROR:InstrumenteddesignonFPGAdiffersfromdesignloadedintoIdentifyDebugger.
TheIdentifydebuggerverifiedthatthechipisinstrumentedbuttheinstrumentationdoesnotmatchtheprojectthatwasloadedintotheIdentifydebugger.
JTAGChainTestsTheIdentifydebuggerattemptstoverifythedevicechain(asdefinedbythechainauto-detectororthechaincommand).
ERROR:Nohardwaredeviceswerefound.
Pleasecheckthecableconnection.
NodevicescanbeseenintheJTAGidentificationregisterchain.
Probablyabadcableconnection,orthecabletypeisincorrect.
ERROR:Theactualnumberofdevicesdiffersfromthedefinednumber:ACTUAL:XXDEFINED:YYThenumberofdevicesseenintheJTAGchainisXX,buttheIdentifydebuggerwasexpectingthenumbertobeYY(aswasdefinedusingthechaincommand).
Thechaindescriptionisincorrect.
ERROR:TheactualIRchainsizediffersfromthedefinedsize:ACTUAL:XXDEFINED:YYThetotalnumberofJTAGidentificationregisterbitsisincorrect.
TheIdentifydebuggermeasuredthehardwaretohaveXXbits,butwasexpectingYYbits(aswasdefinedusingthechaincommand).
Pleasereviewyourchainconfiguration.
UMRBusCommunicationsInterfaceConnectingtotheTargetSystemIdentifyUserGuide2013Synopsys,Inc.
June2013203ERROR:CommunicationwithdevicenumberXXisnotcorrect.
Pleasecheckyourchainsetup.
Ifthiserrorappears,thepreviouserrordoesnotappear.
Thus,thetotalJTAGinstructionregisterlengthiscorrect,butthesizeoftheinstruc-tionregisterofdevicenumberXXisincorrect.
Itislikelythattheorderofyourdevicesisincorrect.
Reviewyourchainsettings.
UMRBusCommunicationsInterfaceTheUMRBusisavailableasacommunicationinterfacebetweentheHAPShardwareandthehostmachinerunningtheIdentifydebugger.
WiththeUMRBus,allcommunicationsareperformedovertheUMRBuscommunica-tionsystem,andtheJTAGportisnolongerused.
Duringinstrumentation,thetopleveloftheuserdesignisautomaticallyextendedwiththeadditionaltop-levelportsfortheUMRBus.
TheUMRBuscurrentlyisavailableonlyforHAPS-60seriesandHAPS-70seriessystemsandrequiresaHAPSUMRBusInterfaceKittoreplacetheXilinxUSBcable.
TheUMRBussupportsonlytheinternal_memorybuffertypeandnothapssram.
ToenabletheuseoftheUMRBus:IntheIdentifyinstrumentor,selectumrbusfromtheCommunicationportdrop-downmenuintheprojectvieworsetthedevicejtagportoptiontoumrbusintheconsolewindow.
IntheIdentifydebugger,selectumrbusfromtheCabletypedrop-downmenuintheprojectvieworsetthecomcabletypeoptiontoumrbusintheconsolewindow.
LOConnectingtotheTargetSystemHAPSBoardBring-upUtility2013Synopsys,Inc.
IdentifyUserGuide204June2013HAPSBoardBring-upUtilityIdentifyuserswithaHAPS-60orHAPS-70seriessystemcanusetheHAPSboardbring-uputilitytohelpdefineandverifytheirboardconfiguration.
BeforeyoucanusetheHAPSboardbring-uputility,thefollowingsoftwaremustbeinstalled:CurrentversionoftheIdentifytoolsetConfProGUITheboardbring-uputilityislauncheddirectlyfromthecommandpromptusingthe-board_bringupoptiontotheindentify_debuggercommand:identify_debugger-board_bringupTheabovecommandopensaspecialIdentifydebuggerwindowwiththeboardbring-uputilityGUIdisplayedintheupperleftcornerofthewindowasshownbelow.
Theboardbring-uputilityalsocanbelauncheddirectlyfromtheCertifyGUIwhichrequiresbothaprojectandanIdentifyimplementationtobedefinedforthatproject.
AHAPS-60orHAPS-70board(vb)filemustbeincludedinthedefinedproject(anHDLdesignisnotrequired,butaninitialboardfilemustbepresent).
HAPSBoardBring-upUtilityConnectingtotheTargetSystemIdentifyUserGuide2013Synopsys,Inc.
June2013205TolaunchtheHAPSBoardBring-upUtilityfromtheCertifyGUI,highlighttheIdentifyimplementationintheCertifyGUIand,withtherightmousebutton,selectLaunchIdentifyinBoardBringUpandQueryModetodisplaytheboardbring-uputilityGUIintheIdentifydebugger.
SettingInitialValuesThefollowingtabledescribestheselectionsandfieldsintheIdentifydebuggerbring-uputility.
ConfProGUITheConfProGUIislaunchedfromtheboardbring-uputilityintheIdentifydebuggerGUI.
WhenyouclicktheConfProbutton,theHAPSConfigurationToolmenushownbelowisdisplayed.
FunctionDescriptionUMRBusDeviceSelectsthetypeandlocationoftheUMRBusdevice.
EightPCIeandeightUMRBusdevicescanbeselectedfromthedrop-downmenu.
ConfProSelectstheConfProGUI.
IfthelocationoftheConfProGUIisnotspecified,youarepromptedfortheinstalllocation.
FormoreinformationontheConfProGUI,seeConfProGUI,onpage205.
Board/SystemSelectsthetypeofboard/systemconnectedtothehost.
Theallowedselectionsarehaps6x(HAPS-60system)andhaps7x(HAPS-70system)whichareavailablefromthedrop-downmenu.
Utils&TestsSelectsthequery/testtoberunbasedonthetypeofboardsystemselected.
Formoreinformationontheavailableutilitiesandtests,seeUtilityandBoard-TestCommands,onpage207RunRunstheselectedquery/testtobeexecuted.
LOConnectingtotheTargetSystemHAPSBoardBring-upUtility2013Synopsys,Inc.
IdentifyUserGuide206June2013TheHAPSConfigurationTooldialogboxincludesbothaFileandaPlatformtop-levelmenuaswellasthetop-levelHelpmenu.
CompleteConfProGUIdocumentationisavailablebyselectingHelp->Contentsfromthetop-levelmenu.
ThelocationoftheConfProinstallationisspecifiedbyselectingOptions->ConfigureConfprofromtheIdentifydebuggermenu.
HAPSBoardBring-upUtilityConnectingtotheTargetSystemIdentifyUserGuide2013Synopsys,Inc.
June2013207UtilityandBoard-TestCommandsSetsofutilityandboardtestcommandsareavailablefromtheUtils&Testsdrop-downmenu.
Thismenuisboard/systemdependentandremainsdisableduntilaboard/systemselectionismade.
Selectingacommandfromthedrop-downmenudisplaysadescriptionoftheselectedcommand,andclickingtheRunbuttonexecutesthecommand.
TheindividualcommandshaveTclequivalentsthatcanberunfromthecommandprompt(seehaps,onpage45ofthereferencemanual).
Thefollowingsectionsdescribetheindividualutilityandtestcommands.
boardDisplaystheboardstatustotheconsolewindow.
Statusincludesclockandvoltagesettings,resetcondition,daughtercardconnections,firmwareversion,andboardserialnumber.
progProgramstheFPGAspecifiedintheFPGAIDfieldwiththecontentsoftheselectedbinfile.
ClicktheOpenbuttontobrowsetothebinfilelocation.
TheFPGAIDselectionrangesfrom1to16.
setvccSetstheI/Ovoltagefortheboardregions.
Thevoltagevalueandregionareselectedfromthecorrespondingdrop-downmenusanddifferwiththeboard/systemselected.
MultipleregionscanbeselectedusingtheCtrlkey.
setclkSetsthefrequencyfortheglobalinputclockidentifiedbytheClocknameentrywiththefrequencyspecifiedintheFrequencyfield.
ThefrequencyvalueisinkHzunlessspecifiedotherwise.
restartRestartstheboard.
LOConnectingtotheTargetSystemHAPSBoardBring-upUtility2013Synopsys,Inc.
IdentifyUserGuide208June2013confscrRunsconfproshTclscripts.
Forexample,theconfproshcommandcanbeusedtosourceaHAPSclockandvoltage-regionconfigurationscript;theusercouldthenrunclockcheckstoverifytheon-boardclockconfiguration.
ThenameofthescriptisenteredintheTCLscriptfield;usetheOpenbuttontobrowsetothescriptlocation.
vbgenQueriestheHAPSsystemandgeneratesacorrespondingTclfileforCertifyboardfilegeneration.
TheoutputTclfileiswrittentothefilenamespecifiedintheOutputTCLfilefield.
ClickingtheSavebuttonpromptsforanalternatelocationtosavetheTclfile(bydefault,theTclfileissavedtothecurrentworkingdirectory).
clock_checkReportstheclockfrequencyofeachGCLKoutputtoallowalloftheGCLKfrequenciestobeverified.
Asanoption,thelocationofaTclscriptcanbespecifiedtoexecuteanyoftheindividualhapscommands.
con_speedVerifiestheconnectivitybetweenHapsTrakconnectorsaswellasthespeedatwhichHSTDMcanrun.
ThetestspeedisselectedfromtheSpeeddrop-downmenu.
TheModedrop-downmenusetstherunmode.
Thedefaultisfastmode.
WhenModeissettosweep,thetestsweepseverychanneloftheconnectionwhichcanrequireuptofourhourstocomplete.
umr_checkVerifiesthebasicfunctionalityoftheUMRBusfortheFPGAspecifiedintheFPGAIDfield.
TheGCLK1frequencyisspecifiedintheFrequencyfieldandunlessspecifiedotherwise,isinkHz(thedefaultis140000kHz).
self_testReplacesthetraditional,STB2testcardselftest.
Theself_testisonlyavail-ablewithhaps6xboard/systemselection.
IdentifyUserGuide,June2013209IndexAactivationsauto-saving123loading122saving121always-armedtriggering40asynchronousclocks165Bbitfile146bitgencommand(Xilinx)147blackboxes68blockscontroller21JTAGcommunication149probe21sampling152boardquery204board-testcommands207board-utilitycommands207boundary-scanregisters197breakpointiconcolorcoding85breakpointsactivating108combinedwithwatchpoints152finding94folded111infoldedhierarchy84instanceselection85listingall94listingavailable94listinginstrumented94multiple151selecting84bring-uputility204bucketssampleandtrigger146buffertypehapssram48busesinstrumentingpartial75Byteblastercablesettings182Ccablecompatibility181cabletype180cabletypesettingsByteblaster182JTAGTech3710185Microsemi186Xilinxparallel183XilinxUSB184Xilinxauto184cablesconnection190client-serverconfiguration186clocksasynchronous165edgeselection42sample41SRAM50commandsbitgen(Xilinx)147communicationcablesettings30communicationssettings180complexcounter153cyclesmode155disabling155eventsmode155modes153pulsewidthmode155size153watchdogmode155complextriggering44conditionoperators162Index210IdentifyUserGuide,June2013ConfigureIICEdialogbox38,137IICEControllertab43IICESamplertab38ConfPro205ConfProinstallation206consolewindow70,102operations141consolewindowoperations96controllerblock21conveniencefunctions164conventionsdesignhierarchy14filesystem13syntax12text12tool13crosstriggering123,128,165commands165enabling165statemachinecommands166cyclesmodecomplexcounter155Ddatacompression114masking115Debuggertoolinvoking98debuggertoolopeningprojects29debuggingonseparatemachines127designhierarchyconventions14designswritinginstrumented90devicessupportedfamilies35dialogboxesConfigureIICE38,137directoriesinstrumentation92Eencryptingsourcefiles91environmentvariablesPAR_BELDLYRPT144eventsmodecomplexcounter155externalmemoryselftest52externalsamplememory47Ffilesystemconventions13filesbitfile146encryptingsource91idc82IICEcore92last_run.
adb123ncd145project24,26,27script72,105syn_trigger_utils.
tcl164foldedbreakpoints111foldedhierarchy80foldedsignals119foldedwatchpoints110HHAPSboardbring-up204HAPSdeeptracedebug47hapssrambuffertype48hardwareskew-resistant36HDLsourceincludinginproject91hierarchyfolded80hierarchybrowserpopupmenu67hierarchybrowserwindow66hierarchyseparator15Iidcfileediting82identificationregister202IICEconfiguration33IndexIdentifyUserGuide,June2013211crosstriggering165JTAGconnection193operation21technologysettings35IICEControllertab43IICEcorefilecompiling92IICEparametersbuffertype39common35individual38,137JTAGport36IICESamplertab38IICEselectionmulti-IICE39,43IICEsettingssampleclock41sampledepth40IICEunitscrosstriggering123incrementalflow143restrictions144instancesfinding94instrumentationpartialrecords77instrumentationdirectory92instrumentingpartialbuses75JJTAGchaintests202communication191communicationblock149communicationtest201connections197debugging201directconnection195serialconnection196JTAGchainsettings31JTAGportIICEparameter36JTAGregisters197JTAGTech3710cablesettings185Llast_run.
adbfile123limitationsVeriloginstrumentation58,61VHDLinstrumentation56Mmacrosst_snapshot_fill175st_snapshot_intr176Microsemilcabletypesettings186mixedlanguageconsiderations55modescrosstriggering124multi-IICEtabs38,137multiplesignalvalues119,120multiplexedgroupsassigning79selecting109Nncdfile145Oobjectsfinding94operatorscondition162originalsourceincluding91originalsourcefilessearchpath127originalsources127PPAR_BELDLYRPTvariable144parameterizedmodulesinstrumenting82parametersIICE33IICEcommon35partialbusesinstrumenting75passwordsencryption/decryption91pathnames15Index212IdentifyUserGuide,June2013pathseparator13.
prjfiles24,26probeblock21contents22projectfiles27projectsimportingSynplify24,26instrumenting27opening26openingindebugger29saving31pulsewidthmodecomplexcounter155Qqualifiedsampling40,174Rradixsampleddata117RAMresources39,153recordspartiallyinstrumented77registersboundaryscan197remotetriggering176resourceestimation70runcommand113Ssampleandtriggerbuckets146samplebuffer117triggerposition115sampleclock41samplememory47samplemodes175sampleddatachangingradix117compressing114displaycontrols117masking115samplinginfoldedhierarchy80qualified40samplingblock152samplingsignals72,80,84,86,89,90,93,94,101savingaproject31scriptfile72scriptfiles105searchesobjects94separatorhierarchy15settingscable30IICEtechnology35JTAGchain31sampleclock41sampledepth40signalvaluesdisplayingmultiple119,120signalsdisablingsampling74exportingtrigger45finding94folded119instanceselection81listingall93listingavailable93,101listinginstrumented93,94,101multiplyinstrumented119,120partiallyinstrumented120replacing143samplingselection72,80,84,86,89,90,93,94,101status160simpletriggering44skew-resistanthardware36sourcefilescopying127encrypting91SRAMclocks50st_snapshot_fillmacro175st_snapshot_intrmacro176statemachinestransitions161triggering157,160statemachinecommand160state-machineeditor167state-machinetriggering44statusreporting160stopcommand116,160syn_trigger_utils.
tclfile164syntaxconventions12IndexIdentifyUserGuide,June2013213synthesizingdesigns92TTAPcontroller193technologysettingsIICE35textconventions12toolconventions13tooldescriptions22toolsinvokingDebugger98transitionwatchpoint106triggerconditions156triggersignalexporting45triggeringadvancemode157always-armed40betweenIICEs165complex44modes156remote176simple44statemachine44,157,160triggerscomplex153UUMRBus203Vvaluewatchpoint106variablesPAR_BELDLYRPT144Verdiwaveformviewer136Veriloghierarchy15instrumentationlimitations58,61VHDLhierarchy15instrumentationlimitations56Wwatchcommand160watchiconcolorcoding81watchdogmodecomplexcounter155watchpoints151activating105,108combinedwithbreakpoints152deactivating107folded110hexadecimalvalues107listing125multiple152transition106value106waveformdisplay134waveformviewers134Verdi136wildcardsinhierarchies16inpathnames14windowsconsole70,102hierarchybrowser66XXilinxparallelcablesettings183XilinxUSBcablesettings184Xilinxautocablesettings184Index214IdentifyUserGuide,June2013

HostYun 新增美国三网CN2 GIA VPS主机 采用美国原生IP低至月15元

在之前几个月中也有陆续提到两次HostYun主机商,这个商家前身是我们可能有些网友熟悉的主机分享团队的,后来改名称的。目前这个品牌主营低价便宜VPS主机,这次有可以看到推出廉价版本的美国CN2 GIA VPS主机,月费地址15元,适合有需要入门级且需要便宜的用户。第一、廉价版美国CN2 GIA VPS主机方案我们可看到这个类型的VPS目前三网都走CN2 GIA网络,而且是原生IP。根据信息可能后续...

腾讯云新用户省钱秘笈购买云服务器

目前国内云计算市场竞争异常激烈,尤其是国内的腾讯云、阿里云、景安等商家促销活动一波接一波的进行,对于有需要的用户确实得到不小的实惠。但是这样给予国内的主机商确实是比较大的打击,毕竟这些商家的背景和实例强劲,即便是贴本补贴优惠,也是不怕的。前两年阿里一家各种活动促销,确实在国内市场占据主要的市场地位,腾讯云开始两年没有较大的吸引用户,不过这两年的发展还是比较稳健的。我们很多网友在之前肯定也享受到一些...

PIGYUN:美国联通CUVIPCUVIP限时cuvip、AS9929、GIA/韩国CN2机房限时六折

pigyun怎么样?PIGYunData成立于2019年,2021是PIGYun为用户提供稳定服务的第三年,目前商家提供香港CN2线路、韩国cn2线路、美西CUVIP-9929、GIA等线路优质VPS,基于KVM虚拟架构,商家采用魔方云平台,所有的配置都可以弹性选择,目前商家推出了七月优惠,韩国和美国所有线路都有相应的促销,六折至八折,性价比不错。点击进入:PIGYun官方网站地址PIGYUN优惠...

nanosim剪卡为你推荐
免费美国主机哪里有免费不限流量的国外主机域名备案查询如何查网站备案信息vps主机vps主机是什么?com域名空间域名和空间是什么意思海外主机如何选择优质的海外主机?云服务器租用云服务器租用需要注意哪些方面云服务器租用云服务器租用费用是多少网站空间申请网站空间申请apache虚拟主机为何apache要配置虚拟主机大连虚拟主机大连哪些地方的网通机房好?
免费linux主机 vps租用 怎么申请域名 东莞电信局 80vps 美元争夺战 java主机 softbank官网 国外空间服务商 英文简历模板word 抢票工具 godaddy优惠券 网站被封 小米数据库 e蜗 有益网络 电子邮件服务器 空间论坛 七夕促销 北京双线 更多