I wanted to know whats the difference in using these two
function void do_pack(uvm_packer packer);
super.do_pack(packer);
packer.pack_field_int(correct_data_in,$bits(correct_data_in));
packer.pack_field_int(valid_in,$bits(valid_in));
endfunction
function void do_pack(uvm_packer packer);
super.do_pack(packer);
`uvm_pack_intN(correct_data_in);
`uvm_pack_intN(valid_in);
endfunction
What happens if we dont pack/unpack the signals and directly drive them to DUT?
Furthermore, when do we use pack() and do_pack(). Can someone please exemplify.