Slides:



Advertisements
Similar presentations
COEN 180 SRAM. High-speed Low capacity Expensive Large chip area. Continuous power use to maintain storage Technology used for making MM caches.
Advertisements

Semiconductor Memory Design. Organization of Memory Systems Driven only from outside Data flow in and out A cell is accessed for reading by selecting.
Sistemi Elettronici Programmabili1 Progettazione di circuiti e sistemi VLSI Anno Accademico Lezione Memorie (vedi anche i file pcs1_memorie.pdf.
COEN 180 DRAM. Dynamic Random Access Memory Dynamic: Periodically refresh information in a bit cell. Else it is lost. Small footprint: transistor + capacitor.
Digital Integrated Circuits A Design Perspective
Elettronica T AA Digital Integrated Circuits © Prentice Hall 2003 SRAM & DRAM.
Introduction to CMOS VLSI Design Lecture 13: SRAM
Kevin Walsh CS 3410, Spring 2010 Computer Science Cornell University Memory See: P&H Appendix C.8, C.9.
Hakim Weatherspoon CS 3410, Spring 2011 Computer Science Cornell University Memory See: P&H Appendix C.8, C.9.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE VLSI Circuit Design Lecture 25 - Subsystem.
Chapter 10. Memory, CPLDs, and FPGAs
11/29/2004EE 42 fall 2004 lecture 371 Lecture #37: Memory Last lecture: –Transmission line equations –Reflections and termination –High frequency measurements.
Digital Integrated Circuits© Prentice Hall 1995 Memory SEMICONDUCTOR MEMORIES.
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 SRAM/DRAM
Overview Memory definitions Random Access Memory (RAM)
Digital Integrated Circuits© Prentice Hall 1995 Memory SEMICONDUCTOR MEMORIES.
Registers  Flip-flops are available in a variety of configurations. A simple one with two independent D flip-flops with clear and preset signals is illustrated.
Spring 2006EE VLSI Design II - © Kia Bazargan 187 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part IV: Control Path and Busses.
Static Memory Outline –Types of Static Memory –Static RAM –Battery Backup –EPROM –Flash Memory –EEPROM Goal –Understand types of static memory –Understand.
Lecture 19: SRAM.
1 EE365 Read-only memories Static read/write memories Dynamic read/write memories.
Parts from Lecture 9: SRAM Parts from
55:035 Computer Architecture and Organization
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.
Lecture on Electronic Memories. What Is Electronic Memory? Electronic device that stores digital information Types –Volatile v. non-volatile –Static v.
Modern VLSI Design 3e: Chapters 5& 6Partly from 2002 Prentice Hall PTR week11-1 Lecture 27 Sequencial Logic (cont’d) Mar. 17, 2003.
COMP3221: Microprocessors and Embedded Systems
Review: Basic Building Blocks  Datapath l Execution units -Adder, multiplier, divider, shifter, etc. l Register file and pipeline registers l Multiplexers,
Semiconductor Memories.  Semiconductor memory is an electronic data storage device, often used as computer memory, implemented on a semiconductor-based.
Digital Integrated Circuits© Prentice Hall 1995 Memory SEMICONDUCTOR MEMORIES Adapted from Jan Rabaey's IC Design. Copyright 1996 UCB.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR Topics n Latches and flip-flops. n RAMs and ROMs.
Modern VLSI Design 4e: Chapter 6 Copyright  2008 Wayne Wolf Topics Memories: –ROM; –SRAM; –DRAM; –Flash. Image sensors. FPGAs. PLAs.
CMOS Layout poly diffusion side view top view metal cuts
Memory and Storage Dr. Rebhi S. Baraka
Z. Feng MTU EE4800 CMOS Digital IC Design & Analysis 12.1 EE4800 CMOS Digital IC Design & Analysis Lecture 12 SRAM Zhuo Feng.
Memory System Unit-IV 4/24/2017 Unit-4 : Memory System.
Memory Semiconductor Memory Classification ETEG 431 SG Size: Bits, Bytes, Words. Timing Parameter: Read, Write Cycle… Function: ROM, RWM, Volatile, Static,
Digital Design: Principles and Practices
CPEN Digital System Design
Digital Logic Design Instructor: Kasım Sinan YILDIRIM
Advanced VLSI Design Unit 06: SRAM
CSE477 L24 RAM Cores.1Irwin&Vijay, PSU, 2002 CSE477 VLSI Digital Circuits Fall 2002 Lecture 24: RAM Cores Mary Jane Irwin ( )
Penn ESE370 Fall DeHon 1 ESE370: Circuit-Level Modeling, Design, and Optimization for Digital Systems Day 24: November 5, 2010 Memory Overview.
ECE 300 Advanced VLSI Design Fall 2006 Lecture 19: Memories
SEQUENTIAL CIRCUITS Component Design and Use. Register with Parallel Load  Register: Group of Flip-Flops  Ex: D Flip-Flops  Holds a Word of Data 
CSE477 L23 Memories.1Irwin&Vijay, PSU, 2002 CSE477 VLSI Digital Circuits Fall 2002 Lecture 23: Semiconductor Memories Mary Jane Irwin (
 Seattle Pacific University EE Logic System DesignMemory-1 Memories Memories store large amounts of digital data Each bit represented by a single.
Washington State University
Computer Memory Storage Decoding Addressing 1. Memories We've Seen SIMM = Single Inline Memory Module DIMM = Dual IMM SODIMM = Small Outline DIMM RAM.
Washington State University
CMPEN 411 VLSI Digital Circuits Spring 2009 Lecture 22: Memery, ROM
CMPEN 411 VLSI Digital Circuits Spring 2009 Lecture 24: Peripheral Memory Circuits [Adapted from Rabaey’s Digital Integrated Circuits, Second Edition,
Introduction to Computer Organization and Architecture Lecture 7 By Juthawut Chantharamalee wut_cha/home.htm.
EE 466/586 VLSI Design Partha Pande School of EECS Washington State University
Engineered for Tomorrow Date : 11/10/14 Prepared by : MN PRAPHUL & ASWINI N Assistant professor ECE Department Engineered for Tomorrow Subject Name: Fundamentals.
07/11/2005 Register File Design and Memory Design Presentation E CSE : Introduction to Computer Architecture Slides by Gojko Babić.
Sp09 CMPEN 411 L21 S.1 CMPEN 411 VLSI Digital Circuits Spring 2009 Lecture 21: Shifters, Decoders, Muxes [Adapted from Rabaey’s Digital Integrated Circuits,
DIGITAL SYSTEMS Read Only– and Random Access Memory ( ROM – RAM) Rudolf Tracht and A.J. Han Vinck.
Computer Architecture Chapter (5): Internal Memory
Memories.
Lecture 19: SRAM.
Hakim Weatherspoon CS 3410 Computer Science Cornell University
Digital Integrated Circuits A Design Perspective
Memory.
Semiconductor Memories
DIICD Class 13 Memories.
Presentation transcript:

http://www.ece.umn.edu/users/kia/Courses/EE5324 Kia Bazargan EE 5324 – VLSI Design II Part V: Memory Design Kia Bazargan University of Minnesota Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan VLSI Design II – © Kia Bazargan

References and Copyright Textbooks referenced [Rab96] J. M. Rabaey “Digital Integrated Circuits: A Design Perspective” Prentice Hall, 1996. Slides used(Modified by Kia when necessary) [©Hauck] © Scott A. Hauck, 1996-2000; G. Borriello, C. Ebeling, S. Burns, 1995, University of Washington [©Prentice Hall] © Prentice Hall 1995, © UCB 1996 Slides for [Rab96] http://bwrc.eecs.berkeley.edu/Classes/IcBook/instructors.html Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan

EE 5324 - VLSI Design II - © Kia Bazargan Outline Registers (flip-flops), shift registers Memory interface Memory cells Static memory cell Dynamic memory cell ROM cells Address decoders Content addressable memory (CAM) Non volatile memory cells Outline Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan

EE 5324 - VLSI Design II - © Kia Bazargan Registers Used for storing data Structure N-bit wide Parallel/serial read/write Clocked Static/dynamic implementation Register files Multiple read/write ports possible Example: 32-bit wide by 16-bit deep, dual-port parallel read, single port parallel write register file 32 bits . . . 16 words 32 [©Hauck] Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan

Implementing Registers Using Logic Gates Flip-flops Simple SR latch: JK, D, T Clocked Master-slave (edge-triggered) S S R Q Q’ 1 1 Q Q’ 1 0 0 1 0 1 1 0 0 0 x x Q S Q R Q Q R Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan

Implementing Registers in CMOS Direct gate implementation too costly A master-slave JK flip-flop uses 38 CMOS transistors Directly implement in transistors Example: clocked SR FF Q Q Q f S R Note: carefully size the S, R and f transistors so that we can write [Rab96] p.342 Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan

Implementing Registers in CMOS (cont.) Another example: D latch (register) Uses transmission gate When “WR” asserted, “write” operation will take place Stack D latch structures to get n-bit register WR Q Q D WR WR WR Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan

EE 5324 - VLSI Design II - © Kia Bazargan Shift Registers: Idea Shift registers are used for iteratively shifting data Used in pipelining, bit-by-bit processing, etc. f f f D1 D2 D3 D1 D2 D3 D f f f Problem? D1 D2 D3 When clock goes high, the data will traverse all the shift registers chain in one clock cycle! Solution: use non overlapping clocks f1 and f2. f1 used by odd gates, f2 by even gates (use xmission gates after D1’, D2’, D3’). Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan

EE 5324 - VLSI Design II - © Kia Bazargan Outline Registers (flip-flops), shift registers Memory interface Memory cells Static memory cell Dynamic memory cell ROM cells Address decoders Content addressable memory (CAM) Non volatile memory cells Outline Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan

EE 5324 - VLSI Design II - © Kia Bazargan Memory (Array) Design Array of bits Area very important Memory takes considerable area in processor chips Compaction results in fewer memory chip modules, more on-chip cache Timing and power consumption of memory blocks have significant impact on the system Different types RAM (SRAM, DRAM, CAM) ROM (PROM, EEPROM, FLASH) Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan

EE 5324 - VLSI Design II - © Kia Bazargan Memory Design (cont.) Static vs. dynamic RAM Dynamic needs refreshing Refreshing: read, then write back to restore charge Either periodically or after each read Static (SRAM) Data stored as long as supply voltage is applied Large (6 transistors/cell) Fast Dynamic (DRAM) Periodic refresh required Small (1-3 transistors/cell) Slower Special fabrication process [©Prentice Hall] Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan

Memory Architecture: the Big Picture Address: which one of the M words to access Data: the N bits of the word are read/written Word 0 Word 1 Word M-2 Word M-1 . . . N bits S0 S1 S2 SM-2 SM-1 ... Decoder A0 A1 Ak-1 Address decoder k = log2 (M) S0 Word 0 S1 Word 1 Storage cells S2 ... . . . SM-2 Word M-2 SM-1 Word M-1 word select lines N bits Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan

Memory Access Timing: the Big Picture Send address on the address lines, wait for the word line to become stable Read/write data on the data lines Read Cycle READ Write Cycle Read Access Read Access WRITE Write Access Data Valid Data Written DATA [©Prentice Hall] Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan

EE 5324 - VLSI Design II - © Kia Bazargan Outline Registers (flip-flops), shift registers Memory interface Memory cells Static memory cell Dynamic memory cell ROM cells Address decoders Content addressable memory (CAM) Non volatile memory cells Outline Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan

Memory Cell: Static RAM (8 transistors) 8-transistor cell Bit_i is the data bus Sj is the word line Sj biti Bit’ used to reduce delay Bus drivers Sense Amplifier (inverter with high gain) used for fast switching Make sure inverters in cell are weaker than the combination of “write buffer” and pass transistor Rd/WR Very big driver [©Hauck] Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan

Memory Cell: Static RAM (6 transistors) 6-transistor cell Must adjust inverters for input coming through n-type pass gate Bus drivers Must adjust senseAmp for input coming through n-type pass gate Harder to drive 1 than 0 through write buffer (high resistance via n-transistor) One side is sending 0 anyway (bit or bit’)  written correctly biti biti (BL) Sj (WL) Rd/WR [©Hauck] Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan

6-Transistor SRAM Cell: Layout WL is word line (select line Sj) BL is bit line (biti) VDD M2 M4 BL M5 M1 M3 M6 Q M4 Vdd WL M2 Q Q M1 M3 GND M5 M6 WL BL BL [Rab96] p.578 [©Prentice Hall] Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan

6-Transistor Memory Array 8 words deep RAM, 2 bits wide words To write to word j: Set Sj=1, all other S lines to 0 Send data on the global bit0, bit0’, bit1, bit1’ To read word k: Set Sk=1, all other S lines to 0 Sense data on bit0 and bit1. bit0 bit0 bit1 bit1 S0 S1 S7 Rd/WR Rd/WR bit0 bit0 bit1 bit1 Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan

EE 5324 - VLSI Design II - © Kia Bazargan Outline Registers (flip-flops), shift registers Memory interface Memory cells Static memory cell Dynamic memory cell ROM cells Address decoders Content addressable memory (CAM) Non volatile memory cells Outline Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan

Dynamic RAM 4-Transistor Cell Dynamic charge storage must be refreshed Dedicated busses for reading and writing data in data out WR Keeps its value for about 1ms Rd [©Hauck] Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan

Dynamic RAM 3-Transistor Cell No p-type transistors yield a very compact layout for cell No Vdd connection Sense Amplifier must be able to quickly detect dropping voltage Precharge data_out’ to generate ‘1’ outputs precharge data in data out WR Rd [©Hauck] Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan

Dynamic RAM 3-Transistor Cell: Timing precharge WR data in data out Rd WR X X Vdd-VT Vdd data in Rd DV data out Vdd Value stored at node X when writing a “1”=VWR-VTn [Rab96] p.586 [©Prentice Hall] Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan

Dynamic RAM 3-Transistor Cell: Layout Din Dout GND Dout Din Rd M3 WR M3 M2 M2 M1 WR M1 Rd [Rab96] p.586 [©Prentice Hall] Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan

Dynamic RAM 1-Transistor Cell http://www.ece.umn.edu/users/kia/Courses/EE5324 Dynamic RAM 1-Transistor Cell 1-transistor cell Storage capacitor is source of cell transistor Special processing steps to make the storage capacitor large Charge sharing with bus capacitance (Ccell << Cbus) Extra demand on sense amplifier to detect small changes Destructive read (must write immediately) Precharge to middle voltage level Bi Si (WL) Storage capacitor Note that the storage capacitor shown is not a physical capacitor (we just use the capacitor notation to show that it keeps electric charges). The “storage capacitor” is implemented as a huge piece of metal (usually a hole in the substrate). There is no connection to the ground metal lines (again, the capacitor/ground is just a convention) Also, there is no physical capacitor connected to the bus. The fact that the bus is a long piece of wire makes it behave as a capacitor [©Hauck] Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan VLSI Design II – © Kia Bazargan

Dynamic RAM 1-Transistor Cell: Timing Write "1" Read "1" WL BL WL X GND Vdd-VT X Cs V dd BL Vdd/2 Vdd/2 CBL sensing Write: Cs is charged/discharged Read Voltage swing is small (~250 mV) DV = VBL - VPRE = (VX - VPRE) . Cs / (Cs+CBL) [Rab96] p.587 [©Prentice Hall] Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan

Dynamic RAM 1-Transistor Cell: Observations DRAM memory cell is single-ended Read operation is destructive Unlike 3T cell, 1T cell requires presence of an extra capacitance that must be explicitly included in the design Polysilicon-diffusion plate capacitor Trench or stacked capacitor When writing a “1” into a DRAM cell, a threshold voltage is lost Set WL to a higher value than Vdd [©Prentice Hall] Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan

Dynamic RAM 1-Transistor Cell: Layout Capacitor Metal word line M1 word SiO2 line poly poly Field Oxide n+ n+ Inversion layer Diffused induced by bit line plate bias Polysilicon plate Polysilicon gate (a) Cross-section (b) Layout Used Polysilicon-Diffusion Capacitance Expensive in Area [©Prentice Hall] Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan

Dynamic RAM 1-Transistor Cell: Layout [©Prentice Hall] Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan

Dynamic RAM 1-Transistor Cell: Layout Capacitor Dielectric layer Word line Insulating Layer Cell plate Cell Plate Si Transfer gate Isolation Capacitor Insulator Refilling Poly Storage electrode Storage Node Poly Si Substrate 2nd Field Oxide Trench Cell Stacked-capacitor Cell [©Prentice Hall] Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan

EE 5324 - VLSI Design II - © Kia Bazargan RAM Cells: Summary Static Fastest (no refresh) Simple design Right solution for small memory arrays such as register files Dynamic Densest: 1T is best and is the way to go for large memory arrays Built-in circuitry to step through cells and refresh (can do more than one word at a time) Sense amplifier needed for fast read operation [©Hauck] Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan

EE 5324 - VLSI Design II - © Kia Bazargan Multi-Port RAM Cells bus_B bus_A row-bus_A row-bus_B bus_B bus_A Idea: add more input and output transistors Can be applied to all variants Usually not done for 1T cells [©Hauck] Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan

Multi-Port RAM Cells Array 7 words deep, 2 wide words, dual port mem To read from word j and write “d1d0” to word k simultaneously: Set SAj=1, and all other SA’s=0 Set SBk=1, and all other SB’s=0 Sense the values on bus_A0 and bus_A1 Write d1d0 to bus_B0 and bus_B1 SA0 SB0 SA1 SB1 . . . . . . SA7 SB7 bus_B0 bus_A0 bus_A0 bus_B0 bus_B1 bus_A1 bus_A1 bus_B1 Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan

EE 5324 - VLSI Design II - © Kia Bazargan Outline Registers (flip-flops), shift registers Memory interface Memory cells Static memory cell Dynamic memory cell ROM cells Address decoders Content addressable memory (CAM) Non volatile memory cells Outline Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan

Read Only Memory (ROM) Cells: MOS NOR http://www.ece.umn.edu/users/kia/Courses/EE5324 Read Only Memory (ROM) Cells: MOS NOR To store constants data or invariant code Popular for control implementation Store program or state machine Programmable logic array structure Can be precharged or pseudo-nMos bit1 bit2 bit3 read1 read2 MOS NOR ROM 0 1 0 Why called NOR? An application would be to store all the 0’s and 1’s of a program similar to one you saw in the homework. Each row would correspond to one instruction, and the values stored in each row would be the control signals fed to the datapath (to select functionality, etc.) 0 0 1 [©Hauck] Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan VLSI Design II – © Kia Bazargan

ROM Cell: MOS NOR Layout Metal1 on top of diffusion WL0 GND (diffusion) WL1 Polysilicon Basic cell 10 l x 7 l Metal1 WL2 WL3 Only 1 layer (metal-to-diffusion contact mask) is used to program memory array Programming of the memory can be delayed to one of last process steps [©Prentice Hall] Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan

ROM Cell: MOS NOR Alternative Layout BL0 BL1 BL2 BL3 Threshold raising implant WL0 GND (diffusion) Basic Cell 8.5l x 7 l Metal1 over diffusion WL1 Polysilicon WL2 WL3 Threshold raising implants disable transistors [©Prentice Hall] Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan

ROM Cell: MOS NAND Pullup devices BL0 BL1 BL2 BL3 WL0 WL1 WL2 WL3 All word lines high by default with exception of selected row [©Prentice Hall] Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan

ROM Cell: MOS NAND: Layout Diffusion Polysilicon Basic cell 5l x 6l Threshold lowering implant No contact to Vdd or GND necessary drastically reduced cell size Loss in performance compared to NOR ROM Why? [©Prentice Hall] Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan

EE 5324 - VLSI Design II - © Kia Bazargan ROM Cells: Summary Mask programmability Precharged vs. pseudo-nMos NAND cell, NOR cell Area Speed Other types: EEPROM, etc. Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan

EE 5324 - VLSI Design II - © Kia Bazargan Outline Registers (flip-flops), shift registers Memory interface Memory cells Static memory cell Dynamic memory cell ROM cells Address decoders Content addressable memory (CAM) Non volatile memory cells Outline Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan

Memory Cell Array Interface: Example 1 S0 Memory parameters: 16-bit wide 1024-word deep Accessing word 9 Address = 00000010012 Word 0 S1 Word 1 S2 Word 2 1 … A0 . . . . A1 S9 A2 Word 9 Decoder A3 ... ... A9 S1022 Word 1022 S1023 Word 1023 16 bits SenseAmp / Drivers 16 bits Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan

Memory Cell Array Layout S0 Memory performance (speed) Storage cell speed (read, write) Data bus capacitance Periphery: address decoders, sense amplifiers, buffers Memory area Cell array layout How to layout the cells array? Linear is bad: Long data busses  large capacity A lot of cells connected to data bus Decoder will have a lot of logic levels Word 0 Word M-2 Word M-1 . . . Word 1 Word 2 S1 S2 A0 A1 Decoder ... ... Ak-1 SM-2 SM-1 N bits SenseAmp / Drivers N bits Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan

Memory Cell Array Layout (cont.) http://www.ece.umn.edu/users/kia/Courses/EE5324 Memory Cell Array Layout (cont.) Group the M words into M/L rows, each containing L words Benefits? S0..L-1 Word 0 Word 1 . . . Word L-1 SL..2L-1 address: L bits k-L bits Alog L Word L Word L+1 . . . Word 2L-1 S2L..3L-1 Word 2L Word 2L+1 . . . Word 3L-1 Alog L+1 . . . . . . . . . . . . Row Decoder ... Ak-1 SM-L..M-1 Word M-L . . . . . . Word M-1 Address decoding is faster Row (column) decoder has less inputs, hence simpler structure Row and column address decoding could be done in parallel Row and column address decoding could be done separately (so, if you need to access two words in a row, send the row address once only) Power consumption? Bit line capacitance? Length? N bits N bits . . . N bits SAmp/Drv SAmp/Drv . . . SAmp/Drv N bits N bits . . . N bits Column Decoder + MUX N bits A0 Alog L-1 . . . Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan VLSI Design II – © Kia Bazargan

Memory Cell Array Access Example word=16-bit wide(N), row=8 words(L), address=10 bits (k) Accessing word 9= 00000010012 L=8 words S0..7 S8..15 Word 0 Word 1 . . . Word 7 M/L = 1024/8= 128 rows A3 Word 8 Word 9 . . . Word 15 1 … S16..23 Word 16 Word 17 . . . Word 23 A4 Row Decoder . . . . . . . . . . . . ... A9 S1016-1023 Word 1016 . . . . . . Word 1023 16 bits 16 bits . . . 16 bits SAmp/Drv SAmp/Drv . . . SAmp/Drv 16 bits 16 bits . . . 16 bits A0 Column Decoder + MUX A1 A2 16 bits Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan

Hierarchical Memory Structure Taking the idea one step further Shorter wires within each block Enable only one block addr decoder power savings Row Address Column Address Blk EN Block Address Blk EN Blk EN Blk EN Global Bus SAmp/ Drv Global drivers/ sense amplifiers [Rab96] p. 558 Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan

Decreasing Word Line Delay Word line delay comes into play! We used to have long busses, made 2D array  shorter busses But, longer word lines! How to decrease the delay on the word lines? Break the word line by inserting buffers Place the decoder in the middle Polysilicon word line Polysilicon word line Metal word line Metal bypass (a) Drive the word line from both sides (b) Use metal bypass [©Prentice Hall] Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan

Decreasing Word Line Delay (cont.) Place the decoder in the middle Add buffers to outputs of decoder d e c o d e r memory cell array memory cell array k Address lines [©Hauck] Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan

Row Decoder Implementation Collection of 2k high fan-in (k inputs) logic gates Regular and dense structure N(AND) decoder NOR decoder WL0 = A0.A1.A2.A3.A4.A5.A6.A7.A8.A9 WL511 = A0.A1.A2.A3.A4.A5.A6.A7.A8.A9 WL0 = A0+A1+A2+A3+A4+A5+A6+A7+A8+A9 WL511 = A0+A1+A2+A3+A4+A5+A6+A7+A8+A9 [©Prentice Hall] Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan

Row Decoder Implementation (cont.) Precharge devices GND GND WL3 WL3 WL2 WL2 WL1 WL1 WL0 WL0 f f Vdd A0 A0 A1 A1 A0 A0 A1 A1 Dynamic 2-to-4 NOR Decoder 2-to-4 MOS Dynamic NAND Decoder [©Prentice Hall] Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan

Row Decoder Implementation (cont.) WL1 WL0 A0A1 A0A1 A0A1 A0A1 A2A3 A2A3 A2A3 A2A3 A0 A1 A1 A0 A2 A3 A3 A2 Splitting decoder into two or more logic layers produces a faster and cheaper implementation [©Prentice Hall] Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan

Column Multiplexers: Tree-Based Decoder Route many inputs to a single output Inputs come from different words, same bit position Series transistors are slow On the critical path too Area? One-bit very small, but have to repeat the “decoding” for all bit positions. Bit position i of L word columns w0 w1 w2 w3 w4 w5 w6 w7 A0' A0 A1' A1 A2' A2 Bit position i [©Hauck] Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan

Column Multiplexers: Faster Implementation Decode address into one-hot signals Each bit passes through single n-device or pass gate Column decoding done in parallel w/ row decoding Decoder A0 A1 . . . Alog L-1 bit 0 bit 1 [©Hauck] Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan

EE 5324 - VLSI Design II - © Kia Bazargan Outline Registers (flip-flops), shift registers Memory interface Memory cells Static memory cell Dynamic memory cell ROM cells Address decoders Content addressable memory (CAM) Non volatile memory cells Outline Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan

Content Addressable Memory (CAM) Instead of address, provide data  find a match Applications: cache, physical particle collider Needs “Encoder”: Inverse function of decoder Take a one-hot collection of signals and encode them m bits e n c o d e r content addressable memory cell array 2n rows m n [©Hauck] Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan

Content Addressable Memory Cell Read and write like normal 6T memory cell Match signal is precharged to 1, pulled to 0 if no match Send data on bit’ and data’ on bit for matching Match remains 1 iff all bits in word match row select match bit bit' [©Hauck] Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan

Encoders e n c o d e r content addressable memory cell array row select match bit bit' Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan

Content Addressable Memory (CAM) Writing is done as normal SRAM Address decoder needed Drive row select ½ n log n transistors on the address lines (in encoder) Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan

EE 5324 - VLSI Design II - © Kia Bazargan Outline Registers (flip-flops), shift registers Memory interface Memory cells Static memory cell Dynamic memory cell ROM cells Address decoders Content addressable memory (CAM) Non volatile memory cells Outline Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan

Non-Volatile Memory Cells Programmable after fabrication Keep their configuration even after the supply voltage is disconnected Basic idea: Use a floating strip of polysilicon between the substrate and the gate Put charges on the floating gate Increase threshold voltage  disable the device Different types based on the erasure method Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan

Floating-Gate Transistor (FAMOS) D Source Drain t G ox t ox S + p + n n Substrate (a) Device cross-section (b) Schematic symbol [©Prentice Hall] Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan

Floating-Gate Transistor: Programming 20 V 0 V 5 V 20 V 0 V 5 V 10V  5V - 5 V - 2.5 V - - - - - - - - - - S - - D S D S D Removing programming voltage leaves charges trapped Programming results in higher VT Avalanche injection. [©Prentice Hall] Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan

FLOTOX EEPROM I V GD Floating gate Gate Source Drain -10 V 10 V n+ p 20-30 nm V GD 10 V n+ p n+ 10 nm Substrate (a) Flotox transistor (b) Fowler-Nordheim I-V characteristics BL WL V DD (c) EEPROM cell during a read operation [©Prentice Hall] Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan

EE 5324 - VLSI Design II - © Kia Bazargan FLASH EEPROM Control gate Floating gate erasure Thin tunneling oxide n+ source n+ drain programming p-substrate [©Prentice Hall] Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan

Cross-Section of NVM Cells Courtesy Intel [©Prentice Hall] Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan

Characteristics of Some NVM Cells Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan