Memory, Latches, & Registers

Slides:



Advertisements
Similar presentations
Sequential Logic Handouts: Lecture Slides : Progress so far… PHYSICS: Continuous variables, Memory, Noise, f(RC) = 1 - e-t/R COMBINATIONAL: Discrete,
Advertisements

L14 – Memory 1 Comp 411 – Spring /18/08 Memory, Latches, & Registers 1) Structured Logic Arrays 2) Memory Arrays 3) Transparent Latches 4) How to.

Contemporary Logic Design Sequential Logic © R.H. Katz Transparency No Chapter #6: Sequential Logic Design Sequential Switching Networks.
COE 202: Digital Logic Design Sequential Circuits Part 1
Memory and Programmable Logic Memory device: Device to which binary information is transferred for storage, and from which information is available for.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR Topics n Latches and flip-flops. n RAMs and ROMs.
Computer Organization and Design Memories and State Machines Montek Singh Mon, April 13, 2011 Lecture 14.
מבנה מחשב תרגול 2. 2 Boolean AND Operation Truth Table Equivalent Gate Different notations:
L05 – Logic Synthesis Fall /19/02 Hmmm, by sharing the decoder part of the logic MUXs could be adapted to make lookup tables with any number.
Computer Architecture and Organization Unit -1. Digital Logic Circuits – Logic Gates – Boolean Algebra – Map Simplification – Combinational Circuits –
ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN Dr. Shi Dept. of Electrical and Computer Engineering.
Computer Organization and Design Memories and State Machines Montek Singh Wed, Nov 6-11, 2013 Lecture 13.
Introduction to Computing Systems and Programming Digital Logic Structures.
Synchronous Sequential Circuits by Dr. Amin Danial Asham.
Synchronous Sequential Circuits by Dr. Amin Danial Asham.
Latches, Flip Flops, and Memory ECE/CS 252, Fall 2010 Prof. Mikko Lipasti Department of Electrical and Computer Engineering University of Wisconsin – Madison.
Sequential logic circuits First Class 1Dr. AMMAR ABDUL-HAMED KHADER.
Appendix C Basics of Logic Design. Appendix C — Logic Basic — 2 Logic Design Basics §4.2 Logic Design Conventions Objective: To understand how to build.
Digital Design: Sequential Logic Principles
Memory and Programmable Logic
Sequential Logic Design
Digital Design - Sequential Logic Design

Digital Integrated Circuits A Design Perspective
Lecture 11: Sequential Circuit Design
Lecture #16: D Latch ; Flip-Flops
ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN
Memories.
Digital Integrated Circuits A Design Perspective
LATCHED, FLIP-FLOPS,AND TIMERS
Chapter 7 Designing Sequential Logic Circuits Rev 1.0: 05/11/03
Topics SRAM-based FPGA fabrics: Xilinx. Altera..
Computer Organization and Design Memories and State Machines
Sequential circuit design with metastability
Morgan Kaufmann Publishers
Lecture 8 Dr. Nermi Hamza.
Instructor: Alexander Stoytchev
Appendix B The Basics of Logic Design
Basic Delay in Gates Definitions
Logic and Computer Design Fundamentals
SEQUENTIAL LOGIC -II.
CS Chapter 3 (3A and ) – Part 4 of 5
Sequential Logic and Flip Flops
Basics of Digital Logic Design Presentation D
ECE 434 Advanced Digital System L03
Chapter 11 Sequential Circuits.
Latches and Flip-flops
Introduction to CMOS VLSI Design Lecture 10: Sequential Circuits
Basics Combinational Circuits Sequential Circuits Ahmad Jawdat
CPE/EE 422/522 Advanced Logic Design L02
Satish Pradhan Dnyanasadhana college, Thane
Sequential Logic and Flip Flops
CS Fall 2005 – Lec. #5 – Sequential Logic - 1
COMP541 Sequential Circuits
ECE 434 Advanced Digital System L04
COMP541 Flip-Flop Timing Montek Singh Feb 23, 2010.
Digital Logic Structures Logic gates & Boolean logic
Chapter 3 Digital Logic Structures
触发器 Flip-Flops 刘鹏 浙江大学信息与电子工程学院 March 27, 2018
Instructor: Alexander Stoytchev
Instructor: Alexander Stoytchev
Instructor: Alexander Stoytchev
Part I Background and Motivation
Thought of the Day To be what we are, and to become
Sequential Logic.
CSC3050 – Computer Architecture
Chapter 5 Sequential Circuits.
Sequential Digital Circuits
Presentation transcript:

Memory, Latches, & Registers Structured Logic Arrays Memory Arrays Transparent Latches How to save a few bucks at toll booths Edge-triggered Registers

General Table Lookup Synthesis 2 MUX Logic Fn(A,B) 1024-input MUX??? Generalizing: Remember 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? For N-input function, need N select inputs to MUX 2**N data inputs to MUX (LOTSA pins!) Practical TABLE LOOKUP needs more efficient use of space... 2N

A Mux’s Guts Decoder Selector 1 2 3 ... THIS one AIN’T! A B A Y B A B Multiplexers can be partitioned into two sections. A DECODER that identifies the desired input,and a SELECTOR that enables that input onto the output. A B I 1 A decoder generates all possible product terms for a set of inputs A 1 Y B I 1 A 2 B I 1 A 3 ... THIS one AIN’T! B Hmmm, by sharing the decoder part of the logic MUXs could be adapted to make lookup tables with any number of outputs

A New Combinational Device DECODER: k SELECT inputs, N = 2k DATA OUTPUTs. Selected Dj HIGH; all others LOW. D2 Have I mentioned that HIGH is a synonym for ‘1’ and LOW means the same as ‘0’ DN k DECODER -- sorta inverse MUX. BINARY number as input UNARY (decoded) output. 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 ...

Shared Decoding Logic A B Cin S Cout 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. Decoder A B Cin These are just “DeMorgan”ized NOR gates 1 2 3 4 5 6 7 S This ROM stores 16 bits in 8 words of 2 bits. Cout 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 PREWIRED connections , and CONFIGURABLE connections that can be either connected or not connected

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: “ADDRESS” of a T.T. entry ROM SIZE = # TT entries... ... for an N-input boolean function, size = __________ 2-D: 2x/dimension NOT OPTIMAL -- Optimized for WORST case (NO structure in TT entries!) ADVANTAGE: Flexibility. CHANGE function with little change in HW. 2N x #outputs

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: N-channel FET serves as an access switch Pros: w compact! Cons: w it leaks!  refresh w complex interface w reading a bit, destroys it (you have to rewrite the value after each read) w it’s NOT a digital circuit word line bit line VREF To write: Drive 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 This storage circuit is the basis for commodity DRAMs

A “Digital” Storage Element It’s also easy to build a settable DIGITAL storage element (called a latch) using a MUX and FEEDBACK: Here’s a feedback path, so it’s no longer a combinational circuit. “state” signal appears as both input and output D G Q A G 1 D -- QIN QOUT Y Q stable B 1 Q follows D S

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) Q G=0 D 1 D G=0 Q 1 Q Advantages: 1) Maintains remembered state for as long as power is applied. 2) State is DIGITAL Disadvantage: 1) Requires more transistors This storage circuit is the basis for commodity SRAMs

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

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

A DYNAMIC Discipline G D Design 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. >tPULSE tPULSE: minimum pulse width guarantee G is active for long enough for latch to capture data G >tSETUP tSETUP: setup time guarantee that D value has propagated through feedback path before latch closes >tHOLD tHOLD: hold time guarantee latch is closed and Q is stable before allowing D to change D

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

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

Flakey Control Systems Here’s a strategy for saving 2 bucks the next time you find yourself at a toll booth! WARNING: Professional Drivers Used! DON’T try this At home!

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

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

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

Escapement Strategy The Solution: Add two gates and only open one at a time. (Psst… Don’t tell the toll folks)

Escapement Strategy The Solution: Add two gates and only open one at a time. (Psst… Don’t tell the toll folks)

Escapement Strategy The Solution: Add two gates and only open one at a time. (Psst… Don’t tell the toll folks)

Escapement Strategy The Solution: Add two gates and only open one at a time. (Psst… Don’t tell the toll folks)

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

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

Escapement Strategy The Solution: Add two gates and only open one at a time. (Psst… Don’t tell the toll folks)

Escapement Strategy The Solution: Add two gates and only open one at a time. (Psst… Don’t tell the toll folks)

Escapement Strategy The Solution: Add two gates and only open one at a time. (Psst… Don’t tell the toll folks)

Escapement Strategy The Solution: Add two gates and only open one at a time. (Psst… Don’t tell the toll folks)

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

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

Escapement Strategy The Solution: Add two gates and only open one at a time. (Psst… Don’t tell the toll folks) KEY: At no time is there an open path through both gates…

Edge-triggered Flip Flop logical “escapement” Q D Q D Q D Q master slave CLK CLK 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 w Q only changes shortly after 0 1 transition of CLK, so flip flop appears to be “triggered” by rising edge of CLK Transitions mark instants, not intervals

Flip Flop Waveforms D CLK Q master closed slave open slave closed G D Q D Q D Q D Q master slave CLK CLK D CLK Q master closed slave open slave closed master open

Two Issues G D Q D Q master slave 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 “HOLD-TIME” Can be zero (or even negative!) Assuring “set-up” and “hold” times is what limits a computer’s performance

Flip-Flop Timing Specs <tPD D Q D Q Q CLK CLK >tHOLD tHOLD: hold time guarantee master is closed and data is stable before allowing D to change >tSETUP tSETUP: setup time guarantee that D has propagated through feedback path before master closes D tPD: maximum propagation delay, CLK Q

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