14 Jun 2016

Beginner FPGA Programming Using Open Source Tools #2: Setup

This tutorial is for the iCEstick Evaluation Kit which you can get for about $25 from various places.

We want to spend as little time as possible on the setup. If you are already comfortable with Bash and compilation and have your system set up for that you can follow the instructions from the Ice Storm project but below is an easier route using Vagrant.

Vagrant will set up a virtual machine for you, install all the right tools and make sure the USB connection to the iCEstick is passed through. This should work on any machine be it Linux, Windows or OSX.

  1. Install Virtualbox
  2. Install Vagrant
  3. Install Git
  4. Open a terminal (use Git Bash on Windows) and clone the icestorm-vagrant repository.
git clone https://github.com/monostable/icestorm-vagrant

(The code-block above indicates this is a bash command to be typed into your terminal.)

We now create the Vagrant machine.

cd icestorm-vagrant
vagrant up

The above will set up a 64-bit Ubuntu 14.04 virtual machine with all the required tools installed. The compilation steps can take a while so go grab a coffee or something.

After it completes you can login to your newly created virtual machine.

vagrant ssh

This should say “Welcome to Ubuntu…” and present you with a prompt that looks like this:


We are now all on the same page and have the same system with the same tools installed.

Next we will run a simple example through the entire toolchain workflow to end up with some hardware set on your iCE40 FPGA.

- Kaspar Emanuel