I am getting the following warning in ovm-1.1 with QuestaSim 6.3f:
/ovm-1.1/src/macros/ovm_layered_stimulus_defines.svh(540):(vlog-2223) Inline constraints for hierarchical call to randomize() will be resolved with respect to the current scope
See Mantis 1858(guest/guest). There was an ambiguity in the 1800-2005 LRM when trying to resolve identifiers used in the with clause as to whether they belonged to the class being randomized, or local to the scope where the randomize statement occurs.
This was especially problematic when the class was a parametrized type and you did not know what identifiers were local to the class.
I have modified my apply_send_with call in the scenario as:
`apply_send_with(obj,{obj.mem == 5;});
But still am the following warning from QuestaSim 6.3g:
# ** Warning: ovm-1.1/src/macros/ovm_layered_stimulus_defines.svh(557): (vlog-2223) Inline constraints for hierarchical call to randomize() will be resolved with respect to the current scope
Also I have been using set_config_string to switch ON/OFF of a particular behavior of my scenario driver in scenario as follows:
task body();
repeat(loopnum)
begin
set_config_string(““,“param1”,“ON”);
`apply_send_with(obj,{obj.mem == 5;});
set_config_string(””,“param1”,“OFF”);
apply_send(obj);
end
endtask
but it seems,only for the first repeat loop, obj randomized with constraints (apply_send_with;after setting “param1” as “ON”) & without constraints (after setting “param1” as “OFF”) in order.
for the second repeat loop, obj is randomized without constraints in apply_send_with call even after setting “param1” as “ON”. Hence my test failed.
Why does this happens in scenario???
This works well in sequences with 'ovm_do_with, in the same order as coded.