Attended the “How to Take Advantage of UVM 1.2 Right Now” by Doulos today.
Following are key takeaways for my future testbenches:
Objections propagation
With set_propagate_mode(1)
, the objection propagates from the current component up to the top of the hierarchy. While with set_propagate_mode(0)
(new in UVM-1.2), the objection is only visible in the current component and in uvm_top.
However set_propagate_mode(1)
might slow the simulations.
When the total number of objections is equal to zero, the phase ends.
Report server chains
Factory overrides undo
Using UVM_POST_VERSION_1_1 with UVM-1.2
This macro ensures compability with UVM-1.1 while using the UVM-1.2 based source code. NO UVM-1.2 feature will be enabled.
Simulation Speed
Apparently as per Doulos’s benchmark, UVM-1.2 is slower than UVM-1.1d. 10% slower with no objection. Objections propagation up far in the hierarchy slows even more.