Memory, Latches, & Registers

Similar documents
Memory, Latches, & Registers

Synthesis of Combinational Logic

EE 330 Lecture 44. Digital Circuits. Ring Oscillators Sequential Logic Array Logic Memory Arrays. Final: Tuesday May 2 7:30-9:30

EE 330 Lecture 44. Digital Circuits. Dynamic Logic Circuits. Course Evaluation Reminder - All Electronic

Lecture 12 Memory Circuits. Memory Architecture: Decoders. Semiconductor Memory Classification. Array-Structured Memory Architecture RWM NVRWM ROM

Electronic Circuits EE359A

CMOS Digital Integrated Circuits Lec 11 Sequential CMOS Logic Circuits

! Sequential Logic. ! Timing Hazards. ! Dynamic Logic. ! Add state elements (registers, latches) ! Compute. " From state elements

EE 42/100 Lecture 24: Latches and Flip Flops. Rev B 4/21/2010 (2:04 PM) Prof. Ali M. Niknejad

EE 42/100 Lecture 24: Latches and Flip Flops. Rev A 4/14/2010 (8:30 PM) Prof. Ali M. Niknejad

Code No: R Set No. 1

Chapter 3 Digital Logic Structures

ENGIN 112 Intro to Electrical and Computer Engineering

Mux-Based Latches. Lecture 8. Sequential Circuits 1. Mux-Based Latch. Mux-Based Latch. Negative latch (transparent when CLK= 0)

CMOS Digital Integrated Circuits Analysis and Design

Fan in: The number of inputs of a logic gate can handle.

EXPERIMENT #5 COMBINATIONAL and SEQUENTIAL LOGIC CIRCUITS Hardware implementation and software design

VLSI Design 11. Sequential Elements

Module -18 Flip flops

! Review: Sequential MOS Logic. " SR Latch. " D-Latch. ! Timing Hazards. ! Dynamic Logic. " Domino Logic. ! Charge Sharing Setup.

Memory Basics. historically defined as memory array with individual bit access refers to memory with both Read and Write capabilities

Objective Questions. (a) Light (b) Temperature (c) Sound (d) all of these

IES Digital Mock Test

EEE 301 Digital Electronics

Programmable Logic Arrays (PLAs)

Logic Families. Describes Process used to implement devices Input and output structure of the device. Four general categories.

Outline. CPE/EE 422/522 Advanced Logic Design L02. Review: Combinational-Circuit Building Blocks. Multiplexers: 2-to-1 Multiplexer

Physical Bits: Transistors and Logic

COMBINATIONAL and SEQUENTIAL LOGIC CIRCUITS Hardware implementation and software design

Lecture 4&5 CMOS Circuits

logic system Outputs The addition of feedback means that the state of the circuit may change with time; it is sequential. logic system Outputs

1. The decimal number 62 is represented in hexadecimal (base 16) and binary (base 2) respectively as

Preface to Third Edition Deep Submicron Digital IC Design p. 1 Introduction p. 1 Brief History of IC Industry p. 3 Review of Digital Logic Gate

CMOS VLSI Design (A3425)

In this lecture: Lecture 8: ROM & Programmable Logic Devices

Lecture 18. BUS and MEMORY

DESIGNING SEQUENTIAL LOGIC CIRCUITS

Topic 6. CMOS Static & Dynamic Logic Gates. Static CMOS Circuit. NMOS Transistors in Series/Parallel Connection

Programmable Logic Arrays (PLAs)

Lecture 02: Digital Logic Review

Outline. EECS Components and Design Techniques for Digital Systems. Lec 12 - Timing. General Model of Synchronous Circuit

DESIGNING SEQUENTIAL LOGIC CIRCUITS

PROGRAMMABLE ASICs. Antifuse SRAM EPROM

Electronics. Digital Electronics

! Is it feasible? ! How do we decompose the problem? ! Vdd. ! Topology. " Gate choice, logical optimization. " Fanin, fanout, Serial vs.

Classification of Digital Circuits

電子電路. Memory and Advanced Digital Circuits

We ve looked at timing issues in combinational logic Let s now examine timing issues we must deal with in sequential circuits

PE713 FPGA Based System Design

EEC 118 Lecture #12: Dynamic Logic

ECE520 VLSI Design. Lecture 11: Combinational Static Logic. Prof. Payman Zarkesh-Ha

Chapter 3. H/w s/w interface. hardware software Vijaykumar ECE495K Lecture Notes: Chapter 3 1

Digital Design and System Implementation. Overview of Physical Implementations

DIGITAL INTEGRATED CIRCUITS A DESIGN PERSPECTIVE 2 N D E D I T I O N

DIGITAL ELECTRONICS QUESTION BANK

Welcome to 6.111! Introductory Digital Systems Laboratory

CDP1881C, CDP1882, CDP1882C

Lecture 8: Memory Peripherals

CS302 Digital Logic Design Solved Objective Midterm Papers For Preparation of Midterm Exam

Lecture 3, Handouts Page 1. Introduction. EECE 353: Digital Systems Design Lecture 3: Digital Design Flows, Simulation Techniques.

INF3430 Clock and Synchronization

Chapter 4: FLIP FLOPS. (Sequential Circuits) By: Siti Sabariah Hj. Salihin ELECTRICAL ENGINEERING DEPARTMENT EE 202 : DIGITAL ELECTRONICS 1

The book has excellent descrip/ons of this topic. Please read the book before watching this lecture. The reading assignment is on the website.

Static Random Access Memory - SRAM Dr. Lynn Fuller Webpage:

Winter 14 EXAMINATION Subject Code: Model Answer P a g e 1/28

A Survey of the Low Power Design Techniques at the Circuit Level

DIGITAL ELECTRONICS. Methods & diagrams : 1 Graph plotting : - Tables & analysis : - Questions & discussion : 6 Performance : 3

B.E. SEMESTER III (ELECTRICAL) SUBJECT CODE: X30902 Subject Name: Analog & Digital Electronics

Combinational Logic Circuits. Combinational Logic

CHAPTER IV DESIGN AND ANALYSIS OF VARIOUS PWM TECHNIQUES FOR BUCK BOOST CONVERTER

Reference. Wayne Wolf, FPGA-Based System Design Pearson Education, N Krishna Prakash,, Amrita School of Engineering

EE E6930 Advanced Digital Integrated Circuits. Spring, 2002 Lecture 7. Clocked and self-resetting logic I

Digital Microelectronic Circuits ( ) CMOS Digital Logic. Lecture 6: Presented by: Adam Teman

Chapter 4: The Building Blocks: Binary Numbers, Boolean Logic, and Gates

INTEGRATED CIRCUITS. AN109 Microprocessor-compatible DACs Dec

Number system: the system used to count discrete units is called number. Decimal system: the number system that contains 10 distinguished

Design for Testability & Design for Debug

SYNTHESIS OF COMBINATIONAL CIRCUITS

The Digital Abstraction

ECE/CoE 0132: FETs and Gates

Learning Outcomes. Spiral 2 8. Digital Design Overview LAYOUT

EECS150 - Digital Design Lecture 19 CMOS Implementation Technologies. Recap and Outline

CHAPTER 6 DIGITAL CIRCUIT DESIGN USING SINGLE ELECTRON TRANSISTOR LOGIC

UMAINE ECE Morse Code ROM and Transmitter at ISM Band Frequency

6.111 Lecture # 19. Controlling Position. Some General Features of Servos: Servomechanisms are of this form:

EECS-140/141 Introduction to Digital Logic Design Lecture 7:Sequential Logic Basics

CS/ECE 252: INTRODUCTION TO COMPUTER ENGINEERING UNIVERSITY OF WISCONSIN MADISON

The Digital Abstraction

Lecture 9: Clocking for High Performance Processors

05/11/2006. Lecture What does a computer do? Logic Manipulation. Data manipulation

EECS150 - Digital Design Lecture 2 - CMOS

Timing analysis can be done right after synthesis. But it can only be accurately done when layout is available

Lecture 11: Clocking

Topics. Memory Reliability and Yield Control Logic. John A. Chandy Dept. of Electrical and Computer Engineering University of Connecticut

Digital Logic Circuits

CPE/EE 427, CPE 527 VLSI Design I: Homeworks 3 & 4

2014 Paper E2.1: Digital Electronics II

Homework 10 posted just for practice. Office hours next week, schedule TBD. HKN review today. Your feedback is important!

Due date: Sunday, November 8 (midnight) Reading: HH sections , (pgs , )

Course Outline Cover Page

Transcription:

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

General Table Lookup Synthesis A B 00 01 10 Fn(A,B) 11 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? 2

Mux 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 3

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

Shared ecoding Logic There s an extra level of inversion that isn t necessary in the logic. However, it reduces the 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. 5

A B ROM Implementation etails C in A word -line. A bit -line These transistors implement a decoder, and are independent of function. Tiny PFETs with gates tied to ground = resistor pullup that makes wire 1 unless one of the NFET pulldowns is on. These transistors are function dependent Hardwired AN logic Programmable OR logic Advantages: - Very regular design (can be entirely automated) Problems: - Active Pull-ups (Static Power) - Long metal runs S (Large Caps) - Slow C out JARGON: Inputs to a ROM are called ARESSES. The decoder s outputs are called WOR LINES, and the outputs lines of the selector are called BIT LINES. ecoder Values: 0 1 2 3 4 5 6 7 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: ARESS of a T.T. entry, ROM SIZE = # TT entries... 2... for an N-input boolean function, size = N x #outputs 7

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

ROM-Based esign Truth Table for a 7-sided ie Once we ve written out the truth table we ve basically finished the design Possible optimizations: - Eliminate redundant outputs - Addressing tricks T V Y W U X Z 9

A Simple ROM implementation A B C T U V W X ecoder Values: 0 1 2 3 4 5 6 7 T/Z U/Y V/X W That was Easy! 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 programmability: LATE-BINING logic specification. Y Z 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 HARWIRE. 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 WOR line from the AN array with a BIT line going to the OR array WOR line BIT line How to store a bit? 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 12

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

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 14

A Look 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 This storage circuit is the basis for commodity SRAMs 1 Advantages: 1) Maintains remembered state for as long as power is applied. 2) State is IGITAL isadvantage: 1) Requires more transistors 15

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! Result: a bistable storage element V OUT V IN VTC for inverter pair Feedback constraint: V IN = V OUT 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! 16

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

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 >t timing specifications. PULSE These timing specs relate changes in inputs to changes in output These relate to changes between inputs G >t SETUP >t C <t P >t HOL t C : minimum contamination delay the soonest that an output will change in response to an input changing t P : maximum propagation delay the latest that an output will become valid in response to an input changing 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 G If t cd isn t provided, you can safely assume it is 0. 18

Storage alone is not enough! start button 0 button 1 button Current state 3 ROM 64x4 unlock Next state 3 We need to open the gate long enough to capture the output of the ROM, but no so long that it the ROM responds to its new input before the gate closes. Opening gates is tricky! G Hmm. Hard to get pulse width exactly right! 19

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

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

Edge-triggered Flip Flop logical escapement CLK master slave G G 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 39

Flip-flop Timing CLK maste r G slave G CLK CLK master closed slave open slave closed master open 40

Two Issues G master G 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 HOL-TIME Can be zero (or even negative!) (How long a input must valid before the clock rises) (How long a input must remain valid after the clock rises) Assuring set-up and hold times is what limits a computer s performance 41

Flip-Flop Timing Specs <t P CLK CLK 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 42

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