Spartan-3E FPGA Family: Functional Description
DS312 (v4.1) July 19, 2013
Product Specification
21
Configurable Logic Block (CLB) and
Slice Resources
For additional information, refer to the “Using Configurable
Logic Blocks (CLBs)” chapter in
UG331.
CLB Overview
The Configurable Logic Blocks (CLBs) constitute the main
logic resource for implementing synchronous as well as
combinatorial circuits. Each CLB contains four slices, and
each slice contains two Look-Up Tables (LUTs) to
implement logic and two dedicated storage elements that
can be used as flip-flops or latches. The LUTs can be used
as a 16x1 memory (RAM16) or as a 16-bit shift register
(SRL16), and additional multiplexers and carry logic simplify
wide logic and arithmetic functions. Most general-purpose
logic in a design is automatically mapped to the slice
resources in the CLBs. Each CLB is identical, and the
Spartan-3E family CLB structure is identical to that for the
Spartan-3 family.
CLB Array
The CLBs are arranged in a regular array of rows and
Each density varies by the number of rows and columns of
Slices
Each CLB comprises four interconnected slices, as shown
in
Figure 16. These slices are grouped in pairs. Each pair is
organized as a column with an independent carry chain.
The left pair supports both logic and memory functions and
its slices are called SLICEM. The right pair supports logic
only and its slices are called SLICEL. Therefore half the
LUTs support both logic and memory (including both
RAM16 and SRL16 shift registers) while half support logic
only, and the two types alternate throughout the array
columns. The SLICEL reduces the size of the CLB and
lowers the cost of the device, and can also provide a
performance advantage over the SLICEM.
X-Ref Target - Figure 14
Figure 14: CLB Locations
DS312-2_31_021205
Spartan-3E
FPGA
X0Y1
X1Y1
X0Y0
X1Y0
IOBs
CLB
Slice
X2Y1
X3Y1
X2Y0
X3Y0
X0Y3
X1Y3
X0Y2
X1Y2
X2Y3
X3Y3
X2Y2
X3Y2
Table 9: Spartan-3E CLB Resources
Device
CLB
Rows
CLB
Columns
CLB
Slices
LUTs /
Flip-Flops
Equivalent
Logic Cells
RAM16 /
SRL16
Distributed
RAM Bits
XC3S100E
22
16
240
960
1,920
2,160
960
15,360
XC3S250E
34
26
612
2,448
4,896
5,508
2,448
39,168
XC3S500E
46
34
1,164
4,656
9,312
10,476
4,656
74,496
XC3S1200E
60
46
2,168
8,672
17,344
19,512
8,672
138,752
XC3S1600E
76
58
3,688
14,752
29,504
33,192
14,752
236,032
Notes:
1.
The number of CLBs is less than the multiple of the rows and columns because the block RAM/multiplier blocks and the DCMs are
embedded in the array (see
Figure 1 in Module 1).