Dhiru Kholia's Project Turns a Raspberry Pi Pico Into a Xilinx Virtual Cable (XVC) for FPGA Dev Work

Just flash the firmware onto your Raspberry Pi Pico and run the daemon, and you've got yourself an XVC for Vivado.

Gareth Halfacree
3 years agoFPGAs / Debugging

Developer Dhiru Kholia has designed a tool for using a Raspberry Pi Pico microcontroller development board for working with Xilinx field-programmable gate arrays (FPGAs) — turning it into a Xilinx Virtual Cable (XVC).

Offering JTAG debugging and programming over TCP/IP, the Xilinx Virtual Cable (XVC) standard is primarily designed for use when a target device is in a hard-to-reach location or the JTAG pins aren't readily accessible.

Kholia's implementation, though, turns the low-cost RP2040-based Raspberry Pi Pico board into a JTAG cable — letting the board act as a programmer for Xilinx FPGAs.

"This project was tested with Vivado 2021.1, Raspberry Pico as the JTAG programmer (XVC server), and [an] EBAZ4205 'Development' FPGA Board in August 2021," Kholia writes of his work, which builds on the earlier pico-dirtyJtag.

Using Kholia's creation is simple: A host daemon runs on the local computer, and connects to a specially-written firmware running on the Raspberry Pi Pico. Once set up, the system then appears as a standard XVC implementation — allowing it to be added by host IP address in Vivado's settings.

Kholia has published the source code for the project to GitHub under an unspecified open source license.

Gareth Halfacree
Freelance journalist, technical author, hacker, tinkerer, erstwhile sysadmin. For hire: freelance@halfacree.co.uk.
Latest articles
Sponsored articles
Related articles
Latest articles
Read more
Related articles