I'm trying to force a signal to from within a uvm sequence. I'm using the uvm_hdl_force method.
My syntax, run from within the task in my uvm sequence is:
if( !uvm_hdl_force ("ex_top.ent_lvl1.ent_lvl2.signalname",1'b1);
`uvm_fatal("CM_BUSY_SEQ","uvm_hdl_force failure of signalname")
I'm finding that this always failing.
I've verified the path and if I run uvm_hdl_check_path("ex_top.ent_lvl1.ent_lvl2.signalname") it returns 1, indicating that the path exists. Given that I'm not sure why the force is failing or what I else I should be checking?
I am also open to other methods of forcing the signal high if there are better methodologies then what I'm trying.
This is a mixed code design. The top level is verilog and the lower level level modules including the one where the specific signal I'm trying to force is located are VHDL.
Thank you