ASIC Verification

Monday, April 24, 2017

UVM: Performance Guidelines

  • 1 UVM Testbench Configuration and Build Performance Guidelines
    • 1.1 Avoid auto-configuration
    • 1.2 Minimize the use of the uvm_config_db
      • 1.2.1 Use configuration objects to pass configuration data to components
      • 1.2.2 Minimize the number of uvm_config_db #(...)::get() calls
      • 1.2.3 Use specific strings with the uvm_config_db set() and get() calls
      • 1.2.4 Minimise the number of virtual interface handles passed via uvm_config_db from the TB module to the UVM environment
        • 1.2.4.1 Using the testbench package to pass virtual interface handles
        • 1.2.4.2 Consolidate the virtual interface handles into a single configuration object
      • 1.2.5 Pass configuration information through class hierarchical references
    • 1.3 Minimize the use of the UVM Factory
  • 2 UVM Testbench Run-Time Performance Guidelines
    • 2.1 Avoid polling the uvm_config_db for changes
    • 2.2 Do not use the UVM field macros in transactions
    • 2.3 Minimise factory overrides for stimulus objects
    • 2.4 Avoid embedding covergroups in transactions
    • 2.5 Use the UVM reporting macros
    • 2.6 Do not use the uvm_printer class
    • 2.7 Avoid the use of get_xxx_by_name() in UVM register code
    • 2.8 Minimize the use of get_registers() or get_fields() in UVM register code
    • 2.9 Use UVM objections, but wisely
    • 2.10 Minimize the use of UVM call-backs
Posted by Thirumoorthy Gunasekaran at 2:44 PM No comments:
Email ThisBlogThis!Share to XShare to FacebookShare to Pinterest
Newer Posts Older Posts Home
Subscribe to: Posts (Atom)

Search This Blog

Total Pageviews

About Me

My photo
Thirumoorthy Gunasekaran
View my complete profile

Blog Archive

  • ►  2021 (1)
    • ►  July (1)
  • ►  2020 (1)
    • ►  May (1)
  • ►  2018 (3)
    • ►  April (1)
    • ►  January (2)
  • ▼  2017 (3)
    • ►  December (1)
    • ►  June (1)
    • ▼  April (1)
      • UVM: Performance Guidelines
  • ►  2016 (25)
    • ►  October (2)
    • ►  August (2)
    • ►  July (6)
    • ►  March (2)
    • ►  February (6)
    • ►  January (7)
Simple theme. Powered by Blogger.