Skip to main content

Generate UVM register model from compiled SystemRDL input

Project description

build PyPI - Python Version

PeakRDL-uvm

Generate UVM register model from compiled SystemRDL input.

For the command line tool, see the PeakRDL project.

Installing

Install from PyPi using pip:

python3 -m pip install peakrdl-uvm

Example

The easiest way to use PeakRDL-uvm is via the PeakRDL command line tool:

# Install the command line tool
python3 -m pip install peakrdl

# Generate UVM
peakrdl uvm your_design.rdl -o your_design.sv

Reference

UVMExporter(**kwargs)

Constructor for the UVM Exporter class

Optional Parameters

  • user_template_dir
    • Path to a directory where user-defined template overrides are stored.
  • user_template_context
    • Additional context variables to load into the template namespace.

UVMExporter.export(node, path, **kwargs)

Perform the export!

Parameters

  • node
    • Top-level node to export. Can be the top-level RootNode or any internal AddrmapNode.
  • path
    • Output file.

Optional Parameters

  • export_as_package
    • If True (Default), UVM register model is exported as a SystemVerilog package. Package name is based on the output file name.
    • If False, register model is exported as an includable header.
  • reuse_class_definitions
    • If True (Default), exporter attempts to re-use class definitions where possible. Class names are based on the lexical scope of the original SystemRDL definitions.
    • If False, class definitions are not reused. Class names are based on the instance's hierarchical path.
  • use_uvm_factory
    • If True, class definitions and class instances are created using the UVM factory.
    • If False (Default), UVM factory is disabled. Classes are created directly via new() constructors.

API Example

Pass the elaborated output of the SystemRDL Compiler to the exporter.

import sys
from systemrdl import RDLCompiler, RDLCompileError
from peakrdl_uvm import UVMExporter

rdlc = RDLCompiler()

try:
    rdlc.compile_file("path/to/my.rdl")
    root = rdlc.elaborate()
except RDLCompileError:
    sys.exit(1)

exporter = UVMExporter()
exporter.export(root, "test.sv")

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

peakrdl_uvm-2.4.0.tar.gz (15.3 kB view details)

Uploaded Source

Built Distribution

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

peakrdl_uvm-2.4.0-py3-none-any.whl (16.9 kB view details)

Uploaded Python 3

File details

Details for the file peakrdl_uvm-2.4.0.tar.gz.

File metadata

  • Download URL: peakrdl_uvm-2.4.0.tar.gz
  • Upload date:
  • Size: 15.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for peakrdl_uvm-2.4.0.tar.gz
Algorithm Hash digest
SHA256 bebbec7ea84c76137e3e61442565d1de9a225eaf01774c65de3d10dd7096ad78
MD5 e86702ad0b5e3f405c78f1c66c2745b3
BLAKE2b-256 5ad4de4c1e44ba589aaae7fa230266516ba67608e7dca425ccf3a7b21bb062ab

See more details on using hashes here.

Provenance

The following attestation bundles were made for peakrdl_uvm-2.4.0.tar.gz:

Publisher: build.yml on SystemRDL/PeakRDL-uvm

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file peakrdl_uvm-2.4.0-py3-none-any.whl.

File metadata

  • Download URL: peakrdl_uvm-2.4.0-py3-none-any.whl
  • Upload date:
  • Size: 16.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for peakrdl_uvm-2.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2ec87aaac25f6597a0a0b173edae8cd81d1dd05957591013f1e6b93957de0d87
MD5 e7c0684893c5fa55c1611da95a9ebdff
BLAKE2b-256 45f0cc6f81291ce62422ca6b73efe2e032d86689dadd91a04356e199f0b915e1

See more details on using hashes here.

Provenance

The following attestation bundles were made for peakrdl_uvm-2.4.0-py3-none-any.whl:

Publisher: build.yml on SystemRDL/PeakRDL-uvm

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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