Introduction To Cplds and Fpgas: by N.Chandrasekharan
Introduction To Cplds and Fpgas: by N.Chandrasekharan
Introduction To Cplds and Fpgas: by N.Chandrasekharan
By
N.Chandrasekharan
CPLD Families
CPLD Block Diagram
1
0
0
FF
0 1
An individual switch
In a crossbar is a
diamond switch
O/Ps
Programmable switch
Function block (~ PLA w/ 1 o/p
for interconnecting
I/Ps that can be FFed)
various FBs
Crossbar Switch
CPLD Function Block
Example function
f= ab+bc+g+h
D-FF
(Anti-fuse technology)
FPGA Families
SRAM-type FPGA Interconnect Architecture
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 CLB: Configuration Logic Block
(programmable logic cell)
SRAM-type FPGA Interconnect
Architecture (contd)
Cell Connection
Matrix (CCM)
PSM
Configuration Logic Block (CLB)
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
Programming a CLB (contd)
Components of Modern FPGAs
Digital System: Implementation Spectrum
State
Clock
Enable
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
Translating a Design to an FPGA
RTL Circuit Array
. A
. + C
B
C = A+B
.
LUT
S
Logic synthesis tool reduces circuit to
SOP form
S = ABCi + ABCi + ABCi + ABCi
A A
B LUT Co B LUT S
Ci Ci
Proc FPGA
chip
Backplane bus
(e.g. PCI)
1. FPGA serves as coprocessor for data
intensive applications possible project.