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.
- 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.
- Python 3.12 or later.
- uv Python package and project manager
-
Clone the repository
-
Navigate to the
tests/directory:cd tests/ -
Edit the configuration file
yaml/uvc.yamlto suit your UVC requirements. -
Generate the UVC code:
uv run pyuvcgen -i yaml/uvc.yaml
-
After running the command, a
generated_uvc/directory will appear intests/, containing your UVC code. -
Use the
README.mdinside thegenerated_uvcto setup the environment
Contributions, issues, and feature requests are welcome! Feel free to check issues or submit a pull request.