lowRISC / lowRISC/opentitan

[CHERIoT] RTL implementation of the CHERIoT memory subsystem

Open
#30,562 5 comments 0 reactions 2 assignees View on GitHub

@SamuelRiedel is already working on this.

Since Sep 14, 2026.

Dominant language
SystemVerilog
Stars
3.6k
Forks
1.1k
Avg merge
2d 22h
Merged PRs (30d)
141

Description

## Merge Steps for CHERIoT memory subsystem
### Ibex
* [x] Add TRVK to Ibex: lowRISC/ibex#2455
* [x] Integrate TRVK into Ibex top: lowRISC/ibex#2456

### OpenTitan
* [x] Vendor Ibex (and common_cells) into OpenTitan: #30538
* [x] Point vendored Ibex to `lowRISC/ibex`
* [x] Add CHERIoT interconnect IPs to OpenTitan: #30539
* [x] Add CHERIoT integrate switch IP in `rv_core_ibex`: #30540
* [x] Integrate CHERIoT interconnect IPs into OpenTitan: #30541

## OpenTitan WG / TC
* [x] Prepare RFCs
* [x] Present RFCs
* [x] Get RFCs accepted

## Implementation
* [ ] Add optional cuts between the meta store and the filter blocks after running physical synthesis to evaluate the timing of the extended memory system
* [ ] Handle peripherals with bit-granular access (GPIO, PLIC). #30491

## Security
* [x] Connect all alerts and errors
* [ ] Lockstep TRVK in Ibex
* [ ] Lockstep TRVK revocation bitmap TL translation in `rv_core_ibex`
* [ ] Switch to a MuBi4 for capability tags between `rv_core_ibex` and CHERIoT subsystem
* [ ] Lockstep CHERIoT interconnect subsystem
* [ ] Re-enable scrambling in meta SRAM (non-power of two)

## Open Questions
* [ ] Is missing capability-aware SBA detrimental to debug performance?
* [ ] How is debug module extended to be capability-aware? Are there tag connections required between Ibex and the DM?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.