Skip to content

uvmcollab/pyuvcgen

Repository files navigation

pyuvcgen

pyuvcgen is a lightweight Python-based code generator that leverages the jinja2 templating engine and the pyyaml YAML parser packages to produce UVM (Universal Verification Methodology) UVCs (UVM Verification Components) templates.

Features

  • Generates ready-to-use UVM UVC code from customizable templates.
  • Configurable via a simple YAML file (uvc.yaml)
  • Following industry best practices:
  • Isolated environment for testing UVCs, with the option to integrate the generated UVC as a Git submodule in larger projects.
  • Can also be used to scaffold test environments for small RTL designs.

Prerequisites

  • Python 3.12 or later.
  • uv Python package and project manager

Usage

  1. Clone the repository

  2. Navigate to the tests/ directory:

    cd tests/
  3. Edit the configuration file yaml/uvc.yaml to suit your UVC requirements.

  4. Generate the UVC code:

    uv run pyuvcgen -i yaml/uvc.yaml
  5. After running the command, a generated_uvc/ directory will appear in tests/, containing your UVC code.

  6. Use the README.md inside the generated_uvc to setup the environment

Contributing

Contributions, issues, and feature requests are welcome! Feel free to check issues or submit a pull request.

About

A lightweight Python-based code generator to produce UVM (Universal Verification Methodology) UVCs (UVM Verification Components) templates.

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors