XiangShan/scripts
SFangYy db3800c43f
feat(pdb): Add XSPdb, a GDB-like interactive debugger for XiangShan (#4906)
### 1. Purpose of this Pull Request 
XSPdb is a specialized Python pdb-based debugging tool for RISC-V IP
cores, customized for Xiangshan's difftest interface. It provides
GDB-like interactive debugging capabilities, integrating: Terminal
command-line interface, RTL-level waveform toggling, Automated script
replay, System snapshot save/restore, Register initialization
configuration

### 2. Changes Made

* **New Tool (`XSPdb`)**: The core Python scripts for XSPdb have been
added under `scripts/xspdb/`. This tool provides an interactive
debugging console with standard pdb commands (e.g., breakpoints, step,
continue, register inspection).
* **Build System Integration**: A new Makefile, `pdb.mk`, has been
created to define the build targets and logic required for XSPdb.
* **Makefile Modification**: The root Makefile has been updated to
include `pdb.mk`, integrating the new `pdb` target into the main build
system.

### 3. Usage 

The new tool can be built and used via a new `make` target.
1. **Build the XSPdb package**: 
```bash
    make pdb NOOP_HOME=$(pwd)
 ```
2.  **Run a simulation with the XSPdb**:
```bash
   make pdb-run NOOP_HOME=$(pwd)
 ```

---------

Co-authored-by: Zhicheng Yao <yaozhicheng@ict.ac.cn>
2025-08-23 00:59:13 +08:00
..
cache bump CPL2: fix sinkC (#2244) 2023-08-17 09:16:50 +08:00
coverage misc: update PCL information (#899) 2021-07-24 23:26:38 +08:00
rolling chore(scripts): update to a working state by tutorial (#4415) 2025-03-14 11:21:19 +08:00
top-down feat(topdown): add vector freelist stalls 2025-03-17 14:26:24 +08:00
utils Cpl2 Feature: Evict@Refill (#2232) 2023-08-13 17:29:49 +08:00
xspdb feat(pdb): Add XSPdb, a GDB-like interactive debugger for XiangShan (#4906) 2025-08-23 00:59:13 +08:00
Makefile.docker fix(docker): Fix docker "-e" param when MAKEOVERRIDES contains space 2025-05-22 15:12:45 +08:00
Makefile.pdb feat(pdb): Add XSPdb, a GDB-like interactive debugger for XiangShan (#4906) 2025-08-23 00:59:13 +08:00
constantHelper.py chore(scripts): update to a working state by tutorial (#4415) 2025-03-14 11:21:19 +08:00
gen_sep_mem.sh circt: fix assertion fails in circt simulation (#2023) 2023-04-04 10:05:29 +08:00
generate_all.sh feat(scripts): add parser.py generate_all.sh from branch kunminghu (#3483) 2024-09-04 13:39:14 +08:00
parser.py fix(scripts): parser.py support submodule endWiths '();' (#3598) 2024-09-19 10:18:10 +08:00
pdb-run.py feat(pdb): Add XSPdb, a GDB-like interactive debugger for XiangShan (#4906) 2025-08-23 00:59:13 +08:00
perfcct.py feat: support inst lifetime trace (#4007) 2025-04-08 11:21:04 +08:00
requirements.txt chore(scripts): update to a working state by tutorial (#4415) 2025-03-14 11:21:19 +08:00
sram_size_collect.py util: add sram size collect script (#2413) 2023-10-23 20:28:46 +08:00
statistics.py misc: update PCL information (#899) 2021-07-24 23:26:38 +08:00
vlsi_mem_gen scripts: fix 1bitmask memory gen (#2596) 2023-12-29 09:45:07 +08:00
xiangshan.py chore(xiangshan.py): add make-threads arg for `make -j` (#4837) 2025-06-27 18:51:37 +08:00