FPGA Presentation
FPGA Presentation
FPGA Presentation
06/20/21 3
Real-time analysis of high-rate data streams (Performance)
Deterministic hardware dedicated to every task (Reliability)
Nonrecurring engineering expenses (Reconfigurability )
Radiation Hardened and Program Integrity. (Durability)
Flexible and rapid prototyping
(Development)
FPGAs excel at computing
non-data dependent
algorithms in parallel.
06/20/21 5
Cheap/fast fuse connections-One time
programmable
◦ small area (can fit lots of them)
◦ low resistance wires (fast even if in multiple segments)
◦ very high resistance when not connected
◦ small capacitance (wires can be longer)
Antifuse: One-time programmable
Pass transistors (switches)
◦ used to connect wires
◦ bi-directional
EEPROM
SRAM
Multiplexors
◦ used to connect one of a set of possible sources to
input
◦ can be used to implement logic functions
Xilinx FPGAs - 6
FPGAs have always been slower and required
more energy leading to less functionality than
ASICs
Logic Block
Pin Assignment
Logic optimization. Performs two-level or
multi-level minimization of the Boolean
equations to optimize area, delay, or a
combination of both.
Technology mapping. Transforms the Boolean
equations into a circuit of FPGA logic blocks.
This step also optimizes the total number of
logic blocks required (area optimization) or
the number of logic blocks in time-critical
paths (delay optimization).
Placement. Selects the specific location for
each logic block in the FPGA, while trying to
minimize the total length of interconnect
required.
Routing. Connects the available FPGA’s
IOB
Can be used as memory CLB CLB
Three types of routing
IOB
◦ direct
Wiring Channels
◦ general-purpose
◦ long lines of various lengths
IOB
3-input
function;
registered
e.g. 9-input
parity
x1 • Look-Up tables
x2
x1 x2 x3 x4 y x3
x4
LUT y
x1 x2 x3 x4 y are primary
0 0 0 0 1 0 0 0 0 0
0 0 0 1 1 0 0 0 1 1 elements for
0 0 1 0 1 0 0 1 0 0
0
0
0
1
1
0
1
0
1
1
0
0
0
1
1
0
1
0
0
0
logic
0
0
1
1
0
1
1
0
1
1
0
0
1
1
0
1
1
0
1
0 implementation
0 1 1 1 1 0 1 1 1 1
1
1
0
0
0
0
0
1
1
1
1
1
0
0
0
0
0
1
0
1
• Each LUT can
1 0 1 0 1 1 0 1 0 0
1 0 1 1 1 1 0 1 1 0 implement any
1 1 0 0 0 1 1 0 0 1
1
1
1
1
0
1
1
0
0
0 x1 x2 x3 x4
1
1
1
1
0
1
1
0
1
0
function of
1 1 1 1 0 1 1 1 1 0
4 inputs
x1 x2
y
COUT
YB
G4 Y
G3 S
Look-Up Carry D Q
G2 Table O
G1 &
CK
Control
Logic EC
R
F5IN
BY
SR
XB
X S
F4
F3 Look-Up Carry D Q
F2 Table O
F1
& CK
Control
Logic EC
R
CIN
CLK
CE
SLICE
Carry & Control Logic in Xilinx FPGAs
x y
COUT
0 0 y x
0 1 y
1 0 CIN
1 1 yCIN
Propagate = x y
Generate = y
Sum= Propagate CIN = x y CIN
Carry & Control Logic
LUT
A* Search Routing
The Pathfinder
In Comparison to the Virtex 2
Configurable Logic Blocks
Array (Row*Column): 160*54 Configurable Logic Blocks
Virtex 5 Slices: 17,280 Array (Row*Column): 80*46
Max Distributed RAM (Kb): 1,120 Virtex 2 Slices: 13,969
Max Distributed RAM (Kb): 428
Block RAM Blocks
Block RAM Blocks
18Kb: 296
Max (Kb): 2,448
36Kb: 148
Max (Kb): 5,328
DSP48E Slices: 64
CMTs: 6
PowerPC Processor Blocks: 0
I/O blocks provide the interface between package pins and
the internal configurable logic
256 MB SODIMM
Ethernet Port
10/100/1000 Mb/s
• Allows for the utilization for the Base System Builder (BSB) if required for
development of an existing board including layout and pin connections
•Processor type (MicroBlaze or PowerPC, depending on your selected target FPGA device)
•Reference and processor-bus clock frequency (BSB automatically infers and configures a Digital
Clock Manager (DCM) primitive when needed)
•Standard processor buses (all peripherals are automatically connected via appropriate buses)
•Debug interface
•Cache configuration
•Memory size and type (both on-chip block RAM and controllers for off-chip memory devices)
•Automatic generation of FPGA pinout to match the board connections, for the selected set of
peripherals
• Upon completion of BSB a Microprocessor Hardware Specification (MHS)
file is created and loaded into the XPS project
• The XPS can then be used to develop the embedded subsystem that was
established through the BSB, which acts as a wizard/template for overall
board capabilities
• The next course of action would be to design all constraints, etc. of the system