filed automation机制
UVM field automation机制是为了方便用户对事物进行打印、复制、打包、解压、比较、记录等一些列功能而建立的一套服务机制,即使用UVM内建的函数对事务进行处理。
要使用UVM field automation机制,在事务中对数据使用`uvm_field_*进行注册,例如
class my_transaction extends uvm_sequence_item;
rand bit [3:0] sa;
rand bit [3:0] da;
rand reg [7:0] payload[$];
`uvm_object_utils_begin(my_transaction)
`uvm_field_int(sa, UVM_ALL_ON);
`uvm_field_int(da, UVM_ALL_ON);
`uvm_field_queue_int(payload, UVM_ALL_ON);
`uvm_object_utils_end
constraint Limit{
sa inside { [0:15] };
da inside { [0:15] };
payload.size() inside { [2:4] };
}
function new(string name = "my_transaction");
super.new(name);
endfunction
endclass