• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

arnavsacheti / PeakRDL-BusDecoder / 23727563660
92%

Build:
DEFAULT BRANCH: main
Ran 30 Mar 2026 04:13AM UTC
Jobs 1
Files 35
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

30 Mar 2026 04:11AM UTC coverage: 91.787%. First build
23727563660

push

github

web-flow
Add SystemRDL parameter monkeypatch to expose root addrmap params in BusDecoder RTL (#54)

* Add SystemRDL parameter monkeypatch to expose root addrmap params in BusDecoder RTL

Monkeypatches ParameterRef.get_value() to trace which root-level addrmap
parameters are referenced throughout the component tree, classifying each as:

- DIRECT: non-address-affecting params passed through as SV `parameter` on
  the generated module (e.g. reset values, field widths)
- ADDRESS_MODIFYING: params that control array dimensions become SV
  `parameter` with runtime constraint n <= N. The decoder generates the full
  address space for N (elaborated max), but for-loop bounds use the parameter
  name so the RTL can reduce the active element count at instantiation time.

Key changes:
- New rdl_params.py: RdlParameterExtractor, RdlParameter, ParameterUsage
- DesignState: extracts/classifies params, provides enable lookup per dimension
- ForLoopBody: accepts int|str for parameterized loop bounds
- decode_logic_gen, fanout_gen, fanin_gen, fanin_intermediate_gen: use
  parameter names as loop bounds for enable-gated array dimensions
- module_tmpl.sv: adds initial-block assertions for n <= N constraints
- package_tmpl.sv: emits MAX_<PARAM> constants
- base_cpuif: skips redundant localparam when RDL param covers the array

https://claude.ai/code/session_01G5LEnnwCck4X4tjN1vQAbd

* Only expose address-modifying parameters in the decoder

Non-address parameters (reset values, field widths, etc.) are irrelevant
to the bus decoder and are now silently ignored instead of being passed
through as SV parameters.

https://claude.ai/code/session_01G5LEnnwCck4X4tjN1vQAbd

* Add documentation for SystemRDL parameter handling

Explains which root-level addrmap parameters are extracted (address-modifying
only), how the monkeypatch tracing detects them, and how they appear in the
generated RTL (module params, assertions, loop bounds, package MAX constants).

https://claude.ai/code/session_0... (continued)

176 of 206 new or added lines in 10 files covered. (85.44%)

1397 of 1522 relevant lines covered (91.79%)

0.92 hits per line

Uncovered Changes

Lines Coverage ∆ File
27
81.12
src/peakrdl_busdecoder/rdl_params.py
2
97.73
src/peakrdl_busdecoder/design_state.py
1
0.0
src/peakrdl_busdecoder/__peakrdl__.py
Jobs
ID Job ID Ran Files Coverage
1 23727563660.1 30 Mar 2026 04:13AM UTC 35
91.79
GitHub Action Run
Source Files on build 23727563660
  • Tree
  • List 35
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 3e1b964e on github
  • Next Build on main (#23727563641)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc