• 0

Xilinx XVC to Digilent USB JTAG on Raspberry Pi 2



I'm new to this forum so hopefully this has not been asked already.  We have a system that contains an embedded Raspberry Pi 2 board and Xilinx FPGAs.  We would like to be able to remotely debug FPGA issues.  We have been looking into the Xilinx Virtual Cable (XVC) solution.  This would allow us to connect Xilinx debugging tools like Chipscope to our FPGAs over an Ethernet connection.  I have seen a few implementations where GPIOs from a Raspberry Pi connected to Xilinx FPGA JTAG signals and XVC server code running on the same Raspberry Pi allow for debugging FPGAs remotely.  The code I have seen bit bangs the GPIO pins which seems very inefficient.  I was wondering if Digilent has a solution where a Digilent USB to JTAG module is used for the Raspberry Pi to JTAG connection instead of GPIO pins to speed things up.  If there was such a solution we would ship something like a JTAG-HS2 with all our systems so we could remotely fix problems at customer sites.

Does Digilent have such a solution and if not do they supply Raspberry Pi software APIs that would allow customers to develop such a solution?

I took a look at the Adept 2 stuff but that looks like it's targeted at configuring FPGAs.  I don't think it's for integrating with Xilinx tools.  I also looked at the "Digilent Plugin for Xilinx Tools" but I  don't think there is a Raspberry Pi version of the plugin and I'm not sure if the plugin will work with XVC.

Thanks in advance.


Edited by rlopez1024

Share this post

Link to post
Share on other sites

2 answers to this question

Recommended Posts

  • 0

HI @rlopez1024,

Unfortunately, we don't have a solution to debug FPGAs remotely. As you noticed, Adept 2 is designed to let you configure an FPGA with a premade bitstream; we haven't really worked a lot on debugging (at least with the Digilent made products designed to enable that). The Digilent plug-in for Xilinx tools is so that our boards and cables can be recognized by the Xilinx tools. I will pass along your suggestion of having Digilent software remotely interface with system boards though.

I'm sorry I couldn't be of more help.


Share this post

Link to post
Share on other sites
  • 0


While not a Digilent solution, many of my own designs (ex. my Arty design) have turned a UART port into the ability to control/debug design components.  One design even turns something similar to a SPI port (JTAG user command) into that capability.  In particular, characters transmitted over the UART port are converted into wishbone bus commands, which then allow access to a scope (or scopes) which may be internal to the design.  It's not a JTAG solution, neither is it Xilinx's chipscope, but ... it does help to gain access to what is going on internal to an FPGA (read/write memory, peripherals, start/stop/step the CPU). Further, an internal design component controlling an ICAPE interface gives me access to the ability to restart the FPGA, get access to the status from the last attempt to configure the FPGA, or even configure the FPGA from a non-standard location.

While you are welcome to use any of my solutions, you may also enjoy creating some of your own.  Your call.


Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now