Software Installation Instructions

In Hardware-Software Codesign, you will make use of the Altera FPGA Design Software, and two embedded processor design flows. One of them targets the ARM processor integrated in the Altera FPGA. The other targets the MSP430 processor and uses a GNU-based (open source) toolchain. toolchain.

The following tools need to be installed, at a minimum.

  • Quartus Prime Lite version 18.1 (free version)
  • Altera SoC EDS 18.1 (free version)
  • DE1-SoC System Builder Program (Terasic)
  • Cygwin (available from Cygwin.com)
  • MSP430 GCC compiler (available from Texas Instruments)
  • MobaXterm terminal application (telnet, serial)

All of these packages can be downloaded from the Internet. Note that some of them are quite big (several GB), and it’s best to do these downloads while you are on campus. Make sure to complete the installation early in the course. This installation guide will assume a Windows 10 machine is available to hold the software. You will need around 25 Gigabyte of disk space if you did not yet install any of the above software. The bulk of it is occupied by the Quartus software.

Download and Install Quartus and SoC EDS

  • Browse to the following Intel Download Website: https://www.intel.com/content/www/us/en/programmable/downloads/download-center.html

  • Download Design Software - Quartus Prime Lite 18.1. You will need Quartus Prime as well as Modelsim (included), and device support for Cyclone V (the chip in the DE1-SoC board). Note that the site will ask you to register before you can proceed with the download. The complete download is about 5.2GB.

  • Run the downloaded executable and follow the guidelines. Install all components, including the board cable drivers. I suggest to use a common directory to install tools. On Windows I use c:/intelFPGA_lite/18.1. Let the program run to completion. Proceed with the installation of optional drivers. You now have the Quartus synthesis environment installed.

  • Next, go back to the Intel Download Website. Select SoC EDS for Intel SoC FPGA Embedded Development Suite Standard Edition 18.1. This toolkit contains the compiler environment for the ARM processor integrated in the FPGA we’re going to use. Select the ‘standard’ edition and download SoCEDSSetup-18.1.0.625-windows.exe, a 2.5GB file.

  • Run the downloaded executable and follow the guidelines. You can install the environment in a subdirectory of your Quartus Prime environment. On Windows I use c:/intelFPGA/lite/18.1/embedded. Let the program run to completion. Proceed with the installation of optional drivers. You can skip installation of DS-5; we will cover this in a later Homework.

  • After installation successfully completes, you can discard the downloaded executables to save disk space.

Download and Install the System Builder Program

To generate the top-level connections for FPGA designs, Terasic provides a program called SystemBuilder. The program does not require installation. Simply download it and copy it in a directory you’re using for this course.

The program can be downloaded from the Terasic website. Find the product page for the DE1-SoC board, select Resources and download DE1SoC System Builder. Also Terrasic may request you to register before they enable the download.

You can also download the CDROM that comes with the DE1-SoC board (optional, but useful). It contains the board manual and plenty of design examples. The loaner boards used in the ECE Department are Rev. F boards, so make sure to get the CDROM for a Rev. F board if you download it.

Testing the USB connection to the DE1-SoC board

You can only do this test after you have a DE1-SoC board (distributed during Week 3, around 10 September).

  • Turn on your board, and connect it with a USB cable to your laptop. Use the “USB Blaster” port on the board.

  • Open an SoC EDS command shell (In start menu, under IntelFPGA - SoC Embedded Design Suite - Command Shell). We will be using the command shell quite often, and I recommend to put a direct link to it on your Desktop.

  • In the command shell, run the following command.

jtagconfig

The installation is correct if the command replies with a list of recognized JTAG devices, including SOCVHPS (the ARM processor of the FPGA) and 5CSE (the FPGA programmable fabric).

1) DE-SoC [USB-1]
  4BA00477   SOCVHPS
  02D120DD   5CSE(BA5|MA5)/5CSTFD5D5/..

The first time you run this command, Windows will ask you if it’s OK to open the firewall for this program. You can confirm that this is OK.

Install the MSP GCC and Cygwin environment

Download the MSP GNU Compiler Collection (GCC) from Texas Instruments.

  • Go to http://www.ti.com/tool/msp430-gcc-opensource and download the MSP430-GCC-OPENSOURCE archive. You will need to get a (free) account on ti.com.

  • You will need two files: the compiler (e.g., msp430-gcc-8.2.0.52_win64.zip) and the compiler MSP-430 support files (msp430-gcc-support-files-1.207.zip).

  • Uncompress the compiler zip file. Copy the entire contents to a local directory, eg. c:/ti/msp430-gcc.

  • Uncompress the support files. Copy the entire contents to the compiler directory. The support files all go into the include directory, and they are .h files with microcontroller peripheral definitions.

Figure: Installation of MSP430-GCC-OPENSOURCE msp430gccinstall

  • Download and install Cygwin, a command line environment for Windows which gives scripting capability. We will use it to run the MSP430 compiler. Download the cygwin installer from cygwin.com.

  • When you run the cygwin installer, it asks for additional information, such as whether the packages will be downloaded from internet, and what server you would download from. The default options are all OK; only consider changing them in case your installation fails.

  • When you run the installer, also select the following extra packages: make, gcc-core, tcl, git, dos2unix and, in case you need it, a good editor such as emacs-w32. Installing packages is easiest in the following manner. In the top ‘View’ menu, select ‘Full’. In the Search field, type the name of a package, such as gcc-core. Finally, locate the specific package (gcc-core) and click in the ‘New’ column until you see ‘Skip’ change in a version number. Do this for all the packages. Finally, select ‘Next’ at the bottom of the window. This will initiate package installation.

  • Configure cygwin such that it finds the path to your MSP430 compiler. First, locate the .bashrc file in your Cygwin home directory. You can find your Cygwin home directory by typing echo $HOME on the Cygwin command line. Open the .bashrc file in an editor and add the following line.

export PATH=$PATH:/cygdrive/c/ti/msp430-gcc/bin
  • You can test the PATH variable by closing and reopening Cygwin, and running the command msp430-elf-gcc. You should see a message fatal error: no input files, which indicates that the compiler executable has run.

  • I recommend to make a directory /home/local in your cygwin installation which will hold all your design work for this class. The reason for doing this is to ensure that your development path does not contain blank characters (such as in /home/Patrick Schaumont/.

Install MobaXterm

Several assignments will require a serial terminal client or a telnet client. We will use MobaXterm.

Configure your git client

The homework and project in this course will be distributed and collected through GitHub Classroom. git is a version control system that helps you manage your design files. We will hold a lecture to explain how you use git and why it is important to use version control during design development. In practical terms, you will need to arrange the following two items to participate in GitHub Classroom.

  • An account on GitHub. This must be an account linked to your vt.edu domain email address.

  • A git client so that you can download and upload files from your repository on GitHub.

We first clarify how to setup a GitHub account. If you don’t have a GitHub account, create one through github.com. Make sure that it links your vt.edu email.

Next, you will also need a git client. If you followed the Cygwin configuration instructions given earlier, you already have a git client on your Cygwin. Before you can use it, you need to configure it with your identity.

git config --global user.email "schaum@vt.edu"
git config --global user.name "Patrick Schaumont"
git config --global credential.helper 'store --file ~/.git-credentials'

The last command allows git to cache your GitHub password in your Cygwin home directory. There are more secure, and more advanced methods than this one, but this is the quickest to avoid having the log in to GitHub every time to clone a repository.

Result

To summarize, after installing all of the above tools, you should have created the following installation tree on your laptop.

  • c:/cygwin with the Cygwin installation

  • c:/intelFPGA_lite/18.1 with the Quartus Prime Lite FPGA Design software

  • c:/intelFPGA_lite/18.1/embedded with the SoC2EDS software design environment

  • c:/terasic/DE1-SoC with the DE1-SoC-Builder

  • c:/ti/msp430-gcc with the MSP430 GCC compiler

  • MobaXterm is available as a terminal application.