Outline. EECS150 - Digital Design Lecture 27 - Asynchronous Sequential Circuits. Cross-coupled NOR gates. Asynchronous State Transition Diagram

Similar documents
EECS150 - Digital Design Lecture 10 - Interfacing. Recap and Topics

EECS150 - Digital Design Lecture 15 Finite State Machines. Announcements

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

Experiment 8 Introduction to Latches and Flip-Flops and registers

Logic Design. Flip Flops, Registers and Counters

MC9211 Computer Organization

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

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

EECS150 - Digital Design Lecture 3 Synchronous Digital Systems Review. Announcements

problem maximum score 1 28pts 2 10pts 3 10pts 4 15pts 5 14pts 6 12pts 7 11pts total 100pts

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

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

Digital Logic Design Sequential Circuits. Dr. Basem ElHalawany

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

Chapter. Synchronous Sequential Circuits

ELCT201: DIGITAL LOGIC DESIGN

6. Sequential Logic Flip-Flops

EECS150 - Digital Design Lecture 3 - Timing

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

CHAPTER1: Digital Logic Circuits

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

Asynchronous (Ripple) Counters

WINTER 15 EXAMINATION Model Answer

Lec 24 Sequential Logic Revisited Sequential Circuit Design and Timing

ECE 341. Lecture # 2

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.

Unit 11. Latches and Flip-Flops

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

LAB #4 SEQUENTIAL LOGIC CIRCUIT

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

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

RS flip-flop using NOR gate

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

ELCT201: DIGITAL LOGIC DESIGN

11. Sequential Elements

Introduction to Sequential Circuits

DIGITAL ELECTRONICS MCQs

Introduction to Microprocessor & Digital Logic

Software Engineering 2DA4. Slides 9: Asynchronous Sequential Circuits

Advanced Digital Logic Design EECS 303

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

COMP2611: Computer Organization. Introduction to Digital Logic

Figure 1 shows a simple implementation of a clock switch, using an AND-OR type multiplexer logic.

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

Logic and Computer Design Fundamentals. Chapter 7. Registers and Counters

D Latch (Transparent Latch)

Lecture 8: Sequential Logic

CPS311 Lecture: Sequential Circuits

Advanced Devices. Registers Counters Multiplexers Decoders Adders. CSC258 Lecture Slides Steve Engels, 2006 Slide 1 of 20

ELE2120 Digital Circuits and Systems. Tutorial Note 7

Name Of The Experiment: Sequential circuit design Latch, Flip-flop and Registers

Logic Design Viva Question Bank Compiled By Channveer Patil

Other Flip-Flops. Lecture 27 1

Synchronous Sequential Logic

Chapter 2. Digital Circuits

Sequential Circuits: Latches & Flip-Flops

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

Computer Science 324 Computer Architecture Mount Holyoke College Fall Topic Notes: Sequential Circuits

Chapter 5: Synchronous Sequential Logic

Flip-Flops and Related Devices. Wen-Hung Liao, Ph.D. 4/11/2001

CHAPTER 4: Logic Circuits

CS8803: Advanced Digital Design for Embedded Hardware

EECS150 - Digital Design Lecture 3 - Timing

EITF35: Introduction to Structured VLSI Design

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

Combinational vs Sequential

CHAPTER 4: Logic Circuits

UNIT III. Combinational Circuit- Block Diagram. Sequential Circuit- Block Diagram

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

RS flip-flop using NOR gate

Engr354: Digital Logic Circuits

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

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

NH 67, Karur Trichy Highways, Puliyur C.F, Karur District DEPARTMENT OF INFORMATION TECHNOLOGY CS 2202 DIGITAL PRINCIPLES AND SYSTEM DESIGN

Chapter 5 Synchronous Sequential Logic

The basic logic gates are the inverter (or NOT gate), the AND gate, the OR gate and the exclusive-or gate (XOR). If you put an inverter in front of

Sequential Logic Circuits

COE328 Course Outline. Fall 2007

ESE 570 STATIC SEQUENTIAL CMOS LOGIC CELLS. Kenneth R. Laker, University of Pennsylvania, updated 25Mar15

EECS150 - Digital Design Lecture 17 - Circuit Timing. Performance, Cost, Power

Computer Science 324 Computer Architecture Mount Holyoke College Fall Topic Notes: Sequential Circuits

EECS150 - Digital Design Lecture 2 - CMOS

Chapter 3 Unit Combinational

LATCHES & FLIP-FLOP. Chapter 7

Counter dan Register

Sequential Logic. References:

Clock Domain Crossing. Presented by Abramov B. 1

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified) WINTER 2018 EXAMINATION MODEL ANSWER

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

Chapter 5 Flip-Flops and Related Devices

CS3350B Computer Architecture Winter 2015

Counters

Chapter 11 Latches and Flip-Flops

EE178 Spring 2018 Lecture Module 5. Eric Crabill

Synchronization in Asynchronously Communicating Digital Systems

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

More Digital Circuits

Flip Flop. S-R Flip Flop. Sequential Circuits. Block diagram. Prepared by:- Anwar Bari

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

ECE 263 Digital Systems, Fall 2015

Transcription:

EECS150 - Digital Design Lecture 27 - Asynchronous Sequential Circuits Nov 26, 2002 John Wawrzynek Outline SR Latches and other storage elements Synchronizers Figures from Digital Design, John F. Wakerly Prentice Hall, 2000 An excellent treatment of the topic. Purely asynchronous circuits self-timed circuits Mano has another class of asynchronous circuits Fall 2002 EECS150 - Lec27-asynch Page 1 Fall 2002 EECS150 - Lec27-asynch Page 2 R Cross-coupled NOR gates S remember, If both R=0 & S=0, then cross-couped NORs equivalent to a stable latch: If either R or S becomes =1 then state may change: 0 R Q 0 1 S Q' 1 0 0 1 0 What happens if R or S or both become = 1? NOR 00 1 01 0 10 0 11 0 Fall 2002 EECS150 - Lec27-asynch Page 3 SR=01 Asynchronous State Transition Diagram QQ' 01 SR=01 SR=00 SR=11 SR=10 SR=01 QQ' 00? SR=00 SR=11 SR=00 QQ' 10 SR=10 SR=10 SR Latch: SR Q 00 hold 01 0 10 1 11 indeterminate S is set input R is reset input Fall 2002 EECS150 - Lec27-asynch Page 4

Nand-gate based SR latch Level-sensitive SR Latch Same behavior as cross-coupled NORs with invertered inputs. The input C works as an enable signal, latch only changes output when C is high. usually connected to clock. Fall 2002 EECS150 - Lec27-asynch Page 5 Fall 2002 EECS150 - Lec27-asynch Page 6 J-K FF Storage Element Taxonomy Add logic to eliminate indeterminate action of RS FF. New action is toggle J = jam clk K = kill J Q K J K Q(t) Q(t+ ) 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 0 hold reset set toggle synchronous asynchronous level-sensitive edge-triggered D-type n.a. JK-type n.a. n.a. RS-type latch flip-flop latch natural form possible form Fall 2002 EECS150 - Lec27-asynch Page 7 Fall 2002 EECS150 - Lec27-asynch Page 8

Asynchronous Inputs to Synchronous Systems Many synchronous systems need to interface to asynchronous input signals: Consider a computer system running at some clock fuency, say 500MHz with: Interrupts from I/O devices, keystrokes, etc. Data transfers from devices with their own clocks ethernet has its own 100MHz clock PCI bus transfers, 66MHz standard clock. These signals could have no known timing relationship with the system clock of the CPU. Synchronizer Circuit For a single asynchronous input, we use a simple flip-flop to bring the external input signal into the timing domain of the system clock: Fall 2002 EECS150 - Lec27-asynch Page 9 The D flip-flop samples the asynchronous input at each cycle and produces a synchronous output that meets the setup time of the next stage. Fall 2002 EECS150 - Lec27-asynch Page 10 Synchronizer Circuit It is essential for asynchronous inputs to be synchronized at only one place. Synchronizer Circuit Single point of synchronization is even more important when input goes to a combinational logic block (ex. FSM) The block can accidentally hide the fact that the signal is synchronized at multiple points. The magnifies the chance of the multiple points of synchronization seeing different values. Two flip-flops may not receive the clock and input signals at precisely the same time (clock and skew). When the asynchronous changes near the clock edge, one flip-flop may sample input as 1 and the other as 0. Fall 2002 EECS150 - Lec27-asynch Page 11 Sounds simple, right? Fall 2002 EECS150 - Lec27-asynch Page 12

Synchronizer Failure & Metastability We think of flip-flops having only two stable states - but all have a third metastable state halfway between 0 and 1. When the setup and hold times of a flip-flop are not met, the flip-flop could be put into the metastable state. Noise will be amplified and push the flip-flop one way or other. However, in theory, the time to transition to a legal state is unbounded. Does this really happen? The probability is low, but the number of trials is high! Synchronizer Failure & Metastability If the system uses a synchronizer output while the output is still in the metastable state synchronizer failure. Initial versions of several commercial ICs have suffered from metastability problems - effectively synchronization failure: AMD9513 system timing controller AMD9519 interrupt controller Zilog Z-80 Serial I/O interface Intel 8048 microprocessor AMD 29000 microprocessor To avoid synchronizer failure wait long enough before using a synchronizer s output. Long enough, according to Wakerly, is so that the mean time between synchronizer failures is several orders of magnitude longer than the designer s expected length of employment! In practice all we can do is reduce the probability of failure to a vanishing small value. Fall 2002 EECS150 - Lec27-asynch Page 13 Fall 2002 EECS150 - Lec27-asynch Page 14 Reliable Synchronizer Design The probability that a flip-flop stays in the metastable state decreases exponentially with time. Therefore, any scheme that delays using the signal can be used to decrease the probability of failure. In practice, delaying the signal by a cycle is usually sufficient: If the clock period is greater than metastability resolution time plus FF2 setup time, FF2 gets a synchronized version of ASYNCIN. Multi-cycle synchronizers (using counters or more cascaded flip-flops) are even better. Fall 2002 EECS150 - Lec27-asynch Page 15 Purely Asynchronous Circuits Many researchers (and a few industrial designers) have proposed a variety of circuit design methodologies that eliminate the need for a globally distributed clock. They cite a variety of important potential advantages over synchronous systems (will list later). To date, these attempts have remained mainly in Universities. A few commercial asynchronous chips/systems have been build. Sometimes, asynchronous blocks sometimes appear inside otherwise synchronous systems. Asynchronous techniques have long been employed in DRAM and other memory chips for generation internal control without external clocks. (Precharge/sense-amplifier timing based on address line changes.) These techniques are generally interesting, and if nothing else help put synchronous design in perspective. Fall 2002 EECS150 - Lec27-asynch Page 16

Synchronous Data Transfer In synchronous systems, the clock signal is used to coordinate the movement of around the system. If we are going to eliminate the clock, we need to substitute some technique for managing the flow of. Take for example, transferring across a bus: clock sender receiver Delay Insensitive (self-timed transfer) uest sender receiver nowledge Request/nowledge handshake signal pair used to coordinate transfer. uest Hello, here s some You re welcome By design, the clock period is sufficiently long to accommodate wire delay and time to get the into the receiver. Fall 2002 EECS150 - Lec27-asynch Page 17 nowledge Thanks, I got it See you later 4-cycle ( return-to-zero ) signaling Note, transfer is insensitive to any delay in sending and receiving. Fall 2002 EECS150 - Lec27-asynch Page 18 Delay Insensitive (self-timed transfer) sender uest nowledge receiver 2-cycle ( non-return-to-zero ) signaling uest nowledge Only two transitions per transfer. Maybe higher performance. More complex logic. 4-cycle return to zero can usually be overlapped with other operations. Fall 2002 EECS150 - Lec27-asynch Page 19 Self-timed Processing Of course, a processing elements can be inserted. It generates a completion () signal when its output is ready. Sender Receiver The output becomes the uest for the receiver or next stage: Note, three cascaded blocks as a composite preserves the signaling convention: Sender Receiver Fall 2002 EECS150 - Lec27-asynch Page 20

Self-timed Processing Compositions Other interesting compositions are possible: Fan-in: is and of uests from incoming blocks. Data is ready with all sets of is ready. Send to all blocks. Fan-out: send to all block receiving output. Returning s get anded. Pipelines: Need to define self-timed register. Self-timed Pipeline Registers pipeline and handshake signals: reg IN OUT OUT IN reg reg reg IN OUT Keeps one bit of state, empty OUT reg IN On IN if empty { load, clear empty, assert OUT, OUT } else wait for IN On IN { deassert out set empty} Fall 2002 EECS150 - Lec27-asynch Page 21 Fall 2002 EECS150 - Lec27-asynch Page 22 Completion Signal Generation Output signal is generated one of several ways: derived from handshake signals of sub-blocks, fixed delay, arranged to match delay of logic circuit. 1. Fixed delay max delay = T delay > T A fixed delay (for instance a chain of gates) greater than the worst case circuit delay is used. Works best for regular structures (memories, PLAs) where dummy circuits can be used to mimic block delay. 2. Derived signal offers potential performance advantages, because it does not need to be worst case. Example, adder circuit. Fall 2002 EECS150 - Lec27-asynch Page 23 c7 Self-timed Adder Scheme s7 s6 c1 s0 Include an signal at each input and on each output. Completion signal for each carry out can be generated early when ever a=b (carry kill or carry generate). No need to wait for carry in. a b c i c i+1 s 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 c6 c5 carry kill k i = a i b i carry propagate p i = a i b i carry generate g i = a i b i FA c4 Fall 2002 EECS150 - Lec27-asynch Page 24 c3 c2 Therefore entire adder completion time is a function of the input. On average, number of stages propagating carry bounded by log(n). Therefore on average delay is proportional to log(n) instead of n. Demonstrates important principle of self-timed circuits. Often avoid worstcase behavior. b0 a0 c0

Asynchronous Logic Pluses Advocates make the following claims (Al Davis): 1. Achieve average case performance 2. Consume power only when needed 3. Provide easy modular composition 4. Do not uire clock alignment at interfaces 5. Metastability has time to resolve 6. Avoid clock distribution problems 7. Exploit concurrency more gracefully 8. Provide intellectual challenge 9. Exhibit intrinsic elegance 10. Global synchrony does not exist anyway! The above claims are often debated. Also, known disadvantages: 1. Time/area overhead. 2. Not well supported by CAD tools. 3. L of clock complicates debugging and verification. Fall 2002 EECS150 - Lec27-asynch Page 25 Caltech Asynchronous Microprocessor 1998, Alain Martin and students. Completely asynchronous implementation of a MIPS R3000. 32-bit RISC CPU with memory management unit. 2 -KB caches. Used 0.6um CMOS process Results: 180 MIPS and 4W at 3.3V 100 MIPS and 850nW at 2.0V 60 MIPS and 220mW at 1.5V Some layout bugs, but still Around 2.5X performance of commercial processor of the same type and in equivalent technology. Fall 2002 EECS150 - Lec27-asynch Page 26