1、UVM命令行参数解析工具:uvm_cmdline_processor
https://blog.csdn.net/kevindas/article/details/123434613
uvm_cmdline_processor是一个uvm中的类,里面存在get_arg_value(“+name=”,value)的方法,可以匹配命令行中“+name=value_define"内容,并将等号后的value_define赋给get_arg_value函数中value,传递到验证环境中;
应用:通过一个basic_test实现不同virtual_seq的挂载
在basic_test的build_phase
uvm_cmdline_processor uvm_cmdline_proc;
uvm_cmdline_proc=uvm_cmdline_processor::get_inst();
uvm_config_db#(uvm_object_wrapper)::set(this,"env.vs.main_phase","default_sequence",baseseq::type_id_get());
if(uvm_cmdline_proc.get_arg_value("+VSEQ_MAIN=",usr_test_vsq))begin
factory.set_type_override_by_name("baseseq",usr_test_vsq);//采用工厂注册替换机制将baseseq替换为所使用的virtual_seq
end
makfile中通过TS将所使用的virtual_seq传递到+VSEQ_MAIN=”“进而传递到环境中