Skip to content

[cheriot,rtl] Integrate TRVK into rv_core_ibex - #30538

Merged
andreaskurth merged 3 commits into
lowRISC:masterfrom
thommythomaso:tbenz/cheriot-int
Aug 20, 2026
Merged

[cheriot,rtl] Integrate TRVK into rv_core_ibex#30538
andreaskurth merged 3 commits into
lowRISC:masterfrom
thommythomaso:tbenz/cheriot-int

Conversation

@thommythomaso

@thommythomaso thommythomaso commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

This PR integrates an Ibex featuring a CHERIoT revokation filter (TRVK) into OpenTitan. Alongside the IP in Ibex, it exposes and ties-off the CHERIoT-specific ports in rv_core_ibex.

@thommythomaso
thommythomaso force-pushed the tbenz/cheriot-int branch 2 times, most recently from c837b72 to 2977be8 Compare June 30, 2026 13:29
@thommythomaso
thommythomaso force-pushed the tbenz/cheriot-int branch 2 times, most recently from 752ba7b to 0c3d550 Compare August 11, 2026 14:44
@thommythomaso
thommythomaso marked this pull request as ready for review August 11, 2026 14:44
@thommythomaso
thommythomaso requested a review from a team as a code owner August 11, 2026 14:44
@thommythomaso
thommythomaso requested review from rswarbrick and removed request for a team August 11, 2026 14:44
@thommythomaso thommythomaso self-assigned this Aug 12, 2026
@thommythomaso
thommythomaso force-pushed the tbenz/cheriot-int branch 2 times, most recently from 9604c78 to 905331b Compare August 12, 2026 16:15
@andreaskurth
andreaskurth self-requested a review August 18, 2026 07:34
Comment thread hw/ip_templates/rv_core_ibex/data/rv_core_ibex.tpldesc.hjson Outdated
Comment thread hw/ip_templates/rv_core_ibex/rtl/rv_core_ibex.sv.tpl Outdated
Comment thread hw/ip_templates/rv_core_ibex/rtl/rv_core_ibex.sv.tpl
Comment thread hw/ip_templates/rv_core_ibex/rtl/rv_core_ibex.sv.tpl
Comment thread hw/vendor/pulp_common_cells.vendor.hjson
Comment thread hw/vendor/pulp_common_cells.vendor.hjson
Comment thread hw/vendor/pulp_common_cells.core
@thommythomaso
thommythomaso force-pushed the tbenz/cheriot-int branch 2 times, most recently from 009be5d to ac11e2c Compare August 18, 2026 14:00
@thommythomaso
thommythomaso requested a review from vogelpi as a code owner August 18, 2026 14:00

@andreaskurth andreaskurth left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks @thommythomaso!

@andreaskurth

Copy link
Copy Markdown
Contributor

CHANGE AUTHORIZED: hw/vendor/lowrisc_ibex/rtl/ibex_cheriot_pkg.sv
CHANGE AUTHORIZED: hw/vendor/lowrisc_ibex/rtl/ibex_compressed_decoder.sv
CHANGE AUTHORIZED: hw/vendor/lowrisc_ibex/rtl/ibex_controller.sv
CHANGE AUTHORIZED: hw/vendor/lowrisc_ibex/rtl/ibex_core.sv
CHANGE AUTHORIZED: hw/vendor/lowrisc_ibex/rtl/ibex_id_stage.sv
CHANGE AUTHORIZED: hw/vendor/lowrisc_ibex/rtl/ibex_if_stage.sv
CHANGE AUTHORIZED: hw/vendor/lowrisc_ibex/rtl/ibex_pkg.sv
CHANGE AUTHORIZED: hw/vendor/lowrisc_ibex/rtl/ibex_top.sv
CHANGE AUTHORIZED: hw/vendor/lowrisc_ibex/rtl/ibex_top_tracing.sv
CHANGE AUTHORIZED: hw/vendor/lowrisc_ibex/rtl/ibex_trvk.sv

Vendoring update of Ibex, adding the CHERIoT TRVK module.

CHANGE AUTHORIZED: hw/top_earlgrey/ip_autogen/rv_core_ibex/rtl/rv_core_ibex.sv

Re-rendered template output; currently inert (BaseIsa is hard-coded to ibex_pkg::BaseIsaRV32I, so the TRVK filter is not instantiated).

CHANGE AUTHORIZED: BLOCKFILE

Adding hw/vendor/pulp_common_cells/rtl/* to the vendored-IP section.

@thommythomaso thommythomaso added Status:Ready to merge PR is ready to be merged by a committer. CI:Rerun Rerun failed CI jobs labels Aug 19, 2026
@github-actions github-actions Bot removed the CI:Rerun Rerun failed CI jobs label Aug 19, 2026

@SamuelRiedel SamuelRiedel left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. I rebased the CHERIoT-capable core on this without any issues.

The `stream_fork` and `stream_join` modules are used in some CHERIoT memory IPs.

Signed-off-by: Thomas Benz <tbenz@lowrisc.org>
Signed-off-by: Thomas Benz <tbenz@lowrisc.org>
Signed-off-by: Thomas Benz <tbenz@lowrisc.org>
@vogelpi

vogelpi commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

CHANGE AUTHORIZED: hw/vendor/lowrisc_ibex/rtl/ibex_cheriot_pkg.sv
CHANGE AUTHORIZED: hw/vendor/lowrisc_ibex/rtl/ibex_compressed_decoder.sv
CHANGE AUTHORIZED: hw/vendor/lowrisc_ibex/rtl/ibex_controller.sv
CHANGE AUTHORIZED: hw/vendor/lowrisc_ibex/rtl/ibex_core.sv
CHANGE AUTHORIZED: hw/vendor/lowrisc_ibex/rtl/ibex_id_stage.sv
CHANGE AUTHORIZED: hw/vendor/lowrisc_ibex/rtl/ibex_if_stage.sv
CHANGE AUTHORIZED: hw/vendor/lowrisc_ibex/rtl/ibex_pkg.sv
CHANGE AUTHORIZED: hw/vendor/lowrisc_ibex/rtl/ibex_top.sv
CHANGE AUTHORIZED: hw/vendor/lowrisc_ibex/rtl/ibex_top_tracing.sv
CHANGE AUTHORIZED: hw/vendor/lowrisc_ibex/rtl/ibex_trvk.sv

Vendoring update of Ibex, adding the CHERIoT TRVK module.

CHANGE AUTHORIZED: hw/top_earlgrey/ip_autogen/rv_core_ibex/rtl/rv_core_ibex.sv

Re-rendered template output; currently inert (BaseIsa is hard-coded to ibex_pkg::BaseIsaRV32I, so the TRVK filter is not instantiated).

CHANGE AUTHORIZED: BLOCKFILE

Adding hw/vendor/pulp_common_cells/rtl/* to the vendored-IP section.

@thommythomaso thommythomaso added the CI:Rerun Rerun failed CI jobs label Aug 20, 2026
@github-actions github-actions Bot removed the CI:Rerun Rerun failed CI jobs label Aug 20, 2026
@andreaskurth
andreaskurth added this pull request to the merge queue Aug 20, 2026
Merged via the queue into lowRISC:master with commit 83fc48e Aug 20, 2026
75 of 77 checks passed
@thommythomaso
thommythomaso deleted the tbenz/cheriot-int branch August 20, 2026 12:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Status:Ready to merge PR is ready to be merged by a committer.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants