Don't have a Xilinx account yet?

  • Choose to receive important news and product information
  • Gain access to special content
  • Personalize your web experience on Xilinx.com

Create Account

Username

Password

Forgot your password?
XClose Panel
Xilinx Home
Reply
Visitor
revkarol
Posts: 5
Registered: ‎06-20-2012

Installing Xilinx 14 webpack on Ubuntu 12.04

After quite some woes getting this installed, I figured I'd share what I've found to work.  ISE was pretty easy to get working.  The hard part was getting Impact to talk over the USB cable.



# usb driver

Get the latest driver from here:

http://www.rmdir.de/~michael/xilinx/

 

This requires libusb-dev fxload to be installed (using apt-get or whatever) 


create a script like :

 

#=========================================
#!/bin/sh
. /opt/Xilinx/14.1/ISE_DS/settings64.sh
export LD_PRELOAD=/path/to/libusb-driver.so
sudo restart udev
impact

#=========================================

 

Obviously, you'll need to set the correct paths for both Xilinx, and the libusb-driver.so module.

The LED labelled "Cable Ready" should come on if it's working.  

 

Restarting udev is only really necessary once.  

 

If you prefer, you can create an init script to run the lines beginning "export ..." and "sudo ..." above.  

 

Here's my example /etc/init/xilinx-libusb.conf :

 

#========================================

 

# xilinx-libusb xilinx-libusb job file

description "load the xilinx libusb driver for impact"
author "Karol Hennessy <revkarol AT NOSPAM gmail DOT com>"

# Stanzas
#
# Stanzas control when and how a process is started and stopped
# See a list of stanzas here: http://upstart.ubuntu.com/wiki/Stanzas#respawn

# When to start the service
start on runlevel [5]

# When to stop the service
stop on runlevel [016]

# Automatically restart process if crashed
respawn

# Essentially lets upstart know the process will detach itself to the background
expect fork

# Run before process
pre-start script
[ -d /var/run/xilinx-libusb ] || mkdir -p /var/run/xilinx-libusb
echo "preload libusb"
export LD_PRELOAD=/path/to/libusb-driver.so
#sudo restart udev
end script

# Start the process
exec restart udev

 

#============================================

 

Again, note the path above.  Note sure if this is the most elegant way to do it, but I'm happy something works.

Expert Contributor
sushantm
Posts: 286
Registered: ‎04-02-2011
0

Re: Installing Xilinx 14 webpack on Ubuntu 12.04

revkarol,

 

Thanks for the information!

--Sushant Mahajan
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
Signature:

1.Have you ever tried typing your question into Google? If not you should before posting.
Too many results? Try adding site:www.xilinx.com
2.Read the datasheet and user guide. Have you read the user guide in detail ? Can you find the user guide?
3. Search the forums for similar topics.
4.I have neither found any similar thread in existing forum nor web-search is helpful to me.What should I do ?
Post your issue in detail comprehensive format on the relevant
forum.
5. Do not post the same question on multiple forums,please search and post it on relevant forum.
6. Do not raise a new topic or question on someone else's thread, start a new thread!
7. Students/Newbies: Copying code is not the same as learning to design.
8. "It does not work" is not a question which can be answered. Provide much details (with webaddress, datasheet links,etc..).
and make sure to be specific!
9. You are not charged extra fees for comments in your code,It will help others to understand well.
10.If someone answers your question, mark the post with "Accept as solution". If you see a particularly good and informative post, consider giving it Kudos (the star on the left).
Visitor
koates
Posts: 6
Registered: ‎08-19-2012
0

Re: Installing Xilinx 14 webpack on Ubuntu 12.04

There are a couple more steps I had to do to get this working with the ZC702 dev board (Digilent JTAG cable), and a couple of things to make some of the demos work. (My system is 64 bit, to make this work for 32 bit, wherever you see a lin64 below, replace it with lin)

 

* Had to link /usr/bin/make to /usr/bin/gmake (gmake required) to make (first?) example from UG873 work

> cd /usr/bin
> sudo ln -s make gmake

 

* Install Digilent Cable drivers

> sudo /opt/Xilinx/14.2/ISE_DS/common/bin/lin64/digilent/install_digilent.sh

 

* Download and install Diglent runtime and utilities from

http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,66,828&Prod=ADEPT2

(I think the installs were a simple sudo install.sh type one)

 

* Install libCseDigilent (there is a version on the Digilent site, however at the time of installation, the version that came with 14.2 was higher, and contained the plugins for the 14series, so I used that one)

> cd /opt/Xilinx/14.2/ISE_DS/common/bin/lin64/digilent/libCseDigilent_2.2.10-x86_64
> sudo ./install.sh instpath=/opt/Xilinx/14.2/ISE_DS/ISE silent=1

Actually, I can't remember if that worked or if I had to manually install. To manually install

> sudo cp -r /opt/Xilinx/14.2/ISE_DS/common/bin/lin64/digilent/libCseDigilent_2.2.10-x86_64/lin64/14.1/libCseDigilent /opt/Xilinx/14.2/ISE_DS/ISE/lib/lin64/plugins/Digilent/

 

* Install gtkterm to communicate over usb/serial (needs to be run as root once installed in order to be able to read the tty)

> sudo apt-get install gtkterm

 

* Note that no driver for the CP210x was needed for me, I think it's installed by default in most major distros

 

A couple of pointers for testing;

To see if the USB cables are properly connected

> lsusb

should show

Cygnal Integrated Products, Inc. CP210x Composite Device

for the CP210x usb/serial converter

and 

Future Technology Devices International, Ltd FT2232C Dual USB-UART/FIFO IC

for the Digilent JTAG cable

 

To ensure JTAG is working correctly (also seems to help poke SDK to use JTAG correctly if it's not working);

> djtgcfg enum

Found 1 device(s)

Device: JtagSmt1
Product Name: Digilent JTAG-SMT1
User Name: JtagSmt1
Serial Number: xxxxxxx

 

and 

> djtgcfg init -d JtagSmt1 (in my case)

Initializing scan chain...
Found Device ID:xxxxxx
Found Device ID: xxxxx

Found 2 device(s):
Device 0: UNKNOWN
Device 1: UNKNOWN

 

To see what TTY devices the USB devices installed to;

> dmesg | grep ttyU

and look for the devices listed by lsub

You shouldn't really need to do that though as gtkterm only shows the ttyUSB that the serial adapter is connected to in the dropdown list (also set Baud to 115200, leave everything else alone, parity=none, bits=8, stopbits=1, flowcontrol=none)

 

Hope this helps someone

Visitor
revkarol
Posts: 5
Registered: ‎06-20-2012
0

Re: Installing Xilinx 14 webpack on Ubuntu 12.04

I forgot the part about installing the firmwares.  I followed this page:

 

http://javispedro.com/fpga/xilinx-usb-linux.html

 

Karol.