[reggen] Allow placing interrupt and alert registers at specific offsets
- Dominant language
- SystemVerilog
- Stars
- 3.6k
- Forks
- 1.1k
- Avg merge
- 2d 22h
- Merged PRs (30d)
- 141
Description
### Description
Some IPs currently set `no_auto_intr_regs` or `no_auto_alert_regs` to `True` but then still manually add the respective interrupt/alert registers. This is sometimes done to be able to place them at very specific offsets.
However, this creates issues with automatic testing.
To solve this and to avoid the manual placement we should change the IP hjson format to allow us to specify where the CIP-standard alert / interrupt CSRs are placed.
The following IP blocks could benefit from this change:
- rv_timer
- aon_timer
- racl_ctrl
- rv_plic
Contributor guide
Research direction
Review the reggen IP HJSON format and register-generation paths for rv_timer, aon_timer, racl_ctrl, and rv_plic. Define how requested offsets should be represented and ensure the generated CIP-standard alert and interrupt CSRs are placed accordingly, with automatic testing covering the affected blocks.
Written by the indexing model from the issue text.
Assessment
- Domain
- embedded-iot, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100