Hi Dave,
Thanks a lot for the reply as well as the pointer to the paper. I can use system verilog for my case though I'm no expert and have not used it extensively. The paper was very informative - I was not aware about abstract classes and how with interfaces they could be used for RTL probing.
I have basic/dumb question about the example in your paper . Please bear with my limited knowledge on this front.
InternalBus is driven inside the RTL based on CS && WE. Then you have the bind with the interface to control the same signal. The set_probe tries to set InternalBus to a specific value from the test bench - does this override the rtl logic of CS&&!WE? I know your test bench only forces when WE=1 but what if I wanted to just force InternalBus to some value irrespective of CS/WE? I guess I'm trying to ask if the bind plus set_probe is equivalent to a force? If not, wouldn't it be a multiple driver kind of case?
For my case, I am trying to force an array inside a RTL signal with hierarchy top_tb.dut.submod_generate[g].submod_inst.sig_name[0][31:0]. Would the method described in the example work for this ? I guess I am still unable to visualize how the force/release would take effect.
Thanks again!