Recently I wanted to do some development on the Xilinx Zynq platform from scratch. Since I am working on a Mac and the necessary software is only available for Windows/Linux I set up an Ubuntu virtual machine and tried to get the toolchain up and running. There were some obstacles on the way that I want to show you to save yourself some time and effort. So fire up that virtual machine and get ready for some big downloads!
Before we get into it, here is my Setup:
- Host: MacBook Pro retina
- Virtual Machine: Ubuntu 16.06 64bit
- Vivado Version: 2017.2
- Debug Probe: Digilent HS2
- Download the Vivado HLx 2017.2 WebPACK Edition from here
- Run the installer
- Login with your Xilinx User ID and Password when prompted
- Install the software to the suggested /opt/Xilinx directory
- Wait for the >20GB to be downloaded and installed
Since the 2016 versions of Vivado, the cable drivers for debugging probes are not installed by the Vivado installer. The user has to manually instal them.
This creates the necessary udev rules in /etc/udev/rules.d
(Optional) Install Digilent utilities
For the Digilent utilities follow the instructions below. They aren’t necessary but make debugging driver issues easier.
- Download the Digilent Runtime and Utilities from here
USB Filter for VirtualBox
To use the Digilent HS2 probe in Ubuntu you have to add device filters in the VirtualBox machine settings.
- Go to you machines Settings – Ports – USB and enable the USB Controller
- Add USB Device Filters by clicking the green plus for the Digilent USB Device
- Save the settings and power up the machine with all the USB devices plugged in
The settings should look something like this:
Test the driver
Hook up the HS2 probe to a target (in my case a Redpitaya board) and run
If the output looks like this your JTAG probe should be running.
To run vivado you have to source a bash script. I added an alias in my .bashrc for convenience.
Close the shell and re open it. Now start vivado by typing
As a final test we open the Hardware Manager (Tools – Hardware Manager), click on open target – Auto connect to see if Vivado detects our Zynq: