[alert_handler] Mismatch between documentation and implementation
@jwnrt is already working on this.
Since May 11, 2026.
- Dominant language
- SystemVerilog
- Stars
- 3.6k
- Forks
- 1.1k
- Avg merge
- 2d 22h
- Merged PRs (30d)
- 141
Description
### Description
The alert handler [documentation mentions](https://opentitan.org/book/hw/top_earlgrey/ip_autogen/alert_handler/doc/programmers_guide.html#interrupt-handling)
> The cause bits of all alerts are concatenated and chunked into 32bit words.
However, that is not true. The `alert_cause` (and `loc_alert_cause`) multiregs have `compact: "false"` and we generate a 1-bit register for each alert.
Is this intentional? In case of alerts the software would have to issue 32x more reads compared to if it was compact.
Either way it's a discrepancy between implementation and documentation and we should fix one of them.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.