Академический Документы
Профессиональный Документы
Культура Документы
Acknowledgements:
Materials in this lecture are courtesy of the following sources and are used with permission.
Frank Honore
Prof. Randy Katz (Unified Microelectronics Corporation Distinguished Professor
in Electrical Engineering and Computer Science at the University of California, Berkeley) and
Prof. Gaetano Borriello (University of Washington Department of Computer Science &
Engineering) From Chapter 2 of R. Katz, G. Borriello. Contemporary Logic Design. 2nd ed.
Prentice-Hall/Pearson Education, 2005.
L12: 6.111 Spring 2006 Introductory Digital Systems Laboratory 1
History of Computational Fabrics
Logic blocks
To implement combinational
and sequential logic
Interconnect
Wires to connect inputs and
outputs to logic blocks
I/O blocks
Special logic blocks at
periphery of device for
external connections
Key questions:
How to make logic blocks programmable?
(after chip has been fabbed!)
What should the logic granularity be?
How to make the wires programmable? n m
(after chip has been fabbed!) Logic
Logic
Inputs Outputs
SET
D Q
input AND
signals array OR array
output
signals
programming of programming of
product terms sum terms
Each input pin (and its complement) sent to the AND array
OR gates for each output can take 8-16 product terms, depending on output
pin
Macrocell block provides additional output flexibility...
rows of interconnect
Anti-fuse Technology:
Program Once
GND 00
A 01
10 Y
11
D
E
B
C
S-R Flip-Flop
GND 00
VDD 01
10 Q
11
S
GND
R
VDD
Vpp/2 Vpp/2
Vpp/2
Input Segments
Vpp/2
Inputs
Outputs
Gnd Vpp/2
Horizontal
Channel Vpp/2
Logic Vpp
Module
Antifuse
shorted
Vcc
Slew Passive
Rate Pull-Up,
Control Pull-Down
CLB CLB
D Q
Switch Output Pad
Matrix Buffer
Input
Buffer
Q D Delay
CLB CLB
Programmable
Interconnect I/O Blocks (IOBs)
C1 C2 C3 C4
H1 DIN S/R EC
S/R
Control
G4 DIN
G3 G F'
SD
G2 Func. G' D Q
Gen. H'
G1
EC
RD
1
H G'
H'
Y
Func. S/R
Gen. Control
Configurable
F4
F3 F DIN
Func. SD
F2 Gen.
F'
G' D Q
EC
RD
1
H'
F'
X
K
Courtesy of Xilinx. Used with permission.
Courtesy of Xilinx.
Used with permission.
Output
Courtesy of Xilinx.
Used with permission.
16x2
Courtesy of Xilinx.
Used with permission.
Courtesy of Xilinx.
Used with permission.
Courtesy of Xilinx.
Used with permission.
Adjust the Sampling Edge
Gigabit
Serial
18 Bit
36 Bit
I/O
18 Bit
Multiplier VCCIO
Programmable Z
Z
Impedance
Control Clock
Termination Mgmt
BRAM
Courtesy of David B. Parlour, ISSCC 2004 Tutorial, The Reality and Promise of
Reconfigurable Computing in Digital Signal Processing. and Xilinx. Used with permission.
Courtesy of Xilinx.
Used with permission.
Cout
LUT: AB
B
A Y = A B Cin
Courtesy of Xilinx.
Cin Used with permission.
A[63:0]
+ Y[63:0]
B[63:0]
Y[64]
A[63:60]
CLB15 Y[63:60]
B[63:60]
A[7:4]
CLB1 Y[7:4]
B[7:4]
A[3:0]
CLB0 Y[3:0]
B[3:0]
CLBs must be in same column
Embedded Multiplier
Courtesy of Xilinx.
Used with permission.
Block SelectRAM
L12: 6.111 Spring 2006 Introductory Digital Systems Laboratory 23
The Latest Generation: Virtex-II Pro
Embedded PowerPc
Hardwired multipliers
High-speed I/O
Transistors
x 106
10
0.1
1980 1985 1990 1995 2000 2005
a in
ue ore lity gic m m m ic
l
G gic C ona o
L for y ste rm Do ecif m
Lo ncti Pla
t S tfo
l a Sp tfor
Fu P Pla
Courtesy of Xilinx. Used with permission.
LUT
LUT
LUT
Challenge! Cannot use full chip for reasonable speeds (wires are not ideal).
Typically no more than 50% utilization.
L12: 6.111 Spring 2006 Introductory Digital Systems Laboratory 27
Example: Verilog to FPGA
Courtesy of Xilinx.
Used with permission.
Prototyping
Ensemble of gate arrays used to emulate a circuit to be manufactured
Get more/better/faster debugging done than with simulation
Reconfigurable hardware
One hardware block used to implement more than one function
Special-purpose computation engines
Hardware dedicated to solving one problem (or class of problems)
Accelerators attached to general-purpose computers (e.g., in a cell
phone!)