Show HN: JPDB, GDB for Your Waveforms
6 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.