Hi, everyone, I have a question that how to disable the scoreboard’s function dynamically from the running sequence? How to make sequence can “see” the scoreboard class instance, which I can control to set the disable variable of that scoreboard.
Any alternative ideas are also welcome.
Dynamic allocation of the is not the good idea. Actually transaction class is the only dynamic entity in any environment.
Though you delete-allocate scoreboard run-time there are chances that you will miss the transactions after deletion of scoreboard instance.
As per my past experiences disabling the scoreboard comparison on-the-fly is good idea.
One possibility is to use a field in a configuration object referenced by the scoreboard and the sequence (in the sequence’s case via its sequencer). This means that the scoreboard needs to sample the enable/disable value.
The only problem that I can see is that you need to remember to re-enable the scoreboard at the end of the sequence otherwise you might get a false pass.
mperyer : you have answered one of my questions regarding the excution order of new tasked based phases in UVM early. I was wondering that except the methodology ( putting sb as a dynamic, or a static component), can i start seq in run_phase() of uvm_test, set_confg in the body of seq, and get_config in the main_phase in the sb ? since the order is run_phase()…pre_main(), main_phase()…