天天看點

UVM::通過cmdline傳遞參數

uvm_cmdline_processor

get_arg_value(	string match, ref string value )
Function:
    get_arg_value


This function finds the first argument which matches the match arg and
returns the suffix of the argument. This is similar to the $value$plusargs
system task, but does not take a formating string. The return value is
the number of command line arguments that match the match string, and
value is the value of the first match.
           

使用例子:

uvm_cmdline_processor clp = uvm_cmdline_processor::get_inst();

等價于:

uvm_cmdline_processor clp;

clp=new();

program automatic test;
        import uvm_pkg::*;

        class hello_world extends uvm_test;

        uvm_cmdline_processor clp;
        int arg_value;
        string arg;

        `uvm_component_utils(hello_world);

        function new (string name, uvm_component parent);
                super.new(name, parent);
                clp=new();
                if(clp.get_arg_value("+arg_value=",this.arg)) begin 
                        this.arg_value=this.arg.atoi();
                        `uvm_info("test_arg", $sformatf("input value = %d", arg_value), UVM_DEBUG);
                end 
                else begin
                `uvm_info("test_arg", "no input arg_value", UVM_DEBUG);
                end

        endfunction

        endclass

        initial begin
                run_test();
        end

endprogram
           

運作:

./simv +UVM_TESTNAME=hello_world +UVM_VERBOSITY=UVM_DEBUG +arg_value=100

結果:

UVM_INFO hello.sv(19) @ 0: uvm_test_top [test_arg] input value =         100

參考:

http://www.dvteclipse.com/uvm-1.1-HTML_API/uvm_pkg-uvm_cmdline_processor.html

http://forums.accellera.org/topic/1322-uvm-cmdline-processor-get-arg-values-to-receive-hex/

uvm