[5] DV Practice/└ ⑹ transaction class
transaction class
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 |