VLSI Unit-4 Notes
VLSI Unit-4 Notes
By
A N SAI CHAKRAVARTHY
M.Tech (VLSI System Design)
One/zero Detectors
• Detecting all ones or zeros on wide N-bit words requires large fan-
in AND or NOR gates.
• AND, OR, NAND, and NOR are fundamentally the same operation
except for possible inversions of the inputs and/or outputs. You
can build a tree of AND gates, as shown in Figure .
• Here, alternate NAND and NOR gates have been used.
• The path has log N stages. In general, the minimum logical effort is
achieved with a tree alternating NAND gates and inverters and the
path logical effort is
By
A N SAI CHAKRAVARTHY
M.Tech(VLSI System Design)
Memory Arrays
Memory Arrays
Slide 2 SRAM
Introduction
Slide 10 SRAM
6T SRAM Cell
The fundamental building block of a static RAM is the SRAM
memory cell.
6T SRAM Cell
Used in most commercial chips
Data stored in cross-coupled inverters
Read:
Precharge bit, bit_b to
high and one is pulled
down by the SRAM cell
through the access
transistor.
Raise word line
Write:
Drive data onto bit or bit_b to low and this low value overpowers the
cell to write new value.
Raise word line
SRAM Read bit bit_b
word
Precharge both bitlines high
P1 P2
Then turn on wordline N2 N4
One of the two bitlines will
A A_b
be pulled down by the cell N1 N3
Ex: A = 0, A_b = 1
bit discharges, bit_b stays high
A_b
But A bumps up slightly bit_b
A
0.0
0 100 200 300 400 500 600
time (ps)
SRAM Write bit_b
bit
Drive one bitline high, the other low
word
Then turn on wordline
P1 P2
N2 N4
Bitlines overpower cell with new value
A A_b
Ex: A = 0, A_b = 1, bit = 1, bit_b = 0 N1 N3
Force A_b low, then A rises high
Writability
Must overpower feedback inverter
A_b
N2 >> P1
1.5 A
bit_b
1.0
0.5
word
0.0
0 100 200 300 400 500 600 700
time (ps)
SRAM Sizing
High bitlines must not overpower inverters during reads
But low bitlines must write new value into cell
bit bit_b
word
weak
med med
A A_b
strong
SRAM
SRAM memory cells:
12-transistor cell
• read/write are used in place of
a single wordline
• larger and fast
• for small RAMs and register files
6-transistor cell
• Operation: (NMOS pass “0”)
For reads, bitlines are precharged high
and one is
pulled down by the cell
For writes, one bitline is driven low and
this low value overwrites the cell
Simple CMOS Memory Circuits: The SRAM Cell
Circuit Schematic:
B0 B1 4 N-FETs and 2 P-FETs: T1 & T2 called active devices; T3 & T4
calld the I/O devices; T5 & T6 sometimes called loads.
Vdd
The cell is comprised of two cross-coupled inverters (positive
T6
feedback).
T5
T4 2 vertical lines (bit lines B0 & B1) are used for sensing state of
T3 X0 cell and writing data in the cell
X1
T1 T2 1 horizontal line (word line WL) is used to select a row of cells
for writing or reading and to prevent the unselected rows of cells
from being disturbed.
WL Circuit Operation:
The cell has two stable states: “0” and “1”
“0” State = Node X0 high and Node X1 low; T2 & T5 are ON, T1 & T6
are OFF.
“1” State = Node X1 high and Node X0 low; T1 & T6 are ON; T2 &
T5 are OFF.
No dc current flows in either state.
Read: raise WL to Vdd; pull one bit line high & pull the other bit
line low
Write: raise WL to Vdd; precharge bit lines to ½ Vdd
Simple CMOS Memory Circuits: The SRAM Array
READ Operation:
Data In Word Decode circuitry selects one of n word
Bit lines and drives high to Vdd (say WL2); other
Addr Bit Decode (Column Decode) word lines held at gnd.
and Write Drivers
Word Bit Lines all precharged to half Vdd
Addr
Selected cell’s I/O devices turned ON and apply
SRAM SRAM SRAM a DV to bit line pair
Cell Cell Cell Sense amp triggers on bit line DV and stores
11 12 13 read data “0” or “1”
SRAM SRAM SRAM WRITE Operation:
Word
Decode
Cell Cell Cell Selected WL is driven high to Vdd by word
(Row 21 22 23 decode circuitry turning ON I/O devices in
Decode) SRAM SRAM SRAM selected cells
Cell Cell Cell Selected bit column has one BL pulled high to
31 32 33 Vdd and the other pulled low to gnd, thus
writing the selected cell.
Unselected bit columns merely perform a READ
operation.
Sense Amplifiers
and Off-Chip Drivers/Buffers
R. W. Knepper
Data Out
SC571, page 1-15
DRAM (Dynamic RAMs)
Store contents as charge on a capacitor rather than in a
feedback loop.
Smaller than SRAM, but the cell must be periodically read
and refreshed.
High density
Read: bit is precharged to
Vdd/2 wordline rises
capacitor shares its charges
with the bitline voltage change
on bitline is detected rewritten
after each read
Write: the bitline is driven
high or low the voltage is
forced onto the capacitor.
Subarray architecture
Slide 32 SRAM
Shift Register
Shift registers store and delay data
Simple design: cascade of registers
Watch your hold times!
clk
Din Dout
8
Slide 33 SRAM
Denser Shift Registers
Flip-flops aren’t very area-efficient
For large shift registers, keep data in SRAM instead
Move read/write pointers to RAM rather than data
Initialize read address to first entry, write to last
Increment address on each cycle
Din
clk
readaddr
counter
00...00
dual-ported
SRAM
counter
writeaddr
11...11
reset
Dout
One variant of shift register is a tapped delay
line that offers a variable number of stages of
delay.
Delay blocks are built from 32-,16-,8-,4-,2-,
and 1-stage shift registers.
Another variant is Serial In Parallel
Out(SIPO)and Parallel In Serial Out(PISO).
Tapped Delay Line
A tapped delay line is a shift register with a programmable number
of stages
Set number of stages with delay controls to mux
Ex: 0 – 63 stages of delay
clk
SR32
SR16
SR8
SR4
SR2
SR1
Din Dout
clk
Sin
P0 P1 P2 P3
Slide 37 SRAM
Parallel In Serial Out
Load all N bits in parallel when shift = 0
Then shift one bit out per cycle
P0 P1 P2 P3
shift/load
clk
Sout
Queues
Queues allow data to be read and written at different rates.
Read and write each use their own clock, data
Queue indicates whether it is full or empty
Build with SRAM and read/write counters (pointers)
WriteClk ReadClk
FULL EMPTY
FIFO, LIFO Queues
First In First Out (FIFO)
Initialize read and write pointers to first element
Queue is EMPTY
On write, increment write pointer
If write almost catches read, Queue is FULL
On read, increment read pointer
Last In First Out (LIFO)
Also called a stack
Use a single stack pointer for read and write
Slide 40 SRAM
Content Addressable Memory
The CAM acts as an ordinary SRAM that can be read or
written given ‘adr’ and ‘data’,but also performs ‘matching’
operation.
Matching asserts a matchline output for each word of the
CAM that contains a specified key.
A common application of CAMs is translation lookaside
buffers(TLBs) in microprocessors supporting virtual
memory.
Fig:10T and 9T CAM cell
implementations