Installation Guide


This document assumes you have access to a standard unix development environment, including such tools as bash, make, and gcc. If you're running Windows, probably the best way to obtain these is by using Cygwin, obtainable for free from If you're running a linux distribution, these should already be installed, but may require you to install development packages.

In addition to these basic software requirements, this document also assumes you are going to be using these two hardware-specific development tools:

If your development environment varies from that expected in this document, you're on your own.

The Ports package

The testing infrastructure of the supersmall distribution uses the University of Toronto USB Ports Package to communicate over USB with a Terasic DE3 board. Although this permits easy testing, it also introduces two additional dependencies:

  1. You must have a DE3 connected to your computer via USB (not the USB-Blaster used for JTAG, but a separate cable connection).
  2. You must have libusb-1.0 installed on your computer, with your permissions properly configured.


  1. Download the latest version of the supersmall source package from the distribution page.

  2. Uncompress the files onto an appropriate location on your computer.


  3. Ensure that the executables of both quartus and modelsim are in your $PATH, and are working properly. (vsim, quartus_pgm, etc.)


    You will want to put this in your shell startup file (.bashrc/.cshrc), so that your $PATH doesn't get reset every time you start a new shell.

  4. If you're planning on testing the supersmall soft processor on an actual device, edit debugquartus/Makefile, changing the FAMILY, CABLE, and PART definitions as necessary. You shouldn't need to modify any other lines in this file. The file itself contains helpful commands that should allow you to find out what the right values are for your system, assuming a proper installation of Quartus II.

  5. Inside the top-level directory of your supersmall installation, run make. This compiles the quartus programming files for your device, so expect it to take a significant amount of time.


  6. Congratulations: if that completed, you should now have a working supersmall soft processor ready for programming. Now it's time to do some test runs and see how it works.