Hasty Briefsbeta

Show HN: JPDB, GDB for Your Waveforms

7 hours ago
  • #GDB
  • #debugging
  • #pre-silicon
  • JPDB is a GDB-inspired debugger for pre-silicon CPUs, allowing stepping through code, breakpoints, and waveform inspection.
  • Requirements to start: a waveform file, a Python mapping file, and the executed ELF file.
  • Install via `cargo install --git https://github.com/1024bees/dang jpdb` (Python 3.10+ required).
  • Surfer integration requires WCP support and installation.
  • Mapping file must include `get_gdb_signals` returning a dict with `pc` and `x0-x31` signals.
  • Supports RV32G ISA; superscalar CPU support pending.
  • ELF file is currently required for operation.
  • Known issue: always steps into function calls.
  • Surfer integration is basic due to some buggy commands.
  • JPDB components: `dang` (GDB server), `shucks` (GDB client), and a TUI for waveform data.
  • Libraries used: `wellen` for waveform interaction.