Installation of Mico32/FPG-EYE development environment
This tutorial describes a set of steps needed to compile and deploy a platform on FPG-EYE board.
To achive this goal you need follow softwares from Lattice installed in your environment (follow links for download pages):
To download and use these softwares you need a Lattice registration and a fre license (follow instruction on Lattice web site)
Be careful: each version of ispLEVER need a correspondent version of LatticeMico System Development Tools, further 64 bit OSes are not supported by ispLEVER (even though we were able to install it on 64 bit Windows Vista/7, with some pain to be honest). In regard to ispVM System you need version 18.0 or superior. All FPG-EYE software development has been made with ispLEVER 8.0 and correspondant LatticeMico System Development Tools.
Hereunder it's supposed that all the tools are installed in the same base directory and we refer at this directory as: %ispTOOLS%
In addition to lattice software you need Evidence RT-Druid software (to run ERIKA Enterprise OS on Mico32 softcore) and a Python installation with pySerial module (to deploy your application on FPG-EYE external flash, with Evidence's boot loader Mico32 application).
Standard Mico32 components Patches
During FPG-EYE software development a few bugs in standard Mico32 components have been found and corrected. Especially we found small bugs in following components:
- SPI Flash Controller (Component directory: spi_flash. Verilog files: spi_flash_intf.v wb_intf.v)
- Async SRAM Controller (Componet directory: asram_top. Verilog files: asram_core.v)
We found these bugs in ispLEVER version 8.0 components. We don't know if they have been fixed in later versions.
You can find the patched verilog files here. To apply the patches you need to copy these new files in the right componets folders. The base directory for components is:
You have to put patched verilog files for each component in:
to fix found bugs.
Evidence custom Mico32 components
FPG-EYE demo application employ a couple of custum Mico32 components:
- Camera component (used to acquire frames from the cmos camera)
- seial io (used to access to programmable dip switches, led and peripherals power-off MOSFET switches)
Those components are released in usable way in FPG-EYE software packet: Camera componet binary, serial io directly as source code.
If you want use those components in your platform you need to import them inside yours LatticeMico System Development Tools.
Import custom Mico32 components in LatticeMico System Development Tools
Open your LatticeMico System Development Tool and hit Import/Create custom Component button on Available Components view
and select the chosen xml component description file in FPG-EYE software packet directory.
In our version of LatticeMico System Development Tools sometimes you need to repeat this procedure more than one times.
ERIKA and RT-Druid
Python and pySerial module
To deploy an Mico32 application on FPG-EYE external flash Evidence provides a dedicated bootloader on FPG-EYE XP2 flash. To interact with this bootloader a python script is given with FPG_EYE software. This python script has been written and tested on a python 2.x environment.
Install Python on Windows
To install python on a windows machine you have two options, one native and one under cygwin. To install the native one just download the right installer here and run it. If you want the cygwin version just run the Setup (tested with version application, reach the Select Packages dialog, python category select python package.
Install pySerial on Windows
If you have installed the native version of python just dowload the pySerial installer [here] and run it. The easy way to install the pySerial module on cygwin is to install python setuptools first, running this script in a Cygwin shell and after the setuptool installation just type:
Automatically setutools will select the right version of the module for yours environment.