Basic Fpga Arch Xilinx
Basic Fpga Arch Xilinx
Architecture
Programmable
interconnect
Dedicated
multipliers
Configurable
Logic Blocks
(CLBs)
• Virtex™-II architecture’s
core voltage Clock Management
operates at 1.5V
(DCMs, BUFGMUXes)
neighboring CLBs
Slice S1
– A switch matrix provides
access
Slice S0
to general routing Local Routing
resources
CIN CIN
CLR
F8
two MUXF7 outputs
F5
(from the CLB above
Slice S3 or below)
MUXF6 combines
F6
slices S2 and S3
F5
Slice S2
two MUXF6
Slice S1
F5
outputs
MUXF6 combines slices S0 and S1
F6
Slice S0
F5
A S CO
DI
CY_MUX
CI
CY_XOR
MULT_AND
AxB
LUT
B LUT
slice
– Control signals can be inverted LDCPE
12 Cycles
Operation A Operation B
64
4 Cycles 8 Cycles
64
Operation C Operation D -
NOP
3 Cycles 9 Cycles
Paths are Statically
Balanced
12 Cycles
memory
D
WE
WCLK
• Synchronous write LUT A0 O
A1
• Asynchronous read A2
A3
– Accompanying flip-flops
can be used to create RAM32X1S RAM16X1D
synchronous read D D
WE WE
• RAM and ROM are initialized Slice A0
WCLK
O A0
WCLK
SPO
during A1 A1
configuration LUT
A2
A3
A2
A3
18 x 18 Output 8 x 8 signed
Multiplier (36 bits)
Data_B 12 x 12
(18 bits) signed
18 x 18
signed
Basic FPGA Architecture 2 - 25 © 2005 Xilinx, Inc. All Rights Reserved
For Academic Use Only
Global Clock Routing
Resources
• Sixteen dedicated global clock multiplexers
– Eight on the top-center of the die, eight on the
bottom-center
– Driven by a clock input pad, a DCM, or local routing
• Global clock multiplexers provide the following:
– Traditional clock buffer (BUFG) function
– Global clock enable capability (BUFGCE)
– Glitch-free switching between clock signals
(BUFGMUX)
• Up to eight clock nets can be used in each clock
region of the device
– Each device contains four or more clock regions
(Logic)
• LUT can be used as logic Fast Connects
Slice X0Y0
only
CIN
SHIFTOUT CIN
• Application Notes
– www.xilinx.com → Documentation → Application Notes
• Education resources
– Designing with the Virtex-4 Family course
– Spartan-3E Architecture free Recorded e-Learning
D1
Clock Reg DDR MUX OBUF
OCK1
PAD
D2
Reg
OCK2 FDDR
• If D1 = “1” and D2 = “0”, the output is a copy of Clock
– Use this technique to generate a clock output that is
synchronized to DDR output data
BUFGMUX
– Switches from one O
clock to another, I1
glitch-free S
– After a change on S,
the BUFGMUX waits
for the currently S
Wait for low
selected clock input I0
to go Low Switch
I1
– The output is held
Low until the newly O