Pass cfg from cmd to test

Pass cfg from cmd to test

  • [1 Pass cfg from sh to case](#1 Pass cfg from sh to case)
  • [1.1 v a l u e value valueplusargs()`](#1.1 v a l u e value valueplusargs()`)
  • [1.2 uvm_config_int::get()<--->uvm_set_config_int/string/](#1.2 uvm_config_int::get()<--->uvm_set_config_int/string/)

The article's purpose is to solve the flexity; you can pass cfg to test by cmd directly; this is convinent for you to control or constraint the case;
Now,there are two common ways to do it;

1 Pass cfg from sh to case

1.1 v a l u e value valueplusargs()`

In any compenent,you use the usage;

sv 复制代码
        function void base_test:build_phase();
                super.build_phase(phase);
                if(!$value$plusargs("mask_mode=%0d",mask_mode)) begin
                        `uvm_error("base_test","mask_mode is set to default");
                end
        endfunction:build_phase
sh 复制代码
        #在末尾添加参数run_opt;
        -run_opt  +mask_mode=9

1.2 uvm_config_int::get()<--->uvm_set_config_int/string/

In any component,you should code in it; Principle: It will creats a diction,then put it in pool; you will use get it at any time;

you can put the code anywhere;

sv 复制代码
        function void base_test:build_phase();
                super.build_phase(phase);
                if(!uvm_config_int::get(this,"","mask_mode",mask_mode)) begin
                        `uvm_error("base_test","mask_mode is set to default");
                end
        endfunction:build_phase 
sh 复制代码
#末尾添加参数
-run_opt  +uvm_set_config_int="uvm_test_top,mask_mode,12" &

Note the difference between the two ways;

Advantage: you can use it even under regression;

regression 复制代码
# Add in the regression.txt
TESTS += xx_test;+uvm_set_config_int="uvm_test_top,mask_mode,12"
相关推荐
NamoAmitabha1282 天前
UVM在时间维度上也做了规范,phase机制----deepseek讲解
systemverilog·uvm
NamoAmitabha1282 天前
SystemVerilog 中的 :: 作用域解析运算符详解--deepseek讲解
systemverilog·uvm
fei_sun24 天前
UVM中的sequence
uvm
Salt & Light1 个月前
UVM 字段自动化 Field Automation:让打印、复制、比较自动化
学习·systemverilog·uvm
fei_sun1 个月前
UVM中的TLM1.0通信
运维·服务器·uvm
liuluyang5301 个月前
UVM学习-2
uvm
liuluyang5301 个月前
UVM入门和进阶实验2
uvm
啄缘之间1 个月前
5.1 uvm‑component 的层级结构管理? new (name,parent) 参数
开发语言·笔记·学习·ic·uvm·sv
happyDogg_2 个月前
uvm_root详解
uvm·数字验证
happyDogg_2 个月前
UVM 中 virtual 关键字的使用详解
virtual·uvm·interface·数字验证