18-643 Lecture 2: Basic FPGA Fabric: James C. Hoe Department of ECE Carnegie Mellon University
18-643 Lecture 2: Basic FPGA Fabric: James C. Hoe Department of ECE Carnegie Mellon University
18-643 Lecture 2: Basic FPGA Fabric: James C. Hoe Department of ECE Carnegie Mellon University
James C. Hoe
Department of ECE
Carnegie Mellon University
From Quora, “How did people design integrated circuits in early years?”
18-643-F21-L02-S4, James C. Hoe, CMU/ECE/CALCM, ©2021
How to democratize 100K gates
(AB)’ (X+Y)’
VCC
GND
{1,0}
connections
f(…,0,…) 0
f(…,X,…)
f(…,1,…) 1
Shannon expansion
• Lookup table as universal logic primitive
– arbitrary n-input function ABC
• each 6LUT is
two 5LUTs 2 slices per CLB
• LUTs can also
be used as Largest devices
small SRAMs (many $K each)
• special paths have several
for addition 100K slices
and
multiplexer Largest extreme
in 2021 has
over 1M slices
[Figure 2-3: 7 Series FPGAs CLB User Guide]
18-643-F21-L02-S15, James C. Hoe, CMU/ECE/CALCM, ©2021
Still Coarser Logic Blocks?
• So called Coarse-Grain Reconfigurable Arrays
(CGRAs) based on complete adders or ALUs
– native arithmetic units have low interpretation
overhead if you are doing arithmetic
– poor fit if you are working with narrow data or bit-
level manipulations
• Even coarser is to use many tiny processors
– still a spatial computing paradigm
– not programmed with RTLs
– converging with software multicores
? ? ?
?
I0 I1 In-1 O0 O1 Om-1
18-643-F21-L02-S21, James C. Hoe, CMU/ECE/CALCM, ©2021
Island Style Routing Architecture
• CLB islands in sea of interconnects
• Flexible routing to support ASIC style netlists
• Note regularity in structure
C C C C C
C C C C C
C C C C C
C C C C C
C C C C C
A
B
X
CLB CLB
C
Y
D
Connection Block
FF
PAD
{1,0}
Din
{1,0} I/O Block
- real devices more complicated
- modern devices support special signaling and protocols
18-643-F21-L02-S30, James C. Hoe, CMU/ECE/CALCM, ©2021
Putting it all together:
an Universal ASIC
programmable routing
Interconnect
LUT FF
I/O pins