# Lattice iCE40

Configuration

  platform = `lattice_ice40`

The iCE40 family of ultra-low power, non-volatile FPGAs has five devices with densities ranging from 384 to 7680 Look-Up Tables (LUTs). In addition to LUT-based,low-cost programmable logic, these devices feature Embedded Block RAM (EBR), Non-volatile Configuration Memory (NVCM) and Phase Locked Loops (PLLs). These features allow the devices to be used in low-cost, high-volume consumer and system applications.

For more detailed information please visit vendor site.

Contents

- Examples

- Stable and upstream versions

- Packages

- Boards

## Examples

Examples are listed from Lattice iCE40 development platform repository:

- leds

- counter

## Stable and upstream versions

You can switch between stable releases of Lattice iCE40 development platform and the latest upstream version using platform option in “platformio.ini” (Project Configuration File) as described below.

### Stable

    ; Latest stable version
    [env:latest_stable]
    platform = lattice_ice40
    board = ...

    ; Custom stable version
    [env:custom_stable]
    platform = lattice_ice40@x.y.z
    board = ...

### Upstream

    [env:upstream_develop]
    platform = https://github.com/platformio/platform-lattice_ice40.git
    board = ...

## Packages

Name | Description
--- | ---
toolchain-icestorm | Tools for analyzing and creating bitstream files for FPGA IceStorm
toolchain-iverilog | Verilog simulation and synthesis tool

Warning

Linux Users:

> - Install “udev” rules 99-platformio-udev.rules

> - Raspberry Pi users, please read this article Enable serial port on Raspberry Pi.

Windows Users:

> Please check that you have a correctly installed USB driver from board manufacturer

## Boards

Note

- You can list pre-configured boards by platformio boards command or PlatformIO Boards Explorer

- For more detailed `board` information please scroll the tables below by horizontally.

### FPGAwars

Name | Debug | MCU | Frequency | Flash | RAM
--- | --- | --- | --- | --- | ---
IceZUM Alhambra FPGA | No | ICE40-HX1K-TQ144 | 12MHz | 32KB | 32KB

### Lattice

Name | Debug | MCU | Frequency | Flash | RAM
--- | --- | --- | --- | --- | ---
Lattice iCEstick FPGA Evaluation Kit | No | ICE40-HX1K-TQ144 | 12MHz | 32KB | 32KB