Installation of Mico32/FPG-EYE development environment

From ErikaWiki

Jump to: navigation, search



This page describes a set of steps needed to compile and deploy a platform on FPG-EYE board.

To begin with, following free license softwares from Lattice must be installed in your environment:


  • Each version of ispLEVER or Diamond requires corresponding version of LatticeMico System Development Tools.
  • 64 bit OSes are not supported by ispLEVER (even though we were able to install it on a 64 bit Windows Vista/7, it is cumbersome).
  • The ispVM System must be version 18.0 or superior if you use ispLever.

The entire FPG-EYE software has been developed with ispLEVER 8.0 and correspondant LatticeMico System Development Tools. It is assumed that all the tools are installed in the same base directory %ispTOOLS%. The support for Lattice Diamond is also available.

In addition to lattice software you also need:

Standard Mico32 components Patches (not necessary with Diamond)

During FPG-EYE software development a few bugs encountered in standard Mico32 components were corrected. These bugs are not present in the Diamond software, but only with ispLever software. If you are using ispLever, you have to patch the component. Namely small bugs in following components:

  • SPI Flash Controller (Component directory: spi_flash. Verilog files: spi_flash_intf.v wb_intf.v) with version previous to v.1.1
  • Async SRAM Controller (Componet directory: asram_top. Verilog files: asram_core.v) with version previous to v.1.1

The above mentioned bugs were of ispLEVER version 8.0 components. We are not sure if the same have been fixed in later versions.

Patched verilog files can be found in FPG-EYE Software Packet. To apply these patches, you need to copy these new files in their respective components folders.

The base directory for all the components is:


Patched verilog files for each component must be placed in:

%ispTOOLS%\micosystem\components\<Component directory>\rtl\verilog

to fix the known bugs.

Evidence custom Mico32 components

FPG-EYE demo application uses a couple of custom Mico32 components:

  • Mico32_camera component (used to acquire frames from the cmos camera)
  • serial_io (used to access programmable DIP switches, LEDs, and peripherals power-off MOSFET switches)

These components are available in FPG-EYE Software Packet, Mico32_camera as component binary, and serial_io directly as source code. The components works whether you use the Lattice Diamond or Lattice ispLever.

To use these components in your platform, they must be imported inside the LatticeMico System Development Tools.

Import custom Mico32 components in LatticeMico System Development Tools

Open your LatticeMico System Development Tool and on Available Components view click Import/Create custom Component button

Available Components view Import/Create button.

Select radio button Open component XML and load the xml component description file from the FPG-EYE software packet directory (e.g. FPG-EYE_software_packet\wishbone_components\mico32_camera\mico32_camera.xml)

Import evidence camera component

In our version of LatticeMico System Development Tools, sometimes for unknown reason, this procedure needs to be repeated more than once.

Import Evidence custom components result

ERIKA and RT-Druid

FPG-EYE demo application is an ERIKA application, and to compile this, ERIKA and RT-Druid softwares are required.

Python and pySerial module

To deploy a Mico32 application on the FPG-EYE external flash, Evidence provides a dedicated bootloader for FPG-EYE XP2. To interact with this bootloader, a python script is available with FPG_EYE Software Packet. This python script has been written and tested on a python 2.x environment.

Installing Python on Windows

Python can be installed on a windows machine in two different ways:

  • as native.
  • under cygwin.

To install the native one just download the correct installer and run it. If you want the cygwin version, just run the cygwin setup application and select python package.

Install pySerial on Windows

If you have installed the native version of python, download the pySerial installer and run it. The easy way to install the pySerial module on cygwin is to install python setuptools first by running this script in a Cygwin shell, and then, after the installation of the setuptools, just type:

easy_install pyserial

The setuptools will automatically select the right version of the module for your environment.

Personal tools