Open source Xilinx JTAG Programmer released on sourceforge.net

Aug 23, 2006 13 Replies

Hi All,



I've released the first version of my Xilinx JTAG programmer for Win32/Linux.



Supports Parallel III Cable and Digilent USB. Check and of message for supported devices!



formatting link



This is a very first version, so please be patient with me and provide as much info as possible if you report a bug!



Zoltan zoltan_csizmadia at yahoo dot com


Supported operations:



---------------------



Detect device chain: detect



Erase device: erase pos E.g.: erase 1



Program device: program [-bit|-bin|-mcs] pos file E.g.: program 1 c:\untitled.mcs program 2 download.bit



Read device: read [-bin|-mcs] pos file E.g.: read 1 c:\untitled.mcs



Select programmer cable: Xilinx Parallel III cable xil3 [ioaddr]



Digilent USB cable dusb



Supported cables:



-----------------



Xilinx Parallel III Win32: giveio.sys must be installed to enable user-mode I/O access!



Digilent USB Win32: Digilent driver must be installed! Linux: libusb must be installed!


Supported devices [Detect/Erase/Program/Read]:



----------------------------------------------



Xilinx Spartan-2 [D P ] Xilinx Spartan-2E [D P ] Xilinx Spartan-3 [D P ] Xilinx Spartan-3E [D P ] Xilinx Virtex [D P ] Xilinx VirtexE [D P ] Xilinx Virtex-2 [D P ] Xilinx Virtex-2 Pro [D P ] Xilinx Virtex-4 [D P ] Xilinx Virtex-5 [D ] Xilinx XCF00S Platform Flash [DEPR] Xilinx XC18V00 Platform Flash [DEPR] Xilinx XCF00P Platform Flash [D ] Xilinx XCR3000XL CPLD [D ] Xilinx XC9500 CPLD [D ] Xilinx XC9500XL CPLD [D ] Xilinx XC9500XV CPLD [D ]



Why not just port xc3sprog to Windows?

Daniel O'Connor software and network engineer for Genesis Software - http://www.gsoft.com.au "The nice thing about standards is that there are so many of them to choose from." -- Andrew Tanenbaum GPG Fingerprint - 5596 B766 97C0 0E94 4347 295E E593 DC20 7B3F CE8C

Daniel O'Connor schrieb:

while everybody likes it in its own sandbox better.

Antti

...

I tried to give an empty password for the login and got:

Anything special to care for?

Uwe Bonnes bon@elektron.ikp.physik.tu-darmstadt.de Institut fuer Kernphysik Schlossgartenstrasse 9 64289 Darmstadt --------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------

Uwe Bonnes schrieb:

just click on "Files" and select suitable mirror. both the binaries and sources are downloadable!

Antti

xilprg supports multiple Xilinx devices and supports Digilent USB and Xilinx Parallel III cable.

Zoltan

Daniel O'C> > I've released the first version of my Xilinx JTAG programmer for

I've got a spartan3e starter board, it connects to the PC through a USB cable. The windows software works fine, but under linux the only way I can get xilinx impact to download is if I first boot up in windows, then reboot into linux.

Would your driver/software work with the spartan3e board with integrated USB device port?

-Dave

This version supports only Digilent USB programmer cable! Unfortunately I don't have money to buy a Spartan-3E Starter Kit and reverse engineer the USB protocoll.

Zoltan

No need to do that, the S3E starter kit is supported by Bryan's modified XC3Sprog, available at

formatting link
.

/Andreas

Andreas,

Very good! It says USB1 is not supported, get a USB2 card. I'm not sure what this means. I'm able to download bit files to spartan-3e starter board with no problems under windows -- but I don't think my usb controller is usb 2.0 (as in high speed). Will the xup work on my machine?

-Dave

David Ashley http://www.xdr.com/dash Embedded linux, device drivers, system architecture

F***'n A! I just answered my own question. Followed the step by step instructions except I'm using gentoo so just did emerge sdcc Then picked up from the rest of the process (from the tar zxvf xup-0.0.2.tar.gz) and everything worked fine.

The ./p outputs a lot of text and I wasn't sure if there was a problem, but after 5 minutes or so it finished reporting success.

The step "./xc3prog /some/file.bit" needs to actually be "xc3sprog" ^ The 's' is missing.

Worked fine. This fills in a big hole in my linux development approach. All I'm likely to be doing is fire-and-forget downloads anyway. The fpga isn't big enough for chipscope and I don't want to pay for chipscope anyway :^). I'll invest in a logic analyzer and just bring signals out if necessary. 8 seconds to download is the least of my worries -- making the bit file in the first place takes lots of minutes.

Thanks!!!

-Dave

David Ashley http://www.xdr.com/dash Embedded linux, device drivers, system architecture

I would have thought it would have been less work to modify xc3sprog to support more devices and cables, it IS written in a very modular fashion.

Daniel O'Connor software and network engineer for Genesis Software - http://www.gsoft.com.au "The nice thing about standards is that there are so many of them to choose from." -- Andrew Tanenbaum GPG Fingerprint - 5596 B766 97C0 0E94 4347 295E E593 DC20 7B3F CE8C

The Digilent USB driver was the biggest task in this project. The xc3sprog jtag interface doesn't really match the Digilent protocoll. So I had to create a little bit different JTAG engine than xc3sprog to support parport and USB, and to utilize the speed of Digilent USB device, and to have a reduced speed version.

The other problem what I had was, to create a infrastructure to support multiple devices, where the algorithms may be similar, and to do that I should have rewritten the whole xc3sprog anyway.

Zoltan

Daniel O'C>

Ahh fair enough. Pity.. it is frustrating to find several programs that have slightly different baseline functionality rather than having pooled resources to create one more complete program.

Guess I'll download xilprog and send you some FreeBSD patches :)

Any chance you can find out why anon CVS doesn't work? Having it checked out makes it much easier to generate diffs.

Daniel O'Connor software and network engineer for Genesis Software - http://www.gsoft.com.au "The nice thing about standards is that there are so many of them to choose from." -- Andrew Tanenbaum GPG Fingerprint - 5596 B766 97C0 0E94 4347 295E E593 DC20 7B3F CE8C

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required