UVM Sequencer
- The sequencer controls the flow of request and response sequence items between sequences and the driver
- Sequencer and driver uses TLM Interface to communicate transactions
- uvm_sequencer and uvm_driver base classes have seq_item_export and seq_item_port defined respectively. User needs to connect them using TLM connect method.
Example:
driver.seq_item_port.connect(sequencer.seq_item_export);
A sequencer can be written by extending the uvm_sequencer parameterized with the seq_item type.
UVM Sequencer Code
class mem_sequencer extends uvm_sequencer#(mem_seq_item); `uvm_sequencer_utils(mem_sequencer) function new (string name, uvm_component parent); super.new(name, parent); endfunction : new endclass : mem_sequencer