3
First steps with UVM Webinar   Friday August 2nd 2013 9am PDT Q&A Log Page 1  AudienceQuestion: Q:whatexactlyparentishere  A:TheparentofthegivencomponentintheUVMcomponenthierarchy  AudienceQuestion: Q:Willtheslidesbeemailedalongwiththeaudio?  A:Youcanreviewtheslidesbywatchingthevideorecordingofthewebinar.I'mafraidwedonotreleasethepowerpoint presentationfileforcopyrightreasons.  AudienceQuestion: Q:whatistype_id?  A:Thenameof aproxyclass.Youd onotneed tounderstandexactlywhat itisdoing.Sufficeto saythatitisa pieceofinternal machineryinUVMthatmakesthingseasier.  AudienceQuestion: Q:isthereawaytooutputthenameof"this"componenttoknowthenameofit?  A:Yes.Callget_full_name(),thatis,this.get_full_name()  AudienceQuestion: Q:Cangenericsbesetduringbuild_phase?  A:Yes.Notliterallygenerics,butparametersstoredintheconfigurationdatabase.Wewillshowsomeexampleslater....  AudienceQuestion: Q:whatifmyDUTiswritteninVeriloginsteadofSystemVerilog. Doineedaspecialinterfaceinordertobrin gittotheclass basedSystemVerilogenvironment?  A:Youdo notneed todo anythingspecialif yourDUTis inVerilog (Well,Verilogis nowjusta subsetofSystemVerilog, soifit's Verilog,itisSystemVerilog!).TheDUTcouldevenbyinVHDL-againyouwouldnotneedtodoanythingspecial.  AudienceQuestion: Q:whathappensifwedonotadduvm_test.raise_objectionandsimplystarttoconsumetimeintheruntask?  A:Thetestwillendwhentherearenoobjectionsraised,sothatwouldnotbeveryuseful.Acommonbegininers'erroris forgettingtoraiseanyobjections.(Strictly,anobjectionmustberaisedbeforethefirstnon-blockingassignmentregionofthe UVMphase)  AudienceQuestion: Q:Whatistheuseofmy_envinthisexample?  A:  An"env"isjustahierarchicalcomponentinthetestbench...itdoesnothaveanyspecialsignificance.Theideaistouse "envs"ascontainersforotherUVMcomponents.  AudienceQuestion: Q:whatisthehierarcyofthislibraries  A:TheUVMlibrarydoesnotcontainanyhierarchy,assuch.  AudienceQuestion: Q:when iuseinfunctionnewparente=null?  A:Thenyouwouldhaveacomponentwithnoparent.Thisisnotagoodideaunlessthecomponentreallydoesnothavea parent,butallthecomponentsyoucreateshouldhaveaparent.  AudienceQuestion: Q:whatisthedifferencebetweenraisinganddroppingobjectionsandusingstop_request().  A:stop_request()isarelicfromOVMandisdeprecatedinUVM.UnlessyouarehavingtoworkwithlegacyOVMcode,you shouldforgetstop_request()andglobal_stop_request()anduseobjectionsinstead.  AudienceQuestion: Q:whatisdoesconfig_dbdo  A:Theconfigurationdatabaseisaplacetoputparameters(or"resources")thataregoingtobeusedintheverification environment.Youcanthinkofiteitherasawaytoparameterizethecomponentsintheverificationenvironmentorasa databaseforsharedresources.  AudienceQuestion: Q:whatisfactory  A:ThemechanismusedinUVMtogiveflexibilitywheninstantiatingcomponents,transactions,andsequences.Theideais thatyoucanoverridethetypeofobjectbeingmanufacturedbythefactoryatrun-time,whichgivesyoualotofflexibilitywhen customizingthebehaviorofexistingverificationcode

ChatLogFirstStepsWithUVM_EnglishSession2

Embed Size (px)

Citation preview

Page 1: ChatLogFirstStepsWithUVM_EnglishSession2

7/27/2019 ChatLogFirstStepsWithUVM_EnglishSession2

http://slidepdf.com/reader/full/chatlogfirststepswithuvmenglishsession2 1/3

First steps with UVM ‐ Webinar  – Friday August 2nd 2013 ‐ 9am PDT ‐ Q&A Log 

Page 1 

 AudienceQuestion:

Q:whatexactlyparentishere  A:TheparentofthegivencomponentintheUVMcomponenthierarchy AudienceQuestion: Q:Willtheslidesbeemailedalongwiththeaudio?  A:Youcanreviewtheslidesbywatchingthevideorecordingofthewebinar.I'mafraidwedonotreleasethepowerpointpresentationfileforcopyrightreasons. AudienceQuestion: Q:whatistype_id?  A:Thenameofaproxyclass.Youdonotneedtounderstandexactlywhatitisdoing.SufficetosaythatitisapieceofinternalmachineryinUVMthatmakesthingseasier. AudienceQuestion: Q:isthereawaytooutputthenameof"this"componenttoknowthenameofit?  A:Yes.Callget_full_name(),thatis,this.get_full_name() AudienceQuestion: Q:Cangenericsbesetduringbuild_phase?  A:Yes.Notliterallygenerics,butparametersstoredintheconfigurationdatabase.Wewillshowsomeexampleslater.... AudienceQuestion: Q:whatifmyDUTiswritteninVeriloginsteadofSystemVerilog. DoineedaspecialinterfaceinordertobringittotheclassbasedSystemVerilogenvironment?  A:YoudonotneedtodoanythingspecialifyourDUTisinVerilog(Well,VerilogisnowjustasubsetofSystemVerilog,soifit'sVerilog,itisSystemVerilog!).TheDUTcouldevenbyinVHDL-againyouwouldnotneedtodoanythingspecial. AudienceQuestion: Q:whathappensifwedonotadduvm_test.raise_objectionandsimplystarttoconsumetimeintheruntask?  A:Thetestwillendwhentherearenoobjectionsraised,sothatwouldnotbeveryuseful.Acommonbegininers'errorisforgettingtoraiseanyobjections.(Strictly,anobjectionmustberaisedbeforethefirstnon-blockingassignmentregionofthe

UVMphase) AudienceQuestion: Q:Whatistheuseofmy_envinthisexample?  A: An"env"isjustahierarchicalcomponentinthetestbench...itdoesnothaveanyspecialsignificance.Theideaistouse"envs"ascontainersforotherUVMcomponents. AudienceQuestion: Q:whatisthehierarcyofthislibraries  A:TheUVMlibrarydoesnotcontainanyhierarchy,assuch. AudienceQuestion: Q:when iuseinfunctionnewparente=null?  A:Thenyouwouldhaveacomponentwithnoparent.Thisisnotagoodideaunlessthecomponentreallydoesnothaveaparent,butallthecomponentsyoucreateshouldhaveaparent.

 AudienceQuestion: Q:whatisthedifferencebetweenraisinganddroppingobjectionsandusingstop_request().  A:stop_request()isarelicfromOVMandisdeprecatedinUVM.UnlessyouarehavingtoworkwithlegacyOVMcode,youshouldforgetstop_request()andglobal_stop_request()anduseobjectionsinstead. AudienceQuestion: Q:whatisdoesconfig_dbdo  A:Theconfigurationdatabaseisaplacetoputparameters(or"resources")thataregoingtobeusedintheverificationenvironment.Youcanthinkofiteitherasawaytoparameterizethecomponentsintheverificationenvironmentorasadatabaseforsharedresources. AudienceQuestion: Q:whatisfactory  A:ThemechanismusedinUVMtogiveflexibilitywheninstantiatingcomponents,transactions,andsequences.Theideaisthatyoucanoverridethetypeofobjectbeingmanufacturedbythefactoryatrun-time,whichgivesyoualotofflexibilitywhencustomizingthebehaviorofexistingverificationcode

Page 2: ChatLogFirstStepsWithUVM_EnglishSession2

7/27/2019 ChatLogFirstStepsWithUVM_EnglishSession2

http://slidepdf.com/reader/full/chatlogfirststepswithuvmenglishsession2 2/3

First steps with UVM ‐ Webinar  – Friday August 2nd 2013 ‐ 9am PDT ‐ Q&A Log 

Page 2 

 AudienceQuestion: Q:Isusinguvm_config_dbabetterwaytopassinterfacedefinitiontothedriverfromthetest?orusingtheconnectphase

usingassign_vi?  A:assign_viisnotpartoftheUVMstandard,justauser-definedfunction.Howeveryousetthevirtualinterface,theconnect_phasewouldbeagoodplacetodoit.Theconfig_dbisoneofthemostflexiblewaysofpassinginformationaroundtheUVMcomponenthierarchybeforestartingtherun-timephases. AudienceQuestion: Q:MyunderstandingisthatUVMisbasedonC++.Isthatright?  A:No,UVMisimplementedusingtheclass-basedfeaturesofSystemVerilog,whichthemselveshavealotincommonwiththeC++language,butalsoalotofdifferences. AudienceQuestion: Q:DoesthePower-On-Resethavethesamerestrictionastheclock(intermsofnotusingaclass)?  A:Itwouldbebestpracticetogeneratethepower-onresetusingthesamekindofcodingstyleastheclock,thatis,inmodule-basedcode.However,sincethepower-onresetusuallyonlyexecutesonce,asynchronously,thesynchronizationissuesarenotassevereasfortheclock. AudienceQuestion: Q:Doesuvm_config_dbhandlea_classdifferentlythanextension_of_a_class?  A:Theyareverydifferent.Whenyouextendaclass,youarecreatinganewclass,whichisitselfanewdatatype.Theconfigurationdatabaseisaplaceyoucanstorevaluesandobjects. AudienceQuestion: Q:ifwedon'twanttheverbosemethodtooutputoneveryclockedge,insteadoutputinfoonpackettransfers,whatdoesonedo?  A:Executesomecodeoneverypackettransferinsteadofoneveryclockedge.Sinceyouarewritingproceduralcode(notRTLcode),thisisverystraightforward.(Itwouldnotbesuchagoodideatogenerateamessageoneveryclockedgeandthentrytodisableitinsomewayafter-the-fact,becausethatwouldbelessefficient.) AudienceQuestion: Q:Whatistheadvantageofhavinga"virtual"interfaceinsteadofaregularinterface?  A:Theyareverydifferentthings.Aninterfaceisastructurallanguageconstructverysimilartoamodule.Avirtualinterfaceis,ineffect,afancyvariablethatcanholdareferencetoaninterfaceinstance. AudienceQuestion: Q:ontransactioncompletionimeant.  A:Youwouldwritesomecodetoexecuteasthetransactioncompletes,probablyinthesequenceorthedriver. AudienceQuestion: Q:Doestheuvm_config_dbhandlea_classdifferentlythantheuvm_config_dbhandlesextension_of_a_class?  A:Theyareverydifferent.Whenyouextendaclass,youarecreatinganewclass,whichisitselfanewdatatype.Theconfigurationdatabaseisaplaceyoucanstorevaluesandobjects. AudienceQuestion: Q:whatisthefunctionofmonitor  A: AmonitorisapassivecomponentthatmonitorsactivityonsomeinterfacetotheDUTandthenpassesthatinformationon(usingatransaction)toothercomponentsforanalysisofvariouskinds,suchaschecking,logging,orcoveragecollection.

 AudienceQuestion: Q:Dowehavetouseallthephasesinourcode(includingcleanupphases)?  A:No,youcanjustusethephasesthatyouneed. AudienceQuestion: Q:Soforthequestionofuvm_config_dbhandlingaclassdifferentlythanextensionoftheclass,canfactoryoverridebedonebeforethisuvm_config_dbforittohandlethebaseclassobjectasextendedclassobject?  A:No.Afactoryoverrideisonlyrelevanttothecreationofanewobject(component/transaction/sequence).Settingandgettingvaluesfromtheconfig_dbdoesnotneedtoinvolvethecreationofanynewobjects,sodoesnotinvokethefactory.Thereisverylittletobegainedbytryingtocombinetheactionofthefactorywiththeconfigurationdatabase.Thinkofthemastwoseparatebutcomplementarymechanisms. AudienceQuestion: Q:differencebetweencheckertrackerandmonitor  A:Thisisjustsemantics.InUVM,thetermmonitoriscommonlyusedtorefertoacomponentthatisconnectedtosomepin-levelinterface,butthereisnothingtostopyoufromhavingamonitorconnectedtosomemoreabstractinterface.A

checkerisjustacomponentthatdoessomechecking.

Page 3: ChatLogFirstStepsWithUVM_EnglishSession2

7/27/2019 ChatLogFirstStepsWithUVM_EnglishSession2

http://slidepdf.com/reader/full/chatlogfirststepswithuvmenglishsession2 3/3

First steps with UVM ‐ Webinar  – Friday August 2nd 2013 ‐ 9am PDT ‐ Q&A Log 

Page 3 

 AudienceQuestion:

Q:Whatisthedifferencebetween`uvm_component_utilsand`uvm_object_utils?  A:Youuse`uvm_component_utilstoregisterUVMcomponentsanduse`uvm_object_utilstoregistereverythingelse.Onlycomponentsarelinkedintothecomponenthierarchy,soonlycomponentstakeareferencetotheirparentcomponentasaconstructorargument. AudienceQuestion: Q:ifaskedtoexplainthesequenceranddrivercommunicationinfewshort??  A:Thedriverpullsdowntransactionsfromthesequenceone-by-one.Thesequencerunsonthesequencerthatthedriverisconnectedto. AudienceQuestion: Q:wheredowesetstarting_phase?Doesn'ttheentiresequenceprocessinghappenontherun_phase?  A:Yousetthestarting_phasememberofthesequenceobjectjustbeforestartingthesequence,whichcouldbedonefromatestorfromanothersequence. AudienceQuestion: Q:letknowthecommunicationofsequenceranddriversusingUVMsyntaxinshort  A:Thesequencecallscreate-start_item-randomize-finish_item.Thedrivercallsget()...put()orget_next_item()...item_done() AudienceQuestion: Q:Whyareyoucreatingthesequenceontherun_phaseandnotinthebuild_phse?  A:Itmakessensetocreatesequencesintherunphasebecausesequencesrepresentdynamicstimulus. AudienceQuestion: Q:whatisthedifferencebetweenuvm_config_dbanduvm_resource_db?  A:Theuvm_config_dbislayeredontopoftheuvm_resource_db,thatis,whenyouusetheuvm_config_dbyouareactuallyusingtheuvm_resource_dbunderneath.Withtheresourcedatabase,scopesarejustuninterpretedtextstrings.Withtheconfigdb,thescopesareinterpretedaspathsintheUVMcomponenthierarchy. AudienceQuestion: Q:inyourexample,thedrop_objectionisdonewithinthesequencerwhilethereisaforeverloopwithinthedriver. Iamwonderingoncethedrop_objectionisperform,thedriverwillstilltrytofetchthenextseq. Right? Isthereanyproblem?  A:Right.Thesequenceraisesanobjectionwhenitstarts,anddropsthatobjectionwhenitisfinished.Thedriverdoesnotobjecttothetestendingwhileitiswaitingforthenexttransaction,soiftherearenofurthertransactions,thetestcanjustend.Youcouldwritethedriversothatitraisesanobjectionwheneveritreceivesanewtransactionanddropthatobjectionbeforewaitingforthenexttransaction. AudienceQuestion: Q:UVMIguess.OVMdoesnothavetheconceptforruntimephasesdoesit?InOVMthephasesequenceisprettymuchstaticright?build->connect->run  A:Right.Andstarting_phasedidnotexistinOVM,asIremember. AudienceQuestion: Q:willthiswebinaravaibleatdouloswebsite?  A:Notonthewebsiteforawhleyet,butwewillsendyouacopyoftherecordingonMondayeveningforyoutoreviewit. AudienceQuestion:

Q:Isitpossibletodownloadthewebinarslides?  A:Youcanreviewtheslidesbywatchingthevideorecordingofthewebinar.AlinktotherecordingwillbesenttoyouonMondayeveningnextweek.  AudienceQuestion: Q:Thankyousomuch,VeryinformativeforsomeonestartingwithUVM  A:Youarewelcome AudienceQuestion: Q:Whoshouldcontactforfurthertraining?  A:Pleasecontactyourlocaloffice-visitwww.doulos.com/contacts Thanksforyourinterest!