Code Browser Pages:
Files in
uvm_sequence_3.tar



driver.sv
Makefile
README.txt
sequence_item.sv
sequencer.sv
Current file: sequence.sv
testcase.sv



////////////////////////////////////////////////
////s~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~s////
////s           www.testbench.in           s////
////s                                      s////
////s             UVM Tutorial             s////
////s           gopi@testbenh.in           s////
////s~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~s////
////////////////////////////////////////////////

class seq_act_mac_uvm_do extends uvm_sequence #(instruction);

  instruction req;

  function new(string name="seq_act_mac_uvm_do");
    super.new(name);
  endfunction

  `uvm_sequence_utils(seq_act_mac_uvm_do, instruction_sequencer)

  virtual task body();
      uvm_report_info(get_full_name(),"Executing Sequence Action Macro uvm_do",UVM_LOW);
      `uvm_do(req)
  endtask

endclass


class seq_act_mac_uvm_do_with extends uvm_sequence #(instruction);

  instruction req;

  function new(string name="seq_act_mac_uvm_do_with");
    super.new(name);
  endfunction

  `uvm_sequence_utils(seq_act_mac_uvm_do_with, instruction_sequencer)

  virtual task body();
      uvm_report_info(get_full_name(),"Executing Sequence Action Macro uvm_do_with ",UVM_LOW);
      `uvm_do_with(req,{ inst == ADD; })
  endtask

endclass


class seq_act_mac_uvm_create_and_uvm_send extends uvm_sequence #(instruction);

  instruction req;

  function new(string name="seq_act_mac_uvm_create_and_uvm_send");
    super.new(name);
  endfunction

  `uvm_sequence_utils(seq_act_mac_uvm_create_and_uvm_send, instruction_sequencer)

  virtual task body();
      uvm_report_info(get_full_name(),"Executing Sequence Action Macro uvm_create and uvm_send",UVM_LOW);
      `uvm_create(req)
      req.inst = instruction::PUSH_B;
      `uvm_send(req)
  endtask

endclass

class seq_act_mac_uvm_create_and_uvm_rand_send extends uvm_sequence #(instruction);

  instruction req;

  function new(string name="seq_act_mac_uvm_create_and_uvm_rand_send");
    super.new(name);
  endfunction

  `uvm_sequence_utils(seq_act_mac_uvm_create_and_uvm_rand_send, instruction_sequencer)

  virtual task body();
      uvm_report_info(get_full_name(),"Executing Sequence Action Macro uvm_create and uvm_rand_send",UVM_LOW);
      `uvm_create(req)
      `uvm_rand_send(req)
  endtask

endclass