{"library":"peakrdl-uvm","title":"PeakRDL-uvm","description":"PeakRDL-uvm is a Python library that generates a Universal Verification Methodology (UVM) register model from compiled SystemRDL input. It is part of the broader PeakRDL ecosystem for control and status register (CSR) automation. The current version is 2.4.0, and the project maintains an active development and release cadence.","language":"python","status":"active","last_verified":"Mon May 18","install":{"commands":["pip install peakrdl-uvm","pip install peakrdl peakrdl-uvm"],"cli":{"name":"peakrdl-uvm","version":"sh: 1: peakrdl-uvm: not found"}},"imports":["from peakrdl_uvm import UVMExporter"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import sys\nimport os\nfrom systemrdl import RDLCompiler, RDLCompileError\nfrom peakrdl_uvm import UVMExporter\n\n# Create a dummy RDL file for demonstration\nrdl_content = \"\"\"\naddrmap my_design {\n    reg {\n        field { sw = w; hw = r; } foo;\n    } bar at 0x0;\n};\n\"\"\"\nwith open(\"my_design.rdl\", \"w\") as f:\n    f.write(rdl_content)\n\n# Compile the SystemRDL file\nrdlc = RDLCompiler()\ntry:\n    rdlc.compile_file(\"my_design.rdl\")\n    root = rdlc.elaborate()\nexcept RDLCompileError:\n    print(\"RDL Compilation Error!\")\n    sys.exit(1)\n\n# Export the UVM register model\nexporter = UVMExporter()\noutput_path = \"my_design_uvm_pkg.sv\"\nexporter.export(node=root, path=output_path)\n\nprint(f\"UVM register model generated to {output_path}\")\n\n# Clean up dummy files\nos.remove(\"my_design.rdl\")\nos.remove(output_path)","lang":"python","description":"This quickstart demonstrates how to use the `UVMExporter` class programmatically to compile a SystemRDL file and generate a UVM register model. It first creates a dummy RDL file, compiles it using `systemrdl-compiler`, elaborates the design, and then uses `PeakRDL-uvm` to export the UVM package.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-18","installed_version":"2.4.0","pypi_latest":"2.4.0","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":3.2,"avg_import_s":0.34,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"peakrdl","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.3,"mem_mb":9.2,"disk_size":"68.0M"},{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"peakrdl-uvm","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.3,"mem_mb":9.2,"disk_size":"56.0M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"peakrdl","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":3.7,"import_time_s":0.23,"mem_mb":9.2,"disk_size":"72M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"peakrdl-uvm","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.6,"import_time_s":0.22,"mem_mb":9.2,"disk_size":"60M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"peakrdl","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.45,"mem_mb":10.9,"disk_size":"71.6M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"peakrdl-uvm","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.42,"mem_mb":10.9,"disk_size":"59.1M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"peakrdl","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":3.7,"import_time_s":0.4,"mem_mb":10.9,"disk_size":"76M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"peakrdl-uvm","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.7,"import_time_s":0.39,"mem_mb":10.9,"disk_size":"63M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"peakrdl","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.43,"mem_mb":10.7,"disk_size":"63.1M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"peakrdl-uvm","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.35,"mem_mb":10.7,"disk_size":"50.7M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"peakrdl","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":3.5,"import_time_s":0.37,"mem_mb":10.7,"disk_size":"67M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"peakrdl-uvm","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.4,"import_time_s":0.38,"mem_mb":10.7,"disk_size":"55M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"peakrdl","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.34,"mem_mb":10.8,"disk_size":"62.9M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"peakrdl-uvm","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.33,"mem_mb":10.8,"disk_size":"50.5M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"peakrdl","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":3.4,"import_time_s":0.38,"mem_mb":10.8,"disk_size":"67M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"peakrdl-uvm","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.4,"import_time_s":0.34,"mem_mb":10.8,"disk_size":"55M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"peakrdl","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.3,"mem_mb":9.6,"disk_size":"67.9M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"peakrdl-uvm","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.3,"mem_mb":9.6,"disk_size":"55.9M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"peakrdl","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":4.3,"import_time_s":0.33,"mem_mb":9.6,"disk_size":"72M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"peakrdl-uvm","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":3.2,"import_time_s":0.32,"mem_mb":9.6,"disk_size":"60M"}]}}