Xilinx ISE WebPack 12.2 on Ubuntu 10.04 LTS
Hi,
I thought I could report this because I couldn't find one single guide for installing Xilinx ISE WebPack 12.2 on Ubuntu 10.04 LTS 64-bit system.
I finally succeeded in compiling a simple project using the ISE and programming it with iMPACT after completing the following steps to install the needed software. The following instructions assume that BASH is being used.
1. Download the software from http://www.xilinx.com/support/download/index.htm
2. Untar the archive
Code:
cd /Path_to_the_archive
tar xvf Xilinx_ISE_DS_12.2_M.63c.1.1.tar
2a. Optionally burn the files inside the created directory to a DVD. This is not necessary, but it will allow you to delete the files from your hard disk.
3. Install the application
Code:
cd /Path_to_installer
sudo ./xsetup
-When asked to select edition to install, choose "ISE WebPACK".
-On the following page tick the box "Install Cable Drivers".
-I used the default directory suggested by the installer.
4. To make the application run correctly you need to type the following
Code:
source /opt/Xilinx/12.2/ISE_DS/settings64.sh
or
cd /opt/Xilinx/12.2/ISE_DS
source ./settings64.sh
Note the reference to the current directory, which is needed when using the second alternative. In the same directory there is also a file called "settings32.sh" for 32-bit systems.
The settings need to be run every time before invoking the application in a new console.
5. After the software has been installed it's time to get a license from Xilinx website (http://www.xilinx.com/getlicense). After completing the form you should get a file called "Xilinx.lic". Copy this file to .Xilinx-folder inside your home directory:
Code:
cd /Path_to_license_file
cp Xilinx.lic ~/.Xilinx/
(The official instructions advise to use the license manager "xlcm", but for me it kept segfaulting, when I pressed the "Copy license..." button.)
At this point you should be able to start the design environment by running command "ise" in the console. If iMPACT doesn't find your cable, there are a couple of steps more to go.
The steps described below have been copied from the driver source files referenced at http://groups.google.com/group/comp....49e5b6028e2c70. The driver doesn't need to be compiled, but the udev rules are not created by the Xilinx installer.
6. Copy the udev rules and adapt the file to the new udev-version
Code:
sudo cp /opt/Xilinx/12.2/ISE_DS/ISE/bin/lin64/xusbdfwu.rules /etc/udev/rules.d/50-xusbdfwu.rules
sudo sed -i -e 's/TEMPNODE/tempnode/' -e 's/SYSFS/ATTRS/g' -e 's/BUS/SUBSYSTEMS/' /etc/udev/rules.d/50-xusbdfwu.rules
If your machine is running 32-bit Linux change 'lin64'->'lin' on the first line.
7. Copy the hex-files used by different Xilinx cables to /usr/share and make them readable by regular users
Code:
sudo cp /opt/Xilinx/12.2/ISE_DS/ISE/bin/lin64/xusb*.hex /usr/share/
sudo chmod 644 /usr/share/xusb*.hex
Again, 'lin64'->'lin' for 32-bit systems.
8. Install fxload, which is used by the rules, and libusb-dev, which is needed by iMPACT
Code:
sudo apt-get install fxload libusb-dev
9. Restart udev
10. To make planAhead work two script files must be edited.
Code:
sudo sed -i -e 's/#!\/bin\/sh/#!\/bin\/bash/' /opt/Xilinx/12.2/ISE_DS/PlanAhead/bin/planAhead
sudo sed -i -e 's/#!\/bin\/sh/#!\/bin\/bash/' /opt/Xilinx/12.2/ISE_DS/PlanAhead/bin/loader
If you now connect the cable to the computer, it should work as expected. I tested this with Spartan-3AN Starter Kit, which has an onboard USB programmer. When I connected the cable, the green LED next to the USB connector turned on to indicate that the driver was working correctly.
This is the first time I am able to program my Spartan-3AN Starter Kit using Ubuntu, and I hope this guide will help somebody else to achieve the same.
I am writing this at midnight after trying lots of stuff to get the software working. I might have forgotten a step or two, so please let me know, if you do or don't succeed in installing the software.
Re: Xilinx ISE WebPack 12.2 on Ubuntu 10.04 LTS
I just followed this and it worked beautifully. I haven't had a chance to actually connect my Nexys2 development board yet, so I'll let you know if it all went smoothly later when I get home.
Very helpful!
Re: Xilinx ISE WebPack 12.2 on Ubuntu 10.04 LTS
Mine kept segfaulting as well, thanks for the .Xilinx tip.
Re: Xilinx ISE WebPack 12.2 on Ubuntu 10.04 LTS
Nice to hear that someone else is making progress with the ISE as well.
I have noticed that the FPGA Editor does not work because it is trying to use an outdated version of libstdc++.so. I haven't found the "right" solution for this yet...
Re: Xilinx ISE WebPack 12.2 on Ubuntu 10.04 LTS
Stube,
I have done everything that you described and the green LED turned on.
But I can't program my spartan 3E by Xilinx IMPACT, i get this errors:
Code:
GUI --- Auto connect to cable...
// *** BATCH CMD : setCable -port auto
AutoDetecting cable. Please wait.
PROGRESS_START - Starting Operation.
Reusing A0062001 key.
Reusing 24062001 key.
OS platform = i686.
If you are using the Platform Cable USB, please refer to the USB Cable Installation Guide (UG344) to install the libusb package.
Connecting to cable (Usb Port - USB21).
Checking cable driver.
Linux release = 2.6.35-gentoo-r4.
WARNING:iMPACT - Module windrvr6 is not loaded. Please reinstall the cable drivers. See Answer Record 22648.
Cable connection failed.
Reusing 78062001 key.
Reusing FC062001 key.
OS platform = i686.
Connecting to cable (Parallel Port - parport0).
Linux release = 2.6.35-gentoo-r4.
WARNING:iMPACT - Module windrvr6 is not loaded. Please reinstall the cable drivers. See Answer Record 22648.
Linux release = 2.6.35-gentoo-r4.
WARNING:iMPACT - Module parport_pc is not loaded. Please reinstall the cable drivers. See Answer Record 22648.
Cable connection failed.
Reusing 79062001 key.
Reusing FD062001 key.
OS platform = i686.
Connecting to cable (Parallel Port - parport1).
Linux release = 2.6.35-gentoo-r4.
WARNING:iMPACT - Module windrvr6 is not loaded. Please reinstall the cable drivers. See Answer Record 22648.
Linux release = 2.6.35-gentoo-r4.
WARNING:iMPACT - Module parport_pc is not loaded. Please reinstall the cable drivers. See Answer Record 22648.
Cable connection failed.
Reusing 7A062001 key.
Reusing FE062001 key.
OS platform = i686.
Connecting to cable (Parallel Port - parport2).
Linux release = 2.6.35-gentoo-r4.
WARNING:iMPACT - Module windrvr6 is not loaded. Please reinstall the cable drivers. See Answer Record 22648.
Linux release = 2.6.35-gentoo-r4.
WARNING:iMPACT - Module parport_pc is not loaded. Please reinstall the cable drivers. See Answer Record 22648.
Cable connection failed.
Reusing 7B062001 key.
Reusing FF062001 key.
OS platform = i686.
Connecting to cable (Parallel Port - parport3).
Linux release = 2.6.35-gentoo-r4.
WARNING:iMPACT - Module windrvr6 is not loaded. Please reinstall the cable drivers. See Answer Record 22648.
Linux release = 2.6.35-gentoo-r4.
WARNING:iMPACT - Module parport_pc is not loaded. Please reinstall the cable drivers. See Answer Record 22648.
Cable connection failed.
PROGRESS_END - End Operation.
Elapsed time = 4 sec.
Cable autodetection failed.
WARNING:iMPACT:923 - Can not find cable, check cable setup !
and of course I don't know what to do.
Re: Xilinx ISE WebPack 12.2 on Ubuntu 10.04 LTS
I investigated it a bit and might have found the solution.
Seems that for some odd reason impact needs the libusb development files.
So do
Code:
sudo apt-get install libusb-dev
and try it again.
Re: Xilinx ISE WebPack 12.2 on Ubuntu 10.04 LTS
Just wanted to post above dependency on libusb-dev as well :) You were faster - nice job, Stube.
Other things I noticed with Xilinx ISE 12.2 (some components might not be licensed as part of the WebPack, though - I am using a full license):
1) the SDK (invoked by the command xsdk on the shell) needs ia32-libs installed, otherwise it can't verify the license:
Code:
sudo aptitude install ia32-libs
Note that older versions of ISE and other commercial, pre-compiled software have numerous, well hidden dependencies on those 32bit libraries (many of them related to license management). So I am pretty sure other components of the ISE rely on ia32-libs as well. But once ia32-libs are installed, you will never know :)
2) Chipscope (invoked by the command analyzer on the shell) suffers from the same broken start scripts as planAhead, i.e. pointing to /bin/sh, but expecting bash functionality.
I am sure more scripts are broken. Instead of touching the scripts in /opt/Xilinx/..., an alternative 'workaround' is:
Code:
sudo dpkg-reconfigure dash
and point to bash. This is a 'dirty' quick-fix, which changes system settings, but 'fixes' the issues for all broken scripts. Not recommended, though. I think it is better to find and fix all the broken scripts (and tell us & Xilinx).
There were other caveats with ISE 12.1 (e.g. the SDK insists on gmake instead of make if compiling for microblaze, i.e. a symlink from make to gmake could fix this), I will report them as I am encountering them in 12.2.
Interesting enough, even without the 32bit libraries installed, my license manager never segfaulted so far, and allows proper 'copying' of the Xilinx.lic file. Stube, any idea what causes your license manager to segfault?
Re: Xilinx ISE WebPack 12.2 on Ubuntu 10.04 LTS
I have installed it earlier and it's not working :/
Re: Xilinx ISE WebPack 12.2 on Ubuntu 10.04 LTS
According to the error message the problem is somehow related to libusb. The only way I am able to reproduce your error is by removing libusb-dev.
Just to double-check, is libusb-0.1-4 installed? Because libusb-dev depends on it, I assumed earlier that it will be. The only other possibly related packages (judging by the names) I have installed are libusb-1.0-0 and libusbmuxd1.
I'm afraid I might not be able to help much more as I do not have Gentoo installed on my computer...
Re: Xilinx ISE WebPack 12.2 on Ubuntu 10.04 LTS
Your post give me clue that sth is wrong, because package dev-libs/libusb (in portage) depends on nothing.
So I check again and there is another package called dev-libs/libusb-compat and it is dependent on dev-libs/libusb-1.0.8.
After emerging this everything seems to work fine :)
Thank you very much.