Ibex RISC-V Core Wrapper Technical Specification
Overview
This document specifies Ibex CPU core wrapper functionality.
Features
- Instantiation of a Ibex RV32 CPU Core.
- TileLink Uncached Light (TL-UL) host interfaces for the instruction and data ports.
- Simple address translation.
- NMI support for security alert events for watchdog bark.
- General error status collection and alert generation.
- Crash dump collection for software debug.
- Write-once switch between the ePMP and CHERIoT execution modes.
Description
The Ibex RISC-V Core Wrapper instantiates an Ibex RV32 CPU Core, and wraps its data and instruction memory interfaces to TileLink Uncached Light (TL-UL).
All configuration parameters of Ibex are passed through, except for the TRVK ports (signals starting with trvk_), which are not yet exposed.
BaseIsa is not exposed: it is fixed to the CHERIoT-capable base ISA, and the wrapper holds the execution mode switch that selects between ePMP and CHERIoT mode at runtime.
The pipelining of the bus adapters is configurable.
Compatibility
Ibex is a compliant RV32 RISC-V CPU core, as documented in the Ibex documentation.
The TL-UL bus interfaces exposed by this wrapper block are compliant to the TileLink Uncached Lite Specification version 1.7.1.