Module Uvm Connect Session4 Uvm Command API Aerickson
Module Uvm Connect Session4 Uvm Command API Aerickson
Adam Erickson
Verification Technologist
[email protected]
www.verificationacademy.com
UVM Connect Presentation Series
• Part 1 – UVMC Introduction
• Learn what UVMC is and why you need it
• Review the principles behind the TLM1 and TLM2 standards
• Review basic port/export/interface connections in both SC and SV
string s;
uint64 i;
prod_cfg_t cfg;
cfg.min_addr=0x100;
cfg.max_addr=0x200;
i=0;
s="";
cfg.min_addr=0;
cfg.max_addr=0;
uvmc_wait_for_phase("run", UVM_PHASE_STARTED);
UVM Command API – Phasing cont…
uvmc_raise_objection (name, context, description, count)
UVMC_INFO("SC_TOP/RAISE_OBJ", (string(name()) +
" raising objection to run phase").c_str(), UVM_MEDIUM,"");
uvmc_raise_objection("run", name(), "SC waiting 10ns");
UVMC_INFO("SC_TOP/DROP_OBJ", (string(name()) +
" dropping objection to run phase").c_str(), UVM_MEDIUM,"");
uvmc_drop_objection("run", name(), "10ns has passed");
UVM Command API – Printing Topology
uvmc_print_topology ( )
cout << "Waiting for UVM to reach build phase..." << endl;
uvmc_wait_for_phase("build", UVM_PHASE_STARTED);
uvmc_wait_for_phase("build", UVM_PHASE_ENDED);
• Resource DB
• Access to resource DB
• Setting/getting resources by name
• User Driven
• Special requests? Let us know.
• You have source code. Enhance to suit.
UVM Connect Presentation Series
• Part 1 – UVMC Introduction
• Learn what UVMC is and why you need it
• Review the principles behind the TLM1 and TLM2 standards
• Review basic port/export/interface connections in both SC and SV
Adam Erickson
Verification Technologist
[email protected]
www.verificationacademy.com