Skip to content

Tools & Requirements

mammenx edited this page Dec 6, 2013 · 12 revisions

HOME > TOOLS & REQUIREMENTS

QuartusII_thumb

The Quartus II Design suite from Altera is a must have for programming Altera's FPGA devices. Since Synesthesia uses NIOS II processor & its associated system built in Qsys, Quartus II v11.1 SP2 or above is required.

Free version of Quartus II software can be downloaded from this Altera page. You will need an myAltera account to do so.

The following components can be downloaded individually from Altera:

  • Altera Quartus II Web Edition v11.1 SP2 (or above)
  • Nios II Embedded Design Suite v11.1 SP2 (or above)
  • Programming Software v11.1 SP2 (or above)

Installation follows the same order as above.

1. Modelsim-Altera Starter Edition

Modelsim-thumb

Modelsim-Altera Starter Edition is a free simulation tool from Mentor Graphics. It comes preloaded with Altera libraries and recent versions support System Verilog as well.

Modelsim-Altera Starter Edition can be downloaded from the same Altera download section.

It is recommended to use only v6.5e for Quartus II v10.0sp1 as newer versions seem to have issues.

2. VCS * (Optional)

VCS from Synopsys is another simulation tool that can be used for running Synesthesia OVM tests. There is no free version of this tool however; it is listed only as an alternative option.

3. GCC

Synesthesia OVM environment has many components that are written in C. A C Compiler is required to generate the necessary dll/so files to work with Modelsim.

For windows, MinGW can be used.

GCC may not be required for VCS users, since VCS has a Direct C feature.

1. 3.5mm Auxiliary Audio Cable

A standard 3.5mm to 3.5mm audio cable is required to connect the DE1 audio input to the computer audio output.

2. RS-232 Over USB

rs232-to-usb thumb

Synesthesia's operating system LEDOS has a shell which can be accessed via the RS-232 port on the DE1. Since most modern computers do not ship with RS-232 ports, one needs to purchase a RS-232 over USB device which transports RS-232 over USB & creates a virtual COM port.

3. Logic Analyzer * (Optional)

1. ChibiOS/RT

chibiosrt-logo-thumb

Synesthesia's Operating System LEDOS is built on top of ChibiOS/RT components. This is a free RTOS released under the GPLv3 license.

This wonderful article explains how to setup ChibiOS to work with Quartus II & DE1. Many thanks to the author Michael Fischer for porting ChibiOS/RT to NIOS II.

2. Perl

To quickly generate the fpga_top & quartus settings file for the CycloneII FPGA sitting in DE1, one can use the perl GUI for generating the files.

This GUI is written in Perl using the PerlTKx libraries. For windows users, Active Perl is recommended.

To run the GUI type the following at command prompt:

  :>perl de1_sys_gui_win.pl

Or add the auto-compile configuration in VIM & press SHIFT+E (see the VIM tips section below).

Select the components that need to be used in the project, as well as the files to be generated & click on Generate!

3. Python

Python Logo

The various algorithms in Synesthesia are first developed using Python models found here before freezing & implementing in RTL. For windows users, it is recommended to install Active Python for trying out the Python models. 32b version is recomented even for x64 systems, in order to support the different packages.

The below packages are used in the project:

4. VIM Stuff

Vim Logo

Add the below lines to your vimrc file to run Python scripts directly from the editor window! Just make sure the path to python.exe is correct as per your installation.

" To automatically compile & run scripts from VIM itself by pressing <Shift>+e
autocmd FileType python map <buffer> <S-e> :w<CR>:!C:\Python32\python.exe % <CR>

A similar configuration can be made for perl as well.

autocmd FileType perl   map <buffer> <S-e> :!C:\Perl64\bin\perl.exe % <CR>

Python scripts are heavily influenced by TAB spaces in them; its what decides the block of code to execute in an if condition for example. Most VIM users would have disabled TABs and configured the TAB key for spaces instead. Use the below configuration in your vimrc to use default TAB settings for .py files.

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" => Text, tab and indent related
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Use spaces instead of tabs
set expandtab

" Be smart when using tabs ;)
set smarttab

" 1 tab == 2 spaces
set shiftwidth=2
set tabstop=2

" Use default tab settings for selected filetypes
autocmd FileType python setlocal noet
autocmd FileType make   setlocal noet

5. IrfanView

IrfanView Logo

Many tests dump the Framebuffer contents into a raw image file. IrfanView is a great tool to view these files and analyze the pixel information. Download it from here.

6. ImageMagick

ImageMajick Logo

There is an option in the vcortex simulation environment where snapshots of each frame buffer update can be dumped and finally combined into a single .gif animation. This requires Image Majick and is supported in the linux version of synesthesia simulation as of now.

The binaries can be downloaded from here or from command line:

sudo apt-get install imagemagick

HOME > TOOLS & REQUIREMENTS

  • DESIGN

    • Altera Quartus II Web Edition
    • Nios II Embedded Design Suite
    • Programming Software
  • VERIFICATION

    • Modelsim-Altera Starter Edition
    • VCS
    • GCC
  • BOARD

    • 3.5mm Auxiliary Audio Cable
    • RS-232 Over USB
    • Logic Analyzer
  • MISC

    • ChibiOS/RT
    • Perl
    • Python
    • VIM Stuff
    • IrfanView
    • ImageMajick
Clone this wiki locally