The library implements some public API beyond what is documented in 1800.2.
uvm_sequencer_base | |
The library implements some public API beyond what is documented in 1800.2. | |
Variables | |
wait_for_sequences_count | Controls the number of wait_for_sequences calls when selecting next sequence. |
Macros | |
UVM_DISABLE_AUTO_ITEM_RECORDING | Performs the same function as the 1800.2 define UVM_DISABLE_RECORDING, globally turning off automatic item recording when defined by the user. |
Controls the number of wait_for_sequences calls when selecting next sequence.
By default, the sequencers will wait for 1 wait_for_sequences call when selecting a new sequence. When stacking sequencers, this will cause a problem as the single call in a low level sequencer is absorbed by the next call in the higher level sequencer(s). This problem can be avoided by setting the value of “wait_for_sequences_count” to a value higher than 1 for the lower level sequencer(s) using the config database, e.g.:
uvm_config_db#(int)::set(this, "path.to.sequencer", "wait_for_sequences_count", 4);
Setting wait_for_sequences_count less than 1 will be ignored.
Note: Each successively lower sequencer in a stack will require a higher wait_for_sequences_count value in order to absorb all potential wait_for_sequences() counts in each higher level of the stack.
Note: Increasing this value will decrease the efficiency of the sequencer in the event of a get/get_next_item/peek/try_next_item call when no items are actually available. As such, care should be taken to avoid unnecessarily increasing the value.
@uvm-accellera The details of this API are specific to the Accellera implementation, and are not being considered for contribution to 1800.2
Performs the same function as the 1800.2 define UVM_DISABLE_RECORDING, globally turning off automatic item recording when defined by the user. Provided for backward compatibility.
@uvm-contrib This API is being considered for potential contribution to 1800.2