Ibex RISC-V Core Wrapper Technical Specification

rv_core_ibex:

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.