Firmware for Raspberry Pi Pico that combines a DirtyJTAG USB probe, a Xilinx Virtual Cable (XVC) server, and a USB Ethernet interface on a single device. Intended for programming and debugging FPGAs without a separate host-side daemon for XVC.
Features
DirtyJTAG — USB vendor interface compatible with OpenFPGALoader, UrJTAG, and other DirtyJTAG clients
XVC over TCP — lwIP TCP server on port 2542, reachable over the USB network (no xvcd-pico daemon required)
USB CDC — two serial ports: debug console (CDC0) and target UART bridge (CDC1)
USB NCM — CDC-NCM network adapter with DHCP server and mDNS hostname dirty-xvc.local
RP2040 PIO JTAG — high-speed JTAG bit-banging on core 1, USB and networking on core 0
When an XVC client is connected, DirtyJTAG probe traffic is paused to avoid bus contention.