Hardware Design I Chap. 5 Memory elements

Similar documents
11. Sequential Elements

(CSC-3501) Lecture 7 (07 Feb 2008) Seung-Jong Park (Jay) CSC S.J. Park. Announcement

EEC 118 Lecture #9: Sequential Logic. Rajeevan Amirtharajah University of California, Davis Jeff Parkhurst Intel Corporation

DIGITAL ELECTRONICS MCQs

Digital Integrated Circuits EECS 312

UNIT III COMBINATIONAL AND SEQUENTIAL CIRCUIT DESIGN

COMP2611: Computer Organization. Introduction to Digital Logic

EL302 DIGITAL INTEGRATED CIRCUITS LAB #3 CMOS EDGE TRIGGERED D FLIP-FLOP. Due İLKER KALYONCU, 10043

Sequencing. Lan-Da Van ( 范倫達 ), Ph. D. Department of Computer Science National Chiao Tung University Taiwan, R.O.C. Fall,

Combinational vs Sequential

Sequential Circuit Design: Part 1

Sequential Circuit Design: Part 1

ROM MEMORY AND DECODERS

Lecture 26: Multipliers. Final presentations May 8, 1-5pm, BWRC Final reports due May 7 Final exam, Monday, May :30pm, 241 Cory

VLSI Design: 3) Explain the various MOSFET Capacitances & their significance. 4) Draw a CMOS Inverter. Explain its transfer characteristics

Chapter 11 Latches and Flip-Flops

Topic 8. Sequential Circuits 1

Memory, Latches, & Registers

Experiment 8 Introduction to Latches and Flip-Flops and registers

Memory elements. Topics. Memory element terminology. Variations in memory elements. Clock terminology. Memory element parameters. clock.

Sequential Circuits: Latches & Flip-Flops

Introduction. NAND Gate Latch. Digital Logic Design 1 FLIP-FLOP. Digital Logic Design 1

MUX AND FLIPFLOPS/LATCHES

The outputs are formed by a combinational logic function of the inputs to the circuit or the values stored in the flip-flops (or both).

EMT 125 Digital Electronic Principles I CHAPTER 6 : FLIP-FLOP

ECE 263 Digital Systems, Fall 2015

Introduction to CMOS VLSI Design (E158) Lecture 11: Decoders and Delay Estimation

Lecture 21: Sequential Circuits. Review: Timing Definitions

ECE321 Electronics I

DIGITAL CIRCUIT LOGIC UNIT 11: SEQUENTIAL CIRCUITS (LATCHES AND FLIP-FLOPS)

DIFFERENTIAL CONDITIONAL CAPTURING FLIP-FLOP TECHNIQUE USED FOR LOW POWER CONSUMPTION IN CLOCKING SCHEME

VU Mobile Powered by S NO Group

CS/EE 6710 Digital VLSI Design CAD Assignment #3 Due Thursday September 21 st, 5:00pm

EEE2135 Digital Logic Design Chapter 6. Latches/Flip-Flops and Registers/Counters 서강대학교 전자공학과

Difference with latch: output changes on (not after) falling clock edge

Find the equivalent decimal value for the given value Other number system to decimal ( Sample)

WINTER 15 EXAMINATION Model Answer

Chapter 7 Memory and Programmable Logic

Slide Set 7. for ENEL 353 Fall Steve Norman, PhD, PEng. Electrical & Computer Engineering Schulich School of Engineering University of Calgary

DIGITAL SYSTEM FUNDAMENTALS (ECE421) DIGITAL ELECTRONICS FUNDAMENTAL (ECE422) LATCHES and FLIP-FLOPS

Music Electronics Finally DeMorgan's Theorem establishes two very important simplifications 3 : Multiplexers

For Teacher's Use Only Q Total No. Marks. Q No Q No Q No

Department of Electrical and Computer Engineering Mid-Term Examination Winter 2012

P.Akila 1. P a g e 60

CHAPTER 11 LATCHES AND FLIP-FLOPS

Sequential Logic. E&CE 223 Digital Circuits and Systems (A. Kennings) Page 1

Sequential Logic Circuits

An efficient Sense amplifier based Flip-Flop design

Chapter. Sequential Circuits

Improve Performance of Low-Power Clock Branch Sharing Double-Edge Triggered Flip-Flop

ELE2120 Digital Circuits and Systems. Tutorial Note 7

CHAPTER 4: Logic Circuits

CMOS Latches and Flip-Flops

Switching Circuits & Logic Design

Chapter 5 Synchronous Sequential Logic

Nan Ya NT5DS32M8AT-7K 256M DDR SDRAM

Register Transfer Level (RTL) Design Cont.

CHAPTER 4: Logic Circuits

Digital Logic Design Sequential Circuits. Dr. Basem ElHalawany

Flip-Flops A) Synchronization: Clocks and Latches B) Two Stage Latch C) Memory Requires Feedback D) Simple Flip-Flop Gate

Logic Design. Flip Flops, Registers and Counters

cascading flip-flops for proper operation clock skew Hardware description languages and sequential logic

IT T35 Digital system desigm y - ii /s - iii

Clocking Spring /18/05

ECEN454 Digital Integrated Circuit Design. Sequential Circuits. Sequencing. Output depends on current inputs

D Latch (Transparent Latch)

Chapter 6. sequential logic design. This is the beginning of the second part of this course, sequential logic.

More Digital Circuits

Read-only memory (ROM) Digital logic: ALUs Sequential logic circuits. Don't cares. Bus

CS8803: Advanced Digital Design for Embedded Hardware

EECS 270 Group Homework 4 Due Friday. June half credit if turned in by June

CS 261 Fall Mike Lam, Professor. Sequential Circuits

6. Sequential Logic Flip-Flops

EE 447/547 VLSI Design. Lecture 9: Sequential Circuits. VLSI Design EE 447/547 Sequential circuits 1

Flip-Flops. Because of this the state of the latch may keep changing in circuits with feedback as long as the clock pulse remains active.

55:131 Introduction to VLSI Design Project #1 -- Fall 2009 Counter built from NAND gates, timing Due Date: Friday October 9, 2009.

Unit 11. Latches and Flip-Flops

Sequential Logic and Clocked Circuits

High Performance Dynamic Hybrid Flip-Flop For Pipeline Stages with Methodical Implanted Logic

Chapter. Synchronous Sequential Circuits

LOW POWER DOUBLE EDGE PULSE TRIGGERED FLIP FLOP DESIGN

COE 202: Digital Logic Design Sequential Circuits Part 1. Dr. Ahmad Almulhem ahmadsm AT kfupm Phone: Office:

Asynchronous Model of Flip-Flop s and Latches for Low Power Clocking

Sequential Logic. References:

Software Engineering 2DA4. Slides 9: Asynchronous Sequential Circuits

Lecture 11: Sequential Circuit Design

Combinational / Sequential Logic

Multiplexor (aka MUX) An example, yet VERY useful circuit!

CS 110 Computer Architecture. Finite State Machines, Functional Units. Instructor: Sören Schwertfeger.

Introduction to Microprocessor & Digital Logic

Dual Edge Adaptive Pulse Triggered Flip-Flop for a High Speed and Low Power Applications

Lecture 10: Sequential Circuits

Previous Lecture Sequential Circuits. Slide Summary of contents covered in this lecture. (Refer Slide Time: 01:55)

Come and join us at WebLyceum

CSE115: Digital Design Lecture 23: Latches & Flip-Flops

MODULE 3. Combinational & Sequential logic

YEDITEPE UNIVERSITY DEPARTMENT OF COMPUTER ENGINEERING. EXPERIMENT VIII: FLIP-FLOPS, COUNTERS 2014 Fall

Design of a Low Power and Area Efficient Flip Flop With Embedded Logic Module

Chapter 5 Flip-Flops and Related Devices

CS3350B Computer Architecture Winter 2015

Transcription:

Hardware Design I Chap. 5 Memory elements E-mail: shimada@is.naist.jp Why memory is required? To hold data which will be processed with designed hardware (for storage) Main memory, cache, register, and so on. To achieve sequential circuit (for holding temporal value) Combinational logic circuits do not permit cyclic data flow -> Chap. 2 If we separate data flow via memory element, we can permit it Input Combinational logic circuit Sequential circuit -> Chap. 6 Output Memory element Hold Hardware Design I (Chap. 5) 2

Outline Flip-flops and latches (for temporal value) SR flip-flop and its variations D flip-flop and its variations D latch Random Access Memory (RAM) and related structure (for storage) Basic organization of RAM Static RAM (SRAM) The other RAMs Content Addressable Memory (CAM) Hardware Design I (Chap. 5) 3 What s flip-flop? Assume seesaw Outputs and take opposite status and flip under some condition There are several types of flip-flops SR flip-flop Clocked SR flip-flop Master-slave SR flip-flop Master-slave D flip-flop Edge trigger D flip-flop Hardware Design I (Chap. 5) 4 2

The relations of flip-flops SR flip-flop: set/reset procedure is complicated Add which indicate timing of value set Clocked SR flip-flop: timing is severe Accept slow Master-slave SR flip-flop: dual-rail logic is redundant Simplify input to single D Master-slave D flip-flop: delay in flip-flop is large A part of this organization becomes D latch Reduce delay Edge trigger D flip-flop Note that the latter organization requires much more gates Hardware Design I (Chap. 5) 5 SR flip-flop Set Reset flip-flop (SR-FF) Set means output Reset means output e.g. reset status The feedback loop creates stable status S R S R (Memorize) (Prohibit) Hardware Design I (Chap. 5) 6 3

Flip of SR flip-flop Flip of reset status to set status If S becomes, becomes Inputs of the lower NOR becomes and (still outputs ) After that, if R becomes, becomes Inputs of the upper NOR becomes and (still outputs ) -> S -> -> R -> -> -> S R (Memorize) (Prohibit) Hardware Design I (Chap. 5) 7 Stable status of SR flip-flop SR flip-flop becomes stable if we input to both inputs It keeps prior status Usually, we treat this status as a basic status From here, we set S or R to change status S / / R / / S R (Memorize) (Prohibit) Hardware Design I (Chap. 5) 8 4

What occurs when we input to both inputs of SR flip-flop? Both outputs becomes Usually, we prohibit this status It represents = which is conflictive status S R -> -> S R (Memorize) (Prohibit) Hardware Design I (Chap. 5) 9 The other implementation of SR flip-flop We can implement SR flip-flop by NAND and NOT gates Note that and are counterchanged in this implementation S S R R Hardware Design I (Chap. 5) 5

The relations of flip-flops SR flip-flop: set/reset procedure is complicated Add which indicate timing of value set Clocked SR flip-flop: timing is severe Accept slow Master-slave SR flip-flop: dual-rail logic is redundant Simplify input to single D Master-slave D flip-flop: delay in flip-flop is large A part of this organization becomes D latch Reduce delay Edge trigger D flip-flop Note that the latter organization requires much more gates Hardware Design I (Chap. 5) Clocked SR flip-flop A circuit which can enable set or reset input when = If =, inputs of blue rectangle becomes Also called SR latch This part represents SR-FF with NAND and NOT gates S R S R * * Hardware Design I (Chap. 5) 2 6

Signal through of ed SR flip-flop It put through signal when = In some case, transparent signal is unacceptable e.g. sequential circuit -> Chap. 6 There s possibility that the signal loops for multiple times through SR flip-flop ->Wrong operation from combinational logic viewpoint Input Signal Input Signal Combinational logic Output SR flip-flop Combinational logic Output SR flip-flop Hardware Design I (Chap. 5) 3 The relations of flip-flops SR flip-flop: set/reset procedure is complicated Add which indicate timing of value set Clocked SR flip-flop: timing is severe Accept slow Master-slave SR flip-flop: dual-rail logic is redundant Simplify input to single D Master-slave D flip-flop: delay in flip-flop is large A part of this organization becomes D latch Reduce delay Edge trigger D flip-flop Note that the latter organization requires much more gates Hardware Design I (Chap. 5) 4 7

Master-slave flip-flop (/2) When = Master captures values of S and R Slave does not change status Multiple S and R flop is hidden S Master Slave R Hardware Design I (Chap. 5) 5 Master-slave flip-flop (2/2) When = Master does not change status Slave captures values from master Outputs value which master captures The output becomes value in prior period S Master Slave R Hardware Design I (Chap. 5) 6 8

The relations of flip-flops SR flip-flop: set/reset procedure is complicated Add which indicate timing of value set Clocked SR flip-flop: timing is severe Accept slow Master-slave SR flip-flop: dual-rail logic is redundant Simplify input to single D Master-slave D flip-flop: delay in flip-flop is large A part of this organization becomes D latch Reduce delay Edge trigger D flip-flop Note that the latter organization requires much more gates Hardware Design I (Chap. 5) 7 Master-slave D flip-flop Assuming S=D and R=D The function becomes output D in prior period D means delay D S Master Slave R Hardware Design I (Chap. 5) 8 9

The operation of master slave D flip-flop D Accept input Memorize = Memorize Accept input D = Hardware Design I (Chap. 5) 9 Timeline of D flip-flop operation Input value arrives after half + alpha Alpha: operation time of slave flip-flop How to remove this delay? Captured by master Captured by slave D Operation delay of slave FF Hardware Design I (Chap. 5) 2

The relations of flip-flops SR flip-flop: set/reset procedure is complicated Add which indicate timing of value set Clocked SR flip-flop: timing is severe Accept slow Master-slave SR flip-flop: dual-rail logic is redundant Simplify input to single D Master-slave D flip-flop: delay in flip-flop is large A part of this organization becomes D latch Reduce delay Edge trigger D flip-flop Note that the latter organization requires much more gates Hardware Design I (Chap. 5) 2 Edge trigger D flip-flop A flip-flop which operates with edge of It can output value after a moment of edge A moment: state transition time of logic gates Utilize (S,R)=(,) to (S,R)=(,) or (S,R)=(,) action in it Operate with this timing D Hardware Design I (Chap. 5) 22

Operation of edge trigger D flip-flop (/4) Assume =, D= It holds values Assume that (S,R)=(,) state in SR flip-flop S R D This rectangle becomes SR-FF with negated inputs Hardware Design I (Chap. 5) 23 Operation of edge trigger D flip-flop (2/4) Assume =, D= Also it holds values Assume that (S,R)=(,) state in SR flip-flop S D R Hardware Design I (Chap. 5) 24 2

Operation of edge trigger D flip-flop (3/4) Assume =-> under D= becomes Assume that (S,R)=(,) state in SR flip-flop -> D S -> R Hardware Design I (Chap. 5) 25 Operation of edge trigger D flip-flop (4/4) Assume =-> under D= becomes Assume that (S,R)=(,) state in SR flip-flop -> D S -> R Hardware Design I (Chap. 5) 26 3

Operation delay of edge trigger D flip-flop It requires 3 gates operation delay in maximum 2 gates delay -> 3 gates delay -> -> -> D D Hardware Design I (Chap. 5) 27 How long do we have to keep D value? (after has injected) After marked gate transition, internal state does not change even if D changes It is called Hold time is gate operation delay key! -> -> -> key! -> D D Hardware Design I (Chap. 5) 28 4

How long do we have to keep D value? (before has injected) When we translate D value, it requires 2 gate delay to become ready to accept pulse status It is called Setup time is 2 gate operation delay -> -> D -> -> D -> -> Hardware Design I (Chap. 5) 29 Setup time and hold time Setup time The restriction before pulse Never change D in this term Hold time The restriction after pulse Never change D in this term D Setup time Hold time Setup time violation Hold time violation Hardware Design I (Chap. 5) 3 5

Edge trigger D flip-flop with preset and clear Preset: force output value to Not that this signal is under negative logic Clear: force output value to Not that this signal is under negative logic Used in circuit if you want to initialize values preset clear D Hardware Design I (Chap. 5) 3 Edge trigger D flip-flop with preset and clear (preset) The output forced to The output becomes even if pulse has injected S side of SR flip-flop is negated if pulse has injected preset clear D Hardware Design I (Chap. 5) 32 6

Edge trigger D flip-flop with preset and clear (clear) The output forced to The output becomes even if pulse has injected R side of SR flip-flop is negated if pulse has injected preset clear D Hardware Design I (Chap. 5) 33 D latch A part of D flip-flop Thorough signal when = Hold value when = In some case, we utilize it in hardware design D D * (previous) Hardware Design I (Chap. 5) 34 7

Latch and flip-flop assumption in usual hardware design In usual hardware design, we assume following function for latch and flip-flop Latch It put through signal if signal is enabled It holds last status if signal is not enabled Flip-flop It updates its status by edge of pulse Hardware Design I (Chap. 5) 35 Explore of faster flip-flops Flip-flop is important structure for sequential circuits so that faster one is widely explored. Hybrid latch flip-flop (AMD K6) 2. Semi dynamic flip-flop (UltraSPARC III) 3. Sense amplifier based flip-flop (Alpha 2264). 2. 3. Hardware Design I (Chap. 5) 36 8

Outline Flip-flops and latches (for temporal value) SR flip-flop and its variations D flip-flop and its variations D latch Random Access Memory (RAM) and related structure (for storage) Basic organization of RAM Static RAM (SRAM) The other RAMs Content Addressable Memory (CAM) Hardware Design I (Chap. 5) 37 What s required for storage memory? Data density If we achieve high data density, we can treat large data size Or we can reduce hardware cost in same data size Data accessibility We can stuff data to small area if we ignore accessibility, but it is not accepted e.g. tape device has banished because of bad accessibility Usually, we utilize following two types organization Random access memory (RAM) type Content addressable memory (CAM) type Hardware Design I (Chap. 5) 38 9

Hold value with inverter loop What s a minimized logic which can hold status? -> Inverter (=NOT) loop Both inverter emphasis signal each other How to write data to it? Represents Represents Positive value Negative value Hardware Design I (Chap. 5) 39 Updating value in inverter loop We can overwrite status with strong signal Adding signal path which is used for updating How to represent strong signal? -> -> -> -> Hardware Design I (Chap. 5) 4 2

Updating value from electrical viewpoint Prepare powerful current source to outside If precharge current is larger than discharge current of the inverter, the node becomes If discharge current is larger than precharge current of the inverter, the node becomes -> Discharge Precharge -> Precharge Discharge Precharge Discharge Hardware Design I (Chap. 5) 4 Access gate (/2) How to control read/write operation into inverter loop? -> Utilize nmos FET called access gate If is applied to access gate, the value does not intrude If is applied to access gate, the value intrudes Access gate Shut out Shut out -> -> Hardware Design I (Chap. 5) 42 2

Access gate (2/2) Also access gate is used for reading internal value If is applied to access gate, the output becomes Z If is applied to access gate, the output becomes a value of inverter loop c.f. transmission gate -> Chap. 4 Z Z Shut out Shut out Hardware Design I (Chap. 5) 43 Number of transistor The number of transistor becomes 6 in prior organization 2 x INV(2 transistors) and 2 x access gates Much less than flip-flops and latches Master-slave D-FF: 36 transistors 8 x NAND2(4 transistors) and 2 x INV Edge trigger D-FF: 24 transistors 6 x NAND2 D latch: 7 transistors 4 x NAND2 and x INV Hardware Design I (Chap. 5) 44 22

How to connect to outside? Input of transmission gate is connected to word line Outside of transmission gate is connected to bit line There s two bit lines which represents positive and negative values Usually, we call this organization a as memory Word line and bit lines are shared between several memory s Word line (or bit) Bit bar line (or bit line or bit) Hardware Design I (Chap. 5) 45 Array of memory s (/2) By placing prior memory, we can create memory array n- n n n+ n+ Word line n n+2 Word line n+ Word line n+2 Hardware Design I (Chap. 5) 46 23

Array of memory s (2/2) e.g. A memory array which has n-bit length for vertical and m-bit length for horizontal Word line Word line m-2 m- Word line n-2 Word line n- Memory array Hardware Design I (Chap. 5) 47 How to select one of word lines? decoder -> Chap. 4 Prepare word line decoder to choose word line Length of word line index becomes log 2 n bits e.g. asserting # word line (index = ) Index (e.g. ) Word line decoder m-2 m- Hardware Design I (Chap. 5) 48 24

How to select one of bit lines? In data read operation Prepare bit line multiplexer Length of select signal becomes log 2 n bits Usually, the output becomes chunk of bits e.g. 8-bit, 32-bit, e.g. selecting # bit line (sel = ) sel (e.g. ) multiplexer -> Chap. 4 m-2 multiplexer Read value m- Hardware Design I (Chap. 5) 49 How to write data? (/2) Prepare precharge circuit to write data Precharge bit line and discharge bit bar line if comes Precharge bit bar line and discharge bit line if comes Demultiplexer is prepared to deliver value to correct position -> Chap. 4 sel (e.g. ) Precharge circuit Demultiplexer Write value (e.g. ) Hardware Design I (Chap. 5) 5 25

How to write data? (2/2) After asserting word line, the value is written into Capacitance of bit lines are enough big to overwrite value Discharge Demultiplexer Precharge circuit Charge Write value (e.g. ) Hardware Design I (Chap. 5) 5 How to read value? (strictly) Strictly speaking, read value operation is done by following operation. Precharge both bit lines 2. Assert word line 3. The line connected to side is discharged Why?: discharge ability is larger than precharge ability -> Chap.. Precharge both bit lines 2. Assert word line Precharge circuit Discharge -> Hardware Design I (Chap. 5) 52 26

Sense amplifier (/2) Even if we use discharge, it requires long time to discharge bit line Capacitance of bit line is too large for FET in To increase data density, we don t want to increase size of FET in ->Prepare sense amplifier to accelerate output V Assert word line Output becomes in bit line Threshold voltage t Hardware Design I (Chap. 5) 53 Sense amplifier (2/2) Sense amplifier (current mirror type) A circuit which can amplifier differential of signals Current flows from Vdd to Gnd in initial Output becomes intermediate voltage Output becomes if bit begins to fall Output falls to if bit begins to fall Bit Emphasis output signal by NOT gate Assert word line V Output If bit lines gives some differential, output begins to fall down Threshold voltage t Current mirror type sense amplifier Start evaluation Output Bit Hardware Design I (Chap. 5) 54 27

Precharge and write circuit Precharge circuit Charge bit lines through pmos To equalize voltage of bit lines, we prepare pmos between them If there s slightly voltage difference, sense amplifier amplifies it Write circuit Discharge either of bit lines by write value with nmos We have to use larger transistor to speedup charge/discharge Precharge and write circuit bit Precharge write/ write bit Hardware Design I (Chap. 5) 55 Size of array How can we minimize memory array including appending circuits? If we extend length of horizontal direction Word line decoder becomes small But bit line multiplexer and precharge circuit becomes too large Nearly square array is better Strictly speaking, slightly enlarge vertical direction because it only increases decoder Decoder Memory array MUX Dec Memory array MUX Decoder Memory array MUX Hardware Design I (Chap. 5) 56 28

Multiple array organization Even if we utilize nearly square array, decoder and MUX becomes too large In such case, we can reduce by dividing large array to multiple sub arrays Decoder Memory array MUX Decoder Address Data Decoder Memory array MUX Memory array MUX Decoder Decoder Memory array MUX Memory array MUX Predecoder and post- MUX Hardware Design I (Chap. 5) 57 Double end and single end bit lines Prior organization is called double end There s single end organization There s only one bit line It can save area But operation speed becomes slower Sense amplifier compares voltage between bit line and Vdd Single end organization Word line Double end organization Word line Hardware Design I (Chap. 5) 58 29

Multi port memory (/2) How can I treat multiple read/write request? -> Utilize multi port memory Word line Word line m-2 m- Word line n-2 Word line n- Read Read Hardware Design I (Chap. 5) 59 Multi port memory (2/2) Prepare multiple word and bit lines e.g. 2-port memory We can send read/write request either of them We have to prepare multiple decoder, MUX, and precharge circuits Word line (port ) Word line (port ) (port ) (port ) (port ) (port ) Hardware Design I (Chap. 5) 6 3

Multi-bank organization (/2) An another method to treat multiple read/write request Allocate data to different bank Usually, consecutive data in memory address are allocated to different bank Allow multiple read/write if data exist in different bank Also used for increase memory band width Increase read/write request per unit time Also called interleaving Decoder Address (x4 in max.) Decoder Memory array Addr. Data MUX Data (x4 in max.) Memory array Bank Bank Decoder Decoder Memory array MUX Addr. 2 Data 2Memory array MUX MUX Bank 2 Bank 3 e.g. treating 2 read/write req. Hardware Design I (Chap. 5) 6 Multi bank organization (2/2) If read/write requests are concentrated to one bank, we can only allow one of them Called conflict Pre-decoder treat arbitration of them Also, hardware which send read/write request must consider data delay caused by conflict Decoder Address (x4 in max.) Decoder Memory Conflict! array Addr. 2 Addr. MUX Data (x4 in max) Memory array Bank Bank Decoder Decoder Memory array MUX Memory array MUX MUX Bank 2 Bank 3 Hardware Design I (Chap. 5) 62 3

Several RAMs The prior organization is called SRAM (Static Random Access Memory) There s several type of RAMs Dynamic RAM (DRAM) Flash memory Other advanced RAMs Hardware Design I (Chap. 5) 63 Dynamic RAM (DRAM) Utilize capacitor to keep value discharges slightly if capacitor is not charged on read operation Memory array becomes single end organization Area of is quite small Used for large storage e.g. main memory It requires refresh operation Because capacitor discharges in proportion to passage of time Read value from memory and write it again Word line Capacitor Hardware Design I (Chap. 5) 64 32

uiz How many bits can latest DRAM hold?. 4G bits 2. 8G bits 3. 6G bits 4. 32G bits Hardware Design I (Chap. 5) 65 Answer. 4G bits Comparatively low capacity than following flash memory Hardware Design I (Chap. 5) 66 33

Flash memory Utilize memory transistor (transistor with floating gate) to hold value If charge has trapped in floating gate, it represent (high threshold voltage) If charge has trapped, the current flows from bit line to Gnd when it has selected The control word line has added Send write signal to memory transistor when we update it Latest flash memory represents values of multiple bits in one memory Utilize 4 voltages when representing 2-bit Control word line Select word line Memory transistor (transistor with floating gate) Hardware Design I (Chap. 5) 67 uiz How many memory s can latest flash memory hold?. 4G memory s 2. 8G memory s 3. 6G memory s 4. 32G memory s Hardware Design I (Chap. 5) 68 34

Answer 4. 32G memory s By representing 2-bit values to one memory, it can hold 64G bits data Further technique Stack several silicon die in same package Represent 3-bit values with one memory Hardware Design I (Chap. 5) 69 Advanced RAMs (future RAM?) MRAM Utilize magnetic direction to represent and PCRAM Utilize status of thin membrane (crystal or amorphous) The and are detected by difference of resistance ReRAM Utilize colossal electro-resistance effect The and are detected by difference of resistance Hardware Design I (Chap. 5) 7 35

CAM (Content Addressable Memory) A circuit which can compare input value and content of Bit memory Operate multiple comparison simultaneously Usage: packet matching in network router, tag matching, Achieve by adding some circuits to RAM Match line Match data line and its negation Match Pull down stacks data line of CAM Word line Pull down stacks Match line Bit Match data line Hardware Design I (Chap. 5) 7 Match operation Firstly we charge match line and put match data to match data line If it does not match, match line discharged to Other wise match line keeps e.g. Content of memory is and match data is -> Match line is discharged through left pull down stack Bit Match data Word line Match line Bit Discharge Match data Hardware Design I (Chap. 5) 72 36

Example of match operation (/2) e.g. Content of memory is and match data is -> Match line is discharged through left pull down stack Bit Word line Bit Discharge Match data Match line Match data Hardware Design I (Chap. 5) 73 Example of match operation (2/2) e.g. Content of memory is and match data is -> Match line is not discharged and keeps Either of nmos FET is conducted in each pull down stack Bit Word line Bit Match data Match line Not discharged Match data Hardware Design I (Chap. 5) 74 37

Multiple bit match operation in CAM array By connecting multiple CAM to same match line, we can operate multiple bit match operation Usually, we add NOT gate to the output of match line To correct negative logic To add current drive ability CAM array Match data Match data Match datamatch data m-2 m- Precharge Match line Hardware Design I (Chap. 5) 75 Practical circuit utilizing CAM e.g. Packet matching of router Put packet information into CAM array Corresponding data (e.g. routing information) is given from RAM array Match line is directly connected to word line of RAM CAM allows multiple match so that it sometimes requires priority encoder to choose one of them Match data CAM array Priority encoder RAM array Corresponding data Hardware Design I (Chap. 5) 76 38