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"
相关推荐
fei_sun1 天前
UVM中的TLM1.0通信
运维·服务器·uvm
liuluyang5308 天前
UVM学习-2
uvm
liuluyang5309 天前
UVM入门和进阶实验2
uvm
啄缘之间9 天前
5.1 uvm‑component 的层级结构管理? new (name,parent) 参数
开发语言·笔记·学习·ic·uvm·sv
happyDogg_1 个月前
uvm_root详解
uvm·数字验证
happyDogg_1 个月前
UVM 中 virtual 关键字的使用详解
virtual·uvm·interface·数字验证
啄缘之间3 个月前
8.【学习】工业级详细接口约束&覆盖率
开发语言·笔记·学习·uvm·sv
Ether IC Verifier3 个月前
SystemVerilog 数据类型详解
php·systemverilog·uvm·ic验证
liuluyang5303 个月前
UVM 工厂机制 完整可编译运行 Demo
uvm·uvm工厂机制
liuluyang5303 个月前
UVM工厂机制
uvm·工厂机制