Hi,
I have created new transaction by extending uvm_sequence_item, where I have implemented do_compare function. Once implemented, compare calls seems to return '1', even if do_compare returns '0' (comparison failed).
I have traced comparison to uvm_object compare function calling uvm_comparer compare_object method. There, do_compare seems to be used in following code:
if (field_op.user_hook_enabled()) begin
ret_val = lhs.do_compare(rhs,this);
end
field_op.m_recycle();
// If do_compare() returned 1, check for a change
// in the result count.