ISE is a program from Xilinx that is a program suite to synthesize FPGA firmware. Algorithms can be written with VHDL or/and Verilog language which are converted to a file which can be loaded to a FPGA using ISE. ISE supports Windows XP and Windows 7. It also supports Linux.
- No large GUI difference between Window ISE.
- I have experienced some crashes with Windows 7 (64bit) iSim. But they do not happen with Linux (64bit) iSim.
- When synthesizing with same VHDL, Linux showed 10% increase in speed. (But it was tested only once.)
- It is hard to install (Especially Drivers)
- I have only tested Chipscope, ISE, IPCore, iSim. I am not sure about other programs.
1. Go to http://www.xilinx.com/ and download Linux ISE.
tar -xvf Xilinx_ISE_DS_Lin_14.7_*.tar
If you do not want to install using the root account, you can make the /opt/Xilinx folder and change the permission to your account and then install as bellow.
sudo mkdir /opt/Xilinx sudo chown <user name>:<group> /opt/Xilinx ./xsetup
At the last part of the installation, it asks if you want to install the Xilinx driver. But it will fail, so just skip this step.
If you are using a network license key, you will not be able to set it in the installation. Please looks a the setting environment below if you are using a network license key.
I had a lot of trouble installing the driver. I followed a few steps on this site to get it to work.
wget http://dl.atrpms.net/el6-x86_64/atrpms/stable/atrpms-repo-6-7.el6.x86_64.rpm sudo rpm -Uvh atrpms-repo*rpm sudo yum install fxload
sudo /opt/Xilinx/14.7/ISE_DS/ISE/bin/lin64/install_script/install_drivers/linux_drivers/pcusb/setup_pcusb /opt/Xilinx/14.7/ISE_DS/ISE
sudo sed -i -e 's/TEMPNODE/tempnode/' -e 's/SYSFS/ATTRS/g' -e 's/BUS/SUBSYSTEMS/' /etc/udev/rules.d/xusbdfwu.rules
sudo yum groupinstall 'Development Tools'
5. There is a bug in the Xilinx install_drivers script. So it needs to be edited. Due to the bug the Linux kernel version is not set correctly. To fix the bug, a line containing 2.4 should be changed to 2/.4
Change line 369 of /opt/Xilinx/14.7/ISE_DS/ISE/bin/lin64/install_script/install_drivers/install_drivers from 2.4 to 2\.4.
sudo chmod 666 /dev/windrvr6
1. Due to selinux, every time the computer reboots, the permission of /dev/windrvr6 gets reset so that it needs to be set again. If the permission is not set then the computer will not be able to communicate with the FPGA.
sudo chmod 666 /dev/windrvr6
If setting the environment every time is tiresome, make a script as below and set a launcher to it. At the last part of the script, it uses zenity which makes it possible to make an error message GUI. Please install zenity if you want to use it.
If you want to run another programs other than ISE, then edit the /opt/Xilinx/14.7/ISE_DS/ISE/bin/lin64/ise line.
#!/bin/bash # Find if /dev/windrvr6 permission is 666 b_permission=`ls -l /dev/windrvr6 | grep -c rw-rw-rw` if [ $b_permission -eq 1 ] ; then # Find if Xilinx environment is set b_xilinxEnvironment=`echo $PATH | grep -c Xilinx` if [ $b_xilinxEnvironment -eq 0 ] ; then source /opt/Xilinx/14.7/ISE_DS/settings64.sh fi /opt/Xilinx/14.7/ISE_DS/ISE/bin/lin64/ise else zenity --error --text="xilinxDriver permission is not set. Change permission for /dev/windrvr6" fi