Copilot c9addd6ac2 Fix decoder generation for external nested addressable components and add max-decode-depth parameter (#12)
* Initial plan

* Fix bus decoder to skip external nested components

Co-authored-by: arnavsacheti <36746504+arnavsacheti@users.noreply.github.com>

* Optimize external children check using generator expressions

Co-authored-by: arnavsacheti <36746504+arnavsacheti@users.noreply.github.com>

* Add max-decode-depth CLI argument

Added --max-decode-depth argument that:
- Is added to CLI arguments in __peakrdl__.py
- Piped into design state via ExporterKwargs and DesignStateKwargs
- Used to control max depth in listener.py
- All 66 tests pass including new test for the parameter

Co-authored-by: arnavsacheti <36746504+arnavsacheti@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: arnavsacheti <36746504+arnavsacheti@users.noreply.github.com>
2025-10-25 19:56:49 -07:00
2025-10-10 22:30:59 -07:00

Documentation Status build Coverage Status PyPI - Python Version

PeakRDL-BusDecoder

Generate a SystemVerilog bus decoder from SystemRDL that splits CPU interface signals to multiple sub-address spaces. This tool is designed for creating hierarchical register address maps by decoding bus transactions and routing them to the appropriate child address maps.

For the command line tool, see the PeakRDL project.

Documentation

See the PeakRDL-BusDecoder Documentation for more details

Description
No description provided
Readme 1.2 MiB
Languages
Python 93.6%
SystemVerilog 6.2%
Dockerfile 0.2%