Upload
sambhav-verman
View
219
Download
0
Embed Size (px)
Citation preview
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
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.
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!