iCE40UltraFamilyDataSheet PDF
iCE40UltraFamilyDataSheet PDF
General Description
iCE40 Ultra family is an ultra-low power FPGA and sensor manager designed for ultra-low power mobile applica-
tions, such as smartphones, tablets and hand-held devices. The iCE40 Ultra family includes integrated SPI and I2C
blocks to interface with virtually all mobile sensors and application processors. The iCE40 Ultra family also features
two on-chip oscillators, 10 kHz and 48 MHz. The LFOSC (10 kHz) is ideal for low power function in always-on appli-
cations, while HFOSC (48 MHz) can be used for awaken activities.
The iCE40 Ultra family also features DSP functional block to off-load Application Processor to pre-process informa-
tion sent from the mobile sensors. The embedded RGB PWM IP, with the three 24 mA constant current RGB out-
puts on the iCE40 Ultra provides all the necessary logic to directly drive the service LED, without the need of
external MOSFET or buffer.
The 500 mA constant current IR driver output provides a direct interface to external LED for application such as
IrDA functions. Users simply implement the modulation logic that meets his needs, and connect the IR driver
directly to the LED, without the need of external MOSFET or buffer. This high current IR driver can also be used as
Barcode Emulation, sending barcode information to external Barcode Reader.
The iCE40 Ultra family of devices are targeting for mobile applications to perform functions such as IrDA, Service
LED, Barcode Emulation, GPIO Expander, SDIO Level Shift, and other custom functions.
The iCE40 Ultra family features three device densities, from 1100 to 3520 Look Up Tables (LUTs) of logic with pro-
grammable I/Os that can be used as either SPI/I2C interface ports or general purpose I/O’s. It also has up to 80
kbits of Block RAMs to work with user logic.
Features
Flexible Logic Architecture On-chip DSP
• Three devices with 1100 to 3520 LUTs • Signed and unsigned 8-bit or 16-bit functions
• Offered in WLCS, ucfBGA and QFN packages • Functions include Multiplier, Accumulator, and
Ultra-low Power Devices Multiply-Accumulate (MAC)
• Advanced 40 nm ultra-low power process Flexible On-Chip Clocking
• As low as 71 µA standby current typical • Eight low skew global signal resource, six can
Embedded Memory be directly driven from external pins
• Up to 80 kbits sysMEM™ Embedded Block RAM • One PLL with dynamic interface per device
Two Hardened I2C Interfaces Flexible Device Configuration
Two Hardened SPI Interfaces • SRAM is configured through:
Two On-Chip Oscillators — Standard SPI Interface
• Low Frequency Oscillator – 10 kHz — Internal Nonvolatile Configuration Memory
• High Frequency Oscillator – 48 MHz (NVCM)
24 mA Current Drive RGB LED Outputs Ultra-Small Form Factor
• Three drive outputs in each device • As small as 2.078 mm x 2.078 mm
• User selectable sink current up to 24 mA Applications
500 mA Current Drive IR LED Output • Smartphones
• One IR drive output in each device • Tablets and Consumer Handheld Devices
• User selectable sink current up to 500 mA • Handheld Commercial and Industrial Devices
• Multi Sensor Management Applications
• Sensor Pre-processing and Sensor Fusion
• Always-On Sensor Applications
• USB 3.1 Type C Cable Detect / Power Delivery
Applications
© 2016 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal. All other brand
or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
Introduction
The iCE40 Ultra family of ultra-low power FPGAs has three devices with densities ranging from 1100 to 3520 Look-
Up Tables (LUTs) fabricated in a 40 nm Low Power CMOS process. In addition to LUT-based, low-cost programma-
ble logic, these devices also feature Embedded Block RAM (EBR), on-chip Oscillators (LFOSC, HFOSC), two
hardened I2C Controllers, two hardened SPI Controllers, three 24 mA RGB LED open-drain drivers, a 500 mA IR
LED open-drain drivers, and DSP blocks. These features allow the devices to be used in low-cost, high-volume
consumer and mobile applications.
The iCE40 Ultra FPGAs are available in very small form factor packages, as small as 2.078 mm x 2.078 mm. The
small form factor allows the device to easily fit into a lot of mobile applications, where space can be limited. Table 1-1
shows the LUT densities, package and I/O pin count.
The iCE40 Ultra devices offer I/O features such as pull-up resistors. Pull-up features are controllable on a “per-pin”
basis.
The iCE40 Ultra devices also provide flexible, reliable and secure configuration from on-chip NVCM. These devices
can also configure themselves from external SPI Flash, or be configured by an external master such as a CPU.
Lattice provides a variety of design tools that allow complex designs to be efficiently implemented using the iCE40
Ultra family of devices. Popular logic synthesis tools provide synthesis library support for iCE40 Ultra. Lattice
design tools use the synthesis tool output along with the user-specified preferences and constraints to place and
route the design in the iCE40 Ultra device. These tools extract the timing from the routing and back-annotate it into
the design for timing verification.
Lattice provides in the iCE40 Ultra 1K and 2K device the embedded RGB PWM IP at no extra cost of LUT available
to the user, to perform controlling the RGB LED function. This embedded IP allow users to control color, LED ON/
OFF time, and breathe rate of the LED. For more information, please refer to Usage Guide in Lattice Design Soft-
ware.
Lattice provides many pre-engineered IP (Intellectual Property) modules, including a number of reference designs,
licensed free of charge, optimized for the iCE40 Ultra FPGA family. Lattice also can provide fully verified bitstream
for some of the widely used target functions in mobile device applications, such as ultra-low power sensor manage-
ment, gesture recognition, IR remote, barcode emulator functions. Users can use these functions as offered by Lat-
tice, or they can use the design to create their own unique required functions. For more information regarding
Lattice's reference designs or fully-verified bitstreams, please contact your local Lattice representative.
1-2
iCE40 Ultra Family Data Sheet
Architecture
June 2016 Data Sheet DS1048
Architecture Overview
The iCE40 Ultra family architecture contains an array of Programmable Logic Blocks (PLB), two Oscillator Genera-
tors, two user configurable I2C controllers, two user configurable SPI controllers, and blocks of sysMEM™ Embed-
ded Block RAM (EBR) surrounded by Programmable I/O (PIO). Figure 2-1shows the block diagram of the iCE5LP-
4K device.
RGB
I2C Drv I/O Bank 0 IR Drv I2C
DSP
PLB
NVCM
5 4 Kbit RAM
5 4 Kbit RAM
DSP
DSP
config
SPI I/O Bank 2 I/O Bank 1 SPI
Carry Logic
4-Input Look-up
Table (LUT) Flip-flop with Enable
and Reset Controls
The Programmable Logic Blocks (PLB) and sysMEM EBR blocks, are arranged in a two-dimensional grid with rows
and columns. Each column has either PLB or EBR blocks. The PIO cells are located at the top and bottom of the
device, arranged in banks. The PLB contains the building blocks for logic, arithmetic, and register functions. The
PIOs utilize a flexible I/O buffer referred to as a sysIO buffer that supports operation with a variety of interface stan-
dards. The blocks are connected with many vertical and horizontal routing channel resources. The place and route
software tool automatically allocates these routing resources.
In the iCE40 Ultra family, there are three sysIO banks, one on top and two at the bottom. User can connect some
VCCIOs together, if all the I/Os are using the same voltage standard. Refer to the details in later sections of this doc-
ument on Power Up Sequence. The sysMEM EBRs are large 4 kbit, dedicated fast memory blocks. These blocks
can be configured as RAM, ROM or FIFO with user logic using PLBs.
Every device in the family has two user SPI ports, one of these (right side) SPI port also supports programming
and configuration of the device. The iCE40 Ultra also includes two user I2C ports, two Oscillators, and high current
RGB and IR LED sinks.
© 2016 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal. All other brand
or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
PLB Blocks
The core of the iCE40 Ultra device consists of Programmable Logic Blocks (PLB) which can be programmed to
perform logic and arithmetic functions. Each PLB consists of eight interconnected Logic Cells (LC) as shown in
Figure 2-2. Each LC contains one LUT and one register.
DFF O
I0 D Q
8 Logic Cells (LCs)
I1 EN
LUT SR
I2
I3
FCIN
Logic Cells
Each Logic Cell includes three primary logic elements shown in Figure 2-2.
• A four-input Look-Up Table (LUT) builds any combinational logic function, of any complexity, requiring up to
four inputs. Similarly, the LUT element behaves as a 16x1 Read-Only Memory (ROM). Combine and cascade
multiple LUTs to create wider logic functions.
• A ‘D’-style Flip-Flop (DFF), with an optional clock-enable and reset control input, builds sequential logic func-
tions. Each DFF also connects to a global reset signal that is automatically asserted immediately following
device configuration.
• Carry Logic boosts the logic efficiency and performance of arithmetic functions, including adders, subtracters,
comparators, binary counters and some wide, cascaded logic functions.
Table 2-1. Logic Cell Signal Descriptions
Function Type Signal Names Description
Input Data signal I0, I1, I2, I3 Inputs to LUT
Input Control signal Enable Clock enable shared by all LCs in the PLB
Asynchronous or synchronous local set/reset shared by all LCs in
Input Control signal Set/Reset1
the PLB.
Clock one of the eight Global Buffers, or from the general-purpose
Input Control signal Clock
interconnects fabric shared by all LCs in the PLB
Input Inter-PLB signal FCIN Fast carry in
Output Data signals O LUT or registered output
Output Inter-PFU signal FCOUT Fast carry out
1. If Set/Reset is not used, then the flip-flop is never set/reset, except when cleared immediately after configuration.
2-2
Architecture
iCE40 Ultra Family Data Sheet
Routing
There are many resources provided in the iCE40 Ultra devices to route signals individually with related control sig-
nals. The routing resources consist of switching circuitry, buffers and metal interconnect (routing) segments.
The inter-PLB connections are made with three different types of routing resources: Adjacent (spans two PLBs), x4
(spans five PLBs) and x12 (spans thirteen PLBs). The Adjacent, x4 and x12 connections provide fast and efficient
connections in the diagonal, horizontal and vertical directions.
The design tool takes the output of the synthesis tool and places and routes the design.
These global inputs can be used as high fanout nets, clock, reset or enable signals. The dedicated global pins are
identified as Gxx and each drives one of the eight global buffers. The global buffers are identified as GBUF[7:0].
These six inputs may be used as general purpose I/O if they are not used to drive the clock nets.
Table 2-2 lists the connections between a specific global buffer and the inputs on a PLB. All global buffers optionally
connect to the PLB CLK input. Any four of the eight global buffers can drive logic inputs to a PLB. Even-numbered
global buffers optionally drive the Set/Reset input to a PLB. Similarly, odd-numbered buffers optionally drive the
PLB clock-enable input. GBUF[7:6, 3:0] can connect directly to G[7:6, 3:0] pins respectively. GBUF4 and GBUF5
can connect to the two on-chip Oscillator Generators (GBUF4 connects to LFOSC, GBUF5 connects to HFOSC).
The maximum frequency for the global buffers are shown in the iCE40 Ultra External Switching Characteristics
tables later in this document.
2-3
Architecture
iCE40 Ultra Family Data Sheet
The PLLOUT output has an output divider, thus allowing the PLL to generate different frequencies for each output.
The output divider can have a value from 1 to 64 (in increments of 2X). The PLLOUT outputs can all be used to
drive the iCE40 Ultra global clock network directly or general purpose routing resources can be used.
The LOCK signal is asserted when the PLL determines it has achieved lock and de-asserted if a loss of lock is
detected. A block diagram of the PLL is shown in Figure 2-3.
The timing of the device registers can be optimized by programming a phase shift into the PLLOUT output clock
which will advance or delay the output clock with reference to the REFERENCECLK clock. This phase shift can be
either programmed during configuration or can be adjusted dynamically. In dynamic mode, the PLL may lose lock
after a phase adjustment on the output used as the feedback source and not relock until the tLOCK parameter has
been satisfied.
There is an additional feature in the iCE40 Ultra PLL. There are 2 FPGA controlled inputs, SCLK and SDI, that
allows the user logic to serially shift in data thru SDI, clocked by SCLK clock. The data shifted in would change the
configuration settings of the PLL. This feature allows the PLL to be time multiplexed for different functions, with dif-
ferent clock rates. After the data is shifted in, user would simply pulse the RESET input of the PLL block, and the
PLL will re-lock with the new settings. For more details, please refer to TN1251, iCE40 sysCLOCK PLL Design and
Usage Guide.
BYPASS
GNDPLL VCCPLL
Phase
Detector
DIVR RANGE Voltage
DIVQ
REFERENCECLK Input Low-Pass Controlled VCO
Divider Filter Oscillator Divider
(VCO)
SIMPLE
SCLK
DIVF
PLLOUTCORE
Feedback Fine Delay
Divider
Fine Delay Adjustment
SDI Phase Output Port PLLOUTGLOBAL
Adjustment Shifter
Feedback
Feedback_Path
LOCK
DYNAMICDELAY[7:0]
EXTFEEDBACK EXTERNAL
LATCHINPUTVALUE
Low Power mode
2-4
Architecture
iCE40 Ultra Family Data Sheet
2-5
Architecture
iCE40 Ultra Family Data Sheet
2-6
Architecture
iCE40 Ultra Family Data Sheet
By preloading the RAM block during the chip configuration cycle and disabling the write controls, the sysMEM block
can also be utilized as a ROM.
Memory Cascading
Larger and deeper blocks of RAM can be created using multiple EBR sysMEM Blocks.
RAM4k Block
Figure 2-4 shows the 256x16 memory configurations and their input/output names. In all the sysMEM RAM modes,
the input data and addresses for the ports are registered at the input of the memory array.
WDATA[15:0] RDATA[15:0]
MASK[15:0]
WADDR[7:0] RADDR[7:0]
RAM4K
RAM Block
WE (256x16) RE
WCLKE RCLKE
WCLK RCLK
For further information on the sysMEM EBR block, please refer to TN1250, Memory Usage Guide for iCE40
Devices.
2-7
Architecture
iCE40 Ultra Family Data Sheet
sysDSP
The iCE40 Ultra family provides an efficient sysDSP architecture that is very suitable for low-cost Digital Signal
Processing (DSP) functions for mobile applications. Typical functions used in these applications are Multiply, Accu-
mulate, and Multiply-Accumulate. The block can also be used for simple Add and Subtract functions.
0
1
Q[31:16]
OHADS
0 W
C Q
P
0
1
0
C[15:0] D Q 1
± 0
CHLD HLD
C0
C12 X 1
D Q 1
O[31:16]
16x16 Pipeline
HLD 2
R
R 3
[15:0] Registers 0
X[15]
C9
Hi
0 A A[15:8]
F 8x8=16
1
C8
0 [15:0] OHRST
2
A[15:0] D Q 1 [15:8] OHHLD
B[15:8]
D Q 1
3 HCI OHLDA
AHLD HLD
P[31:24]
C1
R 8x8 C4 + C11
J
R
16x16
[7:0] C10
A[7:0] 0 [15:0]
D Q 1 Pipeline
B[15:8] [15:8]
HLD P[23:16]
Register
C13
8x8 R
C6 + 16x16=32
CSA
C14
[15:8]
H
[31:16]
0
A[15:8] 0 [15:0]
C7 LCOCA
R
[7:0] Q[15:0 S
D Q 1
B[7:0] [7:0]
HLD P[15:8] OLADS
8x8 R
C6 + 0 Y
G S
CSA
R
[15:8]
A[7:0]
1
0 [15:0] 0
± 0
Z
[7:0] P[7:0]
D Q 1 C19 D Q 1
0 B[7:0] 1 O[15:0]
HLD
8x8=16 2
B[15:0] D Q 1 8x8 C5 R
R 3
BHLD HLD
R
C2 B 0
Z[15]
C16
Lo
C15
1
OLRST
2
OLHLD
3
LCI OLLDA
0 D C17
C18
D[15:0] D Q 1
DHLD HLD
C3
R
ASGND =C23
C21
BSGND =C24
C20
0
ILRST
CLK 0 1
ENA
SIGNEXTIN CICAS CI
2-8
Architecture
iCE40 Ultra Family Data Sheet
2-9
Architecture
iCE40 Ultra Family Data Sheet
2-10
Architecture
iCE40 Ultra Family Data Sheet
0
1
Q[ 31 :16 ]
OHADS
0 W
0 C Q
1 P 0
C[ 15 :0 ] D Q 1 0
[ 15 :0 ]
Registers X[ 15 ] High
0 C9
8 x8 =16
A F 1
C8
0 A[ 15 :8 ] 0 [ 15:0 ] OHRST
2
D Q 1 OHHLD
A[ 15 :0 ] D Q 1
[15:8]
B[ 15 :8 ]
3 HCI OHLDA
AHLD HLD
P[ 31: 24]
C1
R 8 x8 R
C4 + C11
J [7:0]
16 x 16
C10
A[ 7 :0 ] 0 [15:0 ]
D Q 1
Pipeline
B[ 15 :8 ] [15:8]
HLD P[ 23: 16] Register
+
C13
C6
8 x8 R
CSA
16 x16 =32
C14
[15:8]
3
[ 31: 16 ]
0 H
L
IHRST C22 8 x8 PowerSave D Q 1 LCO
HLD [ 15: 0 ] 0 1
0
1
A[ 15 :8 ] 0
K C7
[ 15: 0 ] R LCOCAS
[7:0] Q[ 15 :0
D Q 1
B[ 7 :0 ]
[7:0]
HLD P[ 15: 8 ] OLADS
8 x8 R
C6 + 0 Y
G [ 15 :8 ]
CSA S
A[ 7 :0 ] 0 [ 15: 0 ]
1 R 0
0
0 B[ 7 :0 ]
D Q 1
[7:0] P[ 7: 0 ]
C19 Z 1
D Q 1
O[ 15 :0 ]
HLD 2
8 x8 = 16
B[ 15 :0 ] D Q 1 C5
8 x8 R R 3
BHLD HLD
C2 B Z[ 15 ] Low
R 0 C16
C15
1
OLRST
2
OLHLD
3
OLLDA
LCI
0 D C18
C17
D[ 15 :0 ] D Q 1
DHLD HLD
C3
R
ASGND = C 23
C21
BSGND = C 24
C20
0
3
ILRST
CLK 0 1
ENA
( 25 - FEB- 2012 )
SIGNEXTIN CICAS CI
Figure 2-7 shows the path for an 16-bit x 16-bit Multiplier using the upper half of sysDSP block.
2-11
Architecture
iCE40 Ultra Family Data Sheet
1
0
Q[31
1:16]
OHADS
0 W
C Q
P
0
1
±
0
C[15::0] D Q 1 0
CHLD HLD
C0
C12 X 1
D Q 1
O[31
1:16]
16x16 Pipeline
HLD 2
R
R 3
[15::0] Registers 0
X[15
5]
C9
High
0 A A[15::8]
F 8xx8==16
1
C8
0 5:0]
[ 15
2
OHRST
A[15::0] D Q 1 5:8]
[15 OHHLD
B[15::8]
D Q 1
3 HCI OHLDA
AHLD HLD
1:24
P[31 4]
C1
R 8xx8 C4 0]
[7:0
+ C11
J
R
16x16
C10
A[7::0] 0 5:0
[ 15 0]
D Q 1 Pipeline
B[15::8] 5:8]
Register
[15
HLD 3:16
P[23 6]
13
C6 +
C1
8xx8 R
16x16=32
16
CSA
C14
5:8]
H
[15 1:16]
3
1
2
[31
0
0
K 0 1
5:0]
[15
1
0
HLD
A[15::8] 0 [15:0]
[[1
15
1 5: 0
C7
R LCOCAS
0]
[7:0 Q[15
5:0
D Q 1
B[7::0] 0]
[7:0
HLD 5:8]
P[15 OLADS
8xx8 R
C6 + 0 Y
G S
CSA
R
[15:8]
A[7::0]
1
±
0 15:0]
[15 0
0
Z
[ 7:0
7: 0] 7:0]
P[7
D Q 1 C19 D Q 1
0 B[7::0] 1
HLD
O[15
5:0]
8xx8=16 2
B[15::0] D Q 1
8xx8 R
C5 R 3
BHLD HLD
R
C2 B 0
Z[15]
C16
Low
C15
1
2
OLRST
OLHLD
3
LCI OLLDA
0 D C17
C18
D[15::0] D Q 1
DHLD HLD
HL
C3
R
ASGND =C23
C21
BSGND =C24
C20
3
1
2
0
ILRST
CLK 0 1
ENA
(25
5-FEB
B-2012
2)
SIGNEXTIN CICAS CI
2-12
Architecture
iCE40 Ultra Family Data Sheet
0 = Hi-Z
Enabled ‘1’ 1 = Output
Disabled ‘0’ Enabled
Pull-up
RGB
PIO
5 4 Kbit RAM
DSP
DSP
LPSG
PLB
OUT
PAD
NVCM
5 4 Kbit RAM
switching for
DSP
iCEGATE
DSP
IN
config Gxx pins optionally
connect directly to
SPI I/O Bank 2 I/O Bank 1 SPI an associated
GBUF global
INCLK buffer
The PIO contains three blocks: an input register block, output register block iCEGate™ and tri-state register block.
To save power, the optional iCEGateTM latch can selectively freeze the state of individual, non-registered inputs
within an I/O bank. Note that the freeze signal is common to the bank. These blocks can operate in a variety of
modes along with the necessary clock and selection logic.
Figure 2-9 shows the input/output register block for the PIOs.
2-13
Architecture
iCE40 Ultra Family Data Sheet
D_IN_1
D_IN_0
Pad
D_OUT_1
D_OUT_0
(1,0)
0
1
OUTPUT_ENABLE
(1,0)
LATCH_INPUT_VALUE
D_IN_1
D_IN_0
Pad
D_OUT_1
D_OUT_0
(1,0)
0
1
OUTPUT_ENABLE
sysIO Buffer
Each I/O is associated with a flexible buffer referred to as a sysIO buffer. These buffers are arranged around the
periphery of the device in groups referred to as banks. The sysIO buffers allow users to implement a wide variety of
standards that are found in today’s systems with LVCMOS interfaces.
2-14
Architecture
iCE40 Ultra Family Data Sheet
Supported Standards
The iCE40 Ultra sysIO buffer supports both single-ended input/output standards, and used as differential compara-
tors. The buffer supports the LVCMOS 1.8, 2.5, and 3.3 V standards. The buffer has individually configurable
options for bus maintenance (weak pull-up or none).
Table 2-8 and Table 2-9 show the I/O standards (together with their supply and reference voltages) supported by
the iCE40 Ultra devices.
Differential Comparators
The iCE40 Ultra devices provide differential comparator on pairs of I/O pins. These comparators are useful in some
mobile applications. Please refer to the Pin Information Summary section to locate the corresponding paired I/Os
with differential comparators.
On-Chip Oscillator
The iCE40 Ultra devices feature two different frequency Oscillator. One is tailored for low-power operation that runs
at low frequency (LFOSC). Both Oscillators are controlled with internally generated current.
The LFOSC runs at nominal frequency of 10 kHz. The high frequency oscillator (HFOSC) runs at a nominal fre-
quency of 48 MHz, divisible to 24 MHz, 12 MHz, or 6 MHz by user option. The LFOSC can be used to perform all
always-on functions, with the lowest power possible. The HFOSC can be enabled when the always-on functions
detect a condition that would need to wake up the system to perform higher frequency functions.
2-15
Architecture
iCE40 Ultra Family Data Sheet
User I2C IP
The iCE40 Ultra devices have two I2C IP cores. Either of the two cores can be configured either as an I2C master or
as an I2C slave. The pins for the I2C interface are not pre-assigned. User can use any General Purpose I/O pins.
In each of the two cores, there are options to delay the either the input or the output, or both, by 50 ns nominal,
using dedicated on-chip delay elements. This provides an easier interface with any external I2C components.
When the IP core is configured as master, it will be able to control other devices on the I2C bus through the pre-
assigned pin interface. When the core is configured as the slave, the device will be able to provide I/O expansion to
an I2C Master. The I2C cores support the following functionality:
User SPI IP
The iCE40 Ultra devices have two SPI IP cores. The pins for the SPI interface are not pre-assigned. User can use
any General Purpose I/O pins. Both SPI IP cores can be configured as a SPI master or as a slave. When the SPI
IP core is configured as a master, it controls the other SPI enabled devices connected to the SPI Bus. When SPI IP
core is configured as a slave, the device will be able to interface to an external SPI master.
There are three outputs on each device that can sink up to 24 mA current. These outputs are open-drain outputs,
and provides sinking current to an LED connecting to the positive supply. These three outputs are designed to drive
the RBG LEDs, such as the service LED found in a lot of mobile devices. An embedded RGB PWM IP is also
offered in the family. This RGB drive current is user programmable from 4 mA to 24 mA, in increments of 4 mA. This
output functions as General Purpose I/O with open-drain when the high current LED drive is not needed.
2-16
Architecture
iCE40 Ultra Family Data Sheet
There is one output on each device that can sink up to 500 mA current. This output is open-drain, and provides
sinking current to drive an external IR LED connecting to the positive supply. This IR drive current is user program-
mable from 50 mA to 500 mA in increments of 50 mA. This output functions as General Purpose I/O with open-
drain when the high current LED drive is not needed.
Embedded PWM IP
To provide an easier usage of the RGB high current drivers to drive RGB LED, a Pulse-Width Modulator IP can be
embedded into the user design. This PWM IP provides the flexibility for user to dynamically change the settings on
the ON-time duration, OFF-time duration, and ability to turn the LED lights on and off gradually with user set
breath-on and breath-off time.
For additional information on the embedded PWM IP, please refer to TN1288, iCE40 LED Driver Usage Guide.
For more information on the NVCM, please refer to TN1248, iCE40 Programming and Configuration.
Device Programming
The NVCM memory can be programmed through the SPI port. The SPI port is located in Bank 1, using
SPI_VCCIO1 power supply.
Device Configuration
There are various ways to configure the Configuration RAM (CRAM), using SPI port, including:
2-17
iCE40 Ultra Family Data Sheet
DC and Switching Characteristics
June 2016 Data Sheet DS1048
© 2016 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal. All other brand
or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
Power-On Reset
All iCE40 Ultra devices have on-chip Power-On-Reset (POR) circuitry to ensure proper initialization of the device.
Only three supply rails are monitored by the POR circuitry as follows: (1) VCC, (2) SPI_VCCIO1 and (3) VPP_2V5. All
other supply pins have no effect on the power-on reset feature of the device. Note that all supply voltage pins must
be connected to power supplies for normal operation (including device configuration).
Power-Up Supply Sequencing
It is recommended to bring up the power supplies in the following order. Note that there is no specified timing delay
between the power supplies, however, there is a requirement for each supply to reach a level of 0.5V, or higher,
before any subsequent power supplies in the sequence are applied.
1. VCC and VCCPLL should be the first two supplies to be applied. Note that these two supplies can be tied
together subject to the recommendation to include a RC-based noise filter on the VCCPLL (Please refer to
TN1252, iCE40 Hardware Checklist.)
2. SPI_VCCIO1 should be the next supply, and can be applied any time after the previous supplies (VCC and
VCCPLL) have reached as level of 0.5 V or higher.
3. VPP_2V5 should be the next supply, and can be applied any time after previous supplies (VCC, VCCPLL and
SPI_VCCIO1) have reached a level of 0.5 V or higher.
4. Other Supplies (VCCIO0 and VCCIO2) do not affect device power-up functionality, and they can be applied any
time after the initial power supplies (VCC and VCCPLL) have reached a level of 0.5 V or greater.
There is no power down sequence required. However, when partial power supplies are powered down, it is
required the above sequence to be followed when these supplies are repowered up again.
External Reset
When all power supplies have reached to their minimum operating voltage defined in Minimum Operation Condition
Table, it is required to either keep CRESET_B LOW, or toggle CRESET_B from HIGH to LOW, for a duration of
tCRESET_B, and release it to go HIGH, to start configuration download from either the internal NVCM or the external
Flash memory.
Figure 3-1 shows Power-Up sequence when SPI_VCCIO1 and VPP_2V5 are connected separately, and the
CRESET_B signal triggers configuration download. Figure 3-2 shows when SPI_VCCIO1 and VPP_2V5 connected
together.
All power supplies should be powered up during configuration. Before and during configuration, the I/Os are held in
tri-state. I/Os are released to user functionality once the device has finished configuration.
Figure 3-1. Power Up Sequence with SPI_VCCIO1 and VPP_2V5 Not Connected Together
VPP_2V5, VCCIO0 and VCCIO2= 2.5 V / 3.3 V
VSUPPLY(MIN)
SPI_VCCIO1 = 1.8 V
VCC/VCC_PLL = 1.2 V
CRESET_B
tCRESET_B
0.5 V
3-2
DC and Switching Characteristics
iCE40 Ultra Family Data Sheet
VCC/VCC_PLL = 1.2 V
CRESET_B
tCRESET_B
0.5 V
ESD Performance
Please contact Lattice Semiconductor for additional information.
DC Electrical Characteristics
Over Recommended Operating Conditions
Symbol Parameter Condition Min. Typ. Max. Units
IIL, IIH1, 3, 4 Input or I/O Leakage 0V < VIN < VCCIO + 0.2 V — — +/–10 µA
I/O Capacitance, excluding VCCIO = 3.3 V, 2.5 V, 1.8 V
C1 — 6 — pF
LED Drivers2 VCC = Typ., VIO = 0 to VCCIO + 0.2 V
Global Input Buffer VCCIO = 3.3 V, 2.5 V, 1.8 V
C2 — 6 — pF
Capacitance2 VCC = Typ., VIO = 0 to VCCIO + 0.2 V
C3 RGB Pin Capacitance2 VCC = Typ., VIO = 0 to 3.5 V — 15 — pF
C4 IRLED Pin Capacitance2 VCC = Typ., VIO = 0 to 3.5 V — 53 — pF
VHYST Input Hysteresis VCCIO = 1.8 V, 2.5 V, 3.3 V — 200 — mV
VCCIO = 1.8 V, 0=<VIN<=0.65 VCCIO –3 — –31 µA
Internal PIO Pull-up
IPU VCCIO = 2.5 V, 0=<VIN<=0.65 VCCIO –8 — –72 µA
Current
VCCIO = 3.3 V, 0=<VIN<=0.65 VCCIO –11 — –128 µA
1. Input or I/O leakage current is measured with the pin configured as an input or as an I/O with the output driver tri-stated. It is not measured
with the output driver active. Internal pull-up resistors are disabled.
2. TJ 25 °C, f = 1.0 MHz.
3. Please refer to VIL and VIH in the sysIO Single-Ended DC Electrical Characteristics table of this document.
4. Input pins are clamped to VCCIO and GND by a diode. When input is higher than VCCIO or lower than GND, the Input Leakage current will be
higher than the IIL and IIH.
3-3
DC and Switching Characteristics
iCE40 Ultra Family Data Sheet
Supply Current 1, 2, 3, 4, 5
Typ. VCC =
Symbol Parameter 1.2 V4 Units
ICCSTDBY Core Power Supply Static Current 71 µA
IPP2V5STDBY VPP_2V5 Power Supply Static Current 0.55 µA
ISPI_VCCIO1STDBY SPI_VCCIO1 Power Supply Static Current 0.5 µA
ICCIOSTDBY VCCIO Power Supply Static Current 0.5 µA
ICCPEAK Core Power Supply Startup Peak Current 8.0 mA
IPP_2V5PEAK VPP_2V5 Power Supply Startup Peak Current 7.0 mA
ISPI_VCCIO1PEAK SPI_VCCIO1 Power Supply Startup Peak Current 9.0 mA
ICCIOPEAK VCCIO Power Supply Startup Peak Current 7.5 mA
1. Assumes blank pattern with the following characteristics: all outputs are tri-stated, all inputs are configured as LVCMOS and held at VCCIO
or GND, on-chip PLL is off. For more detail with your specific design, use the Power Calculator tool. Power specified with master SPI config-
uration mode. Other modes may be up to 25% higher.
2. Frequency = 0 MHz.
3. TJ = 25 °C, power supplies at nominal voltage, on devices processed in nominal process conditions.
4. Does not include pull-up.
5. Startup Peak Currents are measured with decoupling capacitance of 0.1 uF, 10 nF, and 1 nF to the power supply. Higher decoupling capac-
itance causes higher current.
3-4
DC and Switching Characteristics
iCE40 Ultra Family Data Sheet
3-5
DC and Switching Characteristics
iCE40 Ultra Family Data Sheet
Register-to-Register Performance
Function Timing Units
Basic Functions
16:1 MUX 110 MHz
16-bit adder 100 MHz
16-bit counter 100 MHz
64-bit counter 40 MHz
Embedded Memory Functions
256x16 Pseudo-Dual Port RAM 150 MHz
1. The above timing numbers are generated using the Lattice Design Software tool. Exact performance may
vary with device and tool version. The tool uses internal parameters that have been characterized but are not
tested on every device.
2. Under worst case operating conditions.
3-6
DC and Switching Characteristics
iCE40 Ultra Family Data Sheet
3-7
DC and Switching Characteristics
iCE40 Ultra Family Data Sheet
sysDSP Timing
Over Recommended Operating Conditions
Parameter Description Min. Max. Units
fMAX8x8SMULT Max frequency signed MULT8x8 bypassing
50 — MHz
pipeline register
fMAX16x16SMULT Max frequency signed MULT16x16 bypass-
50 — MHz
ing pipeline register
3-8
DC and Switching Characteristics
iCE40 Ultra Family Data Sheet
3-9
DC and Switching Characteristics
iCE40 Ultra Family Data Sheet
VT
R1
DUT Test Poi nt
CL
3-10
iCE40 Ultra Family Data Sheet
Pinout Information
June 2016 Data Sheet DS1048
Signal Descriptions
Signal Name Function I/O Description
Power Supplies
VCC Power — Core Power Supply
VCCIO_0, SPI_VCCIO1, VCCIO_2 Power — Power for I/Os in Bank 0, 1 and 2.
VPP_2V5 Power — Power for NVCM programming and operations.
VCCPLL Power — Power for PLL
GND GROUND — Ground
GND_LED GROUND — Ground for LED drivers. Should connect to GND on
board.
Configuration
CRESETB Configuration I Configuration Reset, active LOW. No internal pull-up
resistor. Either actively driven externally or connect
an 10 kOhm pull-up to VCCIO_1.
CDONE Configuration I/O Configuration Done. Includes a weak pull-up resistor
to SPI_VCCIO1.
General I/O I/O In user mode, after configuration, this pin can be pro-
grammed as general I/O in user function.
Config SPI
Primary Secondary
CRESETB — Configuration I Configuration Reset, active LOW. No internal pull-up
resistor. Either actively driven externally or connect
an 10 kOhm pull-up to SPI_VCCIO1.
PIOB_xx CDONE Configuration I/O Configuration Done. Includes a weak pull-up resistor
to SPI_VCCIO1.
General I/O I/O In user mode, after configuration, this pin can be pro-
grammed as general I/O in user function.
Config SPI
Primary Secondary
PIOB_34a SPI_SCK Configuration I/O This pin is shared with device configuration. During
configuration:
In Master SPI mode, this pin outputs the clock to
external SPI memory.
In Slave SPI mode, this pin inputs the clock from
external processor.
General I/O I/O In user mode, after configuration, this pin can be pro-
grammed as general I/O in user function
PIOB_32a SPI_SDO Configuration Output This pin is shared with device configuration. During
configuration:
In Master SPI mode, this pin outputs the command
data to external SPI memory.
In Slave SPI mode, this pin connects to the MISO pin
of the external processor.
General I/O I/O In user mode, after configuration, this pin can be pro-
grammed as general I/O in user function.
© 2016 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal. All other brand
or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
4-2
Pinout Information
iCE40 Ultra Family Data Sheet
4-3
Pinout Information
iCE40 Ultra Family Data Sheet
4-4
iCE40 Ultra Family Data Sheet
Ordering Information
June 2016 Data Sheet DS1048
iCE5LPXX-XXXXXITR
Device Family TR
iCE5LP FPGA TR = Tape and Reel (See quantity below)
TR50 = Tape and Reel, 50 units
Logic Cells TR1K = Tape and Reel, 1,000 units
1K = 1,100 Logic Cells Grade
2K = 2,048 Logic Cells I = Industrial
4K = 3,520 Logic Cells
Package
CM36 = 36-Ball ucfBGA (0.40 mm Ball Pitch)
All parts are shipped in tape-and-reel. SWG36 = 36-Ball WLCSP (0.35 mm Ball Pitch)
SG48 = 48-Pin QFN (0.50 mm Pin Pitch)
© 2016 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal. All other brand
or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
5-2
iCE40 Ultra Family Data Sheet
Supplemental Information
October 2014 Data Sheet DS1048
• Schematic Symbols
© 2014 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal. All other brand
or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
© 2016 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal. All other brand
or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
7-2
Revision History
iCE40 Ultra Family Data Sheet
7-3
Revision History
iCE40 Ultra Family Data Sheet
7-4
Revision History
iCE40 Ultra Family Data Sheet
7-5