Xilinx does not provide official installation of their FPGA IDEs for macOS, but there’s a nice way around – by using a Linux running on virtual machine. There’s an older how-to for Ubuntu, but I prefer to keep it light weight and went for Lubuntu instead.
- Lubuntu LiveCD
- Xilinx ISE WebPACK 14.7 (this one you can download inside the virtual machine)
Prepare virtual machine
After installing the VirtualBox and downloading Lubuntu LiveCD, go and create a new virtual machine with at least 40GB of disk space (you’ll actually need less than that, but ISE download is huge and the same is the installed version – you’ll need some legroom).
Mount the LiveCD and install the bare minimum Lubuntu with GUI. After installing the Lubuntu, open the web browser inside it and download ISE WebPACK installer.
Installing ISE is pretty straight forward, just extract the archive and run these commands in terminal:
cd ~/Downloads/Xilinx_ISE_DS_Lin_14.7_1015_1/ ./xsetup
When installing choose WebPACK version and uncheck “Install cable drivers” as that will fail (we’ll build the driver in the next step). After the installation is finished I’d suggest you add Xilinx bin path to PATH in your ~/.bashrc file:
You’ll also need to get a license file from Xilinx support site and add it’s path to environment (in the same ~/.bashrc file) as this:
Build the driver
You’ll need to install a few packages using APT:
sudo apt install git libusb-dev build-essential libc6-dev fxload
Now clone the usb driver from a GIT repo:
sudo git clone git://git.zerfleddert.de/usb-driver
Build the driver:
cd usb-driver/ sudo make
Set up the driver and restart the udev:
./setup_pcusb /path/to/Xilinx/14.7/ISE_DS/ISE/ /etc/init.d/udev restart
And add the dirver path as a pre-load variable in ~/.bashrc:
And you’re set, now if you’ve set up everything as I’ve said, type ise in the terminal and it should open up ISE WebPACK.
Don’t forget to pass the Xilinx device to Lubuntu from macOS in VirtualBox Devices -> USB menu.
Here are some screenshots of macOS High Sierra running Lubuntu running ISE WebPACK 14.7: