Tuesday, September 5, 2023

Xilinx ISE 14.7 - USB Programmer in 2023

Don't even bother trying to compile the drivers coming with ISE. It won't work and is a waste of time.

This guy has provided a solution with an open source driver which is still usable in 2023.

Prerequisites:

sudo apt-get install fxload

Assuming you have your Xilinx installation in /opt/Xilinx:

cd /opt/Xilinx
git clone git://git.zerfleddert.de/usb-driver
cd usb-driver
make
./setup_pcusb /opt/Xilinx/14.7/ISE_DS/ISE/

After replugging the USB adapter, the kernel log should indicate the firmware loading process.

[13491.418666] usb 1-3: new high-speed USB device number 10 using xhci_hcd
[13491.652881] usb 1-3: New USB device found, idVendor=03fd, idProduct=000d, bcdDevice= 0.00
[13491.652886] usb 1-3: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[13492.045004] usb 1-3: USB disconnect, device number 10
[13493.898621] usb 1-3: new full-speed USB device number 11 using xhci_hcd
[13494.197962] usb 1-3: not running at top speed; connect to a high speed hub
[13494.212981] usb 1-3: New USB device found, idVendor=03fd, idProduct=0008, bcdDevice= 0.00
[13494.212984] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[13494.212985] usb 1-3: Product: XILINX    
 

And then when you want to start impact, a custom libusb must be provided:

LD_PRELOAD=/opt/Xilinx/usb-driver/libusb-driver.so impact

I had great success with an old xc3s50an