USB Cable for Programming Xilinx FPGA (Spartan 3)

Hello everyone,

I would like to know if we can use a general purpose (available off-the-shelf at popular stores) USB to JTAG cable to program a Xilinx Spartan 3 FPGA or does it *have to be* a cable (and box) specifically meant for programming a Spartan 3 FPGA (as shown on the Xilinx website)?

I am hoping to hear from people who have actually used a general purpose USB to JTAG cable (as seen on Digikey/Mouser/.. etc.) and tell me that it works just fine.

Regards, Anand

Reply to
Anand P. Paralkar
Loading thread data ...

Den fredag den 17. oktober 2014 19.32.52 UTC+2 skrev Anand P. Paralkar:

if it's got the right drivers it should work, though it might not work with the xilinx programming tools, and for stuff like encryption keys in spartan6 you need the real Xilinx one.

I'd just get one of these, I believe the internals are the same as what is on many Xilinx boards

formatting link

-Lasse

Reply to
langwadt

I don't know the Xilinx cables as such, but there's no such thing as standard JTAG interfaces. So there's no generic JTAG framework for Windows/Linux/whatever that vendors write drivers for. In Altera land, either it's a hardware clone of Altera's USB Blaster, or it doesn't work. That implies you either need a Xilinx cable or a Xilinx-compatible one.

Some of these cables can be used by other software like OpenOCD, which has its own set of backends for them, but the vendor tools don't hook into this. So while there is a set of fairly comprehensive hardware drivers (JTAG is just bitbanging after all, so the driver is fairly trivial) they aren't used by the software that matters.

Theo

Reply to
Theo Markettos

That said, there are a number of clone programming cables available on eBay. Many support multiple vendors.

--

Rick
Reply to
rickman

Thanks everyone for your replies. I think I recollect now - even though one may get basic programming done through a general purpose USB to JTAG cable in principal, the Xilinx tool chain may not work with such a general purpose USB to JTAG cable.

The tool chain would require some "pattern" memory to be present in the programmer box. That memory would be used for debug capture of internal nodes etc.

In conclusion - one needs a Xilinx FPGA programming specific USB to JTAG cable (and its programmer box).

Regards, Anand

Reply to
Anand P. Paralkar

I designed my own programmer several years ago. It used the JTAG port and I have used it to program both Altera and Xilinx FPGAs, as well as some microcontrollers, including the programmer itself. So it's possible that others have gone done this route this as well.

I used the vendor software to generate SVF. My SW then plays back the content of the SVF file (in a post-processed/compressed form) over the JTAG port. I haven't used it recently though as most of my new dev kits contains an embedded programmer.

What it could not do (like you're indicating) was to use Signaltap/Chipscope as there is no hook into the vendor SW or public documentation of the protocol used. At least not that I could find. However, there are 3rd pary embedded analyzers like Identify from Synopsys which might provide som kind of API documentation.

Digilent makes some vendor clones, even embedded ones (like the SMT2) which you will find on many development kits.

//Petter

--
.sig removed by request.
Reply to
Petter Gustad

I wonder if there's some way to write a 'virtual programmer'. Tell the tools we have a basic parallel port programmer (for instance), and then trap when they bitbang it and pass the results over to a tool like OpenOCD that has backends for other real hardware. For example, when the programmer tries to open /dev/lp0 or LPT1: have some shim underneath that grabs the traffic - either a fake device driver, an LD_PRELOAD hack, or running the tools in a VM.

Just a thought...

Theo

Reply to
Theo Markettos

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.