# uvm_sequencer_base

The library implements some public API beyond what is documented in 1800.2.

Summary

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 deprecated 1800.2 define UVM_DISABLE_RECORDING, globally turning off automatic item recording when defined by the user.

### Variables

### wait_for_sequences_count

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

### Macros

### UVM_DISABLE_AUTO_ITEM_RECORDING

Performs the same function as the deprecated 1800.2 define UVM_DISABLE_RECORDING, globally turning off automatic item recording when defined by the user.

@uvm-accellera