Skip to main content

Generate UVM register model from compiled SystemRDL input

Project description

Build Status PyPI - Python Version

PeakRDL-uvm

Generate UVM register model from compiled SystemRDL input

Installing

Install from PyPi using pip:

python3 -m pip install peakrdl-uvm

Exporter Usage

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")

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.

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.0.0.tar.gz (9.5 kB view details)

Uploaded Source

File details

Details for the file peakrdl-uvm-2.0.0.tar.gz.

File metadata

  • Download URL: peakrdl-uvm-2.0.0.tar.gz
  • Upload date:
  • Size: 9.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/40.6.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.5.6

File hashes

Hashes for peakrdl-uvm-2.0.0.tar.gz
Algorithm Hash digest
SHA256 1078a7a2b9794cfab495d4374ec2e701e875bf8c285e0def5733f15b2c28b623
MD5 9f2b732ca6e62072660aa4130334abcc
BLAKE2b-256 43646da8e986f18bf854c453046271d2b38c8077e111dd7ccb8fbe6a755ab047

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