Skip to main content

Generate eUVM register model from compiled SystemRDL input

Project description

build PyPI - Python Version

PeakRDL-euvm

Generate eUVM 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-euvm

Example

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

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

# Generate eUVM
peakrdl euvm your_design.rdl -o your_design.sv

Reference

eUVMExporter(**kwargs)

Constructor for the eUVM 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.

eUVMExporter.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), eUVM 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_euvm import eUVMExporter

rdlc = RDLCompiler()

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

exporter = eUVMExporter()
exporter.export(root, "test.d")

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_euvm-2.4.0.tar.gz (15.7 kB view details)

Uploaded Source

Built Distribution

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

peakrdl_euvm-2.4.0-py3-none-any.whl (17.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: peakrdl_euvm-2.4.0.tar.gz
  • Upload date:
  • Size: 15.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.14.0 pkginfo/1.12.1.2 requests/2.32.5 setuptools/80.9.0 requests-toolbelt/1.0.0 tqdm/4.67.1 CPython/3.14.0

File hashes

Hashes for peakrdl_euvm-2.4.0.tar.gz
Algorithm Hash digest
SHA256 6e7c392a3c2da342f35e24b63a823bfd6fe447a843b330775450443ddd7d0de2
MD5 c2233a2a31138280c3d6d77b8cac625f
BLAKE2b-256 0a568339fadda5741a92ff5b4d50bd6d2b708ba1bcd5c9c4da0a0b1bc2281731

See more details on using hashes here.

File details

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

File metadata

  • Download URL: peakrdl_euvm-2.4.0-py3-none-any.whl
  • Upload date:
  • Size: 17.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.14.0 pkginfo/1.12.1.2 requests/2.32.5 setuptools/80.9.0 requests-toolbelt/1.0.0 tqdm/4.67.1 CPython/3.14.0

File hashes

Hashes for peakrdl_euvm-2.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c77f91a1a52904b19813d9e6fd507252b0eb23c77457290b01ca57bac7f1cb93
MD5 2614a0a93c80325dc1e2c294e47ef8eb
BLAKE2b-256 6c08ceef1d8b2a91a28a868de9a0cc204a81d32d2600f22a29e38de05f0b8d75

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