After the Circus

Random Sample

contact me
jean at geemoo dot ca

May 13, 2008
So, I've been doing some work with Xilinx tools for a while, and for the most part, they are mostly there in linux. Pretty much all the functionality is in place, except for the JTAG programming and the simulation. I tackled the JTAG programming a while ago back when I was using one of their Spartan3E devkits. I was using the USB cable to connect to their own proprietary USB JTAG interface. The Xilinx FPGA tools natively use some Jungo Proprietary WinDriver kernel module, and while I was opposed to this for a number of reasons, one of the higher ones on the list was running a version of fedora that's 5 years old.

There was a opensource driver out there that I had tried with no success. Upon thinking back on it, I think it was because I had been using the devkit's USB interface. We've since made our own board, and my laptop that I had been dual booting into windows has had some technical problems (the backlight died), I decided it was time to give the OS driver another shot.

It was easy, everything worked, no problems. I'm using a Xilinx Parallel JTAG cable which is connected directly to the JTAG chain of my board. You follow the instructions at, but it's pretty much as simple as
  1. apt-get install libusb-dev
  2. git clone git://
  3. cd usb-driver; make
  4. LD_PRELOAD=./ impact
From now on, just add that LD_PRELOAD bit before you start impact (that's the jtag programmer for ISE). Alternatively, you can set it in your ENV with no harm done.
Tags: linux, xilinx, jtag, notwindows,