Installation of Mico32/FPG-EYE development environment
This page describes a set of steps needed to compile and deploy a platform on FPG-EYE board.
To achive this goal you need following 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 free 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 bootloader 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 in FPG-EYE Software Packet. 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 custom Mico32 components:
- Camera component (used to acquire frames from the cmos camera)
- serial io (used to access programmable dip switches, led and peripherals power-off MOSFET switches)
Those components are released in usable way in FPG-EYE Software Packet: Camera component binary, serial io directly as source code.
If you want use these components in your platform you need to import them inside 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 (e.g. FPG-EYE_software_packet\wishbone_components\mico32_camera\mico32_camera.xml)
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 application, reach the Select Packages dialog, open python category and select python package.
Install pySerial on Windows
If you have installed the native version of python just dowload the pySerial installer 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 setuptools will select the right version of the module for your environment.