Lattice Mico8 Open, Free Soft Microcontroller

Lattice Mico8 LogoThe LatticeMico8 is an 8-bit microcontroller optimized and fully tested for the MachXO2™ family of Programmable Logic Devices (PLDs). It can also be used as a reference design for the other families of Field Programmable Gate Arrays (FPGAs). Combining a full 18-bit wide instruction set with 32 general purpose registers, the LatticeMico8 is suitable for a wide variety of markets, including communications, consumer, computer, medical, industrial, and automotive. The core consumes minimal device resources, less than 200 Look Up Tables (LUTs) in the smallest configuration, while maintaining a broad feature set.

The LatticeMico8 is licensed under a new open intellectual property (IP) core license, the first such license offered by any FPGA supplier. The main benefits of using open source IP are greater flexibility, improved portability, and no cost. This new agreement provides all the benefits of standard open source and allows users to mix proprietary designs with the open source core. Additionally, it allows for the distribution of designs in bitstream or FPGA format without accompanying it with a copy of the license.

Development Tools

LatticeMico System is to be used to implement a LatticeMico8 micro-controller system with attached peripheral components. It is based on the Eclipse C/C++ Development Tools environment, which is an industry open-source development and application framework for building software.

Features

  • Innovative Open IP Core License
  • Efficient Architecture and Broad Feature Set
    • 18-bit Wide Instructions
    • Configurable 16 or 32 General Purpose Registers
    • Configurable Instruction Memory (PROM)
      • Internal or external through Wishbone Interface
      • Configurable to accomodate 256, 512, 1K, 2K or 4K instructions
    • Scratchpad Memory
      • Internal or external through Wishbone Interface
      • Configurable up to 4 Gigabytes using paging (256 bytes per page)
    • Mimimum two cycles per instruction
    • Configurable 8, 16, or 32-deep call stack
    • Support for up to 8 external interrupts
    • Integrated hardware loader to optionally initialize PROM and Scratch pd for an external non-volatile mem
  • Wishbone Peripheral Components:
    • GPIO, UART, DMA Controller, SPI Flash Controller, MachXO2 EFB (I2C, SPI, Timer)

Jump to

Block Diagram

Performance and Size

Config.
Number
Description* Device LUTs Registers f MAX (MHz)
1 16 - Regs, data & I/O addressable range 256,
8-Call Stack depth, 512 PROM, 32 byte Int SP
LCMXO2-1200HC-5T G100C 194 83 46.2
2 32 - Regs, data & I/O addressable range 256,
8-Call Stack depth, 512 PROM, 32 byte Int SP
LCMXO2-1200HC-5T G100C 206 83 49
3 16 - Regs, data & I/O addressable range 256,
8-Call Stack depth, 512 PROM, 16 byte Int SP
LCMXO2-1200HC-5T G100C 193 83 48
4 32 - Regs, data & I/O addressable range 256,
8-Call Stack depth, 512 PROM, 16 byte Int SP
LCMXO2-1200HC-5T G100C 205 83 52.2

* SP = Scratch Pad

1These numbers may vary as you change the operating conditions.

Ordering Information

LatticeMico8, and its associated peripheral components are included within the LatticeMico System Development Tool. This tool is provided free of charge.

For the latest information on LatticeMico System Development Tools, including instructions on how to download and install, go to the page located here.

For information about the LatticeMico8 for other Lattice FPGA families, please contact your local Lattice Sales Office.

Documentation

Quick Reference
Technical Resources
Information Resources
Downloads
TITLE NUMBER VERSION DATE FORMAT SIZE
LatticeMico DMA Controller 3.3
3.3 6/16/2015
LatticeMico SPI Flash 3.7
3.7 6/16/2015
LatticeMico Dual-Port On-Chip Memory Controller 3.1
3.1 6/16/2015
LatticeMico GPIO 3.5
3.5 6/16/2015
LatticeMico Parallel Flash Controller 3.2
3.2 6/16/2015
LatticeMico Embedded Function Block 1.6
1.6 6/16/2015
LatticeMico SPI 3.1
3.1 6/16/2015
LatticeMico Master Passthrough 3.3
3.3 6/16/2015
LatticeMico On-Chip Memory Controller
3.4 1/14/2015
LatticeMico Asynchronous SRAM Controller 3.3
3.3 6/16/2015
LatticeMico Memory Passthrough 3.1
3.1 6/16/2015
LatticeMico UART 3.8
3.8 6/16/2015
LatticeMico Timer 3.1
3.1 6/16/2015
TITLE NUMBER VERSION DATE FORMAT SIZE
Using the LatticeMico8 Microcontroller with the LatticeXP Evaluation Board Technical Note
August 2006 - Updated to include the Standard Evaluation Board
TN1095 7/1/2007
TITLE NUMBER VERSION DATE FORMAT SIZE
MachXO Control Development Kit User's Guide
EB46 1.4 6/28/2010
LatticeMico8 Developer User Guide 3.10
1.0 1/1/0001
LatticeMico8 Developer User Guide
1.4 12/12/2011
LatticeMico8 Developer User Guide
1.2 3/31/2011
LatticeMico8 Architecture Manual
1.2 3/31/2011
LatticeMico32 Processor Reference Manual 2.1
2.1 1/21/2013
EB53 LatticeXP2 Brevia Development Kit User's Guide
1.2 6/10/2010
MachXO Mini Development Kit User's Guide
EB41 1.4 3/2/2012
LatticeMico8 Processor Reference Manual 2.1
2.1 1/21/2013
LatticeMico8 Development Tools User Guide
1.0 10/8/2010
LatticeMico8 Processor Reference Manual
1.4 12/12/2011
TITLE NUMBER VERSION DATE FORMAT SIZE
LatticeMico8 Core - Documentation
RD1026 2.0 2/1/2014
LatticeMico8 Core Source Code Revision 2.3 - VHDL
1/1/2006
LatticeMico8 Core Source Code Revision 2.3 - Verilog
5/5/2006
LatticeMico8 Core Source Code
RD1026 2.0 2/1/2014
LatticeMico8 v3.15 Core Verilog Source Code
RD1026 3.15 10/8/2010
LatticeMico8 v3.0 Verilog
3.0 2/19/2008
LatticeMico8 Demo
20-Sep-06: Updated to synchronize with source revision 2.4 (INITVAL solution)
9/1/2006
LatticeMico8 Core Source Code Revision 2.2
12/1/2005
LatticeMico8 v3.1 VHDL
RD1026 3.1 4/9/2010
LatticeMico8 v3.0 VHDL
3.0 2/19/2008
LatticeMico8 Core Source Code Revision 2.4 - VHDL
7/1/2006
LatticeMico8 Tools Source Code
7/1/2005
LatticeMico8 Tools Source Code For Core Revision 2.3
5/5/2006
LatticeMico8 Core Source Code Revision 2.4 - Verilog
7/1/2006
LatticeMico8 Tools Source Code For Core Revision 3.0
5/22/2013
LatticeMico8 Tools Source Code For Core Revision
RD1026 3.1 5/26/2010
LatticeMico8 v3.1 Verilog
RD1026 3.1 4/9/2010
RD1026 LatticeMico8 Microcontroller User's Guide
2.1 11/8/2014
TITLE NUMBER VERSION DATE FORMAT SIZE
LatticeMico8 Product Brochure
i0177 7/10/2012
Lattice Diamond Software Product Brief
Product Brochure for Lattice Diamond software.
I0207G Rev. 2 6/20/2019
TITLE NUMBER VERSION DATE FORMAT SIZE
LatticeMico8 Tutorial 1.4
1.4 12/12/2011
Writing Efficient C Code for the LatticeMico8 Microcontroller
1.0 10/11/2010
TITLE NUMBER VERSION DATE FORMAT SIZE
LatticeMico8 Development Tools Source Code
5/22/2013 BZ2 60.1 MB
Latticemico8 Development Tools for Linux
2.0 11/11/2010 RPM 39.4 MB
LatticeMico8 Development Tools
2.0 11/11/2010 EXE 89.8 MB


Like most websites, we use cookies and similar technologies to enhance your user experience. We also allow third parties to place cookies on our website. By continuing to use this website you consent to the use of cookies as described in our Cookie Policy.