Block Memory Generator CORE Generator module dut_wrapper.mem_inst.inst is using a behavioral model for simulation which will not precisely model memory collision behavior.
OVM_INFO @ 0: reporter [RNTST] Running test …
Warning-[CNST-PPRW] Constraint randomize NULL object warning
/home/akshayj/ovm-2.0.1/src/methodology/sequences/ovm_sequence_base.svh, 210
Null object found during randomization.
Please make sure all random variables/arrays/function calls being randomized
are allocated fully and properly.
Warning-[CNST-PPRW] Constraint randomize NULL object warning
/home/akshayj/ovm-2.0.1/src/methodology/sequences/ovm_sequence_base.svh, 210
Null object found during randomization.
Please make sure all random variables/arrays/function calls being randomized
are allocated fully and properly.
the new transaction is sent to the driver ******************************
The new transaction is received
OVM_INFO @ 0: agent_inst.driver [WRITE_CH_DRIVERr] Item generated from write_addr_ch_sequencer:
Name Type Size Value
write_addr_ch write_addr_ch - write_addr_ch@50
i_awid_m integral 4 'hc
i_awaddr_m integral 32 'h47
i_awsize_m integral 3 'h2
i_awburst_m integral 2 'h1
i_awlock_m integral 2 'h0
i_awcache_m integral 4 'h0
i_awprot_m integral 3 'h2
i_awvalid_m integral 1 'h0
i_awlen_m integral 4 'hb
OVM_INFO @ 360000: agent_inst.driver [Mismatch ids or Missing bvalid ] bid and awid DOES NOT Match or bvalid did not came
OVM_INFO @ 380000: agent_inst.driver [Mismatch ids or Missing bvalid ] bid and awid DOES NOT Match or bvalid did not came
OVM_INFO @ 400000: agent_inst.driver [Mismatch ids or Missing bvalid ] bid and awid DOES NOT Match or bvalid did not came
OVM_INFO @ 420000: agent_inst.driver [Mismatch ids or Missing bvalid ] bid and awid DOES NOT Match or bvalid did not came
OVM_INFO @ 440000: agent_inst.driver [Mismatch ids or Missing bvalid ] bid and awid DOES NOT Match or bvalid did not came
OVM_INFO @ 460000: agent_inst.driver [OKAY ] normal access ok but exclusive access might have failed
OVM_INFO @ 460000: agent_inst.driver [Matched bid and awid] FOUND Matched bid and awid for this transaction
The new transaction is received
OVM_INFO @ 460000: agent_inst.driver [WRITE_CH_DRIVERr] Item generated from write_addr_ch_sequencer:
Name Type Size Value
item write_addr_ch - item@48
i_awid_m integral 4 'h6
i_awaddr_m integral 32 'h1eb
i_awsize_m integral 3 'h2
i_awburst_m integral 2 'h1
i_awlock_m integral 2 'h0
i_awcache_m integral 4 'h0
i_awprot_m integral 3 'h2
i_awvalid_m integral 1 'h0
i_awlen_m integral 4 'h4
depth int 32 'd3
parent sequence string 60 agent_inst.sequence+
sequencer string 20 agent_inst.sequencer
OVM_INFO @ 620000: agent_inst.driver [Mismatch ids or Missing bvalid ] bid and awid DOES NOT Match or bvalid did not came
OVM_INFO @ 640000: agent_inst.driver [Mismatch ids or Missing bvalid ] bid and awid DOES NOT Match or bvalid did not came
OVM_INFO @ 660000: agent_inst.driver [Mismatch ids or Missing bvalid ] bid and awid DOES NOT Match or bvalid did not came
OVM_INFO @ 680000: agent_inst.driver [Mismatch ids or Missing bvalid ] bid and awid DOES NOT Match or bvalid did not came
OVM_INFO @ 700000: agent_inst.driver [Mismatch ids or Missing bvalid ] bid and awid DOES NOT Match or bvalid did not came
OVM_INFO @ 720000: agent_inst.driver [OKAY ] normal access ok but exclusive access might have failed
OVM_INFO @ 720000: agent_inst.driver [Matched bid and awid] FOUND Matched bid and awid for this transaction
Warning-[CNST-PPRW] Constraint randomize NULL object warning
/home/akshayj/ovm-2.0.1/src/methodology/sequences/ovm_sequence_base.svh, 210
Null object found during randomization.
Please make sure all random variables/arrays/function calls being randomized
are allocated fully and properly.
Warning-[CNST-PPRW] Constraint randomize NULL object warning
/home/akshayj/ovm-2.0.1/src/methodology/sequences/ovm_sequence_base.svh, 210
Null object found during randomization.
Please make sure all random variables/arrays/function calls being randomized
are allocated fully and properly.
//****************************************
Can you tell me what are these warnings for and how do I fix them??
set_config_int("write_addr_ch_sequencer", "count", 30);
end
endfunction : build
//****************************
but even after set_config , when do sequencer.print()
I get following
//**********************
default_sequence string 19 ovm_random_sequence
//**********************
implying the set_config did not worked.
Can some one help me, to set default sequence to user defined sequence
and also set the count of the sequencer
hi
I want to set default sequence as user defined sequence.
here is what I wrote in agent’s build function
//****************************
…
sequencer = write_addr_ch_sequencer::type_id::create(“sequencer”,this);
driver= write_ch_driver::type_id::create(“driver”,this);
set_config_string(“write_addr_ch_sequencer”, “default_sequence”, “write_addr_ch_sequences”);
set_config_int(“write_addr_ch_sequencer”, “count”, 30);
…
but even after set_config , when do sequencer.print()
I get following
//**********************
default_sequence string 19 ovm_random_sequence
//**********************
implying the set_config did not worked.
The main reason why it did not work was due to the fact that you used the class name as the first argument of set_config_; the first argument of set_config_ needs to be an instance path name. I would change the above code to:
By the way, the above section of code should be done in the test rather than in the agent. The reason for this is that you want to have the option of selecting a specific sequence(s) for each test rather than having the sequence(s) “hard coded” in your testbench.
hi,
Now I can see that the default sequence is set to user defined sequence and count is also set to 20 (greater than -1 or I could set it to user defined value),
but still only 2 transactions are generated.
part of sequence code
//*********
forever begin
`ovm_do(req);
end
//*********
part of driver code
//*********
forever begin
get_transaction();
drive();
read_response();// in this task item_done is placed
end
//*********
as per the above code i need to get transactions till global_stop_request is called but I am getting only 2. Also after the simulation ends i get big message about assertions. I know I have asked about this earlier as well, but at that time vishnuprashanth pointed that my default sequence was ovm_random_sequence.
But now default sequence is user defined sequence and I could set count also.
Please check the log of output in the attached file
Can some one explain why I am not getting more than 2 transactions.