【验证实际问题记录】2.怎么把仿真命令行的参数传递到验证环境?
诉求:我想把仿真命令行中的mode名,tc名,seed名传到验证环境里,以供它用。
感谢wn,帮助小白100%时期的我解决这个问题。
解决方法:使用uvm_cmdline_processor 。分别在env文件和环境仿真脚本makefile里添加以下内容。
../demo_env.sv://这里以命令行seed参数为例
string value_seed;
super.connect_phase(phase);//我这段代码是放在connect_phase里了
uvm_cmdline_processor cmdline_proc = uvm_cmdline_processor::get_inst();
//打印,方便定位
if (cmdline_proc.get_arg_value("+uvm_user_var_seed",value_seed))begin
`uvm_info(get_type_name(),value_seed,UVM_LOW)
end
//传递数据
cmpre_i_agent.mon.seed = value_seed;//我这就是等号左边要用,所以就传递过去
../cfg.mk (验证环境的仿真脚本)
ifneq ($(findstring target,$(mode)), )//如果仿真mode是 target
COMPILE_USER_OPTS += +define+U_DLY=0
RUN_USER_OPTS += +uvm_user_var_seed=$(SEED)\
+uvm_user_var_tc_name=$(tc)
...
endif
注意:其他用法大同小异,注意变量必须声明为string
相关资料:
uvm_cmdline_processer介绍_uvm cmdline的用法-CSDN博客
[UVM]UVM命令行参数解析工具:uvm_cmdline_processor_uvm查询仿真时间-CSDN博客
ok,祝大家今天也愉快自洽的一天!
原文地址:https://blog.csdn.net/yanwenyu123/article/details/143913089
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!