Execute all
component’s all registered phases.
If the
optional test_name argument is provided, or if a command-line plusarg,
+UVM_TESTNAME=TEST_NAME, is found, then the specified component is created just
prior to phasing.
The test
may contain new verification components or the entire test-bench, in which case
the test and test-bench can be chosen from the command line without forcing
recompilation.
If the
global (package) variable, finish_on_completion, is set, then run_test will
call $finish after all phases are executed.
- Take string name from plusarg (+UVM_TESTNAME ) or its own argument ,
- if ($value$plusargs("UVM_TESTNAME=%s", test_name)) begin
- Create uvm_test_top using below command
- $cast(uvm_test_top, factory.create_component_by_name(test_name, "", "uvm_test_top", null));
- Call m_run_phases of uvm_phase class,
- Which execute all registered phases of all componenets in pre-defined order.
- Wait for all phases to be completed,
- If the global (package) variable, finish_on_completion, is set, then run_test will call $finish after all phases are executed.
- By-default finish_on_completion bit is set to 1 only
Reference:
1) uvm_root.svh file from uvm source code
Hi.
ReplyDeletei'm studing about uvm..
this page's phasing, what is mean phasing?
Can you explain?
Hi,
ReplyDeleteThis post is about how a particular test-case is run in UVM when you call run_test to run that test.
UVM Phases is used to control the behavior of simulation in a systematic way & execute in a sequential ordered to avoid race condition.
For more detail please refer my other post http://sagar5258.blogspot.com/2016/04/uvm-faq2.html
Thanks for sharing this content with us..Really amazing blog
Please keep posting ..!!!
Free Source Code
Free Source code For Academic
Academic Project Download
Academic Project Free Download
Freelancer In India