ICE (FPGA)


iCE is the brand name used for a family of low-power FPGAs produced by Lattice Semiconductor. Parts in the family are marketed with the "world's smallest FPGA" tagline, and are intended for use in portable and battery-powered devices, where they would be used to offload tasks from the device's main processor or SoC. By doing so, the main processor and its peripherals can enter a low-power state or be powered off entirely, potentially increasing battery life.
Lattice received the iCE brand as part of its 2011 acquisition of SiliconBlue Technologies.

History

The iCE brand was originally used by SiliconBlue Technologies Corporation, a former Santa Clara, California-based fabless designer of integrated circuits. SiliconBlue was a start-up founded in 2005 by former employees of Actel, AMD, Lattice, Monolithic Memories, and Xilinx. Most notable among the founders was John Birkner, one of the inventors of programmable array logic.
In 2006, SiliconBlue was funded with $16 million in "Series A" capital, and in June 2008 announced the iCE65 L series of devices. The devices were to be fabricated on TSMC's 65nm CMOS process node, which SiliconBlue claimed would provide reduced power consumption compared to contemporary FPGAs from other manufacturers. In October 2008, SiliconBlue raised a further $24 million in Series B capital.
In 2009, the first iCE65 L devices were shipped to customers. SiliconBlue also registered SiliconBlue Technologies Limited, which remains as a subsidiary of Lattice Semiconductor.
In 2010, the lowest-end of the iCE65 P devices was announced by SiliconBlue. The devices were claimed to be as much as 30% faster than iCE65 L devices while maintaining similar power consumption. In the June of the same year, SiliconBlue closed a $15 million Series C funding round.
In April 2011, SiliconBlue announced that it was to release new product families, code-named "Los Angeles" and "San Francisco," using a TSMC 40nm process node. The production of devices on a 40nm process node was further confirmed in June 2011, when SiliconBlue received $18 million in Series D funding to bring 40nm devices to market. The iCE40 product family was officially released in July 2011.
On 9 December 2011, SiliconBlue Technologies was acquired by Lattice Semiconductor in a $63.2 million cash buyout. As part of this buyout, Lattice received the iCE brand, manufacturing capabilities with TSMC, and a licence for various patents from Kilopass Technologies, including for its XPM one-time programmable memory technology.
In April 2012, Lattice announced that the iCE65 families would be discontinued. The iCE40 LP and HX device families entered volume production the following month. The iCE40 LP family won the Elektra Digital Semiconductor Product of the Year award for 2012.
In July 2014, the iCE40 Ultra family was announced.
In February 2015, Lattice launched the iCE40 UltraLite device family. The devices in this family are claimed to operate at 30% less power than those of unspecified competitors, and are claimed to be the world's smallest FPGAs, being available in 1.4×1.4mm packages. The family won the 2015 Elektra Digital Semiconductor Product of the Year award.
In December 2016, Lattice launched the iCE40 UltraPlus device family. UltraPlus devices provide additional memory, additional processing elements, and support for newer interfaces and protocols compared to previous iCE40 Ultra/UltraLite devices.

Architecture

iCE65 and iCE40 devices are constructed as an array of programmable logic blocks, where a PLB is a block of eight logic cells. Each logic cell consists of a four-input lookup table with the output connected to a D flip-flop. Within a PLB, each logic cell is connected to the following and preceding cell by carry logic, intended to improve the performance of constructs such as adders and subtractors. Interspersed with PLBs are blocks of RAM, each four kilobits in size. The number of RAM blocks varies depending on the device.
Compared to LUT6-based architectures, a LUT4-based device is unable to implement as-complex logic functions with the same number of logic cells. For example, a logic function with seven inputs could be implemented in eight LUT4s or two LUT6s.
iCE devices use volatile SRAM to store configuration data. As a result, the data must be loaded onto the device each time power is lost. All iCE devices support loading configuration data from a programmer, from an external flash memory chip, or, with the exception of iCE40 LM devices, from a so-called NVCM, or non-volatile configuration memory. The NVCM is a one-time-programmable memory integrated into the FPGA to negate the need for an external memory chip. Lattice claims that using the NVCM can improve design security by making reverse engineering more difficult.
The I/O pins on iCE devices are separated into up to four banks. On some devices each bank has its own power-supply pin, allowing the logic-high voltage level of the I/O bank to be adjusted. Configurable I/O voltage levels are used by iCE devices to allow support for multiple interface standards with voltage levels between 1.8V and 3.3V, such as LVDS. iCE65 devices also listed being able to support SSTL through this method.

Development

iCE FPGAs, as with most FPGAs and CPLDs, are typically designed for using a hardware description language, which describes an electronic circuit. Lattice Diamond, the IDE provided by Lattice for developing on their FPGAs, supports the VHDL and Verilog languages, as well as the EDIF format.

Open source

The details of a specific FPGA's bitstream format are not usually published by FPGA vendors. This means that, generally, an engineer creating a design for an FPGA must use the tools provided by the FPGA's manufacturer.
In December 2015, at 32C3, a toolchain consisting of Yosys, Arachne-pnr, and icepack tools was presented by Clifford Wolf, one of the two developers of the toolchain. The toolchain is notable for being one of, if not the only, fully open-source toolchains for FPGA development. At the same December 2015 presentation, Wolf also demonstrated a RISC-V SoC design built using the open-source toolchain and running on an iCE40 HX8K device. As of April 2016, the toolchain supports iCE40 LP1K, LP4K, LP8K, and HX devices.

List of iCE devices

iCE65 (65 nm)

The iCE65 name was used by SiliconBlue Technologies for the devices it designed for a 65nm process node. Following the acquisition of SiliconBlue in 2011, the name was used by Lattice Semiconductor until the family was discontinued in April 2012.

iCE65 L

SeriesDeviceLEsRAMPLLsMax. I/Os
iCE65 LL01 1280 64kbitrowspan="4" 95
iCE65 LL04 3520 80kbit 176-
iCE65 LL08 7680 128kbit 222-
iCE65 LL16 16896 384kbit-
iCE65 PP04 3520 80kbit 174
iCE65 PP08 7680 128kbit
iCE65 PP12 12160 160kbit
iCE65 P-----

The iCE65 L series of devices was intended for low-power applications and handheld devices. The series was first announced in mid 2008, and first shipped to volume customers in early 2009.
Information about a larger device in the series, the iCE65L16, was listed on the SiliconBlue website in 2010, but no mention is made in a 2012 revision of the L-series datasheet. It is unclear whether the device was ever produced commercially.

iCE65 P

The iCE65 P-series devices were marketed as a higher-performance version of the L-series devices, intended for use in display, memory, and SERDES applications, and were announced in early 2010. Three devices were listed as being part of the series but only one device, the lowest-end iCE65P04, was fully specified. The latest datasheet for the family, published in 2011, lists the other two parts but does not give specifications. Whether these other two devices were ever commercially produced is unclear.

iCE40 (40 nm)

Lattice uses the iCE40 name for its iCE-branded devices produced on a 40nm process node. The company has also used the codename "Los Angeles" in press releases. The iCE40 family was launched in July 2011 with iCE40 LP and HX parts, and was updated in July 2014 with the iCE40 Ultra parts, in February 2015 with the iCE40 UltraLite parts, and in December 2016 with the iCE40 UltraPlus parts.

iCE40 Ultra, UltraLite, & UltraPlus

The iCE40 Ultra, UltraLite, and UltraPlus devices are intended for applications with especially low limits on available space and power, such as in wearable technology and smart watches. They are offered in chip-scale, BGA, and QFN packages, with dimensions from 1.4×1.4mm to 7×7mm. All devices in family integrate one or two I²C hard cores, with Ultra and UltraPlus devices also including hard SPI bus cores and DSP blocks. UltraLite devices are claimed to operate at half the static current draw of Ultra devices. Most devices in the family also include a PWM controller, intended to be used to drive IR or RGB LEDs.
Lattice launched the Ultra family in mid 2014, and the UltraLite family in early 2015. In 2015, the UltraLite family won the Elektra Digital Semiconductor Product of the Year award.
In September 2016, the Apple iPhone 7 was released and made use of an iCE5LP4K device.
In December 2016, Lattice launched the UltraPlus family intended for distributed processing and so-called "mobile heterogeneous computing." The devices include a 1Mbit single-port RAM, additional DSP processing elements, and support for additional interfaces, such as MIPI I3C, D-PHY, and Virtual GPIO.

iCE40 LP & LM

The iCE40 LP and LM parts are intended for use in battery-powered devices as hardware accelerators and I/O port expanders, and for use in the same applications as iCE40 Ultra and UltraLite parts. Compared to the Ultra parts, LP and LM parts are available in a wider range of footprints, offer a greater number of resources, but consume more power.
LP devices differ from the Ultra devices in that they do not include hard IP cores. Instead, any interface logic must be implemented in the FPGA fabric. This is generally less preferable, as so-called "soft cores" are less power-efficient than hard cores, and often are unable to operate at the same frequencies. A soft core also reduces the number of logic cells available to the application. LM devices integrate two I²C and two SPI hard cores, as well as two strobe generators. Most LP and LM devices integrate one or two phase-locked loops.
The families were launched in mid 2011 and entered volume production in mid 2012. They won the Elektra Digital Semiconductor Product of the Year award for 2012. In 2015, it was announced that ZTE would use LM devices to provide sensor hub and infrared remote control functionality in its Star 2 smartphone.

iCE40 HX

DeviceLEsRAMPLLsStatic currentMax. I/Os
HX1K 1280 64kbit 296μA 98
HX4K 3520 80kbit 1140μA 109
HX8K 7680 128kbit 1140μA 208

The iCE40 HX devices are intended for high-performance applications. Compared to iCE40 LP and Ultra devices, they offer lower maximum propagation delay, and more I/O pins. HX series devices consume significantly more static power and are available only in significantly larger footprints compared to Ultra and LP parts. Similarly to the LP devices, HX parts do not provide hard IP cores, but do provide one or two phase-locked loops. Unlike other iCE40 devices, the HX parts are also available in QFP footprints.
The HX parts were launched in mid 2011 alongside the LP parts, and entered volume production in mid 2012.