iCE40™ LP/HX Family Data Sheet
DS1040 Version 3.4, October 2017
iCE40 LP/HX Family Data Sheet
Introduction
March 2017
Data Sheet DS1040
Features
Flexible Logic Architecture
— Schmitt trigger inputs, to 200 mV typical
hysteresis
• Programmable pull-up mode
• Five devices with 384 to 7,680 LUT4s and
10 to 206 I/Os
Ultra Low Power Devices
Flexible On-Chip Clocking
• Advanced 40 nm low power process
• As low as 21 µA standby power
• Programmable low swing differential I/Os
• Eight low-skew global clock resources
• Up to two analog PLLs per device
Flexible Device Configuration
Embedded and Distributed Memory
• SRAM is configured through:
— Standard SPI Interface
— Internal Nonvolatile Configuration Memory
(NVCM)
• Up to 128 kbits sysMEM™ Embedded Block
RAM
Pre-Engineered Source Synchronous I/O
• DDR registers in I/O cells
High Current LED Drivers
Broad Range of Package Options
• WLCSP, QFN, VQFP, TQFP, ucBGA, caBGA,
and csBGA package options
• Small footprint package options
— As small as 1.40 mm x 1.48 mm
• Advanced halogen-free packaging
• Three High Current Drivers used for three different LEDs or one RGB LED
High Performance, Flexible I/O Buffer
• Programmable sysIO™ buffer supports wide
range of interfaces:
— LVCMOS 3.3/2.5/1.8
— LVDS25E, subLVDS
Table 1-1. iCE40 Family Selection Guide
Part Number
Logic Cells (LUT + Flip-Flop)
LP384
LP640
LP1K
LP4K
LP8K
HX1K
HX4K
HX8K
384
640
1,280
3,520
7,680
1,280
3,520
7,680
RAM4K Memory Blocks
0
8
16
20
32
16
20
32
RAM4K RAM bits
0
32K
64K
80K
128K
64K
80K
128K
Phase-Locked Loops (PLLs)
0
0
11
22
22
11
2
2
Maximum Programmable I/O Pins
63
25
95
167
178
95
95
206
Maximum Differential Input Pairs
8
3
12
20
23
11
12
26
High Current LED Drivers
0
3
3
0
0
0
0
0
Package
16 WLCSP
(1.40 mm x 1.48 mm, 0.35
mm)
Code
Programmable I/O: Max Inputs (LVDS25)
10(0)1
SWG16
10(0)1
32 QFN
(5 mm x 5 mm, 0.5 mm)
SG32
21(3)
36 ucBGA
(2.5 mm x 2.5 mm, 0.4 mm)
CM36
25(3)
25(3)1
49 ucBGA
(3 mm x 3 mm, 0.4 mm)
CM49
37(6)
35(5)1
81 ucBGA
(4 mm x 4 mm, 0.4 mm)
CM81
63(8)
81 csBGA
(5 mm x 5 mm, 0.5 mm)
CB81
62(9)1
63(9)2
63(9)2
© 2017 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.
www.latticesemi.com
1-1
DS1040 Introduction_01.7
Introduction
iCE40 LP/HX Family Data Sheet
Table 1-1. iCE40 Family Selection Guide (continued)
84 QFN
(7 mm x 7 mm, 0.5 mm)
QN84
100 VQFP
(14 mm x 14 mm, 0.5 mm)
VQ100
121 ucBGA
(5 mm x 5 mm, 0.4 mm)
CM121
95(12)
121 csBGA
(6 mm x 6 mm, 0.5 mm)
CB121
92(12)
121 caBGA
(9 mm x 9 mm, 0.8 mm)
BG121
132 csBGA
(8 mm x 8 mm, 0.5 mm)
CB132
144 TQFP
(20 mm x 20 mm, 0.5 mm)
TQ144
225 ucBGA
(7 mm x 7 mm, 0.4 mm)
CM225
256-ball caBGA
(14 mm x 14 mm, 0.8 mm)
CT256
67(7)1
72(9)1
93(13)
178(23)
93(13)
178(23)
93(13)
93(13)
95(11)
95(12)
95(12)
96(12)
107(14)
178(23)
206(26)
1. No PLL available on the 16 WLCSP, 36 ucBGA, 81 csBGA, 84 QFN and 100 VQFP packages.
2. Only one PLL available on the 81 ucBGA package.
3. High Current I/Os only available on the 16 WLCSP package.
Introduction
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. Select packages offer
High-Current drivers that are ideal to drive three white LEDs, or one RGB LED.
The iCE40 devices are fabricated on a 40 nm CMOS low power process. The device architecture has several features such as programmable low-swing differential I/Os and the ability to turn off on-chip PLLs dynamically. These
features help manage static and dynamic power consumption, resulting in low static power for all members of the
family. The iCE40 devices are available in two versions – ultra low power (LP) and high performance (HX) devices.
The iCE40 FPGAs are available in a broad range of advanced halogen-free packages ranging from the space
saving 1.40x1.48 mm WLCSP to the PCB-friendly 20x20 mm TQFP. Table 1-1 shows the LUT densities, package
and I/O options, along with other key parameters.
The iCE40 devices offer enhanced I/O features such as pull-up resistors. Pull-up features are controllable on a
“per-pin” basis.
The iCE40 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
family of devices. Popular logic synthesis tools provide synthesis library support for iCE40. 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 device. These tools extract the timing from the routing and back-annotate it into the design for timing verification.
Lattice provides many pre-engineered IP (Intellectual Property) modules, including a number of reference designs,
licensed free of charge, optimized for the iCE40 FPGA family. By using these configurable soft core IP cores as
standardized blocks, users are free to concentrate on the unique aspects of their design, increasing their productivity.
1-2
iCE40 LP/HX Family Data Sheet
Architecture
March 2017
Data Sheet DS1040
Architecture Overview
The iCE40 family architecture contains an array of Programmable Logic Blocks (PLB), sysCLOCK™ PLLs, Nonvolatile Programmable Configuration Memory (NVCM) and blocks of sysMEM™ Embedded Block RAM (EBR) surrounded by Programmable I/O (PIO). Figure 2-1 shows the block diagram of the iCE40LP/HX1K device.
Figure 2-1. iCE40LP/HX1K Device, Top View
Programmable
Logic Block (PLB)
8 Logic Cells = Programmable Logic Block
I/O Bank 0
PLB
PLB
PLB
PLB
PLB
PLB
PLB
PLB
PLB
I/O Bank 1
PLB
PLB
PLB
PLB
Programmable Interconnect
PLB
PLB
PLB
PLB
PLB
PLB
PLB
PLB
PLB
PLB
PLB
PLB
4 kbit RAM
PLB
PLB
4 kbit RAM
PLB
PLB
PLB
PLB
Programmable Interconnect
PLB
I/O Bank 3
Programmable Interconnect
PLL
NVCM
SPI
Bank
I/O Bank 2
Non-volatile
Configuration Memory
(NVCM)
Phase-Locked
Loop
Carry Logic
4-Input Look-up
Table (LUT4)
Flip-flop with Enable
and Reset Controls
The logic blocks, Programmable Logic Blocks (PLB) and sysMEM EBR blocks, are arranged in a two-dimensional
grid with rows and columns. Each column has either logic blocks or EBR blocks. The PIO cells are located at the
periphery 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 standards. 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 family, there are up to four independent sysIO banks. Note on some packages VCCIO banks are tied
together. There are different types of I/O buffers on the different banks. Refer to the details in later sections of this
document. The sysMEM EBRs are large 4 kbit, dedicated fast memory blocks. These blocks can be configured as
RAM, ROM or FIFO.
The iCE40 architecture also provides up to two sysCLOCK Phase Locked Loop (PLL) blocks. The PLLs have multiply, divide, and phase shifting capabilities that are used to manage the frequency and phase relationships of the
clocks.
Every device in the family has a SPI port that supports programming and configuration of the device. The iCE40
includes on-chip, Nonvolatile Configuration Memory (NVCM).
© 2017 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.
www.latticesemi.com
2-1
DS1040 Architecture_01.4
Architecture
iCE40 LP/HX Family Data Sheet
PLB Blocks
The core of the iCE40 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.
Figure 2-2. PLB Block Diagram
Shared Block-Level Controls
Clock
Programmable Logic
Block (PLB)
Enable
FCOUT
1
Set/Reset
0
Logic Cell
Carry Logic
DFF
8 Logic Cells (LCs)
I0
D
O
Q
EN
I1
LUT4
I2
SR
I3
FCIN
Four-input
Look-Up Table
(LUT4)
Flip-flop with
optional enable and
set or reset controls
= Statically defined by configuration program
Logic Cells
Each Logic Cell includes three primary logic elements shown in Figure 2-2.
• A four-input Look-Up Table (LUT4) builds any combinational logic function, of any complexity, requiring up to
four inputs. Similarly, the LUT4 element behaves as a 16x1 Read-Only Memory (ROM). Combine and cascade multiple LUT4s to create wider logic functions.
• A ‘D’-style Flip-Flop (DFF), with an optional clock-enable and reset control input, builds sequential logic functions. 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, subtractors,
comparators, binary counters and some wide, cascaded logic functions.
Table 2-1. Logic Cell Signal Descriptions
Function
Type
Input
Data signal
Input
Control signal
Signal Names
I0, I1, I2, I3
Enable
Description
Inputs to LUT4
Clock enable shared by all LCs in the PLB
Input
Control signal
Set/Reset1
Asynchronous or synchronous local set/reset shared by all LCs in
the PLB.
Input
Control signal
Clock
Clock one of the eight Global Buffers, or from the general-purpose
interconnects fabric shared by all LCs in the PLB
Input
Inter-PLB signal
FCIN
Fast carry in
Output
Data signals
Output
Inter-PFU signal
O
FCOUT
LUT4 or registered output
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 LP/HX Family Data Sheet
Routing
There are many resources provided in the iCE40 devices to route signals individually with related control signals.
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.
Clock/Control Distribution Network
Each iCE40 device has eight global inputs, two pins on each side of the device. Note that not all GBINs are available in all packages.
These global inputs can be used as high fanout nets, clock, reset or enable signals. The dedicated global pins are
identified as GBIN[7:0] and the global buffers are identified as-GBUF[7:0]. These eight inputs may be used as general purpose I/O if they are not used to drive the clock nets. Global buffer GBUF7 in I/O Bank 3 also provides an
optional direct LVDS25 or subLVDS differential clock input.
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.
Table 2-2. Global Buffer (GBUF) Connections to Programmable Logic Blocks
Global Buffer
Clock
Reset
GBUF0
Yes
Yes
GBUF1
Yes
GBUF2
Yes
GBUF3
Yes
GBUF4
LUT Inputs
Yes, any 4 of 8
GBUF Inputs
Yes
GBUF5
Yes
GBUF6
Yes
GBUF7
Yes
Clock Enable
Yes
Yes
Yes
Yes
Yes
Yes
Yes
The maximum frequency for the global buffers are shown in the iCE40 External Switching Characteristics tables
later in this document.
Global Hi-Z Control
The global high-impedance control signal, GHIZ, connects to all I/O pins on the iCE40 device. This GHIZ signal is
automatically asserted throughout the configuration process, forcing all user I/O pins into their high-impedance
state.
2-3
Architecture
iCE40 LP/HX Family Data Sheet
Global Reset Control
The global reset control signal connects to all PLB and PIO flip-flops on the iCE40 device. The global reset signal is
automatically asserted throughout the configuration process, forcing all flip-flops to their defined wake-up state. For
PLB flip-flops, the wake-up state is always reset, regardless of the PLB flip-flop primitive used in the application.
sysCLOCK Phase Locked Loops (PLLs)
The sysCLOCK PLLs provide the ability to synthesize clock frequencies. The iCE40 devices have one or more sysCLOCK PLLs. REFERENCECLK is the reference frequency input to the PLL and its source can come from an
external I/O pin or from internal routing. EXTFEEDBACK is the feedback signal to the PLL which can come from
internal routing or an external I/O pin. The feedback divider is used to multiply the reference frequency and thus
synthesize a higher frequency clock output.
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 6. The PLLOUT outputs can all be used to drive the iCE40 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.
For more details on the PLL, see TN1251, iCE40 sysCLOCK PLL Design and Usage Guide.
Figure 2-3. PLL Diagram
RESET
BYPASS
BYPASS
GNDPLL VCCPLL
REFERENCECLK
DIVR
Phase
Detector
Input
Divider
RANGE
Low-Pass
Filter
DIVQ
Voltage
Controlled
Oscillator
(VCO)
VCO
Divider
SIMPLE
DIVF
PLLOUTCORE
Feedback
Divider
Fine Delay
Adjustment
Feedback
Phase
Shifter
Fine Delay
Adjustment
Output Port
PLLOUTGLOBAL
Feedback_Path
LOCK
DYNAMICDELAY[7:0]
EXTFEEDBACK
LATCHINPUTVALUE
EXTERNAL
Low Power mode
(iCEgate enabled)
Table 2-3 provides signal descriptions of the PLL block.
2-4
Architecture
iCE40 LP/HX Family Data Sheet
Table 2-3. PLL Signal Descriptions
Signal Name
REFERENCECLK
Direction
Input
Description
Input reference clock
When FEEDBACK_PATH is set to SIMPLE, the BYPASS control selects which clock signal connects to the PLLOUT output.
BYPASS
Input
EXTFEEDBACK
Input
External feedback input to PLL. Enabled when the FEEDBACK_PATH attribute is set to
EXTERNAL.
DYNAMICDELAY[3:0]
Input
Fine delay adjustment control inputs. Enabled when DELAY_ADJUSTMENT_MODE is
set to DYNAMIC.
LATCHINPUTVALUE
Input
When enabled, forces the PLL into low-power mode; PLL output is held static at the last
input clock value. Set ENABLE ICEGATE_PORTA and PORTB to ‘1’ to enable.
PLLOUTGLOBAL
Output
Output from the Phase-Locked Loop (PLL). Drives a global clock network on the FPGA.
The port has optimal connections to global clock buffers GBUF4 and GBUF5.
PLLOUTCORE
Output
Output clock generated by the PLL, drives regular FPGA routing. The frequency generated on this output is the same as the frequency of the clock signal generated on the
PLLOUTLGOBAL port.
LOCK
Output
When High, indicates that the PLL output is phase aligned or locked to the input reference clock.
RESET
Input
0 = PLL generated signal
1 = REFERENCECLK
Active low reset.
sysMEM Embedded Block RAM Memory
Larger iCE40 device includes multiple high-speed synchronous sysMEM Embedded Block RAMs (EBRs), each 4
kbit in size. This memory can be used for a wide variety of purposes including data buffering, and FIFO.
sysMEM Memory Block
The sysMEM block can implement single port, pseudo dual port, or FIFO memories with programmable logic
resources. Each block can be used in a variety of depths and widths as shown in Table 2-4.
Table 2-4. sysMEM Block Configurations1
Block RAM
Configuration
and Size
WADDR Port
Size (Bits)
WDATA Port
Size (Bits)
RADDR Port
Size (Bits)
RDATA Port
Size (Bits)
MASK Port
Size (Bits)
SB_RAM256x16
SB_RAM256x16NR
SB_RAM256x16NW
SB_RAM256x16NRNW
256x16 (4K)
8 [7:0]
16 [15:0]
8 [7:0]
16 [15:0]
16 [15:0]
SB_RAM512x8
SB_RAM512x8NR
SB_RAM512x8NW
SB_RAM512x8NRNW
512x8 (4K)
9 [8:0]
8 [7:0]
9 [8:0]
8 [7:0]
No Mask Port
SB_RAM1024x4
SB_RAM1024x4NR
SB_RAM1024x4NW
SB_RAM1024x4NRNW
1024x4 (4K)
10 [9:0]
4 [3:0]
10 [9:0]
4 [3:0]
No Mask Port
SB_RAM2048x2
SB_RAM2048x2NR
SB_RAM2048x2NW
SB_RAM2048x2NRNW
2048x2 (4K)
11 [10:0]
2 [1:0]
11 [10:0]
2 [1:0]
No Mask Port
Block RAM
Configuration
1. For iCE40 EBR primitives with a negative-edged Read or Write clock, the base primitive name is appended with a ‘N’ and a ‘R’ or ‘W’
depending on the clock that is affected.
2-5
Architecture
iCE40 LP/HX Family Data Sheet
RAM Initialization and ROM Operation
If desired, the contents of the RAM can be pre-loaded during device configuration.
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.
Note the sysMEM Embedded Block RAM Memory address 0 cannot be initialized.
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.
Figure 2-4. sysMEM Memory Primitives
Write Port
Read Port
WDATA[15:0]
RDATA[15:0]
MASK[15:0]
RADDR[7:0]
WADDR[7:0]
WE
RAM4K
RAM Block
(256x16)
RE
WCLKE
RCLKE
WCLK
RCLK
Table 2-5. EBR Signal Descriptions
Signal Name
Direction
Description
WDATA[15:0]
Input
Write Data input.
MASK[15:0]
Input
Masks write operations for individual data bit-lines.
0 = write bit; 1 = don’t write bit
WADDR[7:0]
Input
Write Address input. Selects one of 256 possible RAM locations.
WE
Input
Write Enable input.
WCLKE
Input
Write Clock Enable input.
WCLK
Input
Write Clock input. Default rising-edge, but with falling-edge option.
RDATA[15:0]
Output
RADDR[7:0]
Input
Read Data output.
Read Address input. Selects one of 256 possible RAM locations.
RE
Input
Read Enable input.
RCLKE
Input
Read Clock Enable input.
RCLK
Input
Read Clock input. Default rising-edge, but with falling-edge option.
For further information on the sysMEM EBR block, please refer to TN1250, Memory Usage Guide for iCE40 Devices.
2-6
Architecture
iCE40 LP/HX Family Data Sheet
sysIO
Buffer Banks
iCE40 devices have up to four I/O banks with independent VCCIO rails with an additional configuration bank
VCC_SPI for the SPI I/Os.
Programmable I/O (PIO)
The programmable logic associated with an I/O is called a PIO. The individual PIO are connected to their respective sysIO buffers and pads. The PIOs are placed on all four sides of the device.
Figure 2-5. I/O Bank and Programmable I/O Cell
VCCIO
I/O Bank 0, 1, 2, or 3
Voltage Supply
Enabled ‘1’
Disabled ‘0’
VCC
Internal Core
0 = Hi-Z
1 = Output
Enabled
Pull-up
OE
VCCIO_0
Pull-up
Enable
OUTCLK
I/O Bank 0
General-Purpose I/O
I/O Bank 2
General-Purpose I/O
VCCIO_2
OUT
PAD
OUTCLK
VCCIO_1
I/O Bank 1
General-Purpose I/O
I/O Bank 3
Special/LVDS I/O
VCCIO_3
PIO
iCEGATE
HOLD
HD
Latch inhibits
switching for
lowest power
IN
IN
INCLK
SPI
Bank
GBIN pins optionally
connect directly to an
associated GBUF global
buffer
Programmable Input/Output
VCC_SPI
= Statically defined by configuration program
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.
Input Register Block
The input register blocks for the PIOs on all edges contain registers that can be used to condition high-speed interface signals before they are passed to the device core. In Generic DDR mode, two registers are used to sample the
data on the positive and negative edges of the system clock signal, creating two data streams.
Output Register Block
The output register block can optionally register signals from the core of the device before they are passed to the
sysIO buffers. In Generic DDR mode, two registers are used to capture the data on the positive and negative edge
of the system clock and then muxed creating one data stream.
Figure 2-6 shows the input/output register block for the PIOs.
2-7
Architecture
iCE40 LP/HX Family Data Sheet
Figure 2-6. iCE I/O Register Block Diagram
PIO Pair
CLOCK_ENABLE
OUTPUT_CLK
INPUT_CLK
(1,0)
LATCH_INPUT_VALUE
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
= Statically defined by configuration program.
Table 2-6. PIO Signal List
Pin Name
OUTPUT_CLK
I/O Type
Input
Description
Output register clock
CLOCK_ENABLE
Input
Clock enable
INPUT_CLK
Input
Input register clock
OUTPUT_ENABLE
Input
Output enable
D_OUT_0/1
Input
Data from the core
D_IN_0/1
LATCH_INPUT_VALUE
Output
Data to the core
Input
Latches/holds the Input Value
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 including LVCMOS and LVDS25.
High Current LED Drivers combine three sysIO buffers together. This allows for programmable drive strength. This
also allows for high current drivers that are ideal to drive three white LEDs, or one RGB LED. Each bank is capable
of supporting multiple I/O standards including single-ended LVCMOS buffers and differential LVDS25E output buf2-8
Architecture
iCE40 LP/HX Family Data Sheet
fers. Bank 3 additionally supports differential LVDS25 input buffers. Each sysIO bank has its own dedicated power
supply.
Typical I/O Behavior During Power-up
The internal power-on-reset (POR) signal is deactivated when VCC, VCCIO_2, VPP_2V5, and VCC_SPI have reached
the level defined in the Power-On-Reset Voltage table in the DC and Switching Characteristics section of this data
sheet. After the POR signal is deactivated, the FPGA core logic becomes active. It is the user’s responsibility to
ensure that all VCCIO banks are active with valid input logic levels to properly control the output logic states of all
the I/O banks that are critical to the application. The default configuration of the I/O pins in a device prior to configuration is tri-stated with a weak pull-up to VCCIO. The I/O pins will maintain the pre-configuration state until VCC and
VCCIO (for I/O banks containing configuration I/Os) have reached levels, at which time the I/Os will take on the software user-configured settings only after a proper download/configuration. Unused IOs are automatically blocked
and the pullup termination is disabled.
Supported Standards
The iCE40 sysIO buffer supports both single-ended and differential input standards. The single-ended standard
supported is LVCMOS. 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). The High Current output buffer have individually
configurable options for drive strength.
Table 2-7 and Table 2-8 show the I/O standards (together with their supply and reference voltages) supported by
the iCE40 devices.
Table 2-7. Supported Input Standards
Input Standard
VCCIO (Typical)
3.3 V
2.5 V
1.8 V
Single-Ended Interfaces
LVCMOS33
Yes
LVCMOS25
Yes
LVCMOS18
Yes
Differential Interfaces
LVDS251
Yes
subLVDS1
Yes
1. Bank 3 only.
Table 2-8. Supported Output Standards
Output Standard
VCCIO (Typical)
Single-Ended Interfaces
LVCMOS33
3.3
LVCMOS25
2.5
LVCMOS18
1.8
Differential Interfaces
LVDS25E1
2.5
subLVDSE1
1.8
1. These interfaces can be emulated with external resistors in all devices.
Non-Volatile Configuration Memory
All iCE40 devices provide a Non-Volatile Configuration Memory (NVCM) block which can be used to configure the
device.
For more information on the NVCM, please refer to TN1248, iCE40 Programming and Configuration Usage Guide.
2-9
Architecture
iCE40 LP/HX Family Data Sheet
Power On Reset
iCE40 devices have power-on reset circuitry to monitor VCC, VCCIO_2, VPP_2V5, and VCC_SPI voltage levels during
power-up and operation. At power-up, the POR circuitry monitors VCC, VCCIO_2, VPP_2V5, and VCC_SPI (controls
configuration) voltage levels. It then triggers download from the on-chip NVCM or external Flash memory after
reaching the power-up levels specified in the Power-On-Reset Voltage table in the DC and Switching Characteristics section of this data sheet. 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.
Programming and Configuration
This section describes the programming and configuration of the iCE40 family.
Device Programming
The NVCM memory can be programmed through the SPI port.
Device Configuration
There are various ways to configure the Configuration RAM (CRAM) including:
1. Internal NVCM Download
2. From a SPI Flash (Master SPI mode)
3. System microprocessor to drive a Serial Slave SPI port (SSPI mode)
The image to configure the CRAM can be selected by the user on power up (Cold Boot) or once powered up
(Warm Boot).
For more details on programming and configuration, see TN1248, iCE40 Programming and Configuration Usage
Guide.
Power Saving Options
iCE40 devices are available in two options for maximum flexibility: LP and HX devices. The LP devices have ultra
low static and dynamic power consumption. HX devices are designed to provide high performance. Both the LP
and the HX devices operate at 1.2 V VCC.
iCE40 devices feature iCEGate and PLL low power mode to allow users to meet the static and dynamic power
requirements of their applications. While these features are available in both device types, these features are
mainly intended for use with iCE40 LP devices to manage power consumption.
Table 2-9. iCE40 Power Saving Features Description
Device Subsystem
Feature Description
PLL
When LATCHINPUTVALUE is enabled, forces the PLL into low-power mode; PLL output held static
at last input clock value.
iCEGate
To save power, the optional iCEgate latch can selectively freeze the state of individual, non-registered inputs within an I/O bank. Registered inputs are effectively frozen by their associated clock or
clock-enable control.
2-10
iCE40 LP/HX Family Data Sheet
DC and Switching Characteristics
October 2015
Data Sheet DS1040
Absolute Maximum Ratings1, 2, 3, 4
iCE40 LP/HX
Supply Voltage VCC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . –0.5 V to 1.42 V
Output Supply Voltage VCCIO, VCC_SPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . –0.5 V to 3.60 V
NVCM Supply Voltage VPP_2V5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . –0.5 V to 3.60 V
PLL Supply Voltage VCCPLL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . –0.5 V to 1.30 V
I/O Tri-state Voltage Applied. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . –0.5 V to 3.60 V
Dedicated Input Voltage Applied . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . –0.5 V to 3.60 V
Storage Temperature (Ambient). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . –65 °C to 150 °C
Junction Temperature (TJ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . –55 °C to 125 °C
1. Stress above those listed under the “Absolute Maximum Ratings” may cause permanent damage to the device. Functional operation of the
device at these or any other conditions above those indicated in the operational sections of this specification is not implied.
2. Compliance with the Lattice Thermal Management document is required.
3. All voltages referenced to GND.
4. IOs can support a 200 mV Overshoot above the Recommend Operating Conditions VCCIO (Max) and -200mV Undershoot below VIL (Min).
Overshoot and Undershoot is permitted for 25% duty cycle but must not exceed 1.6 ns.
Recommended Operating Conditions1
Symbol
VCC1
VPP_2V5
Parameter
Core Supply Voltage
VPP_2V5 NVCM Programming and
Operating Supply Voltage
Min.
Max.
Units
1.14
1.26
V
Slave SPI Configuration
1.71
3.46
V
Master SPI Configuration
2.30
3.46
V
Configure from NVCM
2.30
3.46
V
NVCM Programming
2.30
3.00
V
VPP_FAST4
Optional fast NVCM programming supply. Leave unconnected.
N/A
N/A
V
VCCPLL5, 6
PLL Supply Voltage
1.14
1.26
V
VCCIO1, 2, 3
I/O Driver Supply Voltage
VCCIO0-3
1.71
3.46
V
VCC_SPI
1.71
3.46
V
tJIND
Junction Temperature Industrial Operation
–40
100
°C
tPROG
Junction Temperature NVCM Programming
10
30
°C
1. Like power supplies must be tied together. For example, if VCCIO and VCC_SPI are both the same voltage, they must also be the same supply.
2. See recommended voltages by I/O standard in subsequent table.
3. VCCIO pins of unused I/O banks should be connected to the VCC power supply on boards.
4. VPP_FAST, used only for fast production programming, must be left floating or unconnected in applications, except CM36 and CM49 packages MUST have the VPP_FAST ball connected to VCCIO_0 ball externally.
5. No PLL available on the iCE40LP384 and iCE40LP640 device.
6. VCCPLL is tied to VCC internally in packages without PLLs pins.
© 2015 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.
www.latticesemi.com
3-1
DS1040 DC and Switching_02.0
DC and Switching Characteristics
iCE40 LP/HX Family Data Sheet
Power Supply Ramp Rates1, 2
Symbol
tRAMP
Parameter
Power supply ramp rates for all
power supplies.
Min.
Max.
Units
All configuration modes. No power
supply sequencing.
0.40
10
V/ms
Configuring from Slave SPI. No
power supply sequencing,
0.01
10
V/ms
Configuring from NVCM. VCC and
VPP_2V5 to be powered 0.25 ms
before VCC_SPI.
0.01
10
V/ms
Configuring from MSPI. VCC and
VPP_SPI to be powered 0.25 ms
before VPP_2V5.
0.01
10
V/ms
1. Assumes monotonic ramp rates.
2. iCE40LP384 requires VCC to be greater than 0.7V when VCCIO and VCC_SPI are above GND.
Power-On-Reset Voltage Levels1
Symbol
VPORUP
Device
iCE40LP384
iCE40LP640,
iCE40LP/HX1K,
iCE40LP/HX4K,
iCE40LP/HX8K
VPORDN
iCE40LP384
iCE40LP640,
iCE40LP/HX1K,
iCE40LP/HX4K,
iCE40LP/HX8K
Parameter
Min.
Max.
Units
Power-On-Reset ramp-up trip point VCC
(band gap based circuit monitoring VCCIO_2
VCC, VCCIO_2, VCC_SPI and
VCC_SPI
VPP_2V5)
VPP_2V5
0.67
0.99
V
0.70
1.59
V
0.70
1.59
V
0.70
1.59
V
Power-On-Reset ramp-up trip point VCC
(band gap based circuit monitoring VCCIO_2
VCC, VCCIO_2, VCC_SPI and
VCC_SPI
VPP_2V5)
VPP_2V5
0.55
0.75
V
0.86
1.29
V
0.86
1.29
V
0.86
1.33
V
Power-On-Reset ramp-down trip
VCC
point (band gap based circuit moni- VCCIO_2
toring VCC, VCCIO_2, VCC_SPI
VCC_SPI
and VPP_2V5)
VPP_2V5
—
—
—
—
—
—
—
—
0.64
V
1.59
V
1.59
V
1.59
V
0.75
V
1.29
V
1.29
V
1.33
V
Power-On-Reset ramp-down trip
VCC
point (band gap based circuit moni- VCCIO_2
toring VCC, VCCIO_2, VCC_SPI
VCC_SPI
and VPP_2V5)
VPP_2V5
1. These POR trip points are only provided for guidance. Device operation is only characterized for power supply voltages specified under recommended operating conditions.
ESD Performance
Please refer to the iCE40 Product Family Qualification Summary for complete qualification data, including ESD performance.
3-2
DC and Switching Characteristics
iCE40 LP/HX Family Data Sheet
DC Electrical Characteristics
Over Recommended Operating Conditions
Parameter
Condition
Min.
Typ.
Max.
Units
IIL, IIH1, 3, 4, 5, 6, 7 Input or I/O Leakage
Symbol
0V < VIN < VCCIO + 0.2 V
—
—
+/–10
µA
I/O Capacitance2
VCCIO = 3.3 V, 2.5 V, 1.8 V
VCC = Typ., VIO = 0 to VCCIO + 0.2 V
—
6
—
pf
C26, 7
Global Input Buffer
Capacitance2
VCCIO = 3.3 V, 2.5 V, 1.8 V
VCC = Typ., VIO = 0 to VCCIO + 0.2 V
—
6
—
pf
VHYST
Input Hysteresis
VCCIO = 1.8 V, 2.5 V, 3.3 V
—
200
—
mV
IPU6, 7
Internal PIO Pull-up
Current
VCCIO = 1.8 V, 0=