Jump to content

Search the Community

Showing results for tags 'compare'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Accellera Systems Initiative
    • Information
    • Announcements
    • In the News
  • SystemC
    • SystemC Language
    • SystemC AMS (Analog/Mixed-Signal)
    • SystemC TLM (Transaction-level Modeling)
    • SystemC Verification (UVM-SystemC, SCV)
    • SystemC CCI (Configuration, Control & Inspection)
    • SystemC Datatypes
  • UVM (Universal Verification Methodology)
    • UVM 2017 - Methodology and BCL Forum
    • UVM SystemVerilog Discussions
    • UVM Simulator Specific Issues
    • UVM Commercial Announcements
    • UVM (Pre-IEEE) Methodology and BCL Forum
    • UVM 1.2 Public Review
  • Portable Stimulus
    • Portable Stimulus Pre-Release Discussion
    • Portable Stimulus 1.0
  • IP-XACT
    • IP-XACT Discussion
  • IEEE 1735/IP Encryption
    • IEEE 1735/IP Encryption Discussion
  • OCP (Open Core Protocol)
  • UCIS (Unified Coverage Interoperability Standard)
  • Commercial Announcements
    • Announcements

Categories

  • SystemC
  • UVM
  • UCIS
  • IEEE 1735/IP Encryption

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Location


Interests


Biography


Location


Interests


Occupation


Company

Found 1 result

  1. 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. if (ret_val && (get_result() > old_result)) ret_val = 0; else ret_val = 1; It seems that any time do_compare returns '0', the condition below it always change ret_val (compare_object return value) to '1'. This behaviour exists only in 1800.2-2017-0.9 reference implementation of UVM library. If I use UVM-1.2, compare calls returns '0', if do_compare returns '0' on comparison failure (as I would expect). I would like to ask whether this behaviour is intentional. In such case, is there any recommended way to implement do_compare task? Thank you.
×