OPPRU 2025. 2. 23. 13:36

 

 

※ pipe_transfer.sv
class pipe_drv_pkt_c extends uvm_sequence_item;

  rand bit [1:0] i_cf;
  rand bit i_enable;
  rand bit [15:0] i_data_in0;
  rand bit [15:0] i_data_in1;  
  
  `uvm_object_utils_begin(pipe_drv_pkt_c)
   `uvm_field_int(i_cf, UVM_DEFAULT)
   `uvm_field_int(i_enable, UVM_DEFAULT)
   `uvm_field_int(i_data_in0, UVM_DEFAULT)
   `uvm_field_int(i_data_in1, UVM_DEFAULT)
  `uvm_object_utils_end
  
  function new (string name="pipe_drv_pkt_c");
    super.new(name);
  endfunction
endclass


class pipe_mon_pkt_c extends uvm_sequence_item;

  rand bit [1:0] i_cf;
  rand bit i_enable;
  rand bit o_enable;
  
  rand bit [15:0] i_data_in0;
  rand bit [15:0] i_data_in1;
  rand bit [15:0] o_data_in0;
  rand bit [15:0] o_data_in1;  
  
  `uvm_object_utils_begin(pipe_mon_pkt_c)
  `uvm_field_int(o_data_in0, UVM_DEFAULT)
  `uvm_field_int(o_data_in1, UVM_DEFAULT)
  `uvm_object_utils_end
  
  function new (string name="pipe_mon_pkt_c");
    super.new(name);
  endfunction
endclass