All Projects → SystemRDL → PeakRDL-uvm

SystemRDL / PeakRDL-uvm

Licence: GPL-3.0 License
Generate UVM register model from compiled SystemRDL input

Programming Languages

python
139335 projects - #7 most used programming language
SystemVerilog
227 projects
shell
77523 projects

Projects that are alternatives of or similar to PeakRDL-uvm

Rggen
Code generation tool for configuration and status registers
Stars: ✭ 54 (+116%)
Mutual labels:  asic, fpga, eda
Open Register Design Tool
Tool to generate register RTL, models, and docs using SystemRDL or JSpec input
Stars: ✭ 126 (+404%)
Mutual labels:  asic, fpga, eda
Systemrdl Compiler
SystemRDL 2.0 language compiler front-end
Stars: ✭ 95 (+280%)
Mutual labels:  asic, fpga, eda
PeakRDL-ipxact
Import and export IP-XACT XML register models
Stars: ✭ 21 (-16%)
Mutual labels:  asic, fpga, eda
Skywater Pdk
Open source process design kit for usage with SkyWater Technology Foundry's 130nm node.
Stars: ✭ 1,765 (+6960%)
Mutual labels:  asic, eda
Livehd
Live Hardware Development (LiveHD), a productive infrastructure for Synthesis and Simulation
Stars: ✭ 110 (+340%)
Mutual labels:  asic, fpga
Aes
Verilog implementation of the symmetric block cipher AES (Advanced Encryption Standard) as specified in NIST FIPS 197. This implementation supports 128 and 256 bit keys.
Stars: ✭ 131 (+424%)
Mutual labels:  asic, fpga
Axi
AXI SystemVerilog synthesizable IP modules and verification infrastructure for high-performance on-chip communication
Stars: ✭ 227 (+808%)
Mutual labels:  asic, fpga
Clash Compiler
Haskell to VHDL/Verilog/SystemVerilog compiler
Stars: ✭ 958 (+3732%)
Mutual labels:  asic, fpga
Logic
CMake, SystemVerilog and SystemC utilities for creating, building and testing RTL projects for FPGAs and ASICs.
Stars: ✭ 149 (+496%)
Mutual labels:  asic, fpga
awesome-hwd-tools
A curated list of awesome open source hardware design tools
Stars: ✭ 42 (+68%)
Mutual labels:  asic, fpga
riscv-cores-list
RISC-V Cores, SoC platforms and SoCs
Stars: ✭ 651 (+2504%)
Mutual labels:  asic, fpga
Cva6
The CORE-V CVA6 is an Application class 6-stage RISC-V CPU capable of booting Linux
Stars: ✭ 1,144 (+4476%)
Mutual labels:  asic, fpga
xeda
Cross EDA Abstraction and Automation
Stars: ✭ 25 (+0%)
Mutual labels:  fpga, eda
spydrnet
A flexible framework for analyzing and transforming FPGA netlists. Official repository.
Stars: ✭ 49 (+96%)
Mutual labels:  fpga, eda
Biriscv
32-bit Superscalar RISC-V CPU
Stars: ✭ 208 (+732%)
Mutual labels:  asic, fpga
Riscv Cores List
RISC-V Cores, SoC platforms and SoCs
Stars: ✭ 471 (+1784%)
Mutual labels:  asic, fpga
Embedded Neural Network
collection of works aiming at reducing model sizes or the ASIC/FPGA accelerator for machine learning
Stars: ✭ 495 (+1880%)
Mutual labels:  asic, fpga
padring
A padring generator for ASICs
Stars: ✭ 19 (-24%)
Mutual labels:  asic, eda
ice-chips-verilog
IceChips is a library of all common discrete logic devices in Verilog
Stars: ✭ 78 (+212%)
Mutual labels:  fpga, eda

build 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.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].