riscv-etrace

Decoder and tracer for RISC-V E-Traces

This library provides a decoder and a tracer for the instruction tracing defined in the Efficient Trace for RISC-V specification. It provides:

  • a decoder and an encoder for instruction trace payloads as well as a few relevant packet formats,
  • a software trace encoder implementation, which produces payloads from user-defined steps of execution,
  • a tracer which processes these payloads and generates a sequence of tracing items, each corresponding to a single traced instruction,
  • a specialized instruction database with limited decoding capabilities,
  • support for user-provided and external instruction types and
  • various utilities, including types for handling trace encoder parameters.

Supported packet formats

The following packet formats are supported directly by this library:

Supported external instruction information types

In addition to a built-in type for instruction information, the following libraries are supported:

Supported trace encoders

Some aspects of support packets are defined by trace encoder implementations. This library provides an interface for abstracting them and support for the following specific encoders (and, of course, compatible units):

Visibility
Publicly available!
License

This library is licensed under the Apache License 2.0.

ISA Compliance
Status
Date of Availability
Contact

FZI Forschungszentrum Informatik
Anton Paule
Haid-und-Neu-Str. 10–14
76131 Karlsruhe
Deutschland

Contact Email
paule [at] fzi.de
Target TRL at the end of phase 1
TRL1: Beobachtung und Beschreibung des Funktionsprinzips
Target TRL at the end of phase 2
TRL3: Nachweis der Funktionsfähigkeit --> Plattform ohne Parametrisierbarkeit
Component is required for safety critical systems
Nein
Category
Visualization and Debugging