Professional Documents
Culture Documents
Acknowledgement: Extracted from lecture notes of Dr. Mohamed M. Elkhatib, German University of Cairo and Prof. Russell Tessier, Univ. of
Massachusetts. Some modfications and additions done by Prof. Dutt.
CPLD Families
0
FF
FF
FF
2:1 Mux
D-FF
FPGA Types
(Anti-fuse technology)
FPGA Families
Diamond switch
Horizontal routing (interconnect) channel PSM: Programmable Switch Matrix (for making connections between interconnects of different channels). The structure shown only allows i-to-i connections Vertical routing channels
PSM
5-i/p function implemented using G, F and H LUTs (Look Up Tables) using Shannons Expansion: p(a,b,c,d,e) = a p(1, b, c, d, e) + a p(0, b, c, d, e) = a q(b,c,d,e) + ar(b,c,d,e). q( ) impl. using LUT G, r impl. using LUT F and p=ag + ah impl. using LUT H The LUT o/ps can go through a FF (for seq. ckt design) or bypass it for a combinational o/p This is called technology mapping: mapping the logic to CLB logic components
Technology Mapping
Microprocessor
Software
Reconfigurable Hardware
Firmware
ASIC
Hardware
ASIC gives high performance at cost of inflexibility. Processor is very flexible but not tuned to the application. Reconfigurable hardware is a nice compromise.
Out
High-level Compilers & FPGAs Difficult to estimate hardware resources. Some parts of program more appropriate for processor (hardware/software codesign). Compiler must parallelize computation across many resources. Engineers like to write in C/VHDL/Verilog rather than pushing little blocks around.
for (i = 0; i<n, i++) { c[i] = a[i] + b[i] }
Some success stories
CAD to translate circuit from text description to physical implementation well understood. Most current FPGA designers use registertransfer level specification (allocation and scheduling) Same basic steps as ASIC design.
1. Technology Mapping
2. Placement
?
Assign a logical LUT to a physical location.
4. Convert all implementation details to FPGA programming info (configuration bits): LUT RAM bits, CCM & PSM FF/SRAM bits, etc.
Can store config bits on disk or ROM and load into FPGA as needed Can thus use the FPGA to implement multiple digital systems (at different times or sometimes simultaneously in different FPGA partitions)
3. Routing
S Logic synthesis tool reduces circuit to SOP form S = ABCi + ABCi + ABCi + ABCi A B Ci A B Ci
LUT
Co
LUT
10
Processor + FPGA
Three possibilities
Proc daughtercard FPGA
Proc
FPGA
chip
2. FPGA serves as embedded digital system for lower latency processing. Reconfigurable Functional Unit
11