UVM Sequencer

 UVM Sequencer 


The sequencer control the flow of request and response sequence items between sequences and the driver.

Sequencer and driver uses TLM Interface to communicate transactions.

uvm_sequecner and uvm_driver base classes has seq_item_export and seq_item_port defined respectively. User need to connect them using TLM connect method.

Example:
   driver.seq_item_port.connect(sequencer.seq_item_export);

Sequencer can be written by extending the uvm_sequencer parameterized with seq_item type.

 Writing Scoreboard : 

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