svf: initial SVF player + svf_play command
New modules/svf/ plays the single-device SVF subset over the bscan_* primitives: SIR/SDR with masked TDO compare, RUNTEST (TCK/SEC), STATE (RESET/IDLE), ENDIR/ENDDR (IDLE only), HIR/HDR/TIR/TDR (length 0), TRST, FREQUENCY. Exposed as `svf_play <file>`. It warms up the FTDI link first — the MPSSE's first data read after open returns stale FIFO content, normally hidden because jtag_scan runs before anything. Also adds the bscan_tap_reset prototype. Validated on the live IGLOO2 M2GL010T: a hand-written IDCODE-check SVF passes (masked compare) and a deliberately wrong one is caught at the mismatching bit. A generic program dispatch off the prog tag, multi-device chains and non-IDLE end states are still TODO. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -113,6 +113,7 @@ the full walkthrough (probe → proxy → flash) lives in
|
||||
| FPGA registry | `fpga_list`, `fpga_info` |
|
||||
| BSCAN proxy | `bscan_load_bitstream`, `bscan_jedec`, `bscan_set_ir`, `bscan_shift_dr` |
|
||||
| SPI flash (via proxy) | `flash_detect`, `flash_read`, `flash_erase`, `flash_write`, `flash_verify` |
|
||||
| SVF player | `svf_play` |
|
||||
| Misc | `help`, `?`, `version`, `exit` |
|
||||
|
||||
Use `help <command>` for per-command help.
|
||||
|
||||
Reference in New Issue
Block a user