Skip to content

Conversation

@krcb197
Copy link
Owner

@krcb197 krcb197 commented Oct 11, 2025

This release is a significant refactoring of the way the regmodel is generated. There were two goals:

  1. Ensure Python class definitions are only made once
  2. Split the model across multiple files to ensure each module is smaller in size

This works by:

  1. Computing a hash of the original system RDL component based on the attributes that peakrdl-python needs (many attributes are relevant to other tooling flow steps and don't affect the system rdl)
  2. Making definitions for each unique hash, into a series of incrementing files for:
    1. Registers
    2. Fields
    3. Field Enumerations
    4. Memories

Other changes in this release:

  1. There is a new top-level alias for the RegModel and Simulator, this makes it easier to use the generated packages without needing to know the top level names
  2. Restructured the traversal iterators to make them filters inside the library rather than individually generated in the code
  3. Refactored the internal way Arrays operated to use an immutable tuple rather than a dictionary, which also identified some bugs with slcing into arrays which are now fixed.
  4. Added support for filtering which UDPs to include with a RegEX
  5. Added check whether the library matches the version used for the generation of the code

krcb197 added 30 commits June 28, 2025 11:05
… 190-de-duplicate-field-definitions

# Conflicts:
#	src/peakrdl_python/__about__.py
#	src/peakrdl_python/exporter.py
#	src/peakrdl_python/templates/addrmap.py.jinja
#	src/peakrdl_python/templates/addrmap_register.py.jinja
#	src/peakrdl_python/templates/addrmap_tb.py.jinja
…ather than being a instance parameter. This reduces the auto-generated code size and also makes it consistent with the memory
…st cases, move the code that changes the import based on whether `skip_lib_copy` is used to a common template macro
…-name-desc-doc-strings

Added an option to remove the systemRDL name and desc being included in the generated python docstring
… pulled in to the memories appears in the testing
… release/2.0.0

# Conflicts:
#	.github/workflows/action.yaml
#	src/peakrdl_python/__about__.py
@krcb197 krcb197 merged commit 4250ac8 into main Oct 25, 2025
43 checks passed
@krcb197 krcb197 deleted the release/2.0.0 branch October 25, 2025 08:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants