Skip to main content

Python-based UVM UVC generator

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyuvcgen-1.5.9.tar.gz (21.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyuvcgen-1.5.9-py3-none-any.whl (32.0 kB view details)

Uploaded Python 3

File details

Details for the file pyuvcgen-1.5.9.tar.gz.

File metadata

  • Download URL: pyuvcgen-1.5.9.tar.gz
  • Upload date:
  • Size: 21.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.24 {"installer":{"name":"uv","version":"0.9.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"AlmaLinux","version":"9.7","id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for pyuvcgen-1.5.9.tar.gz
Algorithm Hash digest
SHA256 b90df5899558f8fec4f73be7ecf0c85bb0dcb4b0c155c8870747a3ce89bd519c
MD5 8fb4ba9e1e8a619db86d2631e8104344
BLAKE2b-256 d229d568cd1a479ffddb9de6a0f46544cff06a469a7904acd53ca94090fb1b11

See more details on using hashes here.

File details

Details for the file pyuvcgen-1.5.9-py3-none-any.whl.

File metadata

  • Download URL: pyuvcgen-1.5.9-py3-none-any.whl
  • Upload date:
  • Size: 32.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.24 {"installer":{"name":"uv","version":"0.9.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"AlmaLinux","version":"9.7","id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for pyuvcgen-1.5.9-py3-none-any.whl
Algorithm Hash digest
SHA256 96046874bae4fb3ccf65e67b3dbe170d829b7f215e09c45f0d8d756fa244af8c
MD5 d6d28977b04a279313408a94bc04c1a3
BLAKE2b-256 2a657cd4fa9febc7dccd923a7aca5a8beff1ca986d82e19b529a04db952f7c28

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page