Professional Documents
Culture Documents
Vlsi Unit Iv
Vlsi Unit Iv
Vlsi Unit Iv
PROCESSES AND
ILLUSTRATION
INTRODUCTION
• Objectives:
– Design consideration, problem and solution
– Design processes
• Basic digital processor structure
• Datapath
• Bus Architecture
– Design 4 – bit shifter
– Design of ALU subsystem
– Adders
– Multipliers
New carry
Ck = AkBk + HkCk-1
Figure 6.18: Approximate bounding box and floor plan for CMOS adder element
Figure 6.35: Generation of carry out (from 4-bits and carry in)
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 FF’ed)
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 Shannon’s
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) + a’r(b,c,d,e).
q( ) impl. using LUT G, r impl. using LUT F and p=ag + a’h 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.