Installing Xilinx ISE
Xilinx ISE is a piece of software that allows for hardware/system schematic design. As far as I know, it is used in the CSSE132 (Intro to Computer Systems) and CSSE232 (Computer Architecture I) classes. This is a page meant to help supplement the use and installation of it on Linux platforms (to speed up the process).
- 1 Step-by-Step Install Instructions
- 2 Uninstalling
- 3 Troubleshooting
Step-by-Step Install Instructions
Instructions written for version 14.7 (you can follow a similar process for other versions):
See these pages for more details on installation:
https://www.rose-hulman.edu/class/csse/csse132/1718c/labs/prelab01.html (CSSE132 prelab 1 - setting up Xilinx ISE)
https://www.rose-hulman.edu/Class/csse/csse232/Lab0%20Course%20tools/ (CSSE232 prelab 0 - setting up Xilinx ISE, see sections 0 and 1 for specific instructions)
Step 1: Downloading the Required Files from SFTP
In order to install Xilinx ISE, you must download the installer from the rose-hulman DFS (Accessing DFS may be helpful to you); a distributed file system that rose-hulman uses to store software.
We will be using the "sftp" utility to download from the dfs server. This is a command line utility.
Type the following command into a terminal and press enter. Substitute ROSE-USERNAME with your username.
sftp -o "HostKeyAlgorithms ssh-dss" ROSE-USERNAME@dfs.rose-hulman.edu
When you press enter this will ask you for your rose-hulman password which you should type in then you will get access to the dfs.
You can use "cd" to move around the virtual file system, "ls" to see what files are available in the current directory, "pwd" to see which directory you're in, and "get" to download a file from the sftp server.
To get to the folder to install the ISE, type the following command into sftp and press enter.
This will bring you to the directory that has the install folder. Use ls to see the files in the directory
Use the get command to download the ISE installer onto your computer into the /tmp directory. WARNING: THIS WILL TAKE around 1-2 hours (sometimes more!) depending on the speed of your SFTP connection. Don't disconnect while this happens.
get Xilinx_ISE_DS_Lin_14.7_1015_1.tar /tmp
Now you will find the ISE installer in the /tmp directory.
Unzip the folder by going to /tmp and typing tar xf Xilinx_ISE_DS_Lin_14.7_1015_1.tar.
Now go inside the extracted Xilinx_ISE_DS_Lin_14.7_1015_1 directory by typing
Step 2: Running xsetup
By default the installer script (called "xsetup") will have read and write privileges but not execute privileges. You can verify this by running
ls -l on the file itself:
ls -l /tmp/Xilinx_ISE_DS_Lin_14.7_1015_1/xsetup
which will show
-rw-rw-r--. 1 USERNAME USERNAME 1232147282 DATE /tmp/Xilinx_ISE_DS_Lin_14.7_1015_1/xsetup
-rw-rw-r--. indicates that there are read and write privileges for the user and the group and read privileges for all other users.
We will use the "chmod" command to change this file permission to be executable. We use "+x" to indicate to add executable permissions.
chmod +x /tmp/Xilinx_ISE_DS_Lin_14.7_1015_1/xsetup
The output of this command is (may not show output on all platforms by default, you can check using -v before +x in the chmod command)
mode of 'xsetup' changed from 0664 (rw-rw-r--) to 0755 (rwxr-xr-x)
which indicates that the file has been given execute access.
Now to run the installer you can type in the command line (run the installer as the ROOT user to create directories):
If you get the error "could not create destination path /opt/xilinx/13.4/ise_ds" or similar upon installation, you forgot to run the installer as the root user. Exit out of it and try again. Remember to use sudo or run su root before running the command to switch to the root user for now (so you won't have to reenter your password if you get other errors.
If you get the error "error while loading shared libraries: libncurses.so.5", see #Arch Linux Libncurses error and apply the fix, then continue on with the installation.
From here a graphical UI will appear and you can follow those instructions to install ISE.
EDIT 3/25/18: The #ArchWiki page says that installing cable drivers causes issues with the installation. If you can't get the cable drivers to install, restart the installer and uncheck that option. (I think this is Arch Linux-specific and the cable drivers will work on Ubuntu/Debian-based distros)
EDIT 7/18/18: Try following the instructions here if you need to get them working (I recently found this): http://dreamrunner.org/blog/2012/09/12/install-xilinx-ise-on-the-ubuntu/
I've tried installing the cable drivers on Arch and they didn't work (not sure if they're used in CSSE132, maybe in CSSE232 or similar), but the installation was successful for me. Apparently the Xilinx installer didn't keep logs in the /root/.xinstall folder so I can't diagnose right now. Contact the telegram group (at https://t.me/rhlug) if you need help or have questions on this.
If you want, for privacy, you can disable Webtalk sending IP addresses in the installer. It is required to accept their EULA to install the software though (it may be used in the future by a class, so you might want to consider leaving it installed anyway. Disabling won't uninstall webtalk.). If you want to disable it, see here for instructions: https://forums.xilinx.com/t5/Installation-and-Licensing/How-to-disable-webtalk/td-p/697077 and https://www.xilinx.com/support/answers/64657.html
Step 4: Adding the License Files and Creating an ISE Shortcut
In .envrc (you would pick the particular file for your login shell, for example, .bashrc for the Bash shell, which comes preinstalled on most Linux distros, or whatever shell you have set, .zshrc for zsh), add the following environment variable before running ISE to install the license: set "XILINXD_LICENSE_FILE" to "email@example.com". In other words, you want to add the following line:
export XILINXD_LICENSE_FILE="firstname.lastname@example.org" at the bottom of .bashrc or similar (this syntax is a little bit different if you're using zsh). If you want to add more lines to the end of your .bashrc (.envrc) file, add a semicolon after the end of the line to make sure there are no issues with tabs/newlines. (Sources: https://www.rose-hulman.edu/Class/csse/csse232/Lab0%20Course%20tools/, section 1; https://askubuntu.com/questions/58814/how-do-i-add-environment-variables#58828)
This means that you have to be on the campus network to access the Xilinx license server on Linux (to use Rose-Hulman's license). You can do this by connecting to the eduroam network on campus or by setting up and using an OpenVPN connection to the campus network when off campus.
You might want to also add the following line to make it easier to run Xilinx commands without having to type the command every time in the terminal.
In .bashrc (or similar), after the "XILINXD_LICENSE_FILE" line, add (for 64 bit systems, use 64, for 32 bit, use 32, etc.):
source /opt/Xilinx/14.7/ISE_DS/settings64.sh (NOTE the capital X in Xilinx!) (you may want to include semicolon if you want to include more lines afterwards.)
Now restart your terminal. If you get an error like "settings64.sh not found" when starting a terminal session, you may have typed in the wrong filename.
To run ISE, type "ise" in the terminal (root user not required to run ISE). If you have an alias you want to bind that is called "ise" or similar in your .bashrc, just comment out that line using # before source.
Step 5 (Optional): Interfacing with Xilinx Software - Other Commands from settings64.sh
*** I highly recommend bookmarking this link Here is a helpful command line reference of how to run Xilinx software from the command line when you have entered these lines into your .bashrc file: https://forums.xilinx.com/t5/Installation-and-Licensing/Running-ISE-in-Linux/td-p/97398
To uninstall Xilinx ISE on a 64-bit system, go to /opt/Xilinx/14.7/ISE_DS/.xinstall/bin/lin64 (not the directory where you installed Xilinx ISE) by typing
On a 32-bit system, go to the folder lin instead of lin64 in the
Next, run the following (you MUST run this as the ROOT user to remove the directories Xilinx ISE uses in /opt/):
sudo ./xsetup --uninstall
You should see this screen pop up:
Click "Begin Removal" to continue. If you would like to remove the installer and installation files in addition to the files in the /opt/xilinx and /opt/Xilinx folders, you may leave the box "Remove all files from installation directory" checked (EDIT: this did not work for me (I am running Arch Linux), but it may work for others). NOTE: you will have to redownload Xilinx again from the DFS server if you do this. Consider archiving it to an external drive so you don't have to redownload it.
You may also have to remove leftover directories behind (such as /opt/Xilinx, /opt/xilinx, ~/.Xilinx, and possibly the directory where you put the Xilinx ISE files for installation, in the tutorial this was /tmp/Xilinx_ISE_DS_Lin_14.7_1015_1) and remove (or comment out with # in front of each line) the lines you added to your .bashrc file if you'd like all traces of the installation removed (but comment them out for a much easier time if you need to install it again).
Optional: Enjoy having 26GiB of your disk space back, 20GiB if you didn't remove your installation directory :)
You will need to reinstall again to run the "ise" command to rurn ISE. If you don't have the xsetup install script, download it again from the DFS (see #Step 1: Downloading the Required Files from SFTP). You will also see "file not found" (source [...]/settings64.sh) when you enter the terminal. To fix this comment out the source line in the .bashrc file using # next to it. The other command (license environment variable) will work fine in the .bashrc but you can comment it out if you want.
https://forums.xilinx.com/t5/Embedded-Linux/uninstalling-SDK-2017-3/td-p/800372 (to find the directory)
https://techmuse.in/installing-uninstalling-vivado-2017-4-in-ubuntu-16-04/ (similar installation process)
My own experience (actually I figured this out by running ./xsetup --help in the directory I installed Xilinx in; the -uninstall and -Uninstall flags won't work, but --uninstall will)
Arch Linux Libncurses error
(3/5/18, Xilinx ISE 14.7) If you get the error "error while loading shared libraries: libncurses.so.5", this is a common Arch Linux error on many software packages (including Arduino/Arduino USB for me at times), and can be solved by installing ncurses5-compat-libs from the AUR (https://aur.archlinux.org/packages/ncurses5-compat-libs/).
If you get a PGP key error while installing , enter the command "gpg --recv-keys <KEYID - See 'validpgpkeys' array in PKGBUILD>" (no root needed), where <KEYID - See 'validpgpkeys' array in PKGBUILD> can be found by clicking view PKGBUILD at the above AUR link. and navigating to "validpgpkeys=(' [...] ')". Install each PGP key (there is only one needed as of 3/5/18). This error may be fixed in future versions, but this is good to keep in mind for any installation.
Reference: ArchWiki page
Here's the ArchWiki page with similar instructions. The WebPACK is basically the free version of the software. We are using the licensed version, but the installation for both versions have a very similar procedure: https://wiki.archlinux.org/index.php/Xilinx_ISE_WebPACK
I have not tried installing the xilinx-ise package from the AUR, but in the comments there are issues of the license manager not appearing after installation. If this happens, try installing Xilinx the manual way (using this guide and downloading/installing directly from the SFTP server).