- 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
Tuesday, 2 February 2016
Explain about run_test() in UVM
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.
1) uvm_root.svh file from uvm source code