Memory, Latches, & Registers

Similar documents
Sequential Logic. Handouts: Lecture Slides Spring /27/01. L06 Sequential Logic 1

5. Sequential Logic x Computation Structures Part 1 Digital Circuits. Copyright 2015 MIT EECS

Topics. Dynamic CMOS Sequential Design Memory and Control. John A. Chandy Dept. of Electrical and Computer Engineering University of Connecticut

LOGIC CIRCUITS. Basic Experiment and Design of Electronics

LOGIC CIRCUITS. Basic Experiment and Design of Electronics. Ho Kyung Kim, Ph.D.

Chapter Overview. Memory Classification. Memory Architectures. The Memory Core. Periphery. Reliability. Memory

ESE 570: Digital Integrated Circuits and VLSI Fundamentals

Digital Integrated Circuits A Design Perspective

! Charge Leakage/Charge Sharing. " Domino Logic Design Considerations. ! Logic Comparisons. ! Memory. " Classification. " ROM Memories.

ESE 570: Digital Integrated Circuits and VLSI Fundamentals

SEMICONDUCTOR MEMORIES

Digital Integrated Circuits A Design Perspective. Semiconductor. Memories. Memories

ALU A functional unit

Introduction to Computer Engineering. CS/ECE 252, Fall 2012 Prof. Guri Sohi Computer Sciences Department University of Wisconsin Madison

Semiconductor memories

Sequential Logic. Road Traveled So Far

ESE 570: Digital Integrated Circuits and VLSI Fundamentals

Digital Integrated Circuits A Design Perspective

Semiconductor Memories

Hw 6 and 7 Graded and available Project Phase 2 Graded Project Phase 3 Launch Today

CMOS Digital Integrated Circuits Lec 13 Semiconductor Memories

ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN. Week 9 Dr. Srinivas Shakkottai Dept. of Electrical and Computer Engineering


Hold Time Illustrations

Lecture 25. Semiconductor Memories. Issues in Memory

Topics. CMOS Design Multi-input delay analysis. John A. Chandy Dept. of Electrical and Computer Engineering University of Connecticut

CMOS Technology Worksheet

6. Finite State Machines

Memory Elements I. CS31 Pascal Van Hentenryck. CS031 Lecture 6 Page 1

Reg. No. Question Paper Code : B.E./B.Tech. DEGREE EXAMINATION, NOVEMBER/DECEMBER Second Semester. Computer Science and Engineering

Integrated Circuits & Systems

ELCT201: DIGITAL LOGIC DESIGN

CMPEN 411. Spring Lecture 18: Static Sequential Circuits

EE241 - Spring 2000 Advanced Digital Integrated Circuits. References

Lecture 7: Logic design. Combinational logic circuits

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified)

on candidate s understanding. 7) For programming language papers, credit may be given to any other program based on equivalent concept.

Digital Logic: Boolean Algebra and Gates. Textbook Chapter 3

Fundamentals of Computer Systems

Clock Strategy. VLSI System Design NCKUEE-KJLEE

Semiconductor Memory Classification

Sequential vs. Combinational

GMU, ECE 680 Physical VLSI Design

9/18/2008 GMU, ECE 680 Physical VLSI Design

MODULE 5 Chapter 7. Clocked Storage Elements

Jan M. Rabaey Anantha Chandrakasan Borivoje Nikolic. November Digital Integrated Circuits 2nd Sequential Circuits

Latches. October 13, 2003 Latches 1

EE141Microelettronica. CMOS Logic

Lecture 6: Time-Dependent Behaviour of Digital Circuits

CMOS Inverter. Performance Scaling

GMU, ECE 680 Physical VLSI Design 1

Digital Logic. CS211 Computer Architecture. l Topics. l Transistors (Design & Types) l Logic Gates. l Combinational Circuits.

Semiconductor Memories

Digital Integrated Circuits A Design Perspective

Boolean Logic Continued Prof. James L. Frankel Harvard University

DIGITAL LOGIC CIRCUITS

EE141- Fall 2002 Lecture 27. Memory EE141. Announcements. We finished all the labs No homework this week Projects are due next Tuesday 9am EE141

Fundamentals of Computer Systems

CMPEN 411 VLSI Digital Circuits Spring 2012 Lecture 17: Dynamic Sequential Circuits And Timing Issues

Digital Integrated Circuits A Design Perspective

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified) State any two Boolean laws. (Any 2 laws 1 mark each)

Section 3: Combinational Logic Design. Department of Electrical Engineering, University of Waterloo. Combinational Logic

EE141-Fall 2011 Digital Integrated Circuits

Vidyalankar S.E. Sem. III [CMPN] Digital Logic Design and Analysis Prelim Question Paper Solution

Chapter 7. Sequential Circuits Registers, Counters, RAM

EE141- Spring 2007 Digital Integrated Circuits

Vidyalankar S.E. Sem. III [EXTC] Digital Electronics Prelim Question Paper Solution ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD = B

Semiconductor Memories

Synchronous Sequential Logic

Lecture 24. CMOS Logic Gates and Digital VLSI II

CPE100: Digital Logic Design I

Combinational vs. Sequential. Summary of Combinational Logic. Combinational device/circuit: any circuit built using the basic gates Expressed as

Introduction to Computer Engineering. CS/ECE 252, Spring 2017 Rahul Nayar Computer Sciences Department University of Wisconsin Madison

Semiconductor Memories. Jan M. Rabaey Anantha Chandrakasan Borivoje Nikolic Paolo Spirito

S.Y. Diploma : Sem. III [CO/CM/IF/CD/CW] Digital Techniques

C.K. Ken Yang UCLA Courtesy of MAH EE 215B

! Memory. " RAM Memory. ! Cell size accounts for most of memory array size. ! 6T SRAM Cell. " Used in most commercial chips

University of Toronto Faculty of Applied Science and Engineering Edward S. Rogers Sr. Department of Electrical and Computer Engineering

F14 Memory Circuits. Lars Ohlsson

Magnetic core memory (1951) cm 2 ( bit)

Lecture 9: Sequential Logic Circuits. Reading: CH 7

Sample Test Paper - I

CMPE12 - Notes chapter 1. Digital Logic. (Textbook Chapter 3)

Name: Answers. Mean: 83, Standard Deviation: 12 Q1 Q2 Q3 Q4 Q5 Q6 Total. ESE370 Fall 2015

Topics to be Covered. capacitance inductance transmission lines

S No. Questions Bloom s Taxonomy Level UNIT-I

CMPE12 - Notes chapter 2. Digital Logic. (Textbook Chapters and 2.1)"

Problem Set 9 Solutions

CMPEN 411 VLSI Digital Circuits Spring Lecture 21: Shifters, Decoders, Muxes

S.Y. Diploma : Sem. III [DE/ED/EI/EJ/EN/ET/EV/EX/IC/IE/IS/IU/MU] Principles of Digital Techniques

Software Engineering 2DA4. Slides 8: Multiplexors and More

Clock signal in digital circuit is responsible for synchronizing the transfer to the data between processing elements.

Administrative Stuff

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

Designing Sequential Logic Circuits

CS470: Computer Architecture. AMD Quad Core

Appendix B. Review of Digital Logic. Baback Izadi Division of Engineering Programs

Fault Modeling. 李昆忠 Kuen-Jong Lee. Dept. of Electrical Engineering National Cheng-Kung University Tainan, Taiwan. VLSI Testing Class

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

Department of Electrical & Electronics EE-333 DIGITAL SYSTEMS

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. 2 N For an N-input function we need a input multiplexer. BIG Multiplexers? How about 10-input function? 20-input? L13 Memory 2

A Mux s Guts A decoder generates all possible product terms for a set of inputs Decoder 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 DECODER 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 3

A New Combinational Device k D 1 D 2 D N DECODER: k SELECT inputs, N = 2 k DATA OUTPUTs. Selected D j HIGH; all others LOW. 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... Have I mentioned that HIGH is a synonym for 1 and LOW means the same as 0 L13 Memory 4

Shared Decoding 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 Decoder 0 1 2 3 4 5 6 7 These are just DeMorgan 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 PREWIRED connections, and CONFIGURABLE connections that can be either connected or not connected L13 Memory 5

ROM Implementation Details Tiny PFETs with gates tied to ground = resistor pullup that makes wire 1 unless one of the NFET pulldowns is on. A B C in A word -line. A bit -line These transistors implement a decoder, and are independent of function. These transistors are function dependent S C out Hardwired AND logic Programmable OR logic Advantages: - Very regular design (can be entirely automated) Problems: - Active Pull-ups (Static Power) - Long metal runs (Large Caps) - Slow JARGON: Inputs to a ROM are called ADDRESSES. The decoder s outputs are called WORD LINES, and the outputs lines of the selector are called BIT LINES. Decoder Values: 0 1 2 3 4 5 6 7 L13 Memory 6

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 N x #outputs L13 Memory 7

Example: 7-sided Die What nature can t provide electronics can (and with the same number of LEDs!). We want to construct a die with the following sides: An array of LEDs, labeled as follows, can be used to display the outcome of the die: T U V W X Y Z L13 Memory 8

ROM-Based Design Truth Table for a 7-sided Die A B C T U V W X Y Z 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 0 1 0 0 1 1 0 0 0 1 1 1 0 1 1 1 0 1 0 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 Once we ve written out the truth table we ve basically finished the design Possible optimizations: - Eliminate redundant outputs - Addressing tricks T U V W X Y Z L13 Memory 9

A Simple ROM implementation A B C A B C T/Z U/Y V/X W 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0 0 1 1 0 1 0 1 1 0 0 1 1 0 0 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 T U V W X Decoder Values: 0 1 2 3 4 5 6 7 T/Z U/Y V/X W That was Easy! Y Z ROMs are even more flexible than MUXes, because you can design the H/W first, and figure out the logic later! This is the essence of programability: LATE-BINDING logic specification. L13 Memory 10

Programmable Look-up Tables Remember, EVERY combinational circuit can be expressed as a lookup table. As a result a ROM is a universal logic device. Unfortunately, the ROMs we ve built thus far are HARDWIRED. That is, the function that they compute is encoded by the pull-down transistors that are built into the OR-plane of the ROM. What we d really like is a combinational gate that could be reconfigured dynamically. For this we ll need some form of storage. The function of a ROM is determined by the presence of a transistor at the intersection of a WORD line from the AND array with a BIT line going to the OR array WORD line BIT line How to store a bit? 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: 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 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 DRAMs L13 Memory 12

Dynamic Memory TiN top electrode (V REF ) Ta 2 O 5 dielectric poly word line access FET L13 Memory 13

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 A 0 G D Q IN Q OUT B D G S 1 Y Q 0 0 1 1 -- -- 0 1 0 1 -- -- 0 1 0 1 Q stable Q follows D L13 Memory 14

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

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! V IN V OUT Result: a bistable storage element VTC for inverter pair Feedback constraint: V IN = V OUT Not affected by noise V OUT Three solutions: two end-points are stable middle point is unstable V IN We ll get back to this! L13 Memory 16

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

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

Does this work? start button 0 button 1 button Current state ROM 64x4 unlock Next state 3 3 Q D G Hmm. Hard to get pulse width exactly right! L13 Memory 19

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

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

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 L13 Memory 38

Edge-triggered Flip Flop logical escapement D D Q D Q master slave G G CLK CLK Q D D Q Q 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 Q only changes shortly after 0 1 transition of CLK, so flip flop appears to be triggered by rising edge of CLK L13 Memory 39

Flip Flop Waveforms D D Q D Q Q D D Q master slave G G CLK CLK D CLK Q master closed slave open slave closed master open Q L13 Memory 40

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

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

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) L13 Memory 43