Jump to content

cristian_amiq

Members
  • Content Count

    12
  • Joined

  • Last visited

About cristian_amiq

  • Rank
    Junior Member
  1. Speaking of random stability, there are a few random stability issues in UVM, for example look for SVTB.15.7.1.rootCause - Do not use new() without get_randstate() or SVTB.15.7.2.rootCause - Do not use fork without get_randstate() here: http://dvteclipse.com/uvm-verissimo/UVM_1_2_RELEASE/index.html The rules above are some Verissimo SystemVerilog Testbench Linter rules that check random stability, and the link above is one of the HTML reports from Verissimo continuous runs (every 6 hours) on various UVM branches. All branches are here: http://dvteclipse.com/uvm-verissimo/index.html
  2. cristian_amiq

    Should uvm_hdl_force_time be declared automatic?

    FYR, AMIQ continuously runs a set of linting checks on various UVM branches to indicate potential issues: http://dvteclipse.com/uvm-verissimo/index.html One of the checks addresses your concern: SVTB.12.1.2 - Tasks defined outside of classes must be explicitly declared automatic or static For example in the UVM 1.2 release there are several such tasks implicitly static: http://dvteclipse.com/uvm-verissimo/UVM_1_2_RELEASE/index.html?N4IgzgrgtlCGBOBPEAuALvCBTANCAxgBZb4DWYAKvFlgMpYA2JaAlgPYB2qAzAEx5ES5KjXpN8rThUQAHLKgCMeQizSVYAIyYB5eABMs8VAG1jSkLDD4QAXRzGADHkvWbdkCrUVNTegiKoICB4BlYACrAcjGLM7BzScop4YGiwaBBgAGIsDGiGAGqwDNioTgTEZFk5efCFxfIoxiC0-RQAQgB0CrxdHby2eABmOVhVuQVFJY02AL5AAA Cristian
  3. cristian_amiq

    UVM support in the DVT IDE

    More UVM oriented features are available starting with the 3.5 release. For example UVM Browser for exploring all the components of an UVM-based verification environment or Verification Hierarchy to inspect the topology of an UVM-based verification environment. For an overview of the UVM features in the DVT Eclipse IDE see http://www.dvteclipse.com/UVM_Support_in_DVT_Eclipse.html.
  4. cristian_amiq

    Ensuring users call super.function()

    AMIQ's Verissimo SystemVerilog Testbench Linter has liniting checks like ""<class_name> descendants must call super.<function_name>". You may want to take a look at the datasheet here: http://www.dvteclipse.com/design_and_verification_tools_datasheet_download.php and play with it using the free trial.
  5. cristian_amiq

    UVM 1.1 HTML API

    Version

    433 downloads

    It is organized using the simple and practical Javadoc style. It embeds the natural docs annotations. It is lightweight and easily browsable. You can also browse it online: www.dvteclipse.com/uvm-1.1-HTML_API/index.html If you use an IDE (like DVT - www.dvteclipse.com), the API specification embedded in comments is presented in-line with the code. You don't have to switch to the API docs while editing. You can extract a similar documentation from your code using DVT.
  6. cristian_amiq

    UVM 1.0 HTML API

    Version

    337 downloads

    This is the UVM 1.0 API specification in HTML format. It is organized using the simple and practical Javadoc style. It embeds the natural docs annotations. It is lightweight and easily browsable. If you use an IDE (like DVT - www.dvteclipse.com), the API specification embedded in comments is presented in-line with the code. You don't have to switch to the API docs while editing. You can extract a similar documentation from your code using DVT.
  7. 1) I think the "ubus" example which ships with the UVM library reflects or should reflect the UVM guidelines. 2) UVM compliance checking is included in the DVT IDE license. DVT provides automatic UVM compliance checking based on the list you mentioned. Actually the rules are updated to reflect the official UVM 1.0 release, for example build() is now build_phase(). To see how DVT performs UVM compliance checking you can browse the online documentation.
  8. One of the new nice features in DVT is the capability to use refactoring scripts. A refactoring script is a set of code transformations and annotations which you can apply on your source code. For instance, such a script can define all the changes required to migrate between OVM and UVM libraries, or between library versions. Example code transformations: rename method 'boo.foo()' to 'moo()' rename class 'foo' to 'boo' rename macro 'WIDTH' to 'BUS_WIDTH' Example code annotations: comment all places where I use class 'foo' with 'FIXME: unsupported class' comment all places where I use field 'foo.moo' with 'FIXME: use the get_ API' comment all places where I use method 'foo.moo() with 'FIXME: method signature changed' A refactoring script is defined using XML. You can take a look at the OVM2.1.1 to UVM1.0EA Migration Script which AMIQ contributed to UVM World. For more details about refactoring scripts in DVT see the DVT Refactoring Scripts Documentation.
  9. cristian_amiq

    OVM2.1.1 to UVM1.0EA Migration Script

    Version

    536 downloads

    In 90%+ of the cases the simple search/replace ovm* with uvm* will work to get you from OVM to UVM. Heavy OVM users (callbacks) or legacy ones (avm*, urm*) could use a more precise migration which will indicate deprecated types, deprecated macros, method signature changes etc. The attached refactoring script contains all the differences between OVM2.1.1 and UVM1.0EA. The last few lines are text "ovm*" to "uvm*", the rest are: removed macros removed classes removed fields removed methods renamed macros renamed classes renamed methods method signature changes (more/less arguments) macro signature changes (more/less arguments) DVT helps the OVM2UVM migration, including the capability to apply this or any other refactoring script. For more details: www.dvteclipse.com/documentation/sv/OVM_to_UVM_Migration.html and www.dvteclipse.com/documentation/sv/Refactoring_Scripts.html
  10. Starting with the 2.9.5 release, the DVT IDE provides support for automated UVM Compliance Checking. The ruleset is based on the contributed UVM Compliance Checklist. UVM Compliance Checking helps you develop verification code following the UVM guidelines. You to easily locate problematic source code, make a fix and reapply the checks, enable/disable rules, set severity levels, add notes or waive failures, and export an HTML report. You can run UVM Compliance Checking in batch or GUI mode. About DVT http://www.dvteclipse.com DVTâ„¢- Design and Verification Tools, an Eclipse-based integrated development environment (IDE), is a modern and powerful, yet easy to use programming platform for e and SystemVerilog verification languages. It enables efficient code writing and simplifies the maintenance of reusable libraries and legacy code. Incorporating advanced code editing features and innovative capabilities specific to functional verification, as well as integrating with all major simulators and the latest verification methodologies, the DVT IDE helps you be more productive and get faster to market.
  11. cristian_amiq

    UVM 1.0EA API Specification in Javadoc format

    Version

    705 downloads

    The Javadoc format for documenting API is well established in the software world, so why not use it for SystemVerilog? It is a pretty simple format and it allows quick access to the API spec, especially when you need something fast. It doesn't supplement user guides, but it is lightweight and easily browsable. It starts from the assumption the underlying code is well commented. Which seems to be true for the UVM lib. Needless to say, if you use an IDE (like DVT - www.dvteclipse.com), the API spec is presented inline with the code, so you don't have to open/switch to the API docs while editing. Still, it is good to have the API at hand, so here it is.
  12. Starting with the 2.9.3 release, the DVT IDE provides support for both UVM-based code development and OVM to UVM migration. Features inlude code templates, inline access to documentation, macro debugging, and dedicated wizards. As an appetizer, see the two snapshots below: one for the OVM to UVM Migration Wizard and the other for the UVM Field Editor, an utility which allows you to easily perform proper field registration as it is required by the UVM methodology. You can find further details online at here. About DVT http://www.dvteclipse.com Design and Verification Tools (DVT), an Eclipse-based integrated development environment (IDE), is a modern and powerful, yet easy to use programming platform for e, SystemVerilog and VHDL languages. It enables efficient code writing and simplifies the maintenance of reusable libraries and legacy code. Incorporating advanced code editing features and specific capabilities for design and verification, as well as integrating with all major simulators and the latest verification methodologies, the DVT IDE helps you be more productive and get faster to market.
×