lecture 14: cams, roms, and plas

30
Introduction to CMOS VLSI Design Lecture 14: CAMs, ROMs, and PLAs David Harris Harvey Mudd College Spring 2004

Upload: vuthuan

Post on 10-Feb-2017

230 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Lecture 14: CAMs, ROMs, and PLAs

Introduction toCMOS VLSI

Design

Lecture 14: CAMs, ROMs, and PLAs

David Harris

Harvey Mudd CollegeSpring 2004

Page 2: Lecture 14: CAMs, ROMs, and PLAs

14: CAMs, ROMs, and PLAs Slide 2CMOS VLSI Design

Outlineq Content-Addressable Memoriesq Read-Only Memoriesq Programmable Logic Arrays

Page 3: Lecture 14: CAMs, ROMs, and PLAs

14: CAMs, ROMs, and PLAs Slide 3CMOS VLSI Design

CAMsq Extension of ordinary memory (e.g. SRAM)

– Read and write memory as usual– Also match to see which words contain a key

CAM

adr data/key

matchread

write

Page 4: Lecture 14: CAMs, ROMs, and PLAs

14: CAMs, ROMs, and PLAs Slide 4CMOS VLSI Design

10T CAM Cellq Add four match transistors to 6T SRAM

– 56 x 43 λ unit cell

bit bit_b

word

match

cell

cell_b

Page 5: Lecture 14: CAMs, ROMs, and PLAs

14: CAMs, ROMs, and PLAs Slide 5CMOS VLSI Design

CAM Cell Operationq Read and write like ordinary SRAMq For matching:

– Leave wordline low– Precharge matchlines– Place key on bitlines– Matchlines evaluate

q Miss line– Pseudo-nMOS NOR of match lines– Goes high if no words match

row decoder

weak

missmatch0

match1

match2

match3

clk

column circuitry

CAM cell

address

data

read/write

Page 6: Lecture 14: CAMs, ROMs, and PLAs

14: CAMs, ROMs, and PLAs Slide 6CMOS VLSI Design

Read-Only Memoriesq Read-Only Memories are nonvolatile

– Retain their contents when power is removedq Mask-programmed ROMs use one transistor per bit

– Presence or absence determines 1 or 0

Page 7: Lecture 14: CAMs, ROMs, and PLAs

14: CAMs, ROMs, and PLAs Slide 7CMOS VLSI Design

ROM Exampleq 4-word x 6-bit ROM

– Represented with dot diagram– Dots indicate 1’s in ROM

Word 0: 010101

Word 1: 011001

Word 2: 100101

Word 3: 101010

ROM Array

2:4DEC

A0A1

Y0Y1Y2Y3Y4Y5

weakpseudo-nMOS

pullups

Looks like 6 4-input pseudo-nMOS NORs

Page 8: Lecture 14: CAMs, ROMs, and PLAs

14: CAMs, ROMs, and PLAs Slide 8CMOS VLSI Design

ROM Array Layoutq Unit cell is 12 x 8 λ (about 1/10 size of SRAM)

UnitCell

Page 9: Lecture 14: CAMs, ROMs, and PLAs

14: CAMs, ROMs, and PLAs Slide 9CMOS VLSI Design

Row Decodersq ROM row decoders must pitch-match with ROM

– Only a single track per word!

Page 10: Lecture 14: CAMs, ROMs, and PLAs

14: CAMs, ROMs, and PLAs Slide 10CMOS VLSI Design

Complete ROM Layout

Page 11: Lecture 14: CAMs, ROMs, and PLAs

14: CAMs, ROMs, and PLAs Slide 11CMOS VLSI Design

PROMs and EPROMsq Programmable ROMs

– Build array with transistors at every site– Burn out fuses to disable unwanted transistors

q Electrically Programmable ROMs– Use floating gate to turn off unwanted transistors– EPROM, EEPROM, Flash

n+

p

GateSource Drain

bulk Si

Thin Gate Oxide(SiO2)

n+

PolysiliconFloating Gate

Page 12: Lecture 14: CAMs, ROMs, and PLAs

14: CAMs, ROMs, and PLAs Slide 12CMOS VLSI Design

Building Logic with ROMsq Use ROM as lookup table containing truth table

– n inputs, k outputs requires __ words x __ bits– Changing function is easy – reprogram ROM

q Finite State Machine– n inputs, k outputs, s bits of state– Build with ________ bit ROM and ____ bit regn

inputs

2n w

ordlines

ROM Array

k outputs

DE

C ROM

inputs outputs

state

n ks

ks

Page 13: Lecture 14: CAMs, ROMs, and PLAs

14: CAMs, ROMs, and PLAs Slide 13CMOS VLSI Design

Building Logic with ROMsq Use ROM as lookup table containing truth table

– n inputs, k outputs requires 2n words x k bits– Changing function is easy – reprogram ROM

q Finite State Machine– n inputs, k outputs, s bits of state– Build with 2n+s x (k+s) bit ROM and (k+s) bit regn

inputs

2n w

ordlines

ROM Array

k outputs

DE

C ROM

inputs outputs

state

n ks

ks

Page 14: Lecture 14: CAMs, ROMs, and PLAs

14: CAMs, ROMs, and PLAs Slide 14CMOS VLSI Design

Example: RoboAntLet’s build an Ant

Sensors: Antennae(L,R) – 1 when in contact

Actuators: LegsForward step FTen degree turns TL, TR

Goal: make our ant smart enough to get out of a maze

Strategy: keep right antenna on wall

(RoboAnt adapted from MIT 6.004 2002 OpenCourseWare by Ward and Terman)

L R

Page 15: Lecture 14: CAMs, ROMs, and PLAs

14: CAMs, ROMs, and PLAs Slide 15CMOS VLSI Design

Lost in space

q Action: go forward until we hit something– Initial state

Page 16: Lecture 14: CAMs, ROMs, and PLAs

14: CAMs, ROMs, and PLAs Slide 16CMOS VLSI Design

Bonk!!!

q Action: turn left (rotate counterclockwise)– Until we don’t touch anymore

Page 17: Lecture 14: CAMs, ROMs, and PLAs

14: CAMs, ROMs, and PLAs Slide 17CMOS VLSI Design

A little to the right

q Action: step forward and turn right a little– Looking for wall

Page 18: Lecture 14: CAMs, ROMs, and PLAs

14: CAMs, ROMs, and PLAs Slide 18CMOS VLSI Design

Then a little to the right

q Action: step and turn left a little, until not touching

Page 19: Lecture 14: CAMs, ROMs, and PLAs

14: CAMs, ROMs, and PLAs Slide 19CMOS VLSI Design

Whoops – a corner!

q Action: step and turn right until hitting next wall

Page 20: Lecture 14: CAMs, ROMs, and PLAs

14: CAMs, ROMs, and PLAs Slide 20CMOS VLSI Design

Simplificationq Merge equivalent states where possible

Page 21: Lecture 14: CAMs, ROMs, and PLAs

14: CAMs, ROMs, and PLAs Slide 21CMOS VLSI Design

State Transition Table

11011101111010001111001X111101111X10101100X1001010000101001100101001X10110001100010001X100100000000FTLTRS1:0’RLS1:0

Lost

RCCW

Wall1

Wall2

Page 22: Lecture 14: CAMs, ROMs, and PLAs

14: CAMs, ROMs, and PLAs Slide 22CMOS VLSI Design

ROM Implementationq 16-word x 5 bit ROM

ROML, R

S1:0

TL, TR, F

S'1:0

S1' S0' TR'TL' F'

0000000100100011010001010110011110001001101010111100110111101111

4:16 DE

C

S1 S0 L R

Page 23: Lecture 14: CAMs, ROMs, and PLAs

14: CAMs, ROMs, and PLAs Slide 23CMOS VLSI Design

ROM Implementationq 16-word x 5 bit ROM

ROML, R

S1:0

TL, TR, F

S'1:0

S1' S0' TR'TL' F'

0000000100100011010001010110011110001001101010111100110111101111

4:16 DE

C

S1 S0 L R

Page 24: Lecture 14: CAMs, ROMs, and PLAs

14: CAMs, ROMs, and PLAs Slide 24CMOS VLSI Design

PLAsq A Programmable Logic Array performs any function

in sum-of-products form.q Literals: inputs & complementsq Products / Minterms: AND of literalsq Outputs: OR of Minterms

q Example: Full Adder

out

s abc abc abc abcc ab bc ac

= + + += + +

AND Plane OR Plane

abcabcabcabcab

bcac

sa b coutc

Minterm

s

Inputs Outputs

Page 25: Lecture 14: CAMs, ROMs, and PLAs

14: CAMs, ROMs, and PLAs Slide 25CMOS VLSI Design

NOR-NOR PLAsq ANDs and ORs are not very efficient in CMOSq Dynamic or Pseudo-nMOS NORs are very efficientq Use DeMorgan’s Law to convert to all NORs

AND Plane OR Plane

abcabcabcabcab

bcac

sa b c

outc

AND Plane OR Plane

abcabcabcabcab

bcac

sa b c

outc

Page 26: Lecture 14: CAMs, ROMs, and PLAs

14: CAMs, ROMs, and PLAs Slide 26CMOS VLSI Design

PLA Schematic & LayoutAND Plane OR Plane

abcabcabcabcab

bcac

sa b c

outc

Page 27: Lecture 14: CAMs, ROMs, and PLAs

14: CAMs, ROMs, and PLAs Slide 27CMOS VLSI Design

PLAs vs. ROMsq The OR plane of the PLA is like the ROM arrayq The AND plane of the PLA is like the ROM decoderq PLAs are more flexible than ROMs

– No need to have 2n rows for n inputs– Only generate the minterms that are needed– Take advantage of logic simplification

Page 28: Lecture 14: CAMs, ROMs, and PLAs

14: CAMs, ROMs, and PLAs Slide 28CMOS VLSI Design

Example: RoboAnt PLAq Convert state transition table to logic equations

11011101111010001111001X111101111X10101100X1001010000101001100101001X10110001100010001X100100000000FTLTRS1:0’RLS1:0

1 0

0

1 0

TR S S

TL S

F S S

=

=

= +

Page 29: Lecture 14: CAMs, ROMs, and PLAs

14: CAMs, ROMs, and PLAs Slide 29CMOS VLSI Design

RoboAnt Dot DiagramAND Plane OR Plane

1 0S S1

LS0LRS

R1

LS

0S

0LS

1 'S1S 0S L

0 'S TR TL FR

1S0S1 0 1 0

1 0

1 0

0

1 0

1'

0 '

S S S LS LRS

S R LS LS

TR S S

TL S

F S S

= + +

= + +

=

=

= +

Page 30: Lecture 14: CAMs, ROMs, and PLAs

14: CAMs, ROMs, and PLAs Slide 30CMOS VLSI Design

RoboAnt Dot DiagramAND Plane OR Plane

1 0S S1

LS0LRS

R1

LS

0S

0LS

1 'S1S 0S L

0 'S TR TL FR

1S0S1 0 1 0

1 0

1 0

0

1 0

1'

0 '

S S S LS LRS

S R LS LS

TR S S

TL S

F S S

= + +

= + +

=

=

= +