Lecture 20: CAMs, ROMs, PLAs

Slides:



Advertisements
Similar presentations
(Synchronous) Finite State Machines
Advertisements

Programmable Logic PAL, PLA.
Parity. 2 Datasheets TTL:  CMOS: 
Introduction to CMOS VLSI Design Lecture 14: CAMs, ROMs, and PLAs Credits: David Harris Harvey Mudd College (Material taken/adapted from Harris’ lecture.
S. Reda EN160 SP’07 Design and Implementation of VLSI Systems (EN0160) Lecture 32: Array Subsystems (DRAM/ROM) Prof. Sherief Reda Division of Engineering,
Introduction to CMOS VLSI Design CAMs, ROMs, and PLAs
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 6 – Selected Design Topics Part 4 – Programmable.
CAMs, ROMs, and PLAs. 2 Outline  Content-Addressable Memories  Read-Only Memories  Programmable Logic Arrays.
S. Reda EN160 SP’07 Design and Implementation of VLSI Systems (EN0160) Lecture 33: Array Subsystems (PLAs/FPGAs) Prof. Sherief Reda Division of Engineering,
EE466:VLSI Design CAMs, ROMs, and PLAs. CMOS VLSI Design14: CAMs, ROMs, and PLAsSlide 2 Outline  Content-Addressable Memories  Read-Only Memories 
Lecture 20: CAMs, ROMs, PLAs. CMOS VLSI DesignCMOS VLSI Design 4th Ed. 20: CAMs, ROMs, and PLAs2 Outline  Content-Addressable Memories  Read-Only Memories.
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use Lecture 13 – Programmable.
Semiconductor Memories Lecture 1: May 10, 2006 EE Summer Camp Abhinav Agarwal.
12/1/2004EE 42 fall 2004 lecture 381 Lecture #38: Memory (2) Last lecture: –Memory Architecture –Static Ram This lecture –Dynamic Ram –E 2 memory.
EE 261 – Introduction to Logic Circuits Module #8 Page 1 EE 261 – Introduction to Logic Circuits Module #8 – Programmable Logic & Memory Topics A.Programmable.
Memory and Programmable Logic
Transistors and Logic Circuits. Transistor control voltage in voltage out control high allows current to flow -- switch is closed (on) control low stops.
Memory and Programmable Logic Dr. Ashraf Armoush © 2010 Dr. Ashraf Armoush.
Memory and Programmable Logic Memory device: Device to which binary information is transferred for storage, and from which information is available for.
CPS3340 COMPUTER ARCHITECTURE Fall Semester, /10/2013 Lecture 5: Combinational Logic Instructor: Ashraf Yaseen DEPARTMENT OF MATH & COMPUTER SCIENCE.
Modern VLSI Design 4e: Chapter 6 Copyright  2008 Wayne Wolf Topics Memories: –ROM; –SRAM; –DRAM; –Flash. Image sensors. FPGAs. PLAs.
Digital Design: Principles and Practices
Chapter
State Machines The first problem set is now online! (Due on Jan. 31st, 2011)
Digital Logic Design Lecture # 14 University of Tehran.
Chapter 0 - reVieW Combinational Logic Circuit, Combinational Logic Circuit, Propagation Delay, Propagation Delay, Programmable Logic. Programmable Logic.
Programmable logic devices. CS Digital LogicProgrammable Logic Device2 Outline PLAs PALs ROMs.
Digital Logic Design Lecture # 13 University of Tehran.
Programmable Logic Devices
Programmable Logic Devices
UNIT V Programmable Devices. RAM A RAM constitutes the internal memory of the CPU for storing data, program and program result. It is read/write memory.
Chapter- 9 Programmable Logic Devices DHADUK ANKITA ENRL NO Noble Engineering College- Junagadh.
1 Programmable Logic There are other ways to implement a logic function than to hook together discrete 74XX packages or create a custom Integrated Circuit.
Memory and Programmable Logic
Prof. Hsien-Hsin Sean Lee

Introduction to CMOS VLSI Design Lecture 14: CAMs, ROMs, and PLAs
COMP211 Computer Logic Design
Logic Devices. Decoder 2-to-4 Decoder 3-to-8 Decoder.
Transistors and Logic Circuits
Lecture 19: SRAM.
This chapter in the book includes: Objectives Study Guide
Computer Architecture & Operations I
Introduction to CMOS VLSI Design Lecture 14: CAMs, ROMs, and PLAs
Recap DRAM Read Cycle DRAM Write Cycle FAST Page Access Mode
Internal Memory.
Transistors and Logic Circuits
Computer Architecture & Operations I
Logic and Computer Design Fundamentals
ECE 434 Advanced Digital System L03
Lecture 23 Logistics Last lecture Today HW7 due Friday Lab8 going on
CPE/EE 422/522 Advanced Logic Design L02
Digital Building Blocks
CMOS VLSI Design Chapter 12 Memory
ECE434a Advanced Digital Systems L02
CSE 370 – Winter 2002 – Comb. Logic building blocks - 1
Semiconductor Memories
Lecture 24 Logistics Last lecture Today HW7 due today
Lecture No. 41 Memory.
Lecture 23 Logistics Last lecture Today HW7 due Friday Lab8 going on
Chapter 8 MOS Memory and Storage Circuits
Lecture 21 Logistics Last lecture Today HW7 due Wednesday
CSE 370 – Winter Sequential Logic-2 - 1
Overview Last lecture Timing; Hazards/glitches
Lecture 24 Logistics Last lecture Today HW7 due today
Lecture 20 Logistics Last lecture Today Graded HW back today
Lecture 19 A bigger FSM example: Hungry Robot Ant in Maze.
Introduction to CMOS VLSI Design Lecture 18: CAMs, ROMs, and PLAs
Presentation transcript:

Lecture 20: CAMs, ROMs, PLAs

Outline Content-Addressable Memories Read-Only Memories Programmable Logic Arrays 20: CAMs, ROMs, and PLAs

CAMs Extension of ordinary memory (e.g. SRAM) Read and write memory as usual Also match to see which words contain a key 20: CAMs, ROMs, and PLAs

10T CAM Cell Add four match transistors to 6T SRAM 56 x 43 l unit cell 20: CAMs, ROMs, and PLAs

CAM Cell Operation Read and write like ordinary SRAM For matching: Leave wordline low Precharge matchlines Place key on bitlines Matchlines evaluate Miss line Pseudo-nMOS NOR of match lines Goes high if no words match 20: CAMs, ROMs, and PLAs

Read-Only Memories Read-Only Memories are nonvolatile Retain their contents when power is removed Mask-programmed ROMs use one transistor per bit Presence or absence determines 1 or 0 20: CAMs, ROMs, and PLAs

ROM Example 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 Looks like 6 4-input pseudo-nMOS NORs 20: CAMs, ROMs, and PLAs

ROM Array Layout Unit cell is 12 x 8 l (about 1/10 size of SRAM) 20: CAMs, ROMs, and PLAs

Row Decoders ROM row decoders must pitch-match with ROM Only a single track per word! 20: CAMs, ROMs, and PLAs

Complete ROM Layout 20: CAMs, ROMs, and PLAs

PROMs and EPROMs Programmable ROMs Build array with transistors at every site Burn out fuses to disable unwanted transistors Electrically Programmable ROMs Use floating gate to turn off unwanted transistors EPROM, EEPROM, Flash 20: CAMs, ROMs, and PLAs

Flash Programming Charge on floating gate determines Vt Logic 1: negative Vt Logic 0: positive Vt Cells erased to 1 by applying a high body voltage so that electrons tunnel off floating gate into substrate Programmed to 0 by applying high gate voltage 20: CAMs, ROMs, and PLAs

NAND Flash High density, low cost / bit Programmed one page at a time Erased one block at a time Example: 4096-bit pages 16 pages / 8 KB block Many blocks / memory 20: CAMs, ROMs, and PLAs

64 Gb NAND Flash 64K cells / page 4 bits / cell (multiple Vt) 64 cells / string 256 pages / block 2K blocks / plane 2 planes [Trinh09] 20: CAMs, ROMs, and PLAs

Building Logic with ROMs Use ROM as lookup table containing truth table n inputs, k outputs requires 2n words x k bits Changing function is easy – reprogram ROM Finite State Machine n inputs, k outputs, s bits of state Build with 2n+s x (k+s) bit ROM and (k+s) bit reg 20: CAMs, ROMs, and PLAs

Example: RoboAnt Let’s build an Ant L R Sensors: Antennae (L,R) – 1 when in contact Actuators: Legs Forward step F Ten 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 20: CAMs, ROMs, and PLAs

Lost in space Action: go forward until we hit something Initial state 20: CAMs, ROMs, and PLAs

Bonk!!! Action: turn left (rotate counterclockwise) Until we don’t touch anymore 20: CAMs, ROMs, and PLAs

A little to the right Action: step forward and turn right a little Looking for wall 20: CAMs, ROMs, and PLAs

Then a little to the left Action: step and turn left a little, until not touching 20: CAMs, ROMs, and PLAs

Whoops – a corner! Action: step and turn right until hitting next wall 20: CAMs, ROMs, and PLAs

Simplification Merge equivalent states where possible 20: CAMs, ROMs, and PLAs

State Transition Table TL F 00 1 X 01 10 11 Lost RCCW Wall1 Wall2 20: CAMs, ROMs, and PLAs

ROM Implementation 16-word x 5 bit ROM 20: CAMs, ROMs, and PLAs

ROM Implementation 16-word x 5 bit ROM 20: CAMs, ROMs, and PLAs

PLAs A Programmable Logic Array performs any function in sum-of-products form. Literals: inputs & complements Products / Minterms: AND of literals Outputs: OR of Minterms Example: Full Adder 20: CAMs, ROMs, and PLAs

NOR-NOR PLAs ANDs and ORs are not very efficient in CMOS Dynamic or Pseudo-nMOS NORs are very efficient Use DeMorgan’s Law to convert to all NORs 20: CAMs, ROMs, and PLAs

PLA Schematic & Layout 20: CAMs, ROMs, and PLAs

PLAs vs. ROMs The OR plane of the PLA is like the ROM array The AND plane of the PLA is like the ROM decoder 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 20: CAMs, ROMs, and PLAs

Example: RoboAnt PLA Convert state transition table to logic equations TL F 00 1 X 01 10 11 20: CAMs, ROMs, and PLAs

RoboAnt Dot Diagram 20: CAMs, ROMs, and PLAs