Sequence-Related Macros | |
Sequence Action Macros | These macros are used to start sequences and sequence items on the default sequencer returned by get_sequencer(). |
`uvm_do_pri | |
`uvm_do_with | |
`uvm_do_pri_with | |
Sequence on Sequencer Action Macros | These macros are used to start sequences and sequence items on a specific sequencer. |
`uvm_create_on | |
`uvm_do_on | |
`uvm_do_on_pri | |
`uvm_do_on_with | |
`uvm_do_on_pri_with | |
Sequence Action Macros for Pre-Existing Sequences | These macros are used to start sequences and sequence items that do not need to be created. |
`uvm_send_pri | |
`uvm_rand_send_pri | |
`uvm_rand_send_with | |
`uvm_rand_send_pri_with |
These macros are used to start sequences and sequence items on the default sequencer returned by get_sequencer(). This is determined a number of ways.
`uvm_do_pri(SEQ_OR_ITEM, PRIORITY)
This is the same as `uvm_do except that the sequence item or sequence is executed with the priority specified in the argument
`uvm_do_with(SEQ_OR_ITEM, CONSTRAINTS)
This is the same as `uvm_do except that the constraint block in the 2nd argument is applied to the item or sequence in a randomize with statement before execution.
`uvm_do_pri_with(SEQ_OR_ITEM, PRIORITY, CONSTRAINTS)
This is the same as `uvm_do_pri except that the given constraint block is applied to the item or sequence in a randomize with statement before execution.
These macros are used to start sequences and sequence items on a specific sequencer. The sequence or item is created and executed on the given sequencer.
`uvm_create_on(SEQ_OR_ITEM, SEQR)
This is the same as `uvm_create except that it also sets the parent sequence to the sequence in which the macro is invoked, and it sets the sequencer to the specified SEQR argument.
`uvm_do_on(SEQ_OR_ITEM, SEQR)
This is the same as `uvm_do except that it also sets the parent sequence to the sequence in which the macro is invoked, and it sets the sequencer to the specified SEQR argument.
`uvm_do_on_pri(SEQ_OR_ITEM, SEQR, PRIORITY)
This is the same as `uvm_do_pri except that it also sets the parent sequence to the sequence in which the macro is invoked, and it sets the sequencer to the specified SEQR argument.
`uvm_do_on_with(SEQ_OR_ITEM, SEQR, CONSTRAINTS)
This is the same as `uvm_do_with except that it also sets the parent sequence to the sequence in which the macro is invoked, and it sets the sequencer to the specified SEQR argument. The user must supply brackets around the constraints.
`uvm_do_on_pri_with(SEQ_OR_ITEM, SEQR, PRIORITY, CONSTRAINTS)
This is the same as `uvm_do_pri_with except that it also sets the parent sequence to the sequence in which the macro is invoked, and it sets the sequencer to the specified SEQR argument.
These macros are used to start sequences and sequence items that do not need to be created.
`uvm_send_pri(SEQ_OR_ITEM, PRIORITY)
This is the same as `uvm_send except that the sequence item or sequence is executed with the priority specified in the argument.
`uvm_rand_send_pri(SEQ_OR_ITEM, PRIORITY)
This is the same as `uvm_rand_send except that the sequence item or sequence is executed with the priority specified in the argument.
`uvm_rand_send_with(SEQ_OR_ITEM, CONSTRAINTS)
This is the same as `uvm_rand_send except that the given constraint block is applied to the item or sequence in a randomize with statement before execution.
`uvm_rand_send_pri_with(SEQ_OR_ITEM, PRIORITY, CONSTRAINTS)
This is the same as `uvm_rand_send_pri except that the given constraint block is applied to the item or sequence in a randomize with statement before execution.
Executes this sequence, returning when the sequence has completed.
virtual task start ( uvm_sequencer_base sequencer, uvm_sequence_base parent_sequence = null, int this_priority = -1, bit call_pre_post = 1 )
Sets the default sequencer for the sequence to sequencer.
virtual function void set_sequencer( uvm_sequencer_base sequencer )