The Novel GUI Based UVM Template Generator - hellovimo/uvm_testbench_gen GitHub Wiki

Table of Contents

1. Motivation For Creating This UVM Template Generator

Adoption rate of Universal Verification Methodology (UVM) is increasing day by day across the industry and the need for building new Verification Intellectual Property (VIP) or testbench is in great demand.

Writing effective and structured UVM testbench from scratch is cumbersome most of the time and following a standard structure with provision for better re-usability and integration across projects is also challenging. In general, engineers tend to carry forward the existing files from other project and try to edit the information, which leads to non-standard code development across projects and hampers re-usability.

What if the time taken for initial development cycle is reduced to seconds instead of days with the help of a Graphic User Interface (GUI) to build the verification component templates? What if the integration of the verification collateral's can be done swiftly?

This tools offer GUI interface to develop the individual UVM components or the entire testbench templates loaded with features to configure as per the user requirements.

2. Why We Need This ?

  • The UVM template generator provides the user to create any component templates dynamically in matter of seconds.
  • This bring in standardization of the code development across the work flow or projects.
  • Faster time to bring up the VIP development.

3. Languages Used To Create This Application

  • This UVM template generator uses Python 'Tkinter' library to build the complete GUI layout on grid based fashion.
  • Uses generic Python text processing techniques to edit the templates.

4. What the Tool Offer's And What Not

4.1 What it offers

  • The tool helps in building pure UVM template codes.
  • Helps in building single UVM components or building complete UVM testbench and architecture.
  • Helps in building Multi Agent, Multi Monitor, Multi Scoreboard based Environments.
  • Helps in building Multi-Environments based flow targeting complex SOC's[System On Chip] scenarios.
  • Helps in integrating Agents, Monitors, Scoreboards into already existing Environment and also helps in integration between environments.

4.2 What it doesn't offer

  • Integrating 3rd party UVM VIP's into VIP's created by this tool might be slightly tricky because the tool follow certain standard and naming convention for easy code editing and integration.

5. Detailed Tool Operations and Steps To Run

The tool provide the user with options to generate single UVM Component/Object or complete UVM testbench. Detailed functionality of the tool is described in the sections below.

5.1 Single UVM Component/Object generation

5.2 Complete UVM Testbench

6. Thank You !

Hope you had a feel about how this tool operates, its functionalities and also learned how to run the tool. Please feel free to give a try at your end. And also kindly provide your feedback if you have any suggestions for improvement by dropping a e-mail to [email protected].