LatticeXP2™ Family Data Sheet
DS1009 Version 2.2, September 2014
LatticeXP2 Family Data Sheet
Introduction
February 2012
Data Sheet DS1009
Flexible I/O Buffer
Features
• sysIO™ buffer supports:
– LVCMOS 33/25/18/15/12; LVTTL
– SSTL 33/25/18 class I, II
– HSTL15 class I; HSTL18 class I, II
– PCI
– LVDS, Bus-LVDS, MLVDS, LVPECL, RSDS
flexiFLASH™ Architecture
•
•
•
•
•
•
Instant-on
Infinitely reconfigurable
Single chip
FlashBAK™ technology
Serial TAG memory
Design security
Pre-engineered Source Synchronous
Interfaces
Live Update Technology
• DDR / DDR2 interfaces up to 200 MHz
• 7:1 LVDS interfaces support display applications
• XGMII
• TransFR™ technology
• Secure updates with 128 bit AES encryption
• Dual-boot with external SPI
Density And Package Options
sysDSP™ Block
• 5k to 40k LUT4s, 86 to 540 I/Os
• csBGA, TQFP, PQFP, ftBGA and fpBGA packages
• Density migration supported
• Three to eight blocks for high performance
Multiply and Accumulate
• 12 to 32 18x18 multipliers
• Each block supports one 36x36 multiplier or four
18x18 or eight 9x9 multipliers
Flexible Device Configuration
• SPI (master and slave) Boot Flash Interface
• Dual Boot Image supported
• Soft Error Detect (SED) macro embedded
Embedded and Distributed Memory
• Up to 885 Kbits sysMEM™ EBR
• Up to 83 Kbits Distributed RAM
System Level Support
• IEEE 1149.1 and IEEE 1532 Compliant
• On-chip oscillator for initialization & general use
• Devices operate with 1.2V power supply
sysCLOCK™ PLLs
• Up to four analog PLLs per device
• Clock multiply, divide and phase shifting
Table 1-1. LatticeXP2 Family Selection Guide
Device
LUTs (K)
XP2-5
XP2-8
XP2-17
XP2-30
XP2-40
5
8
17
29
40
Distributed RAM (KBits)
10
18
35
56
83
EBR SRAM (KBits)
166
221
276
387
885
EBR SRAM Blocks
9
12
15
21
48
sysDSP Blocks
3
4
5
7
8
18 x 18 Multipliers
12
16
20
28
32
VCC Voltage
1.2
1.2
1.2
1.2
1.2
GPLL
Max Available I/O
2
2
4
4
4
172
201
358
472
540
86
86
Packages and I/O Combinations
132-Ball csBGA (8 x 8 mm)
144-Pin TQFP (20 x 20 mm)
100
100
208-Pin PQFP (28 x 28 mm)
146
146
256-Ball ftBGA (17 x17 mm)
172
201
484-Ball fpBGA (23 x 23 mm)
672-Ball fpBGA (27 x 27 mm)
146
201
201
358
363
363
472
540
© 2012 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
DS1009 Introduction_01.4
Introduction
LatticeXP2 Family Data Sheet
Introduction
LatticeXP2 devices combine a Look-up Table (LUT) based FPGA fabric with non-volatile Flash cells in an architecture referred to as flexiFLASH.
The flexiFLASH approach provides benefits including instant-on, infinite reconfigurability, on chip storage with
FlashBAK embedded block memory and Serial TAG memory and design security. The parts also support Live
Update technology with TransFR, 128-bit AES Encryption and Dual-boot technologies.
The LatticeXP2 FPGA fabric was optimized for the new technology from the outset with high performance and low
cost in mind. LatticeXP2 devices include LUT-based logic, distributed and embedded memory, Phase Locked
Loops (PLLs), pre-engineered source synchronous I/O support and enhanced sysDSP blocks.
Lattice Diamond® design software allows large and complex designs to be efficiently implemented using the
LatticeXP2 family of FPGA devices. Synthesis library support for LatticeXP2 is available for popular logic synthesis
tools. The Diamond software uses the synthesis tool output along with the constraints from its floor planning tools
to place and route the design in the LatticeXP2 device. The Diamond tool extracts the timing from the routing and
back-annotates it into the design for timing verification.
Lattice provides many pre-designed Intellectual Property (IP) LatticeCORE™ modules for the LatticeXP2 family. By
using these IPs as standardized blocks, designers are free to concentrate on the unique aspects of their design,
increasing their productivity.
1-2
LatticeXP2 Family Data Sheet
Architecture
August 2014
Data Sheet DS1009
Architecture Overview
Each LatticeXP2 device contains an array of logic blocks surrounded by Programmable I/O Cells (PIC). Interspersed between the rows of logic blocks are rows of sysMEM™ Embedded Block RAM (EBR) and a row of sysDSP™ Digital Signal Processing blocks as shown in Figure 2-1.
On the left and right sides of the Programmable Functional Unit (PFU) array, there are Non-volatile Memory Blocks.
In configuration mode the nonvolatile memory is programmed via the IEEE 1149.1 TAP port or the sysCONFIG™
peripheral port. On power up, the configuration data is transferred from the Non-volatile Memory Blocks to the configuration SRAM. With this technology, expensive external configuration memory is not required, and designs are
secured from unauthorized read-back. This transfer of data from non-volatile memory to configuration SRAM via
wide busses happens in microseconds, providing an “instant-on” capability that allows easy interfacing in many
applications. LatticeXP2 devices can also transfer data from the sysMEM EBR blocks to the Non-volatile Memory
Blocks at user request.
There are two kinds of logic blocks, the PFU and the PFU without RAM (PFF). The PFU contains the building
blocks for logic, arithmetic, RAM and ROM functions. The PFF block contains building blocks for logic, arithmetic
and ROM functions. Both PFU and PFF blocks are optimized for flexibility allowing complex designs to be implemented quickly and efficiently. Logic Blocks are arranged in a two-dimensional array. Only one type of block is used
per row.
LatticeXP2 devices contain one or more rows of sysMEM EBR blocks. sysMEM EBRs are large dedicated 18Kbit
memory blocks. Each sysMEM block can be configured in a variety of depths and widths of RAM or ROM. In addition, LatticeXP2 devices contain up to two rows of DSP Blocks. Each DSP block has multipliers and adder/accumulators, which are the building blocks for complex signal processing capabilities.
Each PIC block encompasses two PIOs (PIO pairs) with their respective sysIO buffers. The sysIO buffers of the
LatticeXP2 devices are arranged into eight banks, allowing the implementation of a wide variety of I/O standards.
PIO pairs on the left and right edges of the device can be configured as LVDS transmit/receive pairs. The PIC logic
also includes pre-engineered support to aid in the implementation of high speed source synchronous standards
such as 7:1 LVDS interfaces, found in many display applications, and memory interfaces including DDR and DDR2.
The LatticeXP2 registers in PFU and sysI/O can be configured to be SET or RESET. After power up and device is
configured, the device enters into user mode with these registers SET/RESET according to the configuration setting, allowing device entering to a known state for predictable system function.
Other blocks provided include PLLs and configuration functions. The LatticeXP2 architecture provides up to four
General Purpose PLLs (GPLL) per device. The GPLL blocks are located in the corners of the device.
The configuration block that supports features such as configuration bit-stream de-encryption, transparent updates
and dual boot support is located between banks two and three. Every device in the LatticeXP2 family supports a
sysCONFIG port, muxed with bank seven I/Os, which supports serial device configuration. A JTAG port is provided
between banks two and three.
This family also provides an on-chip oscillator. LatticeXP2 devices use 1.2V as their core voltage.
© 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.
www.latticesemi.com
2-1
DS1009 Architecture_01.8
Architecture
LatticeXP2 Family Data Sheet
Figure 2-1. Simplified Block Diagram, LatticeXP2-17 Device (Top Level)
sysIO Buffers,
Pre-Engineered Source
Synchronous Support
On-chip
Oscillator
Programmable
Function Units
(PFUs)
SPI Port
sysMEM Block
RAM
JTAG Port
DSP Blocks
Flash
sysCLOCK PLLs
Flexible Routing
PFU Blocks
The core of the LatticeXP2 device is made up of logic blocks in two forms, PFUs and PFFs. PFUs can be programmed to perform logic, arithmetic, distributed RAM and distributed ROM functions. PFF blocks can be programmed to perform logic, arithmetic and ROM functions. Except where necessary, the remainder of this data
sheet will use the term PFU to refer to both PFU and PFF blocks.
Each PFU block consists of four interconnected slices, numbered Slice 0 through Slice 3, as shown in Figure 2-2.
All the interconnections to and from PFU blocks are from routing. There are 50 inputs and 23 outputs associated
with each PFU block.
2-2
Architecture
LatticeXP2 Family Data Sheet
Figure 2-2. PFU Diagram
From
Routing
LUT4 &
CARRY
LUT4 &
CARRY
LUT4 &
CARRY
Slice 0
LUT4 &
CARRY
Slice 1
D
FF
LUT4 &
CARRY
D
D
FF
LUT4
D
FF
FF
LUT4
Slice 3
Slice 2
D
FF
LUT4 &
CARRY
D
FF
To
Routing
Slice
Slice 0 through Slice 2 contain two 4-input combinatorial Look-Up Tables (LUT4), which feed two registers. Slice 3
contains two LUT4s and no registers. For PFUs, Slice 0 and Slice 2 can also be configured as distributed memory,
a capability not available in PFF blocks. Table 2-1 shows the capability of the slices in both PFF and PFU blocks
along with the operation modes they enable. In addition, each PFU contains logic that allows the LUTs to be combined to perform functions such as LUT5, LUT6, LUT7 and LUT8. There is control logic to perform set/reset functions (programmable as synchronous/asynchronous), clock select, chip-select and wider RAM/ROM functions.
Figure 2-3 shows an overview of the internal logic of the slice. The registers in the slice can be configured as positive/negative edge triggered or level sensitive clocks.
Table 2-1. Resources and Modes Available per Slice
PFU BLock
Slice
Resources
PFF Block
Modes
Resources
Modes
Slice 0
2 LUT4s and 2 Registers Logic, Ripple, RAM, ROM 2 LUT4s and 2 Registers
Logic, Ripple, ROM
Slice 1
2 LUT4s and 2 Registers
2 LUT4s and 2 Registers
Logic, Ripple, ROM
Slice 2
2 LUT4s and 2 Registers Logic, Ripple, RAM, ROM 2 LUT4s and 2 Registers
Logic, Ripple, ROM
Slice 3
2 LUT4s
Logic, Ripple, ROM
Logic, ROM
2 LUT4s
Logic, ROM
Slice 0 through Slice 2 have 14 input signals: 13 signals from routing and one from the carry-chain (from the adjacent slice or PFU). There are seven outputs: six to routing and one to carry-chain (to the adjacent PFU). Slice 3 has
13 input signals from routing and four signals to routing. Table 2-2 lists the signals associated with Slice 0 to Slice
2.
2-3
Architecture
LatticeXP2 Family Data Sheet
Figure 2-3. Slice Diagram
FCO from Slice/PFU, FCI into Different Slice/PFU
SLICE
FXB
FXA
OFX1
A1
B1
C1
D1
CO
F1
F/SUM
D
LUT4 &
CARRY*
Q1
FF*
To
Routing
CI
M1
M0
LUT5
Mux
From
Routing
OFX0
A0
B0
C0
D0
CO
LUT4 &
CARRY*
F0
F/SUM
Q0
D
FF*
CI
CE
CLK
LSR
* Not in Slice 3
FCI into Slice/PFU, FCO from Different Slice/PFU
For Slices 0 and 2, memory control signals are generated from Slice 1 as follows:
WCK is CLK
WRE is from LSR
DI[3:2] for Slice 2 and DI[1:0] for Slice 0 data
WAD [A:D] is a 4bit address from slice 1 LUT input
Table 2-2. Slice Signal Descriptions
Function
Type
Signal Names
Input
Data signal
A0, B0, C0, D0
Inputs to LUT4
Description
Input
Data signal
A1, B1, C1, D1
Inputs to LUT4
Input
Multi-purpose
M0
Multipurpose Input
Input
Multi-purpose
M1
Multipurpose Input
Input
Control signal
CE
Clock Enable
Input
Control signal
LSR
Local Set/Reset
Input
Control signal
CLK
System Clock
Input
Inter-PFU signal
FCI
Fast Carry-In1
Input
Inter-slice signal
FXA
Intermediate signal to generate LUT6 and LUT7
Input
Inter-slice signal
FXB
Intermediate signal to generate LUT6 and LUT7
Output
Data signals
F0, F1
LUT4 output register bypass signals
Output
Data signals
Q0, Q1
Register outputs
Output
Data signals
OFX0
Output of a LUT5 MUX
Output
Data signals
OFX1
Output of a LUT6, LUT7, LUT82 MUX depending on the slice
Output
Inter-PFU signal
FCO
Slice 2 of each PFU is the fast carry chain output1
1. See Figure 2-3 for connection details.
2. Requires two PFUs.
2-4
Architecture
LatticeXP2 Family Data Sheet
Modes of Operation
Each slice has up to four potential modes of operation: Logic, Ripple, RAM and ROM.
Logic Mode
In this mode, the LUTs in each slice are configured as LUT4s. A LUT4 has 16 possible input combinations. Fourinput logic functions are generated by programming the LUT4. Since there are two LUT4s per slice, a LUT5 can be
constructed within one slice. Larger LUTs such as LUT6, LUT7 and LUT8, can be constructed by concatenating
two or more slices. Note that a LUT8 requires more than four slices.
Ripple Mode
Ripple mode allows efficient implementation of small arithmetic functions. In ripple mode, the following functions
can be implemented by each slice:
• Addition 2-bit
• Subtraction 2-bit
• Add/Subtract 2-bit using dynamic control
• Up counter 2-bit
• Down counter 2-bit
• Up/Down counter with async clear
• Up/Down counter with preload (sync)
• Ripple mode multiplier building block
• Multiplier support
• Comparator functions of A and B inputs
– A greater-than-or-equal-to B
– A not-equal-to B
– A less-than-or-equal-to B
Two carry signals, FCI and FCO, are generated per slice in this mode, allowing fast arithmetic functions to be constructed by concatenating slices.
RAM Mode
In this mode, a 16x4-bit distributed Single Port RAM (SPR) can be constructed using each LUT block in Slice 0 and
Slice 2 as a 16x1-bit memory. Slice 1 is used to provide memory address and control signals. A 16x2-bit Pseudo
Dual Port RAM (PDPR) memory is created by using one slice as the read-write port and the other companion slice
as the read-only port.
The Lattice design tools support the creation of a variety of different size memories. Where appropriate, the software will construct these using distributed memory primitives that represent the capabilities of the PFU. Table 2-3
shows the number of slices required to implement different distributed RAM primitives. For more information on
using RAM in LatticeXP2 devices, please see TN1137, LatticeXP2 Memory Usage Guide.
Table 2-3. Number of Slices Required For Implementing Distributed RAM
Number of slices
SPR 16X4
PDPR 16X4
3
3
Note: SPR = Single Port RAM, PDPR = Pseudo Dual Port RAM
ROM Mode
ROM mode uses the LUT logic; hence, Slices 0 through 3 can be used in the ROM mode. Preloading is accomplished through the programming interface during PFU configuration.
2-5
Architecture
LatticeXP2 Family Data Sheet
Routing
There are many resources provided in the LatticeXP2 devices to route signals individually or as busses with related
control signals. The routing resources consist of switching circuitry, buffers and metal interconnect (routing) segments.
The inter-PFU connections are made with x1 (spans two PFU), x2 (spans three PFU) or x6 (spans seven PFU)
connections. The x1 and x2 connections provide fast and efficient connections in horizontal and vertical directions.
The x2 and x6 resources are buffered to allow both short and long connections routing between PFUs.
The LatticeXP2 family has an enhanced routing architecture to produce a compact design. The Diamond design
tool takes the output of the synthesis tool and places and routes the design. Generally, the place and route tool is
completely automatic, although an interactive routing editor is available to optimize the design.
sysCLOCK Phase Locked Loops (PLL)
The sysCLOCK PLLs provide the ability to synthesize clock frequencies. The LatticeXP2 family supports between
two and four full featured General Purpose PLLs (GPLL). The architecture of the GPLL is shown in Figure 2-4.
CLKI, the PLL reference frequency, is provided either from the pin or from routing; it feeds into the Input Clock
Divider block. CLKFB, the feedback signal, is generated from CLKOP (the primary clock output) or from a user
clock pin/logic. CLKFB feeds into the Feedback Divider and is used to multiply the reference frequency.
Both the input path and feedback signals enter the Voltage Controlled Oscillator (VCO) block. The phase and frequency of the VCO are determined from the input path and feedback signals. A LOCK signal is generated by the
VCO to indicate that the VCO is locked with the input clock signal.
The output of the VCO feeds into the CLKOP Divider, a post-scalar divider. The duty cycle of the CLKOP Divider
output can be fine tuned using the Duty Trim block, which creates the CLKOP signal. By allowing the VCO to operate at higher frequencies than CLKOP, the frequency range of the GPLL is expanded. The output of the CLKOP
Divider is passed through the CLKOK Divider, a secondary clock divider, to generate lower frequencies for the
CLKOK output. For applications that require even lower frequencies, the CLKOP signal is passed through a divideby-three divider to produce the CLKOK2 output. The CLKOK2 output is provided for applications that use source
synchronous logic. The Phase/Duty Cycle/Duty Trim block is used to adjust the phase and duty cycle of the CLKOP
Divider output to generate the CLKOS signal. The phase/duty cycle setting can be pre-programmed or dynamically
adjusted.
The clock outputs from the GPLL; CLKOP, CLKOK, CLKOK2 and CLKOS, are fed to the clock distribution network.
For further information on the GPLL please see TN1126, LatticeXP2 sysCLOCK PLL Design and Usage Guide.
2-6
Architecture
LatticeXP2 Family Data Sheet
Figure 2-4. General Purpose PLL (GPLL) Diagram
WRDEL
DDUTY
DPHASE
3
Phase/
Duty Cycle/
Duty Trim
CLKI
Divider
CLKI
PFD
CLKFB
VCO/
LOOP FILTER
CLKOP
Divider
CLKFB
Divider
CLKOK2
CLKOS
CLKOP
Duty Trim
CLKOK
CLKOK
Divider
Internal Feedback
RSTK
RST
Lock
Detect
LOCK
Table 2-4 provides a description of the signals in the GPLL blocks.
Table 2-4. GPLL Block Signal Descriptions
Signal
I/O
Description
CLKI
I
Clock input from external pin or routing
CLKFB
I
PLL feedback input from CLKOP (PLL internal), from clock net (CLKOP) or from a user clock
(PIN or logic)
RST
I
“1” to reset PLL counters, VCO, charge pumps and M-dividers
RSTK
I
“1” to reset K-divider
DPHASE [3:0]
I
DPA Phase Adjust input
DDDUTY [3:0]
I
DPA Duty Cycle Select input
WRDEL
I
DPA Fine Delay Adjust input
CLKOS
O
PLL output clock to clock tree (phase shifted/duty cycle changed)
CLKOP
O
PLL output clock to clock tree (no phase shift)
CLKOK
O
PLL output to clock tree through secondary clock divider
CLKOK2
O
PLL output to clock tree (CLKOP divided by 3)
LOCK
O
“1” indicates PLL LOCK to CLKI
Clock Dividers
LatticeXP2 devices have two clock dividers, one on the left side and one on the right side of the device. These are
intended to generate a slower-speed system clock from a high-speed edge clock. The block operates in a ÷2, ÷4 or
÷8 mode and maintains a known phase relationship between the divided down clock and the high-speed clock
based on the release of its reset signal. The clock dividers can be fed from the CLKOP output from the GPLLs or
from the Edge Clocks (ECLK). The clock divider outputs serve as primary clock sources and feed into the clock distribution network. The Reset (RST) control signal resets the input and forces all outputs to low. The RELEASE signal releases outputs to the input clock. For further information on clock dividers, please see TN1126, LatticeXP2
sysCLOCK PLL Design and Usage Guide. Figure 2-5 shows the clock divider connections.
2-7
Architecture
LatticeXP2 Family Data Sheet
Figure 2-5. Clock Divider Connections
ECLK
÷1
CLKOP (GPLL)
÷2
CLKDIV
÷4
RST
÷8
RELEASE
Clock Distribution Network
LatticeXP2 devices have eight quadrant-based primary clocks and between six and eight flexible region-based secondary clocks/control signals. Two high performance edge clocks are available on each edge of the device to support high speed interfaces. The clock inputs are selected from external I/Os, the sysCLOCK PLLs, or routing. Clock
inputs are fed throughout the chip via the primary, secondary and edge clock networks.
Primary Clock Sources
LatticeXP2 devices derive primary clocks from four sources: PLL outputs, CLKDIV outputs, dedicated clock inputs
and routing. LatticeXP2 devices have two to four sysCLOCK PLLs, located in the four corners of the device. There
are eight dedicated clock inputs, two on each side of the device. Figure 2-6 shows the primary clock sources.
2-8
Architecture
LatticeXP2 Family Data Sheet
Figure 2-6. Primary Clock Sources for XP2-17
Clock Input
Clock Input
From Routing
PLL Input
GPLL
GPLL
CLK
DIV
CLK
DIV
Clock
Input
Clock
Input
Primary Clock Sources
to Eight Quadrant Clock Selection
Clock
Input
PLL Input
PLL Input
Clock
Input
GPLL
GPLL
From Routing
Clock Input
Clock Input
Note: This diagram shows sources for the XP2-17 device. Smaller LatticeXP2 devices have two GPLLs.
2-9
PLL Input
Architecture
LatticeXP2 Family Data Sheet
Secondary Clock/Control Sources
LatticeXP2 devices derive secondary clocks (SC0 through SC7) from eight dedicated clock input pads and the rest
from routing. Figure 2-7 shows the secondary clock sources.
Figure 2-7. Secondary Clock Sources
Clock
Input
From
Routing
Clock
Input
From
Routing
From
Routing
From
Routing
From Routing
From Routing
From Routing
From Routing
Clock Input
Clock Input
Secondary Clock Sources
Clock Input
Clock Input
From Routing
From Routing
From Routing
From Routing
From
Routing
From
Routing
From
Routing
Clock
Input
Clock
Input
2-10
From
Routing
Architecture
LatticeXP2 Family Data Sheet
Edge Clock Sources
Edge clock resources can be driven from a variety of sources at the same edge. Edge clock resources can be
driven from adjacent edge clock PIOs, primary clock PIOs, PLLs and clock dividers as shown in Figure 2-8.
Figure 2-8. Edge Clock Sources
Clock Input
Clock Input
From
Routing
From
Routing
Sources for top
edge clocks
PLL
Input
GPLL
CLKOP
CLKOP
CLKOS
CLKOS GPLL
From Routing
From Routing
Clock
Input
Clock
Input
Eight Edge Clocks (ECLK)
Two Clocks per Edge
Clock
Input
Clock
Input
From Routing
PLL
Input
PLL
Input
From Routing
GPLL
CLKOP
CLKOP
CLKOS
CLKOS GPLL
PLL
Input
Sources for right edge clocks
Sources for left edge clocks
Sources for
bottom edge
clocks
From
Routing
From
Routing
Clock Input
Clock Input
Note: This diagram shows sources for the XP2-17 device. Smaller LatticeXP2 devices have two GPLLs.
2-11
Architecture
LatticeXP2 Family Data Sheet
Primary Clock Routing
The clock routing structure in LatticeXP2 devices consists of a network of eight primary clock lines (CLK0 through
CLK7) per quadrant. The primary clocks of each quadrant are generated from muxes located in the center of the
device. All the clock sources are connected to these muxes. Figure 2-9 shows the clock routing for one quadrant.
Each quadrant mux is identical. If desired, any clock can be routed globally.
Figure 2-9. Per Quadrant Primary Clock Selection
Primary Clock Sources: PLLs + CLKDIVs + PIOs + Routing
30:1
30:1
30:1
30:1
30:1
30:1
29:1
29:1
DCS
CLK0
CLK1
CLK2
CLK3
CLK4
CLK5
CLK6
29:1
29:1
DCS
CLK7
8 Primary Clocks (CLK0 to CLK7) per Quadrant
Dynamic Clock Select (DCS)
The DCS is a smart multiplexer function available in the primary clock routing. It switches between two independent
input clock sources without any glitches or runt pulses. This is achieved irrespective of when the select signal is
toggled. There are two DCS blocks per quadrant; in total, eight DCS blocks per device. The inputs to the DCS block
come from the center muxes. The output of the DCS is connected to primary clocks CLK6 and CLK7 (see Figure 29).
Figure 2-10 shows the timing waveforms of the default DCS operating mode. The DCS block can be programmed
to other modes. For more information on the DCS, please see TN1126, LatticeXP2 sysCLOCK PLL Design and
Usage Guide.
Figure 2-10. DCS Waveforms
CLK0
CLK1
SEL
DCSOUT
Secondary Clock/Control Routing
Secondary clocks in the LatticeXP2 devices are region-based resources. The benefit of region-based resources is
the relatively low injection delay and skew within the region, as compared to primary clocks. EBR rows, DSP rows
and a special vertical routing channel bound the secondary clock regions. This special vertical routing channel
aligns with either the left edge of the center DSP block in the DSP row or the center of the DSP row. Figure 2-11
shows this special vertical routing channel and the eight secondary clock regions for the LatticeXP2-40.
2-12
Architecture
LatticeXP2 Family Data Sheet
LatticeXP2-30 and smaller devices have six secondary clock regions. All devices in the LatticeXP2 family have four
secondary clocks (SC0 to SC3) which are distributed to every region.
The secondary clock muxes are located in the center of the device. Figure 2-12 shows the mux structure of the
secondary clock routing. Secondary clocks SC0 to SC3 are used for clock and control and SC4 to SC7 are used for
high fan-out signals.
Figure 2-11. Secondary Clock Regions XP2-40
I/O Bank 0
I/O Bank 1
Secondary Clock
Region 5
Secondary Clock
Region 2
Secondary Clock
Region 6
Secondary Clock
Region 3
Secondary Clock
Region 7
Secondary Clock
Region 4
Secondary Clock
Region 8
I/O Bank 5
I/O Bank 4
2-13
I/O Bank 3
I/O Bank 6
Secondary Clock
Region 1
I/O Bank 2
I/O Bank 7
Vertical Routing
Channel Regional
Boundary
EBR Row
Regional
Boundary
EBR Row
Regional
Boundary
DSP Row
Regional
Boundary
Architecture
LatticeXP2 Family Data Sheet
Figure 2-12. Secondary Clock Selection
Secondary Clock Feedlines: 8 PIOs + 16 Routing
24:1
SC0
24:1
SC1
24:1
SC2
24:1
SC3
24:1
SC4
24:1
SC5
24:1
SC6
24:1
SC7
4 Secondary Clocks/CE/LSR (SC0 to SC3) per Region
Clock/Control
4 High Fan-out Data Signals (SC4 to SC7) per Region
High Fan-out Data
Slice Clock Selection
Figure 2-13 shows the clock selections and Figure 2-14 shows the control selections for Slice0 through Slice2. All
the primary clocks and the four secondary clocks are routed to this clock selection mux. Other signals, via routing,
can be used as clock inputs to the slices. Slice controls are generated from the secondary clocks or other signals
connected via routing.
If none of the signals are selected for both clock and control, then the default value of the mux output is 1. Slice 3
does not have any registers; therefore it does not have the clock or control muxes.
Figure 2-13. Slice0 through Slice2 Clock Selection
Primary Clock
8
Secondary Clock
Clock to Slice
4
25:1
Routing
12
Vcc
1
2-14
Architecture
LatticeXP2 Family Data Sheet
Figure 2-14. Slice0 through Slice2 Control Selection
Secondary Clock
3
Slice Control
Routing
16:1
12
Vcc
1
Edge Clock Routing
LatticeXP2 devices have eight high-speed edge clocks that are intended for use with the PIOs in the implementation of high-speed interfaces. Each device has two edge clocks per edge. Figure 2-15 shows the selection muxes
for these clocks.
Figure 2-15. Edge Clock Mux Connections
Top and Bottom
Edge Clocks
ECLK1/ ECLK2
Clock Input Pad
(Both Muxes)
Routing
Left and Right
Edge Clocks
ECLK1
Input Pad
GPLL Input Pad
GPLL Output CLKOP
Routing
Left and Right
Edge Clocks
ECLK2
Input Pad
GPLL Input Pad
GPLL Output CLKOS
Routing
2-15
Architecture
LatticeXP2 Family Data Sheet
sysMEM Memory
LatticeXP2 devices contains a number of sysMEM Embedded Block RAM (EBR). The EBR consists of 18 Kbit
RAM with dedicated input and output registers.
sysMEM Memory Block
The sysMEM block can implement single port, dual port or pseudo dual port memories. Each block can be used in
a variety of depths and widths as shown in Table 2-5. FIFOs can be implemented in sysMEM EBR blocks by using
support logic with PFUs. The EBR block supports an optional parity bit for each data byte to facilitate parity checking. EBR blocks provide byte-enable support for configurations with18-bit and 36-bit data widths.
Table 2-5. sysMEM Block Configurations
Memory Mode
Configurations
Single Port
16,384 x 1
8,192 x 2
4,096 x 4
2,048 x 9
1,024 x 18
512 x 36
True Dual Port
16,384 x 1
8,192 x 2
4,096 x 4
2,048 x 9
1,024 x 18
Pseudo Dual Port
16,384 x 1
8,192 x 2
4,096 x 4
2,048 x 9
1,024 x 18
512 x 36
Bus Size Matching
All of the multi-port memory modes support different widths on each of the ports. The RAM bits are mapped LSB
word 0 to MSB word 0, LSB word 1 to MSB word 1, and so on. Although the word size and number of words for
each port varies, this mapping scheme applies to each port.
FlashBAK EBR Content Storage
All the EBR memory in the LatticeXP2 is shadowed by Flash memory. Optionally, initialization values for the memory blocks can be defined using the Lattice Diamond design tools. The initialization values are loaded into the Flash
memory during device programming and into the SRAM at power up or whenever the device is reconfigured. This
feature is ideal for the storage of a variety of information such as look-up tables and microprocessor code. It is also
possible to write the current contents of the EBR memory back to Flash memory. This capability is useful for the
storage of data such as error codes and calibration information. For additional information on the FlashBAK capability see TN1137, LatticeXP2 Memory Usage Guide.
2-16
Architecture
LatticeXP2 Family Data Sheet
Figure 2-16. FlashBAK Technology
Write to Flash During
Programming
Make Infinite Reads and
Writes to EBR
Flash
JTAG / SPI Port
EBR
FPGA Logic
Write From Flash to
EBR During Configuration /
Write From EBR to Flash
on User Command
Memory Cascading
Larger and deeper blocks of RAMs can be created using EBR sysMEM Blocks. Typically, the Lattice design tools
cascade memory transparently, based on specific design inputs.
Single, Dual and Pseudo-Dual Port Modes
In all the sysMEM RAM modes the input data and address for the ports are registered at the input of the memory
array. The output data of the memory is optionally registered at the output.
EBR memory supports two forms of write behavior for single port or dual port operation:
1. Normal – Data on the output appears only during a read cycle. During a write cycle, the data (at the current
address) does not appear on the output. This mode is supported for all data widths.
2. Write Through – A copy of the input data appears at the output of the same port during a write cycle. This
mode is supported for all data widths.
Memory Core Reset
The memory array in the EBR utilizes latches at the A and B output ports. These latches can be reset asynchronously or synchronously. RSTA and RSTB are local signals, which reset the output latches associated with Port A
and Port B respectively. GSRN, the global reset signal, resets both ports. The output data latches and associated
resets for both ports are as shown in Figure 2-17.
Figure 2-17. Memory Core Reset
Memory Core
D
SET
Q
Port A[17:0]
LCLR
Output Data
Latches
D
SET
Q
LCLR
RSTA
RSTB
GSRN
Programmable Disable
2-17
Port B[17:0]
Architecture
LatticeXP2 Family Data Sheet
For further information on the sysMEM EBR block, please see TN1137, LatticeXP2 Memory Usage Guide.
EBR Asynchronous Reset
EBR asynchronous reset or GSR (if used) can only be applied if all clock enables are low for a clock cycle before the
reset is applied and released a clock cycle after the low-to-high transition of the reset signal, as shown in Figure 2-18.
The GSR input to the EBR is always asynchronous.
Figure 2-18. EBR Asynchronous Reset (Including GSR) Timing Diagram
Reset
Clock
Clock
Enable
If all clock enables remain enabled, the EBR asynchronous reset or GSR may only be applied and released after
the EBR read and write clock inputs are in a steady state condition for a minimum of 1/fMAX (EBR clock). The reset
release must adhere to the EBR synchronous reset setup time before the next active read or write clock edge.
If an EBR is pre-loaded during configuration, the GSR input must be disabled or the release of the GSR during
device Wake Up must occur before the release of the device I/Os becoming active.
These instructions apply to all EBR RAM and ROM implementations.
Note that there are no reset restrictions if the EBR synchronous reset is used and the EBR GSR input is disabled.
sysDSP™ Block
The LatticeXP2 family provides a sysDSP block making it ideally suited for low cost, high performance Digital Signal Processing (DSP) applications. Typical functions used in these applications include Bit Correlators, Fast Fourier
Transform (FFT) functions, Finite Impulse Response (FIR) Filter, Reed-Solomon Encoder/Decoder, Turbo Encoder/
Decoder and Convolutional Encoder/Decoder. These complex signal processing functions use similar building
blocks such as multiply-adders and multiply-accumulators.
sysDSP Block Approach Compare to General DSP
Conventional general-purpose DSP chips typically contain one to four (Multiply and Accumulate) MAC units with
fixed data-width multipliers; this leads to limited parallelism and limited throughput. Their throughput is increased by
higher clock speeds. The LatticeXP2 family, on the other hand, has many DSP blocks that support different datawidths. This allows the designer to use highly parallel implementations of DSP functions. The designer can optimize the DSP performance vs. area by choosing appropriate levels of parallelism. Figure 2-19 compares the fully
serial and the mixed parallel and serial implementations.
2-18
Architecture
LatticeXP2 Family Data Sheet
Figure 2-19. Comparison of General DSP and LatticeXP2 Approaches
Operand
A
Operand
A
Operand
A
Operand
B
Operand
A
Single
Multiplier
Operand
B
Operand
B
Operand
B
x
x
M loops
Multiplier 0
Multiplier 1
x
Accumulator
(k adds)
Function implemented in
General purpose DSP
x
m/k
loops
Multiplier k
+
m/k
accumulate
Output
Function implemented
in LatticeXP2
sysDSP Block Capabilities
The sysDSP block in the LatticeXP2 family supports four functional elements in three 9, 18 and 36 data path
widths. The user selects a function element for a DSP block and then selects the width and type (signed/unsigned)
of its operands. The operands in the LatticeXP2 family sysDSP Blocks can be either signed or unsigned but not
mixed within a function element. Similarly, the operand widths cannot be mixed within a block. DSP elements can
be concatenated.
The resources in each sysDSP block can be configured to support the following four elements:
• MULT (Multiply)
• MAC (Multiply, Accumulate)
• MULTADDSUB (Multiply, Addition/Subtraction)
• MULTADDSUBSUM (Multiply, Addition/Subtraction, Accumulate)
The number of elements available in each block depends on the width selected from the three available options: x9,
x18, and x36. A number of these elements are concatenated for highly parallel implementations of DSP functions.
Table 2-6 shows the capabilities of the block.
Table 2-6. Maximum Number of Elements in a Block
Width of Multiply
x9
x18
x36
MULT
8
4
1
MAC
2
2
—
MULTADDSUB
4
2
—
MULTADDSUBSUM
2
1
—
Some options are available in four elements. The input register in all the elements can be directly loaded or can be
loaded as shift register from previous operand registers. By selecting ‘dynamic operation’ the following operations
are possible:
2-19
Architecture
LatticeXP2 Family Data Sheet
• In the ‘Signed/Unsigned’ options the operands can be switched between signed and unsigned on every cycle.
• In the ‘Add/Sub’ option the Accumulator can be switched between addition and subtraction on every cycle.
• The loading of operands can switch between parallel and serial operations.
MULT sysDSP Element
This multiplier element implements a multiply with no addition or accumulator nodes. The two operands, A and B,
are multiplied and the result is available at the output. The user can enable the input/output and pipeline registers.
Figure 2-20 shows the MULT sysDSP element.
Figure 2-20. MULT sysDSP Element
Shift Register B In
Shift Register A In
Multiplier
m
m
n
n
m
Input Data
Register A
n
m
Multiplier
n
Input Data
Register B
x
m+n
(default)
Output
Register
Multiplicand
Pipeline
Register
m
n
Signed A
Input
Register
To
Multiplier
Signed B
Input
Register
To
Multiplier
CLK (CLK0,CLK1,CLK2,CLK3)
CE (CE0,CE1,CE2,CE3)
RST(RST0,RST1,RST2,RST3)
Shift Register B Out
Shift Register A Out
2-20
m+n
Output
Architecture
LatticeXP2 Family Data Sheet
MAC sysDSP Element
In this case, the two operands, A and B, are multiplied and the result is added with the previous accumulated value.
This accumulated value is available at the output. The user can enable the input and pipeline registers but the output register is always enabled. The output register is used to store the accumulated value. The Accumulators in the
DSP blocks in LatticeXP2 family can be initialized dynamically. A registered overflow signal is also available. The
overflow conditions are provided later in this document. Figure 2-21 shows the MAC sysDSP element.
Figure 2-21. MAC sysDSP
Serial Register B in
Serial Register A in
Multiplicand
m
Preload
m
Accumulator
Input Data
Register A
n
Input Data
Register B
m
Multiplier
n
x
m+n
(default)
Pipeline
Register
n
n
Signed A
Input
Register
Pipeline
Register
To Accumulator
Signed B
Input
Register
Pipeline
Register
To Accumulator
Addn
Input
Register
Pipeline
Register
To Accumulator
Accumsload
Input
Register
Pipeline
Register
To Accumulator
m+n+16
(default)
Output
Register
m
n
n
m+n+16
(default)
Output
Register
Multiplier
CLK (CLK0,CLK1,CLK2,CLK3)
CE (CE0,CE1,CE2,CE3)
RST(RST0,RST1,RST2,RST3)
SROB
SROA
2-21
Output
Overflow
signal
Architecture
LatticeXP2 Family Data Sheet
MULTADDSUB sysDSP Element
In this case, the operands A0 and B0 are multiplied and the result is added/subtracted with the result of the multiplier operation of operands A1 and B1. The user can enable the input, output and pipeline registers. Figure 2-22
shows the MULTADDSUB sysDSP element.
Figure 2-22. MULTADDSUB
Shift Register B In
Shift Register A In
Multiplicand A0
m
CLK (CLK0,CLK1,CLK2,CLK3)
m
CE (CE0,CE1,CE2,CE3)
Multiplier B0
m
n
n
RST (RST0,RST1,RST2,RST3)
Input Data
Register A
n
Multiplier
m
x
n
Input Data
Register B
Pipeline
Register
m
m+n
(default)
Add/Sub
Multiplicand A1
Multiplier B1
m
m+n+1
(default)
m
n
Input Data
Register A
n
Signed B
Addn
Shift Register B Out
n
x
n
Input Data
Register B
Signed A
Multiplier
m
Pipeline
Register
m
Input
Register
Pipeline
Pipe
Register
Reg
To Add/Sub
Input
Register
Pipeline
Pipe
Register
Reg
To Add/Sub
Input
Register
Pipeline
Pipe
Register
Reg
To Add/Sub
Shift Register A Out
2-22
m+n
(default)
Output
Register
n
Output
m+n+1
(default)
Architecture
LatticeXP2 Family Data Sheet
MULTADDSUBSUM sysDSP Element
In this case, the operands A0 and B0 are multiplied and the result is added/subtracted with the result of the multiplier operation of operands A1 and B1. Additionally the operands A2 and B2 are multiplied and the result is added/
subtracted with the result of the multiplier operation of operands A3 and B3. The result of both addition/subtraction
are added in a summation block. The user can enable the input, output and pipeline registers. Figure 2-23 shows
the MULTADDSUBSUM sysDSP element.
Figure 2-23. MULTADDSUBSUM
Shift Register B In
Shift Register A In
Multiplicand A0
m
m
CLK (CLK0,CLK1,CLK2,CLK3)
m
n
n
CE (CE0,CE1,CE2,CE3)
Input Data
Register A
n
n
Input Data
Register B
Multiplier
x
m+n
(default)
Pipeline
Register
m
RST(RST0,RST1,RST2,RST3)
Add/Sub0
n
Multiplicand A1
Multiplier B1
m
m
m+n
(default)
m
n
Input Data
Register A
n
n
Input Data
Register B
Multiplicand A2
n
Multiplier
m+n+1
x
SUM
Pipeline
Register
m
m
m+n+2
Multiplier B2
m
n
n
Input Data
Register A
n
n
Input Data
Register B
Multiplier
x
m+n+2
m+n
(default)
m+n+1
Pipeline
Register
m
Output
Add/Sub1
n
Multiplicand A3
Multiplier B3
m
Output
Register
Multiplier B0
m
n
Input Data
Register A
n
Input Data
Register B
Signed A
Signed B
Addn0
Addn1
Shift Register B Out
m+n
(default)
m
n
m
n
Multiplier
x
Pipeline
Register
m
Input
Register
Pipeline
Register
To Add/Sub0, Add/Sub1
Input
Register
Pipeline
Register
To Add/Sub0, Add/Sub1
Input
Register
Pipeline
Register
To Add/Sub0
Input
Register
Pipeline
Register
To Add/Sub1
Shift Register A Out
Clock, Clock Enable and Reset Resources
Global Clock, Clock Enable (CE) and Reset (RST) signals from routing are available to every DSP block. From four
clock sources (CLK0, CLK1, CLK2, CLK3) one clock is selected for each input register, pipeline register and output
2-23
Architecture
LatticeXP2 Family Data Sheet
register. Similarly, CE and RST are selected from their four respective sources (CE0, CE1, CE2, CE3 and RST0,
RST1, RST2, RST3) at each input register, pipeline register and output register.
Signed and Unsigned with Different Widths
The DSP block supports other widths, in addition to x9, x18 and x36 widths, of signed and unsigned multipliers. For
unsigned operands, unused upper data bits should be filled to create a valid x9, x18 or x36 operand. For signed
two’s complement operands, sign extension of the most significant bit should be performed until x9, x18 or x36
width is reached. Table 2-7 provides an example of this.
Table 2-7. Sign Extension Example
Number
Unsigned
Unsigned
9-bit
Unsigned
18-bit
Signed
Two’s Complement
Signed 9 Bits
Two’s Complement
Signed 18 Bits
+5
0101
000000101
000000000000000101
0101
000000101
000000000000000101
-6
N/A
N/A
N/A
1010
111111010
111111111111111010
OVERFLOW Flag from MAC
The sysDSP block provides an overflow output to indicate that the accumulator has overflowed. “Roll-over” occurs
and an overflow signal is indicated when any of the following is true: two unsigned numbers are added and the
result is a smaller number than the accumulator, two positive numbers are added with a negative sum or two negative numbers are added with a positive sum. Note that when overflow occurs the overflow flag is present for only
one cycle. By counting these overflow pulses in FPGA logic, larger accumulators can be constructed. The conditions for the overflow signal for signed and unsigned operands are listed in Figure 2-24.
Figure 2-24. Accumulator Overflow/Underflow
011111100
011111101
011111110
011111111
100000000
100000001
100000010
252
253
254
255
256
257
258
000000011
000000010
000000001
000000000
3
2
1
0
111111111
111111110
111111101
511
510
509
Unsigned Operation
Overflow signal is generated
for one cycle when this
boundary is crossed
011111100
011111101
011111110
011111111
100000000
100000001
100000010
000000011
000000010
000000001
000000000
111111111
111111110
111111101
252
253
254
255
-256
-255
-254
Signed Operation
2-24
+3
+2
+1
0
-1
-2
-3
Carry signal is generated for
one cycle when this
boundary is crossed
Architecture
LatticeXP2 Family Data Sheet
IPexpress™
The user can access the sysDSP block via the Lattice IPexpress tool, which provides the option to configure each
DSP module (or group of modules), or by direct HDL instantiation. In addition, Lattice has partnered with The MathWorks® to support instantiation in the Simulink® tool, a graphical simulation environment. Simulink works with Diamond to dramatically shorten the DSP design cycle in Lattice FPGAs.
Optimized DSP Functions
Lattice provides a library of optimized DSP IP functions. Some of the IP cores planned for the LatticeXP2 DSP
include the Bit Correlator, FFT functions, FIR Filter, Reed-Solomon Encoder/Decoder, Turbo Encoder/Decoder and
Convolutional Encoder/Decoder. Please contact Lattice to obtain the latest list of available DSP IP cores.
Resources Available in the LatticeXP2 Family
Table 2-8 shows the maximum number of multipliers for each member of the LatticeXP2 family. Table 2-9 shows the
maximum available EBR RAM Blocks and Serial TAG Memory bits in each LatticeXP2 device. EBR blocks,
together with Distributed RAM can be used to store variables locally for fast DSP operations.
Table 2-8. Maximum Number of DSP Blocks in the LatticeXP2 Family
Device
DSP Block
9x9 Multiplier
18x18 Multiplier
36x36 Multiplier
XP2-5
3
24
12
3
XP2-8
4
32
16
4
XP2-17
5
40
20
5
XP2-30
7
56
28
7
XP2-40
8
64
32
8
Table 2-9. Embedded SRAM/TAG Memory in the LatticeXP2 Family
Device
EBR SRAM Block
Total EBR SRAM
(Kbits)
TAG Memory
(Bits)
XP2-5
9
166
632
XP2-8
12
221
768
XP2-17
15
276
2184
XP2-30
21
387
2640
XP2-40
48
885
3384
LatticeXP2 DSP Performance
Table 2-10 lists the maximum performance in Millions of MAC (MMAC) operations per second for each member of
the LatticeXP2 family.
Table 2-10. DSP Performance
Device
DSP Block
DSP Performance
MMAC
XP2-5
3
3,900
XP2-8
4
5,200
XP2-17
5
6,500
XP2-30
7
9,100
XP2-40
8
10,400
For further information on the sysDSP block, please see TN1140, LatticeXP2 sysDSP Usage Guide.
2-25
Architecture
LatticeXP2 Family Data Sheet
Programmable I/O Cells (PIC)
Each PIC contains two PIOs connected to their respective sysIO buffers as shown in Figure 2-25. The PIO Block
supplies the output data (DO) and the tri-state control signal (TO) to the sysIO buffer and receives input from the
buffer. Table 2-11 provides the PIO signal list.
Figure 2-25. PIC Diagram
PIOA
TD
OPOS1
ONEG1
IOLT0
Tristate
Register
Block
OPOS0
OPOS21
ONEG0
ONEG21
PADA
“T”
IOLD0
Output
Register
Block
sysIO
Buffer
QNEG01
QNEG11
QPOS01
QPOS11
INCK2
INDD
INFF
IPOS0
IPOS1
CLK
CE
LSR
GSRN
ECLK1
ECLK2
DDRCLKPOL1
DQSXFER1
DQS
DEL
Control
Muxes
CLK1
CEO
LSR
GSR
CLK0
CEI
Input
Register
Block
DI
PADB
“C”
PIOB
1. Signals are available on left/right/bottom edges only.
2. Selected blocks.
Two adjacent PIOs can be joined to provide a differential I/O pair (labeled as “T” and “C”) as shown in Figure 2-25.
The PAD Labels “T” and “C” distinguish the two PIOs. Approximately 50% of the PIO pairs on the left and right
edges of the device can be configured as true LVDS outputs. All I/O pairs can operate as inputs.
2-26
Architecture
LatticeXP2 Family Data Sheet
Table 2-11. PIO Signal List
Name
Type
Description
CE
Control from the core
Clock enables for input and output block flip-flops
CLK
Control from the core
System clocks for input and output blocks
ECLK1, ECLK2
Control from the core
Fast edge clocks
LSR
Control from the core
Local Set/Reset
GSRN
Control from routing
Global Set/Reset (active low)
INCK2
Input to the core
Input to Primary Clock Network or PLL reference inputs
DQS
Input to PIO
DQS signal from logic (routing) to PIO
INDD
Input to the core
Unregistered data input to core
INFF
Input to the core
Registered input on positive edge of the clock (CLK0)
IPOS0, IPOS1
Input to the core
Double data rate registered inputs to the core
1
Input to the core
Gearbox pipelined inputs to the core
QNEG01, QNEG11
Input to the core
Gearbox pipelined inputs to the core
OPOS0, ONEG0,
OPOS2, ONEG2
Output data from the core
Output signals from the core for SDR and DDR operation
OPOS1 ONEG1
Tristate control from the core
Signals to Tristate Register block for DDR operation
DEL[3:0]
Control from the core
Dynamic input delay control bits
TD
Tristate control from the core
Tristate signal from the core used in SDR operation
DDRCLKPOL
Control from clock polarity bus Controls the polarity of the clock (CLK0) that feed the DDR input block
DQSXFER
Control from core
1
QPOS0 , QPOS1
Controls signal to the Output block
1. Signals available on left/right/bottom only.
2. Selected I/O.
PIO
The PIO contains four blocks: an input register block, output register block, tristate register block and a control logic
block. These blocks contain registers for operating in a variety of modes along with necessary clock and selection
logic.
Input Register Block
The input register blocks for PIOs contain delay elements and registers that can be used to condition high-speed
interface signals, such as DDR memory interfaces and source synchronous interfaces, before they are passed to
the device core. Figure 2-26 shows the diagram of the input register block.
Input signals are fed from the sysIO buffer to the input register block (as signal DI). If desired, the input signal can
bypass the register and delay elements and be used directly as a combinatorial signal (INDD), a clock (INCK) and,
in selected blocks, the input to the DQS delay block. If an input delay is desired, designers can select either a fixed
delay or a dynamic delay DEL[3:0]. The delay, if selected, reduces input register hold time requirements when
using a global clock.
The input block allows three modes of operation. In the Single Data Rate (SDR) mode, the data is registered, by
one of the registers in the SDR Sync register block, with the system clock. In DDR mode two registers are used to
sample the data on the positive and negative edges of the DQS signal which creates two data streams, D0 and D2.
D0 and D2 are synchronized with the system clock before entering the core. Further information on this topic can
be found in the DDR Memory Support section of this data sheet.
By combining input blocks of the complementary PIOs and sharing registers from output blocks, a gearbox function
can be implemented, that takes a double data rate signal applied to PIOA and converts it as four data streams,
IPOS0A, IPOS1A, IPOS0B and IPOS1B. Figure 2-26 shows the diagram using this gearbox function. For more
information on this topic, please see TN1138, LatticeXP2 High Speed I/O Interface.
2-27
Architecture
LatticeXP2 Family Data Sheet
The signal DDRCLKPOL controls the polarity of the clock used in the synchronization registers. It ensures adequate timing when data is transferred from the DQS to system clock domain. For further discussion on this topic,
see the DDR Memory section of this data sheet.
Figure 2-26. Input Register Block
INCK2
To DQS Delay Block 2
DI
(From sysIO
Buffer)
INDD
SDR & Sync
Registers
DDR Registers
Fixed Delay
0
Dynamic Delay
1
0
D
DEL [3:0]
D0
D
IPOS0A
Q
D-Type
/LATCH
1
Q
Clock Transfer Registers
D
Q
QPOS0A
D-Type1
D-Type
From
Routing
IPOS1A
D
Delayed
DQS
0
Q
D1
D
D-Type
D2
Q
D
Q
D-Type
/LATCH
D-Type
D
Q
QPOS1A
D-Type1
To
Routing
1
CLK0 (of PIO A)
DDRCLKPOL
CLKA
True PIO (A) in LVDS I/O Pair
Comp PIO (B) in LVDS I/O Pair
DI
(From sysIO
Buffer)
INCK2
To DQS Delay Block 2
INDD
DDRSRC
Fixed Delay
Dynamic Delay
0
0
D0
1
D
DEL [3:0]
SDR & Sync
Registers
DDR Registers
0
1
Q
1
D-Type
From
Routing
D
Q
D-Type
/LATCH
Clock Transfer Registers
D
Q
IPOS0B
QPOS0B
D-Type1
IPOS1B
D
Delayed
DQS
0
Q
D-Type
D1
0
D
Q
D2
D-Type
1
D
Q
D-Type
/LATCH
D
Q
QPOS1B
D-Type1
1
To
Routing
CLK0 (of PIO B)
Gearbox Configuration Bit
DDRCLKPOL
CLKB
Note: Simplified version does not
show CE and SET/RESET details
1. Shared with output register
2. Selected PIO.
Output Register Block
The output register block provides the ability to register signals from the core of the device before they are passed
to the sysIO buffers. The blocks on the PIOs on the left, right and bottom contain registers for SDR operation that
are combined with an additional latch for DDR operation. Figure 2-27 shows the diagram of the Output Register
Block for PIOs.
In SDR mode, ONEG0 feeds one of the flip-flops that then feeds the output. The flip-flop can be configured as a Dtype or latch. In DDR mode, ONEG0 and OPOS0 are fed into registers on the positive edge of the clock. At the next
clock cycle the registered OPOS0 is latched. A multiplexer running off the same clock cycle selects the correct register to feed the output (D0).
By combining output blocks of the complementary PIOs and sharing some registers from input blocks, a gearbox
function can be implemented, to take four data streams ONEG0A, ONEG1A, ONEG1B and ONEG1B. Figure 2-27
2-28
Architecture
LatticeXP2 Family Data Sheet
shows the diagram using this gearbox function. For more information on this topic, see TN1138, LatticeXP2 High
Speed I/O Interface.
Figure 2-27. Output and Tristate Block
TD
Tristate Logic
D
Q
D-Type
/LATCH
ONEG1
0
1
0
0
D
OPOS1
Q
D
1
Q
Latch
From Routing
To sysIO Buffer
D-Type
TO
1
0
ONEG0
D
Q
0
D-Type*
1
1
D
Q
D-Type
/LATCH
DDR Output
Registers
DO
0
OPOS0
0
Q
D
D-Type*
CLKA
0
Q
D
Latch
D
0
1
1
Q
D
D-Type
1
1
Q
Latch
Clock Transfer
Registers
ECLK1
ECLK2
CLK1
(CLKA)
DQSXFER
Programmable
Control
0
1
0
1
Output Logic
True PIO (A) in LVDS I/O Pair
Comp PIO (B) in LVDS I/O Pair
TD
Tristate Logic
Q
D
D-Type
/LATCH
ONEG1
0
1
0
0
D
OPOS1
Q
D-Type
1
Q
D
TO
1
Latch
From Routing
To sysIO Buffer
ONEG0
D
Q
D
D-Type
/LATCH
Q
D-Type*
DDR Output
Registers
DO
0
OPOS0
0
D
Q
D-Type*
CLKB
ECLK1
ECLK2
CLK1
(CLKB)
DQSXFER
D
D
Q
Latch
Q
D-Type
D
Q
1
1
Latch
Clock Transfer
Registers
0
1
0
1
* Shared with input register
Programmable
Control
Output Logic
Note: Simplified version does not show CE and SET/RESET details
2-29
Architecture
LatticeXP2 Family Data Sheet
Tristate Register Block
The tristate register block provides the ability to register tri-state control signals from the core of the device before
they are passed to the sysIO buffers. The block contains a register for SDR operation and an additional latch for
DDR operation. Figure 2-27 shows the Tristate Register Block with the Output Block
In SDR mode, ONEG1 feeds one of the flip-flops that then feeds the output. The flip-flop can be configured as Dtype or latch. In DDR mode, ONEG1 and OPOS1 are fed into registers on the positive edge of the clock. Then in
the next clock the registered OPOS1 is latched. A multiplexer running off the same clock cycle selects the correct
register for feeding to the output (D0).
Control Logic Block
The control logic block allows the selection and modification of control signals for use in the PIO block. A clock signal is selected from general purpose routing, ECLK1, ECLK2 or a DQS signal (from the programmable DQS pin)
and is provided to the input register block. The clock can optionally be inverted.
DDR Memory Support
PICs have additional circuitry to allow implementation of high speed source synchronous and DDR memory interfaces.
PICs have registered elements that support DDR memory interfaces. Interfaces on the left and right edges are
designed for DDR memories that support 16 bits of data, whereas interfaces on the top and bottom are designed
for memories that support 18 bits of data. One of every 16 PIOs on the left and right and one of every 18 PIOs on
the top and bottom contain delay elements to facilitate the generation of DQS signals. The DQS signals feed the
DQS buses which span the set of 16 or 18 PIOs. Figure 2-28 and Figure 2-29 show the DQS pin assignments in
each set of PIOs.
The exact DQS pins are shown in a dual function in the Logic Signal Connections table in this data sheet. Additional detail is provided in the Signal Descriptions table. The DQS signal from the bus is used to strobe the DDR
data from the memory into input register blocks. For additional information on using DDR memory support please
see TN1138, LatticeXP2 High Speed I/O Interface.
2-30
Architecture
LatticeXP2 Family Data Sheet
Figure 2-28. DQS Input Routing (Left and Right)
PIO A
PADA "T"
PIO B
PADB "C"
PIO A
PADA "T"
PIO B
PADB "C"
LVDS Pair
LVDS Pair
PIO A
PADA "T"
PIO B
PADB "C"
PIO A
PADA "T"
PIO B
PADB "C"
LVDS Pair
LVDS Pair
PIO A
DQS
sysIO
Buffer
Delay
Assigned
DQS Pin
PADA "T"
LVDS Pair
PADB "C"
PIO B
PIO A
PADA "T"
PIO B
PADB "C"
PIO A
PADA "T"
PIO B
PADB "C"
PIO A
PADA "T"
PIO B
PADB "C"
LVDS Pair
LVDS Pair
LVDS Pair
Figure 2-29. DQS Input Routing (Top and Bottom)
PIO A
PADA "T"
PIO B
PADB "C"
PIO A
PADA "T"
PIO B
PADB "C"
LVDS Pair
LVDS Pair
PIO A
PADA "T"
PIO B
PADB "C"
PIO A
PADA "T"
PIO B
PADB "C"
LVDS Pair
LVDS Pair
PIO A
DQS
sysIO
Buffer
Delay
PIO B
Assigned
DQS Pin
PADA "T"
LVDS Pair
PADB "C"
PIO A
PADA "T"
PIO B
PADB "C"
PIO A
PADA "T"
PIO B
PADB "C"
PIO A
PADA "T"
PIO B
PADB "C"
LVDS Pair
LVDS Pair
LVDS Pair
PIO A
PIO B
2-31
PADA "T"
LVDS Pair
PADB "C"
Architecture
LatticeXP2 Family Data Sheet
DLL Calibrated DQS Delay Block
Source synchronous interfaces generally require the input clock to be adjusted in order to correctly capture data at
the input register. For most interfaces a PLL is used for this adjustment. However, in DDR memories the clock,
referred to as DQS, is not free-running, and this approach cannot be used. The DQS Delay block provides the
required clock alignment for DDR memory interfaces.
The DQS signal (selected PIOs only, as shown in Figure 2-30) feeds from the PAD through a DQS delay element to
a dedicated DQS routing resource. The DQS signal also feeds polarity control logic which controls the polarity of
the clock to the sync registers in the input register blocks. Figure 2-30 and Figure 2-31 show how the DQS transition signals are routed to the PIOs.
The temperature, voltage and process variations of the DQS delay block are compensated by a set of 6-bit bus calibration signals from two dedicated DLLs (DDR_DLL) on opposite sides of the device. Each DLL compensates
DQS delays in its half of the device as shown in Figure 2-30. The DLL loop is compensated for temperature, voltage and process variations by the system clock and feedback loop.
Figure 2-30. Edge Clock, DLL Calibration and DQS Local Bus Distribution
I/O Bank 0
Spans 16 PIOs
Left & Right Sides
I/O Bank 1
ECLK1
ECLK2
I/O Bank 7
I/O Bank 2
DQS Input
Delayed
DQS
DDR_DLL
(Right)
DDR_DLL
(Left)
Polarity Control
I/O Bank 6
I/O Bank 3
Spans 18 PIOs
Top & Bottom
Sides
I/O Bank 5
I/O Bank 4
2-32
DQSXFER
DQS Delay
Control Bus
Architecture
LatticeXP2 Family Data Sheet
DQS
Polarity control
DCNTL[6:0]
DQSXFER
CLK1
ECLK2
ECLK1
Figure 2-31. DQS Local Bus
PIO
Output
Register Block
DQSXFER
Input
Register Block
GSR
CEI
DQS
DDR
Datain
PAD
sysIO
Buffer
DI
To Sync
Reg.
CLK1
DQS
To DDR
Reg.
DQS
Strobe
PAD
sysIO
Buffer
PIO
Polarity Control
Logic
DI
DQS
DQSDEL
Calibration bus
from DLL
DCNTL[6:0]
ECLK1
DQSXFER
DQSXFERDEL*
DCNTL[6:0]
*DQSXFERDEL shifts ECLK1 by 90% and is not associated with a particular PIO.
Polarity Control Logic
In a typical DDR memory interface design, the phase relationship between the incoming delayed DQS strobe and
the internal system clock (during the READ cycle) is unknown. The LatticeXP2 family contains dedicated circuits to
transfer data between these domains. To prevent set-up and hold violations, at the domain transfer between DQS
(delayed) and the system clock, a clock polarity selector is used. This changes the edge on which the data is registered in the synchronizing registers in the input register block and requires evaluation at the start of each READ
cycle for the correct clock polarity.
Prior to the READ operation in DDR memories, DQS is in tristate (pulled by termination). The DDR memory device
drives DQS low at the start of the preamble state. A dedicated circuit detects this transition. This signal is used to
control the polarity of the clock to the synchronizing registers.
2-33
Architecture
LatticeXP2 Family Data Sheet
DQSXFER
LatticeXP2 devices provide a DQSXFER signal to the output buffer to assist it in data transfer to DDR memories
that require DQS strobe be shifted 90o. This shifted DQS strobe is generated by the DQSDEL block. The
DQSXFER signal runs the span of the data bus.
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 the wide variety
of standards that are found in today’s systems including LVCMOS, SSTL, HSTL, LVDS and LVPECL.
sysIO Buffer Banks
LatticeXP2 devices have eight sysIO buffer banks for user I/Os arranged two per side. Each bank is capable of supporting multiple I/O standards. Each sysIO bank has its own I/O supply voltage (VCCIO). In addition, each bank has
voltage references, VREF1 and VREF2, that allow it to be completely independent from the others. Figure 2-32
shows the eight banks and their associated supplies.
In LatticeXP2 devices, single-ended output buffers and ratioed input buffers (LVTTL, LVCMOS and PCI) are powered using VCCIO. LVTTL, LVCMOS33, LVCMOS25 and LVCMOS12 can also be set as fixed threshold inputs independent of VCCIO.
Each bank can support up to two separate VREF voltages, VREF1 and VREF2, that set the threshold for the referenced input buffers. Some dedicated I/O pins in a bank can be configured to be a reference voltage supply pin.
Each I/O is individually configurable based on the bank’s supply and reference voltages.
Figure 2-32. LatticeXP2 Banks
TOP
GND
V
REF2(1)
Bank 1
V CCIO2
CCIO7
V REF2(7)
Bank 2
V REF1(7)
Bank 7
V
V
REF1(1)
V
CCIO1
GND
V
REF2(0)
V
REF1(0)
V
CCIO0
Bank 0
V REF1(2)
V REF2(2)
GND
GND
LEFT
RIGHT
V CCIO3
V REF1(6)
V REF1(3)
Bank 3
V REF2(6)
Bank 6
V CCIO6
V REF2(3)
GND
GND
BOTTOM
2-34
GND
V
REF2(4)
V
CCIO4
V
REF1(4)
Bank 4
GND
V
REF2(5)
V
CCIO5
VREF1(5)
Bank 5
Architecture
LatticeXP2 Family Data Sheet
LatticeXP2 devices contain two types of sysIO buffer pairs.
1. Top and Bottom (Banks 0, 1, 4 and 5) sysIO Buffer Pairs (Single-Ended Outputs Only)
The sysIO buffer pairs in the top banks of the device consist of two single-ended output drivers and two sets of
single-ended input buffers (both ratioed and referenced). One of the referenced input buffers can also be configured as a differential input.
The two pads in the pair are described as “true” and “comp”, where the true pad is associated with the positive
side of the differential input buffer and the comp (complementary) pad is associated with the negative side of
the differential input buffer.
Only the I/Os on the top and bottom banks have programmable PCI clamps.
2. Left and Right (Banks 2, 3, 6 and 7) sysIO Buffer Pairs (50% Differential and 100% Single-Ended Outputs)
The sysIO buffer pairs in the left and right banks of the device consist of two single-ended output drivers, two
sets of single-ended input buffers (both ratioed and referenced) and one differential output driver. One of the referenced input buffers can also be configured as a differential input.
The two pads in the pair are described as “true” and “comp”, where the true pad is associated with the positive
side of the differential I/O, and the comp pad is associated with the negative side of the differential I/O.
LVDS differential output drivers are available on 50% of the buffer pairs on the left and right banks.
Typical sysIO I/O Behavior During Power-up
The internal power-on-reset (POR) signal is deactivated when VCC, VCCCONFIG (VCCIO7) and VCCAUX have reached
satisfactory levels. After the POR signal is deactivated, the FPGA core logic becomes active. It is the user’s responsibility to ensure that all other 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. During power up and before the FPGA core logic
becomes active, all user I/Os will be high-impedance with weak pull-up. Please refer to TN1136, LatticeXP2 sysIO
Usage Guide for additional information.
The VCC and VCCAUX supply the power to the FPGA core fabric, whereas the VCCIO supplies power to the I/O buffers. In order to simplify system design while providing consistent and predictable I/O behavior, it is recommended
that the I/O buffers be powered-up prior to the FPGA core fabric. VCCIO supplies should be powered-up before or
together with the VCC and VCCAUX supplies.
Supported sysIO Standards
The LatticeXP2 sysIO buffer supports both single-ended and differential standards. Single-ended standards can be
further subdivided into LVCMOS, LVTTL and other standards. The buffers support the LVTTL, LVCMOS 1.2V, 1.5V,
1.8V, 2.5V and 3.3V standards. In the LVCMOS and LVTTL modes, the buffer has individual configuration options
for drive strength, bus maintenance (weak pull-up, weak pull-down, or a bus-keeper latch) and open drain. Other
single-ended standards supported include SSTL and HSTL. Differential standards supported include LVDS,
MLVDS, BLVDS, LVPECL, RSDS, differential SSTL and differential HSTL. Tables 2-12 and 2-13 show the I/O standards (together with their supply and reference voltages) supported by LatticeXP2 devices. For further information
on utilizing the sysIO buffer to support a variety of standards please see TN1136, LatticeXP2 sysIO Usage Guide.
2-35
Architecture
LatticeXP2 Family Data Sheet
Table 2-12. Supported Input Standards
VREF (Nom.)
VCCIO1 (Nom.)
LVTTL
—
—
LVCMOS33
—
—
LVCMOS25
—
—
LVCMOS18
—
1.8
LVCMOS15
—
1.5
Input Standard
Single Ended Interfaces
LVCMOS12
—
—
PCI33
—
—
HSTL18 Class I, II
0.9
—
HSTL15 Class I
0.75
—
SSTL33 Class I, II
1.5
—
SSTL25 Class I, II
1.25
—
SSTL18 Class I, II
0.9
—
Differential SSTL18 Class I, II
—
—
Differential SSTL25 Class I, II
—
—
Differential Interfaces
Differential SSTL33 Class I, II
—
—
Differential HSTL15 Class I
—
—
Differential HSTL18 Class I, II
—
—
LVDS, MLVDS, LVPECL, BLVDS, RSDS
—
—
1. When not specified, VCCIO can be set anywhere in the valid operating range (page 3-1).
2-36
Architecture
LatticeXP2 Family Data Sheet
Table 2-13. Supported Output Standards
Output Standard
Drive
VCCIO (Nom.)
4mA, 8mA, 12mA, 16mA, 20mA
3.3
LVCMOS33
4mA, 8mA, 12mA 16mA, 20mA
3.3
LVCMOS25
4mA, 8mA, 12mA, 16mA, 20mA
2.5
LVCMOS18
4mA, 8mA, 12mA, 16mA
1.8
LVCMOS15
4mA, 8mA
1.5
Single-ended Interfaces
LVTTL
LVCMOS12
2mA, 6mA
1.2
LVCMOS33, Open Drain
4mA, 8mA, 12mA 16mA, 20mA
—
LVCMOS25, Open Drain
4mA, 8mA, 12mA 16mA, 20mA
—
LVCMOS18, Open Drain
4mA, 8mA, 12mA 16mA
—
LVCMOS15, Open Drain
4mA, 8mA
—
LVCMOS12, Open Drain
2mA, 6mA
—
PCI33
N/A
3.3
HSTL18 Class I, II
N/A
1.8
HSTL15 Class I
N/A
1.5
SSTL33 Class I, II
N/A
3.3
SSTL25 Class I, II
N/A
2.5
SSTL18 Class I, II
N/A
1.8
N/A
3.3
Differential Interfaces
Differential SSTL33, Class I, II
Differential SSTL25, Class I, II
N/A
2.5
Differential SSTL18, Class I, II
N/A
1.8
Differential HSTL18, Class I, II
N/A
1.8
Differential HSTL15, Class I
N/A
1.5
1, 2
LVDS
N/A
2.5
MLVDS1
N/A
2.5
1
BLVDS
N/A
2.5
LVPECL1
N/A
3.3
1
RSDS
LVCMOS33D1
N/A
2.5
4mA, 8mA, 12mA, 16mA, 20mA
3.3
1. Emulated with external resistors.
2. On the left and right edges, LVDS outputs are supported with a dedicated differential output driver on 50% of the I/Os. This
solution does not require external resistors at the driver.
Hot Socketing
LatticeXP2 devices have been carefully designed to ensure predictable behavior during power-up and powerdown. Power supplies can be sequenced in any order. During power-up and power-down sequences, the I/Os
remain in tri-state until the power supply voltage is high enough to ensure reliable operation. In addition, leakage
into I/O pins is controlled to within specified limits. This allows for easy integration with the rest of the system.
These capabilities make the LatticeXP2 ideal for many multiple power supply and hot-swap applications.
IEEE 1149.1-Compliant Boundary Scan Testability
All LatticeXP2 devices have boundary scan cells that are accessed through an IEEE 1149.1 compliant Test Access
Port (TAP). This allows functional testing of the circuit board, on which the device is mounted, through a serial scan
path that can access all critical logic nodes. Internal registers are linked internally, allowing test data to be shifted in
2-37
Architecture
LatticeXP2 Family Data Sheet
and loaded directly onto test nodes, or test data to be captured and shifted out for verification. The test access port
consists of dedicated I/Os: TDI, TDO, TCK and TMS. The test access port has its own supply voltage VCCJ and can
operate with LVCMOS3.3, 2.5, 1.8, 1.5 and 1.2 standards. For more information, please see TN1141, LatticeXP2
sysCONFIG Usage Guide.
flexiFLASH Device Configuration
The LatticeXP2 devices combine Flash and SRAM on a single chip to provide users with flexibility in device programming and configuration. Figure 2-33 provides an overview of the arrangement of Flash and SRAM configuration cells within the device. The remainder of this section provides an overview of these capabilities. See TN1141,
LatticeXP2 sysCONFIG Usage Guide for a more detailed description.
Figure 2-33. Overview of Flash and SRAM Configuration Cells Within LatticeXP2 Devices
Massively Parallel
Data Transfer
Instant-ON
EBR Blocks
Flash Memory
Flash for
Single-Chip
Solution
SRAM
Configuration
Bits
FlashBAK
for EBR
Storage
EBR Blocks
TAG
Memory
Decryption
and Device
Lock
Device Lock
for Design
Security
SPI and JTAG
At power-up, or on user command, data is transferred from the on-chip Flash memory to the SRAM configuration
cells that control the operation of the device. This is done with massively parallel buses enabling the parts to operate within microseconds of the power supplies reaching valid levels; this capability is referred to as Instant-On.
The on-chip Flash enables a single-chip solution eliminating the need for external boot memory. This Flash can be
programmed through either the JTAG or Slave SPI ports of the device. The SRAM configuration space can also be
infinitely reconfigured through the JTAG and Master SPI ports. The JTAG port is IEEE 1149.1 and IEEE 1532 compliant.
As described in the EBR section of the data sheet, the FlashBAK capability of the parts enables the contents of the
EBR blocks to be written back into the Flash storage area without erasing or reprogramming other aspects of the
device configuration. Serial TAG memory is also available to allow the storage of small amounts of data such as
calibration coefficients and error codes.
For applications where security is important, the lack of an external bitstream provides a solution that is inherently
more secure than SRAM only FPGAs. This is further enhanced by device locking. The device can be in one of
three modes:
2-38
Architecture
LatticeXP2 Family Data Sheet
1. Unlocked
2. Key Locked – Presenting the key through the programming interface allows the device to be unlocked.
3. Permanently Locked – The device is permanently locked.
To further complement the security of the device a One Time Programmable (OTP) mode is available. Once the
device is set in this mode it is not possible to erase or re-program the Flash portion of the device.
Serial TAG Memory
LatticeXP2 devices offer 0.6 to 3.3kbits of Flash memory in the form of Serial TAG memory. The TAG memory is an
area of the on-chip Flash that can be used for non-volatile storage including electronic ID codes, version codes,
date stamps, asset IDs and calibration settings. A block diagram of the TAG memory is shown in Figure 2-34. The
TAG memory is accessed in the same way as external SPI Flash and it can be read or programmed either through
JTAG, an external Slave SPI Port, or directly from FPGA logic. To read the TAG memory, a start address is specified and the entire TAG memory contents are read sequentially in a first-in-first-out manner. The TAG memory is
independent of the Flash used for device configuration and given its use for general-purpose storage functions is
always accessible regardless of the device security settings. For more information, see TN1137, LatticeXP2 Memory Usage Guide and TN1141, LatticeXP2 sysCONFIG Usage Guide.
Figure 2-34. Serial TAG Memory Diagram
External Slave
SPI Port
External Slave
SPI Port
TDI
JTAG
TDO
Data Shift Register
FPGA Logic
JTAG
FPGA Logic
Sequential
Address
Counter
Flash
Flash Memory Array
Live Update Technology
Many applications require field updates of the FPGA. LatticeXP2 devices provide three features that enable this
configuration to be done in a secure and failsafe manner while minimizing impact on system operation.
1. Decryption Support
LatticeXP2 devices provide on-chip, non-volatile key storage to support decryption of a 128-bit AES encrypted
bitstream, securing designs and deterring design piracy.
2. TransFR (Transparent Field Reconfiguration)
TransFR I/O (TFR) is a unique Lattice technology that allows users to update their logic in the field without
interrupting system operation using a single ispVM command. TransFR I/O allows I/O states to be frozen during device configuration. This allows the device to be field updated with a minimum of system disruption and
downtime. For more information please see TN1087, Minimizing System Interruption During Configuration
Using TransFR Technology.
3. Dual Boot Image Support
Dual boot images are supported for applications requiring reliable remote updates of configuration data for the
system FPGA. After the system is running with a basic configuration, a new boot image can be downloaded
remotely and stored in a separate location in the configuration storage device. Any time after the update the
LatticeXP2 can be re-booted from this new configuration file. If there is a problem such as corrupt data during
download or incorrect version number with this new boot image, the LatticeXP2 device can revert back to the
2-39
Architecture
LatticeXP2 Family Data Sheet
original backup configuration and try again. This all can be done without power cycling the system. For more
information please see TN1220, LatticeXP2 Dual Boot Feature.
For more information on device configuration, please see TN1141, LatticeXP2 sysCONFIG Usage Guide.
Soft Error Detect (SED) Support
LatticeXP2 devices have dedicated logic to perform Cyclic Redundancy Code (CRC) checks. During configuration,
the configuration data bitstream can be checked with the CRC logic block. In addition, LatticeXP2 devices can be
programmed for checking soft errors in SRAM. SED can be run on a programmed device when the user logic is not
active. In the event a soft error occurs, the device can be programmed to either reload from a known good boot
image (from internal Flash or external SPI memory) or generate an error signal.
For further information on SED support, please see TN1130, LatticeXP2 Soft Error Detection (SED) Usage Guide.
On-Chip Oscillator
Every LatticeXP2 device has an internal CMOS oscillator that is used to derive a Master Clock (CCLK) for configuration. The oscillator and CCLK run continuously and are available to user logic after configuration is complete. The
available CCLK frequencies are listed in Table 2-14. When a different CCLK frequency is selected during the
design process, the following sequence takes place:
1. Device powers up with the default CCLK frequency.
2. During configuration, users select a different CCLK frequency.
3. CCLK frequency changes to the selected frequency after clock configuration bits are received.
This internal CMOS oscillator is available to the user by routing it as an input clock to the clock tree. For further
information on the use of this oscillator for configuration or user mode, please see TN1141, LatticeXP2 sysCONFIG Usage Guide.
Table 2-14. Selectable CCLKs and Oscillator Frequencies During Configuration and User Mode
CCLK/Oscillator (MHz)
2.51
3.12
4.3
5.4
6.9
8.1
9.2
10
13
15
20
26
32
40
54
803
1633
1. Software default oscillator frequency.
2. Software default CCLK frequency.
3. Frequency not valid for CCLK.
2-40
Architecture
LatticeXP2 Family Data Sheet
Density Shifting
The LatticeXP2 family is designed to ensure that different density devices in the same family and in the same package have the same pinout. Furthermore, the architecture ensures a high success rate when performing design
migration from lower density devices to higher density devices. In many cases, it is also possible to shift a lower utilization design targeted for a high-density device to a lower density device. However, the exact details of the final
resource utilization will impact the likely success in each case.
2-41
LatticeXP2 Family Data Sheet
DC and Switching Characteristics
September 2014
Data Sheet DS1009
Absolute Maximum Ratings1, 2, 3
Supply Voltage VCC . . . . . . . . . . . . . . . . . . . -0.5 to 1.32V
Supply Voltage VCCAUX . . . . . . . . . . . . . . . . -0.5 to 3.75V
Supply Voltage VCCJ . . . . . . . . . . . . . . . . . . -0.5 to 3.75V
Supply Voltage VCCPLL4 . . . . . . . . . . . . . . . . -0.5 to 3.75V
Output Supply Voltage VCCIO . . . . . . . . . . . -0.5 to 3.75V
Input or I/O Tristate Voltage Applied5 . . . . . . -0.5 to 3.75V
Storage Temperature (Ambient) . . . . . . . . . -65 to 150°C
Junction Temperature Under Bias (Tj) . . . . . . . . . +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. VCCPLL only available on csBGA, PQFP and TQFP packages.
5. Overshoot and undershoot of -2V to (VIHMAX + 2) volts is permitted for a duration of 400 MHz
tOPJIT1
Output Clock Period Jitter
-5
0
5
%
—
—
±50
ps
100 MHz < fOUT < 400 MHz
—
—
±125
ps
fOUT < 100 MHz
—
—
0.025
UIPP
tSK
Input Clock to Output Clock Skew
N/M = integer
—
—
±240
ps
tOPW
Output Clock Pulse Width
At 90% or 10%
1
—
—
ns
tLOCK2
PLL Lock-in Time
25 to 435 MHz
—
—
50
µs
10 to 25 MHz
—
—
100
µs
tIPJIT
Input Clock Period Jitter
—
—
±200
ps
tFBKDLY
External Feedback Delay
—
—
10
ns
tHI
Input Clock High Time
90% to 90%
0.5
—
—
ns
tLO
Input Clock Low Time
10% to 10%
0.5
—
—
ns
tRSTKW
Reset Signal Pulse Width (RSTK)
10
—
—
ns
tRSTW
Reset Signal Pulse Width (RST)
500
—
—
ns
1.
2.
3.
4.
Jitter sample is taken over 10,000 samples of the primary PLL output with clean reference clock.
Output clock is valid after tLOCK for PLL reset and dynamic delay adjustment.
Using LVDS output buffers.
Relative to CLKOP.
3-27
DC and Switching Characteristics
LatticeXP2 Family Data Sheet
LatticeXP2 sysCONFIG Port Timing Specifications
Over Recommended Operating Conditions
Parameter
Description
Min
Max
Units
—
50
ms
sysCONFIG POR, Initialization and Wake Up
tICFG
Minimum Vcc to INITN High
tVMC
Time from tICFG to valid Master CCLK
—
2
µs
tPRGMRJ
PROGRAMN Pin Pulse Rejection
—
12
ns
tPRGM
PROGRAMN Low Time to Start Configuration
50
—
ns
tDINIT1
PROGRAMN High to INITN High Delay
—
1
ms
tDPPINIT
Delay Time from PROGRAMN Low to INITN Low
—
50
ns
tDPPDONE
Delay Time from PROGRAMN Low to DONE Low
—
50
ns
tIODISS
User I/O Disable from PROGRAMN Low
—
35
ns
tIOENSS
User I/O Enabled Time from CCLK Edge During Wake-up Sequence
—
25
ns
tMWC
Additional Wake Master Clock Signals after DONE Pin High
0
—
Cycles
sysCONFIG SPI Port (Master)
tCFGX
INITN High to CCLK Low
—
1
µs
tCSSPI
INITN High to CSSPIN Low
—
2
µs
tCSCCLK
CCLK Low before CSSPIN Low
0
—
ns
tSOCDO
CCLK Low to Output Valid
—
15
ns
tCSPID
CSSPIN[0:1] Low to First CCLK Edge Setup Time
2cyc
600+6cyc
ns
fMAXSPI
Max CCLK Frequency
—
20
MHz
tSUSPI
SOSPI Data Setup Time Before CCLK
7
—
ns
tHSPI
SOSPI Data Hold Time After CCLK
10
—
ns
25
MHz
mV/ns
sysCONFIG SPI Port (Slave)
fMAXSPIS
Slave CCLK Frequency
—
tRF
Rise and Fall Time
50
—
tSTCO
Falling Edge of CCLK to SOSPI Active
—
20
ns
tSTOZ
Falling Edge of CCLK to SOSPI Disable
—
20
ns
tSTSU
Data Setup Time (SISPI)
8
—
ns
tSTH
Data Hold Time (SISPI)
10
—
ns
tSTCKH
CCLK Clock Pulse Width, High
0.02
200
µs
tSTCKL
CCLK Clock Pulse Width, Low
0.02
200
µs
tSTVO
Falling Edge of CCLK to Valid SOSPI Output
—
20
ns
tSCS
CSSPISN High Time
25
—
ns
tSCSS
CSSPISN Setup Time
25
—
ns
tSCSH
CSSPISN Hold Time
25
—
ns
1. Re-toggling the PROGRAMN pin is not permitted until the INITN pin is high. Avoid consecutive toggling of PROGRAMN.
3-28
DC and Switching Characteristics
LatticeXP2 Family Data Sheet
On-Chip Oscillator and Configuration Master Clock Characteristics
Over Recommended Operating Conditions
Parameter
Master Clock Frequency
Duty Cycle
Min.
Max.
Units
Selected value -30%
Selected value +30%
MHz
40
60
%
Figure 3-9. Master SPI Configuration Waveforms
Capture CR0
Capture CFGx
VCC
PROGRAMN
DONE
INITN
CSSPIN
0
1
2
3
…
7
8
9 10
… 31 32 33 34
… 127 128
CCLK
SISPI
Opcode
Address
Ignore
SOSPI
3-29
Valid Bitstream
DC and Switching Characteristics
LatticeXP2 Family Data Sheet
Flash Download Time (from On-Chip Flash to SRAM)
Over Recommended Operating Conditions
Symbol
Parameter
XP2-5
Min.
Typ.
Max.
Units
—
1.8
2.1
ms
XP2-8
PROGRAMN Low-toHigh. Transition to Done XP2-17
High.
XP2-30
—
1.9
2.3
ms
—
1.7
2.0
ms
—
2.0
2.1
ms
XP2-40
—
2.0
2.3
ms
XP2-5
—
1.8
2.1
ms
XP2-8
—
1.9
2.3
ms
XP2-17
—
1.7
2.0
ms
XP2-30
—
2.0
2.1
ms
XP2-40
—
2.0
2.3
ms
tREFRESH
Power-up refresh when
PROGRAMN is pulled
up to VCC
(VCC=VCC Min)
Flash Program Time
Over Recommended Operating Conditions
Program Time
Device
Flash Density
XP2-5
1.2M
XP2-8
2.0M
XP2-17
3.6M
XP2-30
6.0M
XP2-40
8.0M
Typ.
Units
TAG
1.0
ms
Main Array
1.1
s
TAG
1.0
ms
Main Array
1.4
s
TAG
1.0
ms
Main Array
1.8
s
TAG
2.0
ms
Main Array
3.0
s
TAG
2.0
ms
Main Array
4.0
s
Flash Erase Time
Over Recommended Operating Conditions
Erase Time
Device
Flash Density
XP2-5
1.2M
XP2-8
2.0M
XP2-17
3.6M
XP2-30
6.0M
XP2-40
8.0M
Typ.
Units
TAG
1.0
s
Main Array
3.0
s
TAG
1.0
s
Main Array
4.0
s
TAG
1.0
s
Main Array
5.0
s
TAG
2.0
s
Main Array
7.0
s
TAG
2.0
s
Main Array
9.0
s
3-30
DC and Switching Characteristics
LatticeXP2 Family Data Sheet
FlashBAK Time (from EBR to Flash)
Over Recommended Operating Conditions
EBR Density (Bits)
Time (Typ.)
Units
XP2-5
Device
166K
1.5
s
XP2-8
221K
1.5
s
XP2-17
276K
1.5
s
XP2-30
387K
2.0
s
XP2-40
885K
3.0
s
JTAG Port Timing Specifications
Over Recommended Operating Conditions
Min.
Max.
Units
fMAX
Symbol
TCK Clock Frequency
Parameter
—
25
MHz
tBTCP
TCK [BSCAN] clock pulse width
40
—
ns
tBTCPH
TCK [BSCAN] clock pulse width high
20
—
ns
tBTCPL
TCK [BSCAN] clock pulse width low
20
—
ns
tBTS
TCK [BSCAN] setup time
8
—
ns
tBTH
TCK [BSCAN] hold time
10
—
ns
tBTRF
TCK [BSCAN] rise/fall time
50
—
mV/ns
tBTCO
TAP controller falling edge of clock to valid output
—
10
ns
tBTCODIS
TAP controller falling edge of clock to valid disable
—
10
ns
tBTCOEN
TAP controller falling edge of clock to valid enable
—
10
ns
tBTCRS
BSCAN test capture register setup time
8
—
ns
tBTCRH
BSCAN test capture register hold time
25
—
ns
tBUTCO
BSCAN test update register, falling edge of clock to valid output
—
25
ns
tBTUODIS
BSCAN test update register, falling edge of clock to valid disable
—
25
ns
tBTUPOEN
BSCAN test update register, falling edge of clock to valid enable
—
25
ns
3-31
DC and Switching Characteristics
LatticeXP2 Family Data Sheet
Figure 3-10. JTAG Port Timing Waveforms
TMS
TDI
tBTS
tBTCPH
tBTH
tBTCP
tBTCPL
TCK
tBTCO
tBTCOEN
TDO
Valid Data
tBTCRS
Data to be
captured
from I/O
tBTCODIS
Valid Data
tBTCRH
Data Captured
tBTUPOEN
tBUTCO
Data to be
driven out
to I/O
Valid Data
3-32
tBTUODIS
Valid Data
DC and Switching Characteristics
LatticeXP2 Family Data Sheet
Switching Test Conditions
Figure 3-11 shows the output test load that is used for AC testing. The specific values for resistance, capacitance,
voltage, and other test conditions are shown in Table 3-6.
Figure 3-11. Output Test Load, LVTTL and LVCMOS Standards
VT
R1
DUT
Test Poi nt
R2
CL*
*CL Includes Test Fixture and Probe Capacitance
Table 3-6. Test Fixture Required Components, Non-Terminated Interfaces
Test Condition
LVTTL and other LVCMOS settings (L -> H, H -> L)
R1
R2
LVCMOS 2.5 I/O (Z -> H)
LVCMOS 2.5 I/O (Z -> L)
1M
LVCMOS 2.5 I/O (H -> Z)
LVCMOS 2.5 I/O (L -> Z)
100
CL
0pF
1M
100
Note: Output test conditions for all other interfaces are determined by the respective standards.
3-33
Timing Ref.
VT
LVCMOS 3.3 = 1.5V
—
LVCMOS 2.5 = VCCIO/2
—
LVCMOS 1.8 = VCCIO/2
—
LVCMOS 1.5 = VCCIO/2
—
LVCMOS 1.2 = VCCIO/2
—
VCCIO/2
—
VCCIO/2
VCCIO
VOH - 0.10
—
VOL + 0.10
VCCIO
LatticeXP2 Family Data Sheet
Pinout Information
February 2012
Data Sheet DS1009
Signal Descriptions
Signal Name
I/O
Description
General Purpose
[Edge] indicates the edge of the device on which the pad is located. Valid
edge designations are L (Left), B (Bottom), R (Right), T (Top).
[Row/Column Number] indicates the PFU row or the column of the device on
which the PIC exists. When Edge is T (Top) or B (Bottom), only need to specify Row Number. When Edge is L (Left) or R (Right), only need to specify Column Number.
P[Edge] [Row/Column Number*]_[A/B]
I/O
[A/B] indicates the PIO within the PIC to which the pad is connected. Some of
these user-programmable pins are shared with special function pins. These
pins, when not used as special purpose pins, can be programmed as I/Os for
user logic. During configuration the user-programmable I/Os are tri-stated
with an internal pull-up resistor enabled. If any pin is not used (or not bonded
to a package pin), it is also tri-stated with an internal pull-up resistor enabled
after configuration.
GSRN
I
Global RESET signal (active low). Any I/O pin can be GSRN.
NC
—
No connect.
GND
—
Ground. Dedicated pins.
VCC
—
Power supply pins for core logic. Dedicated pins.
VCCAUX
—
Auxiliary power supply pin. This dedicated pin powers all the differential and
referenced input buffers.
VCCPLL
—
PLL supply pins. csBGA, PQFP and TQFP packages only.
VCCIOx
—
Dedicated power supply pins for I/O bank x.
VREF1_x, VREF2_x
—
Reference supply pins for I/O bank x. Pre-determined pins in each bank are
assigned as VREF inputs. When not used, they may be used as I/O pins.
PLL and Clock Functions (Used as user programmable I/O pins when not in use for PLL or clock pins)
[LOC][num]_VCCPLL
—
Power supply pin for PLL: LLC, LRC, URC, ULC, num = row from center.
[LOC][num]_GPLL[T, C]_IN_A
I
General Purpose PLL (GPLL) input pads: LLC, LRC, URC, ULC, num = row
from center, T = true and C = complement, index A,B,C...at each side.
[LOC][num]_GPLL[T, C]_FB_A
I
Optional feedback GPLL input pads: LLC, LRC, URC, ULC, num = row from
center, T = true and C = complement, index A,B,C...at each side.
PCLK[T, C]_[n:0]_[3:0]
I
Primary Clock pads, T = true and C = complement, n per side, indexed by
bank and 0,1,2,3 within bank.
[LOC]DQS[num]
I
DQS input pads: T (Top), R (Right), B (Bottom), L (Left), DQS, num = ball
function number. Any pad can be configured to be output.
TMS
I
Test Mode Select input, used to control the 1149.1 state machine. Pull-up is
enabled during configuration.
TCK
I
Test Clock input pin, used to clock the 1149.1 state machine. No pull-up
enabled.
I
Test Data in pin. Used to load data into device using 1149.1 state machine.
After power-up, this TAP port can be activated for configuration by sending
appropriate command. (Note: once a configuration port is selected it is
locked. Another configuration port cannot be selected until the power-up
sequence). Pull-up is enabled during configuration.
Test and Programming (Dedicated Pins)
TDI
© 2012 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
4-1
Pinout Information_01.7
Pinout Information
LatticeXP2 Family Data Sheet
Signal Descriptions (Cont.)
I/O
Description
TDO
Signal Name
O
Output pin. Test Data Out pin used to shift data out of a device using 1149.1.
VCCJ
—
Power supply pin for JTAG Test Access Port.
Configuration Pads (Used during sysCONFIG)
CFG[1:0]
INITN1
I
Mode pins used to specify configuration mode values latched on rising edge
of INITN. During configuration, an internal pull-up is enabled.
I/O
Open Drain pin. Indicates the FPGA is ready to be configured. During configuration, a pull-up is enabled.
I
Initiates configuration sequence when asserted low. This pin always has an
active pull-up.
DONE
I/O
Open Drain pin. Indicates that the configuration sequence is complete, and
the startup sequence is in progress.
CCLK
I/O
Configuration Clock for configuring an FPGA in sysCONFIG mode.
I/O
Input data pin in slave SPI mode and Output data pin in Master SPI mode.
I/O
Output data pin in slave SPI mode and Input data pin in Master SPI mode.
CSSPIN
O
Chip select for external SPI Flash memory in Master SPI mode. This pin has
a weak internal pull-up.
CSSPISN
I
Chip select in Slave SPI mode. This pin has a weak internal pull-up.
PROGRAMN
SISPI
2
SOSPI2
2
Test Output Enable tristates all I/O pins when driven low. This pin has a weak
internal pull-up, but when not used an external pull-up to VCC is recommended.
1. If not actively driven, the internal pull-up may not be sufficient. An external pull-up resistor of 4.7k to 10k is recommended.
TOE
I
2. When using the device in Master SPI mode, it must be mutually exclusive from JTAG operations (i.e. TCK tied to GND) or the JTAG TCK
must be free-running when used in a system JTAG test environment. If Master SPI mode is used in conjunction with a JTAG download
cable, the device power cycle is required after the cable is unplugged.
4-2
Pinout Information
LatticeXP2 Family Data Sheet
PICs and DDR Data (DQ) Pins Associated with the DDR Strobe (DQS) Pin
PICs Associated with
DQS Strobe
PIO Within PIC
DDR Strobe (DQS) and
Data (DQ) Pins
For Left and Right Edges of the Device
P[Edge] [n-4]
P[Edge] [n-3]
P[Edge] [n-2]
P[Edge] [n-1]
P[Edge] [n]
P[Edge] [n+1]
P[Edge] [n+2]
P[Edge] [n+3]
A
DQ
B
DQ
A
DQ
B
DQ
A
DQ
B
DQ
A
DQ
B
DQ
A
[Edge]DQSn
B
DQ
A
DQ
B
DQ
A
DQ
B
DQ
A
DQ
B
DQ
For Top and Bottom Edges of the Device
P[Edge] [n-4]
P[Edge] [n-3]
P[Edge] [n-2]
P[Edge] [n-1]
P[Edge] [n]
P[Edge] [n+1]
P[Edge] [n+2]
P[Edge] [n+3]
P[Edge] [n+4]
A
DQ
B
DQ
A
DQ
B
DQ
A
DQ
B
DQ
A
DQ
B
DQ
A
[Edge]DQSn
B
DQ
A
DQ
B
DQ
A
DQ
B
DQ
A
DQ
B
DQ
A
DQ
B
DQ
Notes:
1. “n” is a row PIC number.
2. The DDR interface is designed for memories that support one DQS strobe up to 16 bits
of data for the left and right edges and up to 18 bits of data for the top and bottom
edges. In some packages, all the potential DDR data (DQ) pins may not be available.
PIC numbering definitions are provided in the “Signal Names” column of the Signal
Descriptions table.
4-3
Pinout Information
LatticeXP2 Family Data Sheet
Pin Information Summary
XP2-5
Pin Type
Single Ended User I/O
Differential Pair
User I/O
Configuration
Non Configuration
XP2-8
XP2-17
XP2-30
XP2-40
132
144
208
256
132
144
208
256
208
256
484
256
484
672
484
672
csBGA TQFP PQFP ftBGA csBGA TQFP PQFP ftBGA PQFP ftBGA fpBGA ftBGA fpBGA fpBGA fpBGA fpBGA
86
100
146
172
86
100
146
201
146
201
358
201
363
472
363
540
35
39
57
66
35
39
57
77
57
77
135
77
137
180
137
204
Highspeed
8
11
16
20
8
11
16
23
16
23
44
23
44
56
44
66
TAP
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
Muxed
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
Dedicated
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
Muxed
5
5
7
7
7
7
9
9
11
11
21
7
11
13
11
13
Dedicated
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
6
4
9
6
6
4
9
6
9
6
16
6
16
20
16
20
8
Normal
Vcc
Vccaux
4
4
4
4
4
4
4
4
4
4
8
4
8
8
8
VCCPLL
2
2
2
-
2
2
2
-
4
-
-
-
-
-
-
-
Bank0
2
2
2
2
2
2
2
2
2
2
4
2
4
4
4
4
Bank1
1
1
2
2
1
1
2
2
2
2
4
2
4
4
4
4
Bank2
2
2
2
2
2
2
2
2
2
2
4
2
4
4
4
4
Bank3
1
1
2
2
1
1
2
2
2
2
4
2
4
4
4
4
Bank4
1
1
2
2
1
1
2
2
2
2
4
2
4
4
4
4
Bank5
2
2
2
2
2
2
2
2
2
2
4
2
4
4
4
4
Bank6
1
1
2
2
1
1
2
2
2
2
4
2
4
4
4
4
Bank7
2
2
2
2
2
2
2
2
2
2
4
2
4
4
4
4
15
15
20
20
15
15
22
20
22
20
56
20
56
64
56
64
-
4
-
2
VCCIO
GND, GND0-GND7
NC
Bank0
18/9
20/10 20/10
31
-
26/13
18/9
20/10 20/10
2
-
2
7
2
2
69
2
1
28/14
20/10
28/14
52/26
28/14
52/26
70/35
52/26
70/35
Bank1
4/2
6/3
18/9
18/9
4/2
6/3
18/9
22/11
18/9
22/11
36/18
22/11
36/18
54/27
36/18
70/35
Bank2
16/8
18/9
18/9
22/11
16/8
18/9
18/9
26/13
18/9
26/13
46/23
26/13
46/23
56/28
46/23
64/32
Bank3
4/2
4/2
16/8
20/10
4/2
4/2
16/8
24/12
16/8
24/12
44/22
24/12
46/23
56/28
46/23
66/33
Bank4
8/4
8/4
18/9
18/9
8/4
8/4
18/9
26/13
18/9
26/13
36/18
26/13
38/19
54/27
38/19
70/35
Bank5
14/7
18/9
20/10
24/12
14/7
18/9
20/10
24/12
20/10
24/12
52/26
24/12
53/26
70/35
53/26
70/35
Bank6
6/3
8/4
18/9
22/11
6/3
8/4
18/9
27/13
18/9
27/13
46/23
27/13
46/23
56/28
46/23
66/33
Bank7
16/8
18/9
18/9
22/11
16/8
18/9
18/9
24/12
18/9
24/12
46/23
24/12
46/23
56/28
46/23
64/32
Bank0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Bank1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Bank2
3
4
4
5
3
4
4
6
4
6
11
6
11
14
11
16
True LVDS Pairs Bank3
Bonding Out per
Bank4
Bank
1
1
4
5
1
1
4
6
4
6
11
6
11
14
11
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Bank5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Bank6
1
2
4
5
1
2
4
6
4
6
11
6
11
14
11
17
Bank7
3
4
4
5
3
4
4
5
4
5
11
5
11
14
11
16
Bank0
1
1
1
1
1
1
1
1
1
1
3
1
2
4
2
4
Bank1
0
0
1
1
0
0
1
1
1
1
2
1
2
3
2
4
Bank2
1
1
1
1
1
1
1
1
1
1
2
1
3
3
3
4
DDR Banks
Bank3
Bonding Out per
1
Bank4
I/O Bank
0
0
1
1
0
0
1
1
1
1
2
1
3
3
3
4
0
0
1
1
0
0
1
1
1
1
2
1
2
3
2
4
Bank5
1
1
1
1
1
1
1
1
1
1
3
1
2
4
2
4
Bank6
0
0
1
1
0
0
1
1
1
1
2
1
3
3
3
4
Bank7
1
1
1
1
1
1
1
1
1
1
2
1
3
3
3
4
Single Ended/
Differential I/O
per Bank
4-4
Pinout Information
LatticeXP2 Family Data Sheet
Pin Information Summary (Cont.)
XP2-5
Pin Type
XP2-8
XP2-17
XP2-30
XP2-40
132
144
208
256
132
144
208
256
208
256
484
256
484
672
484
672
csBGA TQFP PQFP ftBGA csBGA TQFP PQFP ftBGA PQFP ftBGA fpBGA ftBGA fpBGA fpBGA fpBGA fpBGA
Bank0
18
20
20
26
18
20
20
28
20
28
52
28
52
70
52
70
Bank1
4
6
18
18
4
6
18
22
18
22
36
22
36
54
36
70
Bank2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
PCI capable I/Os Bank3
Bonding Out per
Bank4
Bank
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
8
18
18
8
8
18
26
18
26
36
26
38
54
38
70
Bank5
14
18
20
24
14
18
20
24
20
24
52
24
53
70
53
70
Bank6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Bank7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1. Minimum requirement to implement a fully functional 8-bit wide DDR bus. Available DDR interface consists of at least 12 I/Os (1 DQS + 1 DQSB + 8 DQs + 1 DM
+ Bank VREF1).
Logic Signal Connections
Package pinout information can be found under “Data Sheets” on the LatticeXP2 product page of the Lattice website a www.latticesemi.com/products/fpga/xp2 and in the Lattice Diamond design software.
Thermal Management
Thermal management is recommended as part of any sound FPGA design methodology. To assess the thermal
characteristics of a system, Lattice specifies a maximum allowable junction temperature in all device data sheets.
Designers must complete a thermal analysis of their specific design to ensure that the device and package do not
exceed the junction temperature limits. Refer to the Lattice Thermal Management document to find the device/
package specific thermal values.
For Further Information
• TN1139, Power Estimation and Management for LatticeXP2 Devices
• Power Calculator tool is included with the Lattice Diamond design tool or as a standalone download from
www.latticesemi.com/products/designsoftware
4-5
LatticeXP2 Family Data Sheet
Ordering Information
February 2012
Data Sheet DS1009
Part Number Description
LFXP2 – XX E – X XXXXX X
Device Family
XP2
Grade
C = Commercial
I = Industrial
Logic Capacity
5 = 5K LUTs
8 = 8K LUTs
17 = 17K LUTs
30 = 30K LUTs
40 = 40K LUTs
Package
M132 = 132-ball csBGA
FT256 = 256-ball ftBGA
F484 = 484-ball fpBGA
F672 = 672-ball fpBGA
Supply Voltage
E = 1.2V
MN132 = 132-ball Lead-Free csBGA
TN144 = 144-pin Lead-Free TQFP
QN208 = 208-pin Lead-Free PQFP
FTN256 = 256-ball Lead-Free ftBGA
FN484 = 484-ball Lead-Free fpBGA
FN672 = 672-ball Lead-Free fpBGA
Speed
5 = Slowest
6
7 = Fastest
Ordering Information
The LatticeXP2 devices are marked with a single temperature grade, either Commercial or Industrial, as shown
below.
LFXP2-17E
7FT256C
Datecode
LFXP2-17E
6FT256I
Datecode
© 2012 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
5-1
Order Info_01.3
Ordering Information
LatticeXP2 Family Data Sheet
Lead-Free Packaging
Commercial
Part Number
Voltage
Grade
Package
Pins
Temp.
LUTs (k)
LFXP2-5E-5MN132C
1.2V
-5
Lead-Free csBGA
132
COM
5
LFXP2-5E-6MN132C
1.2V
-6
Lead-Free csBGA
132
COM
5
LFXP2-5E-7MN132C
1.2V
-7
Lead-Free csBGA
132
COM
5
LFXP2-5E-5TN144C
1.2V
-5
Lead-Free TQFP
144
COM
5
LFXP2-5E-6TN144C
1.2V
-6
Lead-Free TQFP
144
COM
5
LFXP2-5E-7TN144C
1.2V
-7
Lead-Free TQFP
144
COM
5
LFXP2-5E-5QN208C
1.2V
-5
Lead-Free PQFP
208
COM
5
LFXP2-5E-6QN208C
1.2V
-6
Lead-Free PQFP
208
COM
5
LFXP2-5E-7QN208C
1.2V
-7
Lead-Free PQFP
208
COM
5
LFXP2-5E-5FTN256C
1.2V
-5
Lead-Free ftBGA
256
COM
5
LFXP2-5E-6FTN256C
1.2V
-6
Lead-Free ftBGA
256
COM
5
LFXP2-5E-7FTN256C
1.2V
-7
Lead-Free ftBGA
256
COM
5
Voltage
Grade
Package
Pins
Temp.
LUTs (k)
LFXP2-8E-5MN132C
Part Number
1.2V
-5
Lead-Free csBGA
132
COM
8
LFXP2-8E-6MN132C
1.2V
-6
Lead-Free csBGA
132
COM
8
LFXP2-8E-7MN132C
1.2V
-7
Lead-Free csBGA
132
COM
8
LFXP2-8E-5TN144C
1.2V
-5
Lead-Free TQFP
144
COM
8
LFXP2-8E-6TN144C
1.2V
-6
Lead-Free TQFP
144
COM
8
LFXP2-8E-7TN144C
1.2V
-7
Lead-Free TQFP
144
COM
8
LFXP2-8E-5QN208C
1.2V
-5
Lead-Free PQFP
208
COM
8
LFXP2-8E-6QN208C
1.2V
-6
Lead-Free PQFP
208
COM
8
LFXP2-8E-7QN208C
1.2V
-7
Lead-Free PQFP
208
COM
8
LFXP2-8E-5FTN256C
1.2V
-5
Lead-Free ftBGA
256
COM
8
LFXP2-8E-6FTN256C
1.2V
-6
Lead-Free ftBGA
256
COM
8
LFXP2-8E-7FTN256C
1.2V
-7
Lead-Free ftBGA
256
COM
8
Voltage
Grade
Package
Pins
Temp.
LUTs (k)
LFXP2-17E-5QN208C
1.2V
-5
Lead-Free PQFP
208
COM
17
LFXP2-17E-6QN208C
1.2V
-6
Lead-Free PQFP
208
COM
17
Part Number
LFXP2-17E-7QN208C
1.2V
-7
Lead-Free PQFP
208
COM
17
LFXP2-17E-5FTN256C
1.2V
-5
Lead-Free ftBGA
256
COM
17
LFXP2-17E-6FTN256C
1.2V
-6
Lead-Free ftBGA
256
COM
17
LFXP2-17E-7FTN256C
1.2V
-7
Lead-Free ftBGA
256
COM
17
LFXP2-17E-5FN484C
1.2V
-5
Lead-Free fpBGA
484
COM
17
LFXP2-17E-6FN484C
1.2V
-6
Lead-Free fpBGA
484
COM
17
LFXP2-17E-7FN484C
1.2V
-7
Lead-Free fpBGA
484
COM
17
5-2
Ordering Information
LatticeXP2 Family Data Sheet
Voltage
Grade
Package
Pins
Temp.
LUTs (k)
LFXP2-30E-5FTN256C
Part Number
1.2V
-5
Lead-Free ftBGA
256
COM
30
LFXP2-30E-6FTN256C
1.2V
-6
Lead-Free ftBGA
256
COM
30
LFXP2-30E-7FTN256C
1.2V
-7
Lead-Free ftBGA
256
COM
30
LFXP2-30E-5FN484C
1.2V
-5
Lead-Free fpBGA
484
COM
30
LFXP2-30E-6FN484C
1.2V
-6
Lead-Free fpBGA
484
COM
30
LFXP2-30E-7FN484C
1.2V
-7
Lead-Free fpBGA
484
COM
30
LFXP2-30E-5FN672C
1.2V
-5
Lead-Free fpBGA
672
COM
30
LFXP2-30E-6FN672C
1.2V
-6
Lead-Free fpBGA
672
COM
30
LFXP2-30E-7FN672C
1.2V
-7
Lead-Free fpBGA
672
COM
30
Voltage
Grade
Package
Pins
Temp.
LUTs (k)
LFXP2-40E-5FN484C
Part Number
1.2V
-5
Lead-Free fpBGA
484
COM
40
LFXP2-40E-6FN484C
1.2V
-6
Lead-Free fpBGA
484
COM
40
LFXP2-40E-7FN484C
1.2V
-7
Lead-Free fpBGA
484
COM
40
LFXP2-40E-5FN672C
1.2V
-5
Lead-Free fpBGA
672
COM
40
LFXP2-40E-6FN672C
1.2V
-6
Lead-Free fpBGA
672
COM
40
LFXP2-40E-7FN672C
1.2V
-7
Lead-Free fpBGA
672
COM
40
Industrial
Voltage
Grade
Package
Pins
Temp.
LUTs (k)
LFXP2-5E-5MN132I
Part Number
1.2V
-5
Lead-Free csBGA
132
IND
5
LFXP2-5E-6MN132I
1.2V
-6
Lead-Free csBGA
132
IND
5
LFXP2-5E-5TN144I
1.2V
-5
Lead-Free TQFP
144
IND
5
LFXP2-5E-6TN144I
1.2V
-6
Lead-Free TQFP
144
IND
5
LFXP2-5E-5QN208I
1.2V
-5
Lead-Free PQFP
208
IND
5
LFXP2-5E-6QN208I
1.2V
-6
Lead-Free PQFP
208
IND
5
LFXP2-5E-5FTN256I
1.2V
-5
Lead-Free ftBGA
256
IND
5
LFXP2-5E-6FTN256I
1.2V
-6
Lead-Free ftBGA
256
IND
5
Voltage
Grade
Package
Pins
Temp.
LUTs (k)
LFXP2-8E-5MN132I
1.2V
-5
Lead-Free csBGA
132
IND
8
LFXP2-8E-6MN132I
1.2V
-6
Lead-Free csBGA
132
IND
8
LFXP2-8E-5TN144I
1.2V
-5
Lead-Free TQFP
144
IND
8
LFXP2-8E-6TN144I
1.2V
-6
Lead-Free TQFP
144
IND
8
LFXP2-8E-5QN208I
1.2V
-5
Lead-Free PQFP
208
IND
8
LFXP2-8E-6QN208I
1.2V
-6
Lead-Free PQFP
208
IND
8
LFXP2-8E-5FTN256I
1.2V
-5
Lead-Free ftBGA
256
IND
8
LFXP2-8E-6FTN256I
1.2V
-6
Lead-Free ftBGA
256
IND
8
Part Number
5-3
Ordering Information
LatticeXP2 Family Data Sheet
Voltage
Grade
Package
Pins
Temp.
LUTs (k)
LFXP2-17E-5QN208I
Part Number
1.2V
-5
Lead-Free PQFP
208
IND
17
LFXP2-17E-6QN208I
1.2V
-6
Lead-Free PQFP
208
IND
17
LFXP2-17E-5FTN256I
1.2V
-5
Lead-Free ftBGA
256
IND
17
LFXP2-17E-6FTN256I
1.2V
-6
Lead-Free ftBGA
256
IND
17
LFXP2-17E-5FN484I
1.2V
-5
Lead-Free fpBGA
484
IND
17
LFXP2-17E-6FN484I
1.2V
-6
Lead-Free fpBGA
484
IND
17
Voltage
Grade
Package
Pins
Temp.
LUTs (k)
LFXP2-30E-5FTN256I
1.2V
-5
Lead-Free ftBGA
256
IND
30
LFXP2-30E-6FTN256I
1.2V
-6
Lead-Free ftBGA
256
IND
30
LFXP2-30E-5FN484I
1.2V
-5
Lead-Free fpBGA
484
IND
30
LFXP2-30E-6FN484I
1.2V
-6
Lead-Free fpBGA
484
IND
30
LFXP2-30E-5FN672I
1.2V
-5
Lead-Free fpBGA
672
IND
30
LFXP2-30E-6FN672I
1.2V
-6
Lead-Free fpBGA
672
IND
30
Part Number
Voltage
Grade
Package
Pins
Temp.
LUTs (k)
LFXP2-40E-5FN484I
Part Number
1.2V
-5
Lead-Free fpBGA
484
IND
40
LFXP2-40E-6FN484I
1.2V
-6
Lead-Free fpBGA
484
IND
40
LFXP2-40E-5FN672I
1.2V
-5
Lead-Free fpBGA
672
IND
40
LFXP2-40E-6FN672I
1.2V
-6
Lead-Free fpBGA
672
IND
40
5-4
Ordering Information
LatticeXP2 Family Data Sheet
Conventional Packaging
Commercial
Part Number
Voltage
Grade
Package
Pins
Temp.
LUTs (k)
LFXP2-5E-5M132C
1.2V
-5
csBGA
132
COM
5
LFXP2-5E-6M132C
1.2V
-6
csBGA
132
COM
5
LFXP2-5E-7M132C
1.2V
-7
csBGA
132
COM
5
LFXP2-5E-5FT256C
1.2V
-5
ftBGA
256
COM
5
LFXP2-5E-6FT256C
1.2V
-6
ftBGA
256
COM
5
LFXP2-5E-7FT256C
1.2V
-7
ftBGA
256
COM
5
Voltage
Grade
Package
Pins
Temp.
LUTs (k)
LFXP2-8E-5M132C
Part Number
1.2V
-5
csBGA
132
COM
8
LFXP2-8E-6M132C
1.2V
-6
csBGA
132
COM
8
LFXP2-8E-7M132C
1.2V
-7
csBGA
132
COM
8
LFXP2-8E-5FT256C
1.2V
-5
ftBGA
256
COM
8
LFXP2-8E-6FT256C
1.2V
-6
ftBGA
256
COM
8
LFXP2-8E-7FT256C
1.2V
-7
ftBGA
256
COM
8
Voltage
Grade
Package
Pins
Temp.
LUTs (k)
LFXP2-17E-5FT256C
1.2V
-5
ftBGA
256
COM
17
LFXP2-17E-6FT256C
1.2V
-6
ftBGA
256
COM
17
LFXP2-17E-7FT256C
1.2V
-7
ftBGA
256
COM
17
LFXP2-17E-5F484C
1.2V
-5
fpBGA
484
COM
17
LFXP2-17E-6F484C
1.2V
-6
fpBGA
484
COM
17
LFXP2-17E-7F484C
1.2V
-7
fpBGA
484
COM
17
Part Number
Voltage
Grade
Package
Pins
Temp.
LUTs (k)
LFXP2-30E-5FT256C
Part Number
1.2V
-5
ftBGA
256
COM
30
LFXP2-30E-6FT256C
1.2V
-6
ftBGA
256
COM
30
LFXP2-30E-7FT256C
1.2V
-7
ftBGA
256
COM
30
LFXP2-30E-5F484C
1.2V
-5
fpBGA
484
COM
30
LFXP2-30E-6F484C
1.2V
-6
fpBGA
484
COM
30
LFXP2-30E-7F484C
1.2V
-7
fpBGA
484
COM
30
LFXP2-30E-5F672C
1.2V
-5
fpBGA
672
COM
30
LFXP2-30E-6F672C
1.2V
-6
fpBGA
672
COM
30
LFXP2-30E-7F672C
1.2V
-7
fpBGA
672
COM
30
5-5
Ordering Information
LatticeXP2 Family Data Sheet
Voltage
Grade
Package
Pins
Temp.
LUTs (k)
LFXP2-40E-5F484C
Part Number
1.2V
-5
fpBGA
484
COM
40
LFXP2-40E-6F484C
1.2V
-6
fpBGA
484
COM
40
LFXP2-40E-7F484C
1.2V
-7
fpBGA
484
COM
40
LFXP2-40E-5F672C
1.2V
-5
fpBGA
672
COM
40
LFXP2-40E-6F672C
1.2V
-6
fpBGA
672
COM
40
LFXP2-40E-7F672C
1.2V
-7
fpBGA
672
COM
40
Industrial
Part Number
LFXP2-5E-5M132I
Voltage
Grade
Package
Pins
Temp.
LUTs (k)
1.2V
-5
csBGA
132
IND
5
LFXP2-5E-6M132I
1.2V
-6
csBGA
132
IND
5
LFXP2-5E-6FT256I
1.2V
-6
ftBGA
256
IND
5
Voltage
Grade
Package
Pins
Temp.
LUTs (k)
1.2V
-5
csBGA
132
IND
8
Part Number
LFXP2-8E-5M132I
LFXP2-8E-6M132I
1.2V
-6
csBGA
132
IND
8
LFXP2-5E-5FT256I
1.2V
-5
ftBGA
256
IND
5
LFXP2-8E-5FT256I
1.2V
-5
ftBGA
256
IND
8
LFXP2-8E-6FT256I
1.2V
-6
ftBGA
256
IND
8
Voltage
Grade
Package
Pins
Temp.
LUTs (k)
LFXP2-17E-5FT256I
Part Number
1.2V
-5
ftBGA
256
IND
17
LFXP2-17E-6FT256I
1.2V
-6
ftBGA
256
IND
17
LFXP2-17E-5F484I
1.2V
-5
fpBGA
484
IND
17
LFXP2-17E-6F484I
1.2V
-6
fpBGA
484
IND
17
Voltage
Grade
Package
Pins
Temp.
LUTs (k)
LFXP2-30E-5FT256I
1.2V
-5
ftBGA
256
IND
30
LFXP2-30E-6FT256I
1.2V
-6
ftBGA
256
IND
30
LFXP2-30E-5F484I
1.2V
-5
fpBGA
484
IND
30
LFXP2-30E-6F484I
1.2V
-6
fpBGA
484
IND
30
LFXP2-30E-5F672I
1.2V
-5
fpBGA
672
IND
30
LFXP2-30E-6F672I
1.2V
-6
fpBGA
672
IND
30
Part Number
5-6
Ordering Information
LatticeXP2 Family Data Sheet
Voltage
Grade
Package
Pins
Temp.
LUTs (k)
LFXP2-40E-5F484I
Part Number
1.2V
-5
fpBGA
484
IND
40
LFXP2-40E-6F484I
1.2V
-6
fpBGA
484
IND
40
LFXP2-40E-5F672I
1.2V
-5
fpBGA
672
IND
40
LFXP2-40E-6F672I
1.2V
-6
fpBGA
672
IND
40
5-7
LatticeXP2 Family Data Sheet
Supplemental Information
February 2012
Data Sheet DS1009
For Further Information
A variety of technical notes for the LatticeXP2 FPGA family are available on the Lattice Semiconductor web site at
www.latticesemi.com.
• TN1136, LatticeXP2 sysIO Usage Guide
• TN1137, LatticeXP2 Memory Usage Guide
• TN1138, LatticeXP2 High Speed I/O Interface
• TN1126, LatticeXP2 sysCLOCK PLL Design and Usage Guide
• TN1139, Power Estimation and Management for LatticeXP2 Devices
• TN1140, LatticeXP2 sysDSP Usage Guide
• TN1141, LatticeXP2 sysCONFIG Usage Guide
• TN1142, LatticeXP2 Configuration Encryption and Security Usage Guide
• TN1087, Minimizing System Interruption During Configuration Using TransFR Technology
• TN1220, LatticeXP2 Dual Boot Feature
• TN1130, LatticeXP2 Soft Error Detection (SED) Usage Guide
• TN1143, LatticeXP2 Hardware Checklist
For further information on interface standards refer to the following websites:
• JEDEC Standards (LVTTL, LVCMOS, SSTL, HSTL): www.jedec.org
• PCI: www.pcisig.com
© 2012 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
6-1
Further Info_01.2
LatticeXP2 Family Data Sheet
Revision History
September 2014
Data Sheet DS1009
Revision History
Date
Version
Section
May 2007
01.1
—
September 2007
01.2
DC and Switching
Characteristics
Change Summary
Initial release.
Added JTAG Port Timing Waveforms diagram.
Updated sysCLOCK PLL Timing table.
Pinout Information
February 2008
01.3
Architecture
Added Thermal Management text section.
Added LVCMOS33D to Supported Output Standards table.
Clarified: “This Flash can be programmed through either the JTAG or
Slave SPI ports of the device. The SRAM configuration space can also
be infinitely reconfigured through the JTAG and Master SPI ports.”
Added External Slave SPI Port to Serial TAG Memory section. Updated
Serial TAG Memory diagram.
DC and Switching
Characteristics
Updated Flash Programming Specifications table.
Added “8W” specification to Hot Socketing Specifications table.
Updated Timing Tables
Clarifications for IIH in DC Electrical Characteristics table.
Added LVCMOS33D section
Updated DOA and DOA (Regs) to EBR Timing diagrams.
Removed Master Clock Frequency and Duty Cycle sections from the
LatticeXP2 sysCONFIG Port Timing Specifications table. These are
listed on the On-chip Oscillator and Configuration Master Clock Characteristics table.
Changed CSSPIN to CSSPISN in description of tSCS, tSCSS, and tSCSH
parameters. Removed tSOE parameter.
Clarified On-chip Oscillator documentation
Added Switching Test Conditions
Pinout Information
Added “True LVDS Pairs Bonding Out per Bank,” “DDR Banks Bonding
Out per I/O Bank,” and “PCI capable I/Os Bonding Out per Bank” to Pin
Information Summary in place of previous blank table “PCI and DDR
Capabilities of the Device-Package Combinations”
Removed pinout listing. This information is available on the LatticeXP2
product web pages
April 2008
01.4
Ordering Information
Added XP2-17 “8W” and all other family OPNs.
DC and Switching
Characteristics
Updated Absolute Maximum Ratings footnotes.
Updated Recommended Operating Conditions Table footnotes.
Updated Supply Current (Standby) Table
Updated Initialization Supply Current Table
Updated Programming and Erase Flash Supply Current Table
Updated Register to Register Performance Table
Updated LatticeXP2 External Switching Characteristics Table
Updated LatticeXP2 Internal Switching Characteristics Table
Updated sysCLOCK PLL Timing Table
© 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.
www.latticesemi.com
7-1
Revision History
LatticeXP2 Family Data Sheet
Date
Version
April 2008
(cont.)
01.4
(cont.)
Section
Change Summary
DC and Switching
Updated Flash Download Time (From On-Chip Flash to SRAM) Table
Characteristics (cont.) Updated Flash Program Time Table
Updated Flash Erase Time Table
Updated FlashBAK (from EBR to Flash) Table
Updated Hot Socketing Specifications Table footnotes
Pinout Information
June 2008
01.5
Architecture
Updated Signal Descriptions Table
Removed Read-Before-Write sysMEM EBR mode.
Clarification of the operation of the secondary clock regions.
August 2008
01.6
DC and Switching
Characteristics
Removed Read-Before-Write sysMEM EBR mode.
Pinout Information
Updated DDR Banks Bonding Out per I/O Bank section of Pin Information Summary Table.
—
Architecture
DC and Switching
Characteristics
Data sheet status changed from preliminary to final.
Clarification of the operation of the secondary clock regions.
Removed “8W” specification from Hot Socketing Specifications table.
Removed "8W" footnote from DC Electrical Characteristics table.
Updated Register-to-Register Performance table.
Ordering Information
Removed “8W” option from Part Number Description.
Removed XP2-17 “8W” OPNs.
April 2011
01.7
DC and Switching
Characteristics
Recommended Operating Conditions table, added footnote 5.
On-Chip Flash Memory Specifications table, added footnote 1.
BLVDS DC Conditions, corrected column title to be Z0 = 90 ohms.
sysCONFIG Port Timing Specifications table, added footnote 1 for
tDINIT.
January 2012
01.8
Multiple
Architecture
DC and Switching
Characteristics
May 2013
01.9
All
Architecture
Added support for Lattice Diamond design software.
Corrected information regarding SED support.
Added reference to ESD Performance Qualification Summary information.
Updated document with new corporate logo.
Architecture Overview – Added information on the state of the
register on power up and after configuration.
Added information regarding SED support.
DC and Switching
Characteristics
Ordering Information
Removed Input Clock Rise/Fall Time 1ns max from the sysCLOCK PLL
Timing table.
Updated topside mark in Ordering Information diagram.
March 2014
02.0
Architecture
Updated Typical sysIO I/O Behavior During Power-up section. Added
information on POR signal deactivation.
August 2014
02.1
Architecture
Updated Typical sysIO I/O Behavior During Power-up section.
Described user I/Os during power up and before FPGA core logic is
active.
September 2014
2.2
DC and Switching
Characteristics
Updated Switching Test Conditions section. Re-linked missing figure.
7-2