Beruflich Dokumente
Kultur Dokumente
Course Teacher
Shantanu
VLSI CIRCUIT DESIGN
- ARRAY
- PLA
- SRAM & DRAM
- Multiplier
- CPLD and FPGA Architectures
- Fault Simulation & Testing
PLA (programmable Logic Array)
• 2 major types of data array subsystems-
– Logic Array ( in SOP form)
– Memory Array
• ROM ( Read Only Memory)
• RAM ( Read Write Memory)
– SRAM
– DRAM
Multiplier
3-bit (3x3) Unsigned Multiplier
Example:
3-bit
Unsigned
Multiplier
Static RAM (SRAM)
6 Transistor (6T) SRAM cell
SRAM – Write/Read Operation
For WRITE
Operation-
Data =1
Datab =0
Select =1
3-15
Classifications
PLA — a Programmable Logic Array (PLA) is a relatively
small FPD that contains two levels of logic, an AND-
plane and an OR-plane, where both levels are
programmable
PAL — a Programmable Array Logic (PAL) is a relatively
small FPD that has a programmable AND-plane
followed by a fixed OR-plane
SPLD — refers to any type of Simple PLD, usually either a
PLA or PAL
CPLD — a more Complex PLD that consists of an
arrangement of multiple SPLD-like blocks on a
single chip.
FPGA — a Field-Programmable Gate Array is an FPD
featuring a general structure that allows very high
logic capacity.
3-16
PLA
Programmable AND Plane Programmable OR Plane
Programmable Node
Un-programmed
Connect
Disconnect
X Y O1 O2 O3 O4
X XY
Y XY
XY XY
X X Y Y
3-17
PLA
XZ
XYZ
XY
X Y Z XY+YZ ? ?
XZ+XYZ
3-18
PAL
X Y O1 O2 O3 O4
3-19
PAL with Logic Expanders
Programmable AND Plane
Fix OR Plane
Logic expanders
3-20
PLA v.s. PAL
PLAs are more flexible than PALs since both AND & OR planes are
programmable in PLAs.
Because both AND & OR planes are programmable, PLAs are expensive
to fabricate and have large propagation delay.
By using fix OR gates, PALs are cheaper and faster than PLAs.
3-21
CPLD
CPLD Architecture
I/O block
I/O block
PAL-like PAL-like
block block
Programmable interconnect
I/O block
I/O block
PAL-like PAL-like
block block
3-22
Altera MAX CPLD
I/O Cell
LAB (Logic Array Block)
LAB LAB
LA
(local
•••
LAB LAB
array)
LAB LAB
3-23
Macrocell of Altera MAX CPLD
System clock System enable
Local Array
Clock, clear, preset, enable
3
Programmable
inversion
M OUT
D Q
5
Product term
select
Parallel expander
To next macrocell
114
Macrocell
MAX 9000 has 33 inputs, can you explain why LA has 114 inputs?
3-24
FPGA
FPGA consists of an array of programmable basic logic
cells surrounded by programmable interconnect.
FPGA Structure
Programmable
Logic cell interconnect
I/O Cell
3-25
FPGA v.s. CPLD
Capacitance
SPLDs CPLDs FPGAs
Equivalent gates 0 ~ 200 200 ~ 12,000 1000 ~ 1,000,000
Applications
CPLDs FPGAs
1. Implement random glue logics or
Replace circuits previously 1. FPGAs can be used in various
implemented by multiple SPLDs applications: prototyping, FPGA-
2. Circuits that can exploit wide based computers, on-site hardware
AND/OR gates, and do not need re-configuration, DSP, logic
a very large number of flip-flops emulation, network components,
are good candidates for etc.
implementation in CPLDs.
3-26
Fault Simulation & Testing
1. Wafer defects
2. Contaminated atmosphere in clean room
3. Impure processing gases water and chemicals
4. Photomask misalignment
3-27
Circuit Defects & Faults
3-28
Fig: Stuck on fault in a 2-input NOR gate
If X1=0, X2=0 then Y=1, but the pull-down transistor with the
stuck-on gate tends to pull Y to 0. The stuck=on fault causes a
current that always tends to discharge the output node of the
device, making the pull-up action slower. The high current
through the pull down transistor will lead to a thermal
degradation and early failure of the circuit.
3-29
Bridging fault:
1)Faults due to short circuits in the interconnect between transistors in a
logic cell are called bridging fault. Bridging faults are detected by measuring
the quiescent current IDDQ through the circuit.
When X1=0, X2=1; the bridging fault in the pull-up logic cause
a high current to flow between the rails causing thermal
damage and early mortality of the device. IDDQ testing would
detect the presence of this fault.
3-30