Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Trace Formats

Reflex supports two trace formats. The format is auto-detected from the file’s magic bytes.

µScope (.uscope)

Binary format from µScope with CPU protocol semantics.

Features:

  • LZ4 compression
  • Checkpointed random access via segments
  • Performance counters (automatically detected)
  • Queue metadata (retire/dispatch/issue queue configuration)
  • Pipeline stage names from schema
  • Instruction annotation via string table
  • RISC-V instruction decoding (RV64GC)
  • Clock domain information

DUT Properties used by Reflex:

PropertyPurpose
cpu.pipeline_stagesPipeline stage names (comma-separated)
cpu.retire_queue_sizeRetire buffer slot count
cpu.dispatch_queue_stagesStage names for dispatch queue membership
cpu.dispatch_queue_namesDisplay names for dispatch queues
cpu.issue_queue_stagesStage names for issue queue membership
cpu.issue_queue_namesDisplay names for issue queues
cpu.retire_queue_stagesStage names for retire queue membership

Trace metadata shown in the info overlay (Cmd+I):

  • File name, format version, flags
  • Clock domain (name, period, frequency)
  • Pipeline stage sequence
  • Duration (cycles and microseconds)
  • Segment count, schema summary, string table size

Konata (.log, .konata, .kanata)

Text-based Kanata log format used by CPU simulators. Compatible with Konata.

Features:

  • Human-readable text format
  • Stage transitions, labels, dependencies
  • Flush/squash events

Limitations compared to µScope:

  • No performance counters
  • No queue metadata
  • No compression or random access
  • No instruction decoding (uses labels from the trace)

Generating Test Traces

Press Cmd+G to generate a random synthetic trace for testing. The generator creates a configurable number of instructions with realistic pipeline stage patterns, dependencies, and timing.