Memory, Latches, & Registers

Similar documents
Combinational vs Sequential

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

ECE321 Electronics I

Sequential Circuit Design: Part 1

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

Sequential Circuit Design: Part 1

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

Logic Design ( Part 3) Sequential Logic (Chapter 3)

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

Chapter 7 Memory and Programmable Logic

Chapter 11 Latches and Flip-Flops

Lecture 21: Sequential Circuits. Review: Timing Definitions

Digital Integrated Circuits EECS 312

Engr354: Digital Logic Circuits

Lecture 11: Sequential Circuit Design

Objectives. Combinational logics Sequential logics Finite state machine Arithmetic circuits Datapath

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

11. Sequential Elements

Chapter 6. Flip-Flops and Simple Flip-Flop Applications

Hardware Design I Chap. 5 Memory elements

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

CPE/EE 427, CPE 527 VLSI Design I Sequential Circuits. Sequencing

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

Digital Integrated Circuits EECS 312. Review. Combinational vs. sequential logic. Sequential logic. Introduction to sequential elements

Lecture 10: Sequential Circuits

Lec 24 Sequential Logic Revisited Sequential Circuit Design and Timing

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

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

COMP2611: Computer Organization. Introduction to Digital Logic

MASSACHUSETTS INSTITUTE OF TECHNOLOGY Department of Electrical Engineering and Computer Science

Saturated Non Saturated PMOS NMOS CMOS RTL Schottky TTL ECL DTL I I L TTL

Digital Fundamentals

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

Digital Design, Kyung Hee Univ. Chapter 5. Synchronous Sequential Logic

Topic 8. Sequential Circuits 1

NH 67, Karur Trichy Highways, Puliyur C.F, Karur District UNIT-III SEQUENTIAL CIRCUITS

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

Solution to Digital Logic )What is the magnitude comparator? Design a logic circuit for 4 bit magnitude comparator and explain it,

UNIT III COMBINATIONAL AND SEQUENTIAL CIRCUIT DESIGN

DIGITAL CIRCUIT COMBINATORIAL LOGIC

Chapter. Sequential Circuits

Chapter 5 Flip-Flops and Related Devices

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

Logic Design ( Part 3) Sequential Logic- Finite State Machines (Chapter 3)

Lab 3 : CMOS Sequential Logic Gates

CSE140L: Components and Design Techniques for Digital Systems Lab. FSMs. Tajana Simunic Rosing. Source: Vahid, Katz

Chapter 7 Sequential Circuits

L4: Sequential Building Blocks (Flip-flops, Latches and Registers)


Clock - key to synchronous systems. Lecture 7. Clocking Strategies in VLSI Systems. Latch vs Flip-Flop. Clock for timing synchronization

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).

Clock - key to synchronous systems. Topic 7. Clocking Strategies in VLSI Systems. Latch vs Flip-Flop. Clock for timing synchronization

CMOS Latches and Flip-Flops

Unit 11. Latches and Flip-Flops

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

Sequential logic. Circuits with feedback. How to control feedback? Sequential circuits. Timing methodologies. Basic registers

CprE 281: Digital Logic

SEQUENTIAL LOGIC. Sequential Logic

Clocking Spring /18/05

PGT104 Digital Electronics. PGT104 Digital Electronics

CHAPTER 4: Logic Circuits

Chapter 5: Synchronous Sequential Logic

D Latch (Transparent Latch)

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

Sequential Circuits. Output depends only and immediately on the inputs Have no memory (dependence on past values of the inputs)

CS8803: Advanced Digital Design for Embedded Hardware

INTRODUCTION TO SEQUENTIAL CIRCUITS

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

Fundamentals of Computer Systems

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

Rangkaian Sekuensial. Flip-flop

MUHAMMAD NAEEM LATIF MCS 3 RD SEMESTER KHANEWAL

CprE 281: Digital Logic

Project 6: Latches and flip-flops

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

Learning Outcomes. Unit 13. Sequential Logic BISTABLES, LATCHES, AND FLIP- FLOPS. I understand the difference between levelsensitive

More on Flip-Flops Digital Design and Computer Architecture: ARM Edition 2015 Chapter 3 <98> 98

Switching Circuits & Logic Design

EE141-Fall 2010 Digital Integrated Circuits. Announcements. Homework #8 due next Tuesday. Project Phase 3 plan due this Sat.

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

Logic Design. Flip Flops, Registers and Counters

Review of digital electronics. Storage units Sequential circuits Counters Shifters

CprE 281: Digital Logic

VU Mobile Powered by S NO Group

WINTER 14 EXAMINATION

MUX AND FLIPFLOPS/LATCHES

ECE 250 / CPS 250 Computer Architecture. Basics of Logic Design ALU and Storage Elements

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

CHAPTER 4: Logic Circuits

Analogue Versus Digital [5 M]

`COEN 312 DIGITAL SYSTEMS DESIGN - LECTURE NOTES Concordia University

Synchronous Digital Logic Systems. Review of Digital Logic. Philosophy. Combinational Logic. A Full Adder. Combinational Logic

AIM: To study and verify the truth table of logic gates

SEQUENTIAL LOGIC. Satish Chandra Assistant Professor Department of Physics P P N College, Kanpur

CS8803: Advanced Digital Design for Embedded Hardware

Digital Fundamentals 11/2/2017. Summary. Summary. Floyd. Chapter 7. Latches

Computer Architecture and Organization

12/31/2010. Overview. 12-Latches and Flip Flops Text: Unit 11. Sequential Circuits. Sequential Circuits. Feedback. Feedback

CHAPTER 1 LATCHES & FLIP-FLOPS

2.6 Reset Design Strategy

Transcription:

Memory, Latches, & Registers 1) Structured Logic Arrays 2) Memory Arrays 3) Transparent Latches 4) How to save a few bucks at toll booths 5) Edge-triggered Registers L13 Memory 1

General Table Lookup Synthesis A B AB Fn(A,B) 00 0 01 1 10 1 11 0 MUX Logic Fn(A,B) Generalizing: Remember from a few lectures ago that, in theory, we can build any 1-output combinational logic block with multiplexers. For an N-input function we need a input multiplexer. BIG Multiplexers? How about 10-input function? 20-input? L13 Memory 2

General Table Lookup Synthesis A B AB Fn(A,B) 00 0 01 1 10 1 11 0 MUX Logic Fn(A,B) Generalizing: Remember from a few lectures ago that, in theory, we can build any 1-output combinational logic block with multiplexers. 2 N For an N-input function we need a input multiplexer. BIG Multiplexers? How about 10-input function? 20-input? L13 Memory 3

A Mux s Guts A decoder generates all possible product terms for a set of inputs ecoder Selector Multiplexers A B A B A B A B 0 1 2 3 I 00 I 01 I 10 I 11 Y can be partitioned into two sections. A ECOER that identifies the desired input,and a SELECTOR that enables that input onto the output. Hmmm, by sharing the decoder part of the logic MUXs could be adapted to make lookup tables with any number of outputs L13 Memory 4

A New Combinational evice k 1 2 N ECOER: k SELECT inputs, N = 2 k ATA OUTPUTs. Selected j HIGH; all others LOW. Have I mentioned that HIGH is a synonym for 1 and LOW means the same as 0 NOW, we are well on our way to building a general purpose table-lookup device. We can build a 2-dimensional ARRAY of decoders and selectors as follows... L13 Memory 5

Shared ecoding Logic A B C in ecoder 0 1 2 3 4 5 6 7 S C out Configurable Selector We can build a general purpose table-lookup device called a Read-Only Memory (ROM), from which we can implement any truth table and, thus, any combinational device Made from PREWIRE connections, and CONFIGURABLE connections that can be either connected or not connected L13 Memory 6

Shared ecoding Logic A B C in ecoder 0 1 2 3 4 5 6 7 These are just emorgan ized NOR gates S C out Configurable Selector We can build a general purpose table-lookup device called a Read-Only Memory (ROM), from which we can implement any truth table and, thus, any combinational device Made from PREWIRE connections, and CONFIGURABLE connections that can be either connected or not connected L13 Memory 7

Shared ecoding Logic There s an extra level of inversion that isn t necessary in the logic. However, it reduces the capacitive load on the module driving this one. A B C in ecoder 0 1 2 3 4 5 6 7 These are just emorgan ized NOR gates S C out Configurable Selector We can build a general purpose table-lookup device called a Read-Only Memory (ROM), from which we can implement any truth table and, thus, any combinational device Made from PREWIRE connections, and CONFIGURABLE connections that can be either connected or not connected L13 Memory 8

Shared ecoding Logic There s an extra level of inversion that isn t necessary in the logic. However, it reduces the capacitive load on the module driving this one. A B C in ecoder 0 1 2 3 4 5 6 7 These are just emorgan ized NOR gates S This ROM stores 16 bits in 8 words of 2 bits. C out Configurable Selector We can build a general purpose table-lookup device called a Read-Only Memory (ROM), from which we can implement any truth table and, thus, any combinational device Made from PREWIRE connections, and CONFIGURABLE connections that can be either connected or not connected L13 Memory 9

Logic According to ROMs ROMs ignore the structure of combinational functions... Size, layout, and design are independent of function Any Truth table can be programmed by minor reconfiguration: - Metal layer (masked ROMs) - Fuses (Field-programmable PROMs) - Charge on floating gates (EPROMs)... etc. Model: LOOK UP value of function in truth table... Inputs: ARESS of a T.T. entry ROM SIZE = # TT entries...... for an N-input boolean function, size = L13 Memory 10

Logic According to ROMs ROMs ignore the structure of combinational functions... Size, layout, and design are independent of function Any Truth table can be programmed by minor reconfiguration: - Metal layer (masked ROMs) - Fuses (Field-programmable PROMs) - Charge on floating gates (EPROMs)... etc. Model: LOOK UP value of function in truth table... Inputs: ARESS of a T.T. entry ROM SIZE = # TT entries...... for an N-input boolean function, size = 2 N x #outputs L13 Memory 11

Analog Storage: Using Capacitors We ve chosen to encode information using voltages and we know from physics that we can store a voltage as charge on a capacitor: bit line word line V REF N-channel FET serves as an access switch To write: rive bit line, turn on access fet, force storage cap to new voltage To read: precharge bit line, turn on access fet, detect (small) change in bit line voltage Pros: compact! Cons: it leaks! refresh complex interface reading a bit, destroys it (you have to rewrite the value after each read) it s NOT a digital circuit This storage circuit is the basis for commodity RAMs L13 Memory 12

RAM Organization L13 Memory 13

RAM Errors Typical RAM cell stores about 75 fc (femtocoulombs) of charge. That s about ½ million electrons Or at 3 Volts about 1.5 MeV (megaelectron volts) Sounds like a lot! Until you consider other sources. Google reports that error rates are 100 s to 1000 s of times higher than thought. Over 3700 errors per IMM per year. Cosmic Ray Flux vs Particle Energy (link) L13 Memory 14

A igital Storage Element It s also easy to build a settable IGITAL storage element (called a latch) using a MUX and FEEBACK: A B 0 1 Y S L13 Memory 15

A igital Storage Element It s also easy to build a settable IGITAL storage element (called a latch) using a MUX and FEEBACK: A B 0 1 Y S L13 Memory 16

A igital Storage Element It s also easy to build a settable IGITAL storage element (called a latch) using a MUX and FEEBACK: Here s a feedback path, so it s no longer a combinational circuit. A B 0 1 Y S L13 Memory 17

A igital Storage Element It s also easy to build a settable IGITAL storage element (called a latch) using a MUX and FEEBACK: Here s a feedback path, so it s no longer a combinational circuit. A 0 G IN OUT B SG 1 Y 0 0 1 1 -- -- 0 1 0 1 -- -- 0 1 0 1 L13 Memory 18

A igital Storage Element It s also easy to build a settable IGITAL storage element (called a latch) using a MUX and FEEBACK: Here s a feedback path, so it s no longer a combinational circuit. state signal appears as both input and output A 0 G IN OUT B SG 1 Y 0 0 1 1 -- -- 0 1 0 1 -- -- 0 1 0 1 L13 Memory 19

A igital Storage Element It s also easy to build a settable IGITAL storage element (called a latch) using a MUX and FEEBACK: Here s a feedback path, so it s no longer a combinational circuit. state signal appears as both input and output A 0 G IN OUT B SG 1 Y 0 0 1 1 -- -- 0 1 0 1 -- -- 0 1 0 1 stable follows L13 Memory 20

Looking Under the Covers Let s take a quick look at the equivalent circuit for our MUX when the gate is LOW (the feedback path is active) G=0 0 1 G=0 1 1 This storage circuit is the basis for commodity SRAMs Advantages: 1) Maintains remembered state for as long as power is applied. 2) State is IGITAL isadvantage: 1) Requires more transistors L13 Memory 21

Why oes Feedback = Storage? BIG IEA: use positive feedback to maintain storage indefinitely. Our logic gates are built to restore marginal signal levels, so noise shouldn t be a problem! V IN V OUT Result: a bistable storage element L13 Memory 22

Why oes Feedback = Storage? BIG IEA: use positive feedback to maintain storage indefinitely. Our logic gates are built to restore marginal signal levels, so noise shouldn t be a problem! V IN V OUT Result: a bistable storage element V OUT Waveform for inverter pair V IN L13 Memory 23

Why oes Feedback = Storage? BIG IEA: use positive feedback to maintain storage indefinitely. Our logic gates are built to restore marginal signal levels, so noise shouldn t be a problem! V IN V OUT Result: a bistable storage element V OUT Waveform for inverter pair Feedback constraint: V IN = V OUT V IN L13 Memory 24

Why oes Feedback = Storage? BIG IEA: use positive feedback to maintain storage indefinitely. Our logic gates are built to restore marginal signal levels, so noise shouldn t be a problem! V IN V OUT Result: a bistable storage element V OUT Waveform for inverter pair Feedback constraint: V IN = V OUT Not affected by noise Three solutions: two end-points are stable middle point is unstable V IN We ll get back to this! L13 Memory 25

Static Latch G G Positive latch follows Negative latch What is the difference? 1 G G 0 stable static means latch will hold data (i.e., value of ) while G is inactive, however long that may be. L13 Memory 26

A YNAMIC iscipline esign of sequential circuits MUST guarantee that inputs to sequential devices are valid and stable during periods when they may influence state changes. This is assured with additional timing specifications. G L13 Memory 27

A YNAMIC iscipline esign of sequential circuits MUST guarantee that inputs to sequential devices are valid and stable during periods when they may influence state changes. This is assured with additional timing specifications. G >t PULSE t PULSE : minimum pulse width guarantee G is active for long enough for latch to capture data L13 Memory 28

A YNAMIC iscipline esign of sequential circuits MUST guarantee that inputs to sequential devices are valid and stable during periods when they may influence state changes. This is assured with additional timing specifications. G >t PULSE >t SETUP t PULSE : minimum pulse width guarantee G is active for long enough for latch to capture data t SETUP : setup time guarantee that value has propagated through feedback path before latch closes L13 Memory 29

A YNAMIC iscipline esign of sequential circuits MUST guarantee that inputs to sequential devices are valid and stable during periods when they may influence state changes. This is assured with additional timing specifications. G >t PULSE >t SETUP >t HOL t PULSE : minimum pulse width guarantee G is active for long enough for latch to capture data t SETUP : setup time guarantee that value has propagated through feedback path before latch closes t HOL : hold time guarantee latch is closed and is stable before allowing to change L13 Memory 30

Flakey Control Systems Here s a strategy for saving 2 bucks the next time you find yourself at a toll booth! L13 Memory 31

Flakey Control Systems Here s a strategy for saving 2 bucks the next time you find yourself at a toll booth! L13 Memory 32

Flakey Control Systems Here s a strategy for saving 2 bucks the next time you find yourself at a toll booth! L13 Memory 33

Flakey Control Systems Here s a strategy for saving 2 bucks the next time you find yourself at a toll booth! WARNING: Professional rivers Used! ON T try this At home! L13 Memory 34

Escapement Strategy The Solution: Add two gates and only open one at a time. L13 Memory 35

Escapement Strategy The Solution: Add two gates and only open one at a time. L13 Memory 36

Escapement Strategy The Solution: Add two gates and only open one at a time. L13 Memory 37

Escapement Strategy The Solution: Add two gates and only open one at a time. L13 Memory 38

Escapement Strategy The Solution: Add two gates and only open one at a time. L13 Memory 39

Escapement Strategy The Solution: Add two gates and only open one at a time. L13 Memory 40

Escapement Strategy The Solution: Add two gates and only open one at a time. L13 Memory 41

Escapement Strategy The Solution: Add two gates and only open one at a time. L13 Memory 42

Escapement Strategy The Solution: Add two gates and only open one at a time. L13 Memory 43

Escapement Strategy The Solution: Add two gates and only open one at a time. L13 Memory 44

Escapement Strategy The Solution: Add two gates and only open one at a time. L13 Memory 45

Escapement Strategy The Solution: Add two gates and only open one at a time. L13 Memory 46

Escapement Strategy The Solution: Add two gates and only open one at a time. L13 Memory 47

Escapement Strategy The Solution: Add two gates and only open one at a time. L13 Memory 48

Escapement Strategy The Solution: Add two gates and only open one at a time. L13 Memory 49

Escapement Strategy The Solution: Add two gates and only open one at a time. KEY: At no time is there an open path through both gates L13 Memory 50

Edge-triggered Flip Flop logical escapement G master G slave CLK CLK Transitions mark instants, not intervals Observations: only one latch transparent at any time: master closed when slave is open (CLK is high) slave closed when master is open (CLK is low) no combinational path through flip flop only changes shortly after 0 1 transition of CLK, so flip flop appears to be triggered by rising edge of CLK L13 Memory 51

Flip Flop Waveforms CLK master slave G G CLK CLK master closed slave open slave closed master open L13 Memory 52

Two Issues G master slave G CLK Must allow time for the input s value to propagate to the Master s output while CLK is LOW. This is called SET-UP time Must keep the input stable, just after CLK transitions to HIGH. This is insurance in case the SLAVE s gate opens just before the MASTER s gate closes. This is called HOL-TIME Can be zero (or even negative!) Assuring set-up and hold times is what limits a computer s performance L13 Memory 53

Flip-Flop Timing Specs CLK CLK L13 Memory 54

Flip-Flop Timing Specs CLK CLK t P : maximum propagation delay, CLK L13 Memory 55

Flip-Flop Timing Specs CLK CLK <t P t P : maximum propagation delay, CLK L13 Memory 56

Flip-Flop Timing Specs CLK CLK <t P >t SETUP t P : maximum propagation delay, CLK t SETUP : setup time guarantee that has propagated through feedback path before master closes L13 Memory 57

Flip-Flop Timing Specs CLK CLK <t P t P : maximum propagation delay, CLK >t SETUP >t HOL t SETUP : setup time guarantee that has propagated through feedback path before master closes t HOL : hold time guarantee master is closed and data is stable before allowing to change L13 Memory 58

Summary Regular Arrays can be used to implement arbitrary logic functions ROMs decode every input combination (fixed-an array) and compute the output for it (customized-or array) PLAs decode an minimal set of input combinations (both AN and OR arrays customized) Memories ROMs are HARWIRE memories RAMs include storage elements at each WOR-line and BIT-line intersection dynamic memory: compact, only reliable short-term static memory: controlled use of positive feedback Level-sensitive -latches for static storage ynamic discipline (setup and hold times) L13 Memory 59