Skip to content

hw: DSLogic JTAG diagnostics — BLOCKER-1 physical debug #590

@gHashTag

Description

@gHashTag

Summary

BLOCKER-1: ESP32 XVC JTAG is broken (IDCODE returns 0x00001388 instead of 0x03631093). Need DSLogic logic analyzer capture to diagnose TCK/TMS/TDI/TDO signal integrity.

Hardware Setup

DSLogic Probe Wiring (JTAG header on QMTECH Wukong V1)

DSLogic CH JTAG Pin Signal QMTECH Pin
CH0 Pin 5 TCK T14
CH1 Pin 6 TMS T15
CH2 Pin 4 TDI U14
CH3 Pin 3 TDO U15
GND Pin 2 GND

DSView Settings

  • Sample rate: 16 MS/s
  • Threshold: 1.6V (3.3V CMOS)
  • Protocol decoder: JTAG (TCK=CH0, TMS=CH1, TDI=CH2, TDO=CH3)

Steps

  • 1. Wire DSLogic to JTAG header
  • 2. Start DSView capture
  • 3. Run openFPGALoader --cable xvc-client --ip 192.168.1.30 --detect
  • 4. Capture trace → save as fpga/diagnostics/captures/jtag_xvc_detect.dsl
  • 5. Analyze: where does XVC break? (TCK missing? TMS stuck? TDO floating?)
  • 6. If XVC dead → switch to DLC-10: python3 tools/dlc10_jtag.py --detect
  • 7. Verify IDCODE = 0x03631093 via DLC-10
  • 8. Program: python3 tools/dlc10_jtag.py fpga/vsa/gf16_heartbeat_top.bit
  • 9. Verify STATUS = 0x401079FC (DONE=1)

Expected Results

Cable IDCODE STATUS Verdict
ESP32 XVC 0x00001388 BROKEN
DLC-10 0x03631093 0x401079FC WORKING

Files

  • tools/dlc10_jtag.py (commit f5ad8be0) — native DLC-10 driver
  • tools/read_status.py — JTAG status register reader
  • fpga/vsa/gf16_heartbeat_top.bit — synthesized bitstream
  • fpga/diagnostics/ — (to be created) DSView configs + captures

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions