XC3S4000-5FGG900C Xilinx Inc, XC3S4000-5FGG900C Datasheet - Page 24
![no-image](/images/no-image-200.jpg)
XC3S4000-5FGG900C
Manufacturer Part Number
XC3S4000-5FGG900C
Description
SPARTAN-3A FPGA 4M 900-FBGA
Manufacturer
Xilinx Inc
Series
Spartan™-3r
Datasheet
1.XC3S50-4VQG100C.pdf
(217 pages)
Specifications of XC3S4000-5FGG900C
Number Of Logic Elements/cells
62208
Number Of Labs/clbs
6912
Total Ram Bits
1769472
Number Of I /o
633
Number Of Gates
4000000
Voltage - Supply
1.14 V ~ 1.26 V
Mounting Type
Surface Mount
Operating Temperature
0°C ~ 85°C
Package / Case
900-BBGA
Lead Free Status / RoHS Status
Lead free / RoHS Compliant
Available stocks
Company
Part Number
Manufacturer
Quantity
Price
Company:
Part Number:
XC3S4000-5FGG900C
Manufacturer:
Xilinx Inc
Quantity:
10 000
Part Number:
XC3S4000-5FGG900C
Manufacturer:
XILINX/赛灵思
Quantity:
20 000
Spartan-3 FPGA Family: Functional Description
The carry chain, together with various dedicated arithmetic
logic gates, support fast and efficient implementations of
math operations. The carry chain enters the slice as CIN
and exits as COUT. Five multiplexers control the chain:
CYINIT, CY0F, and CYMUXF in the lower portion as well as
CY0G and CYMUXG in the upper portion. The dedicated
arithmetic logic includes the exclusive-OR gates XORG and
XORF (upper and lower portions of the slice, respectively)
as well as the AND gates GAND and FAND (upper and
lower portions, respectively). For more details on the carry
logic, refer to the “Using Carry and Arithmetic Logic” chap-
ter in UG331.
Main Logic Paths
Central to the operation of each slice are two nearly identi-
cal data paths, distinguished using the terms top and bot-
tom. The description that follows uses names associated
with the bottom path. (The top path names appear in paren-
theses.) The basic path originates at an interconnect-switch
matrix outside the CLB. Four lines, F1 through F4 (or G1
through G4 on the upper path), enter the slice and connect
directly to the LUT. Once inside the slice, the lower 4-bit
path passes through a function generator ‘F’ (or ‘G’) that
performs logic operations. The function generator’s Data
output, ‘D’, offers five possible paths:
1. Exit the slice via line ‘X’ (or ‘Y’) and return to
2. Inside the slice, ‘X’ (or ‘Y’) serves as an input to the
3. Control the CYMUXF (or CYMUXG) multiplexer on the
4. With the carry chain, serve as an input to the XORF (or
5. Drive the multiplexer F5MUX to implement logic
In addition to the main logic paths described above, there
are two bypass paths that enter the slice as BX and BY.
Once inside the FPGA, BX in the bottom half of the slice (or
BY in the top half) can take any of several possible
branches:
1. Bypass both the LUT and the storage element, then exit
24
54
interconnect.
DXMUX (DYMUX) which feeds the data input, ‘D’, of the
FFX (FFY) storage element. The ‘Q’ output of the
storage element drives the line XQ (or YQ) which exits
the slice.
carry chain.
XORG) exclusive-OR gate that performs arithmetic
operations, producing a result on ‘X’ (or ‘Y’).
functions wider than four bits. The ‘D’ outputs of both
the F-LUT and G-LUT serve as data inputs to this
multiplexer.
the slice as BXOUT (or BYOUT) and return to
interconnect.
www.xilinx.com
2. Bypass the LUT, then pass through a storage element
3. Control the wide function multiplexer F5MUX (or
4. Via multiplexers, serve as an input to the carry chain.
5. Drives the DI input of the LUT.
6. BY can control the REV inputs of both the FFY and FFX
7. Finally, the DIG_MUX multiplexer can switch BY onto
Other slice signals shown in
cussed in the sections that follow.
Function Generator
Each of the two LUTs (F and G) in a slice have four logic
inputs (A1-A4) and a single output (D). This permits any
four-variable Boolean logic operation to be programmed
into them. Furthermore, wide function multiplexers can be
used to effectively combine LUTs within the same CLB or
across different CLBs, making logic functions with still more
input variables possible.
The LUTs in both the right-hand and left-hand slice-pairs
not only support the logic functions described above, but
also can function as ROM that is initialized with data at the
time of configuration.
The LUTs in the left-hand slice-pair (even-numbered col-
umns such as X0 in
additional functions that the right-hand slice-pair (odd-num-
bered columns such as X1) do not.
First, it is possible to program the “left-hand LUTs” as dis-
tributed RAM. This type of memory affords moderate
amounts of data buffering anywhere along a data path. One
left-hand LUT stores 16 bits. Multiple left-hand LUTs can be
combined in various ways to store larger amounts of data. A
dual port option combines two LUTs so that memory access
is possible from two independent data lines. A Distributed
ROM option permits pre-loading the memory with data dur-
ing FPGA configuration.
Second, it is possible to program each left-hand LUT as a
16-bit shift register. Used in this way, each LUT can delay
serial data anywhere from one to 16 clock cycles. The four
left-hand LUTs of a single CLB can be combined to produce
delays up to 64 clock cycles. The SHIFTIN and SHIFTOUT
lines cascade LUTs to form larger shift registers. It is also
possible to combine shift registers across more than one
CLB. The resulting programmable delays can be used to
balance the timing of data pipelines.
via the D input before exiting as XQ (or YQ).
F6MUX).
storage elements.
the DIG line, which exits the slice.
Figure
DS099-2 (v2.5) December 4, 2009
9) of each CLB support two
Figure 10, page 23
Product Specification
are dis-
R