I set the following calue in the build of the test:
class tx_test extends test_base;
function void build_phase(uvm_phase phase);
super.build_phase(phase);
uvm_config_db #(int) :: set (this, "*", "mem_int_min", 5);
uvm_config_db #(int) :: set (this, "*", "mem_int_max", 12);
.....
endfunction: build_phase
.....
endclass: tx_test
In the base_transaction class I want to get above values by:
class base_transaction extends uvm_sequence_item();
function int my_randomize_int(int seed, int mem, string mem_name);
.....
int max, min;
string mem_name_max = {mem_name, "_max"};
string mem_name_min = {mem_name, "_min"};
uvm_config_db #(int)::get(null, "", "mem_int_max", max);
uvm_config_db #(int)::get(null, "", "mem_int_min", min);
// temp = $urandom_range(1,11);
mem = ($urandom_range(max,min));
//data_xi = temp1 - 1;
if(mem != 0)
return mem;
else
return 0;
endfunction: my_randomize_int
.....
endclass: base_transaction
I don’t get the correct values (I got 0 instead).