Advanced Digital Design Asynchronous Design: Principles by A. Steininger and M. Delvai Vienna University of Technology.

Slides:



Advertisements
Similar presentations
Self-Timed Logic Timing complexity growing in digital design -Wiring delays can dominate timing analysis (increasing interdependence between logical and.
Advertisements

Reading1: An Introduction to Asynchronous Circuit Design Al Davis Steve Nowick University of Utah Columbia University.
Introduction to CMOS VLSI Design Sequential Circuits
ELEC 256 / Saif Zahir UBC / 2000 Timing Methodology Overview Set of rules for interconnecting components and clocks When followed, guarantee proper operation.
Lecture 11: Sequential Circuit Design. CMOS VLSI DesignCMOS VLSI Design 4th Ed. 11: Sequential Circuits2 Outline  Sequencing  Sequencing Element Design.
Penn ESE370 Fall DeHon 1 ESE370: Circuit-Level Modeling, Design, and Optimization for Digital Systems Day 24: November 4, 2011 Synchronous Circuits.
1 SEQUENTIAL CIRCUITS DEFINITION OF SEQUENTIAL CIRCUIT SYNCHRONOUS SEQUENTIAL CIRCUIT ASYNCHRONOUS SEQUENTIAL CIRCUIT MEMORY ELEMENTS CLASSIFICATION: LATCHES.
Sequential Circuit Analysis & Design Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum & Minerals Dr. Aiman H. El-Maleh.
Advanced Digital Design The Synchronous Design Paradigm A. Steininger Vienna University of Technology.
Z. Feng MTU EE4800 CMOS Digital IC Design & Analysis EE4800 CMOS Digital IC Design & Analysis Lecture 11 Sequential Circuit Design Zhuo Feng.
Synchronous Digital Design Methodology and Guidelines
1 Clockless Logic Montek Singh Thu, Jan 13, 2004.
1 Clockless Logic Montek Singh Tue, Mar 23, 2004.
ELEC 6200, Fall 07, Oct 24 Jiang: Async. Processor 1 Asynchronous Processor Design for ELEC 6200 by Wei Jiang.
Asynchronous Sequential Circuits. 2 Asynch. vs. Synch.  Asynchronous circuits don’t use clock pulses  State transitions by changes in inputs  Storage.
Low Power Design for Wireless Sensor Networks Aki Happonen.
Embedded Systems Hardware:
Asynchronous Machines
Advanced Digital Design Asynchronous Design: DI Methods by A. Steininger and M. Delvai Vienna University of Technology.
11/10/2004EE 42 fall 2004 lecture 301 Lecture #30 Finite State Machines Last lecture: –CMOS fabrication –Clocked and latched circuits This lecture: –Finite.
1 Advanced Digital Design Asynchronous Design: Research Concept by A. Steininger and M. Delvai Vienna University of Technology.
Basic Register Typically, we store multi-bit items
Embedded Systems Hardware: Storage Elements; Finite State Machines; Sequential Logic.
Chapter #6: Sequential Logic Design 6.2 Timing Methodologies
Lecture 11 MOUSETRAP: Ultra-High-Speed Transition-Signaling Asynchronous Pipelines.
1 Recap: Lectures 5 & 6 Classic Pipeline Styles 1. Williams and Horowitz’s PS0 pipeline 2. Sutherland’s micropipelines.
1 Clockless Logic: Dynamic Logic Pipelines (contd.)  Drawbacks of Williams’ PS0 Pipelines  Lookahead Pipelines.
Fall 2007 L16: Memory Elements LECTURE 16: Clocks Sequential circuit design The basic memory element: a latch Flip Flops.
Lecture 10 Topics: Sequential circuits Basic concepts Clocks
Sequential Networks Two major classes of Sequential Circuits 1.Fundamental Mode – A sequential circuit where: Only one input is allowed to change at any.
CS3350B Computer Architecture Winter 2015 Lecture 5.2: State Circuits: Circuits that Remember Marc Moreno Maza [Adapted.
1 COMP541 State Machines Montek Singh Feb 8, 2012.
CS1Q Computer Systems Lecture 11 Simon Gay. Lecture 11CS1Q Computer Systems - Simon Gay2 The D FlipFlop A 1-bit register is called a D flipflop. When.
Sequential Logic Materials taken from: Digital Design and Computer Architecture by David and Sarah Harris & The Essentials of Computer Organization and.
Paper review: High Speed Dynamic Asynchronous Pipeline: Self Precharging Style Name : Chi-Chuan Chuang Date : 2013/03/20.
Advanced Digital Design Limits of Synchonous Design by A. Steininger and M. Delvai Vienna University of Technology.
1 CSE370, Lecture 19 Lecture 19 u Logistics n Lab 8 this week to be done in pairs íFind a partner before your lab period íOtherwise you will have to wait.
1 Advanced Digital Design Asynchronous Design: FSL by A. Steininger and M. Delvai Vienna University of Technology.
Advanced Digital Design The Need for a Design Style by A. Steininger Vienna University of Technology.
Reading1: An Introduction to Asynchronous Circuit Design Al Davis Steve Nowick University of Utah Columbia University.
Review of Digital Logic Design Concepts OR: What I Need to Know from Digital Logic Design (EEL3705)
Reading Assignment: Rabaey: Chapter 9
Digital System Design using VHDL
Lecture 5. Sequential Logic 1 Prof. Taeweon Suh Computer Science Education Korea University 2010 R&E Computer System Education & Research.
ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN Dr. Shi Dept. of Electrical and Computer Engineering.
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU 99-1 Under-Graduate Project Design of Datapath Controllers Speaker: Shao-Wei Feng Adviser:
Penn ESE370 Fall DeHon 1 ESE370: Circuit-Level Modeling, Design, and Optimization for Digital Systems Day 20: October 25, 2010 Pass Transistors.
1 Recap: Lecture 4 Logic Implementation Styles:  Static CMOS logic  Dynamic logic, or “domino” logic  Transmission gates, or “pass-transistor” logic.
Advanced Digital Design Asynchronous Design: DI Methods A. Steininger Vienna University of Technology.
Advanced Digital Design Asynchronous Design: DI Methods A. Steininger Vienna University of Technology.
1 Clockless Logic Montek Singh Thu, Mar 2, Review: Logic Gate Families  Static CMOS logic  Dynamic logic, or “domino” logic  Transmission gates,
Advanced Digital Design
Lecture 4. Sequential Logic #1
Other Approaches.
Chapter #6: Sequential Logic Design
Advanced Digital Design
Flip Flops Lecture 10 CAP
Recap: Lecture 1 What is asynchronous design? Why do we want to study it? What is pipelining? How can it be used to design really fast hardware?
Basic Delay in Gates Definitions
Advanced Digital Design
332:437 Lecture 12 Finite State Machine Design
Advanced Digital Design
Advanced Digital Design
CSE 370 – Winter Sequential Logic - 1
Clockless Logic: Asynchronous Pipelines
ECE 352 Digital System Fundamentals
Lecture 20 Logistics Last lecture Today HW6 due Wednesday
SEQUENTIAL CIRCUITS __________________________________________________
Instructor: Michael Greenbaum
Lecture 3: Timing & Sequential Circuits
Presentation transcript:

Advanced Digital Design Asynchronous Design: Principles by A. Steininger and M. Delvai Vienna University of Technology

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 2 Previous Conclusion The purpose of a design style is to provide information for flow control. The purpose of a design style is to provide information for flow control. Boolean Logic alone cannot provide this information. Boolean Logic alone cannot provide this information. Severe technological problems force us to question the current (synchronous) design practice. We shall focus on that. Severe technological problems force us to question the current (synchronous) design practice. We shall focus on that. Alternatives must be evaluated very critically with respect to improvements concerning power, area, robustness, ease of composition, testability and performance. Alternatives must be evaluated very critically with respect to improvements concerning power, area, robustness, ease of composition, testability and performance. recal l

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 3 What we actually need SRCSNK f(x) When it is valid and consistent When SNK has consumed the previous one When can SNK use its input? When can SRC apply the next input? recal l

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 4 Ideal Design Method An ideal design method … minimizes power consumption minimizes power consumption miminizes circuit overhead miminizes circuit overhead naturally supports composability naturally supports composability naturally aids testability naturally aids testability yields robust circuits yields robust circuits yields fast circuits. yields fast circuits. recal l

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 5 Outline The Handshake Principle The Handshake Principle Sutherland‘s Micropipeline Sutherland‘s Micropipeline Transition Signaling & Muller C-Element Transition Signaling & Muller C-Element The Bounded Delay Approach The Bounded Delay Approach Other Delay Models Other Delay Models Hazards: Identification & Remedies Hazards: Identification & Remedies Huffmann Circuits Huffmann Circuits Asynchronous State Machines Asynchronous State Machines

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 6 Our Options We must only use consistent input vectors We must only use consistent input vectors How can we tell an input vector is consistent? How can we tell an input vector is consistent? (1) use TIME to mark consistent phases synchronous approach / global time base synchronous approach / global time base asynchronous/bounded delay asynchronous/bounded delay (2) use CODING to add information asynchronous/delay insensitive asynchronous/delay insensitive recal l

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 7 „The control flow requires agreement between source and sink. For this purpose they need to communicate“ „The control flow requires agreement between source and sink. For this purpose they need to communicate“ Source indicates capture condition for sink. Source indicates capture condition for sink. Sink indicates issue condition for source. Sink indicates issue condition for source. Asynchronous Philosophy „HANDSHAKE“

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 8 Handshake Principle SRCSNK f(x) When it is valid and consistent When SNK has consumed the previous one When can SNK use its input? When can SRC apply the next input? REQ: „Data word valid, you can use it“ ACK: „Data word consumed, send the next“

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 9 f(x) R1R2 C C REQ n-1 ACK n+1 capture „bundled data“ (handshake performed for „bundle“ of data) Micropipeline: Principle REQ n ACK n

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 10 A very Important Detail The handshake establishes a closed-loop control for the data flow between sender and receiver The handshake establishes a closed-loop control for the data flow between sender and receiver This makes operation more robust than in the synchronous (= open-loop) case This makes operation more robust than in the synchronous (= open-loop) case The art of asynchronous design is to make many of these closed loops interoperate properly The art of asynchronous design is to make many of these closed loops interoperate properly This is much more complicated than a synchronous design. This is much more complicated than a synchronous design.

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 11 Micropipe: Capturing capture data if predecessor has new data available (REQ n-1 ) and predecessor has new data available (REQ n-1 ) and successor is ready to accept new data (ACK n+1 ) successor is ready to accept new data (ACK n+1 ) produce  at capture (output) after  of REQ and  of ACK produce  at capture (output) after  of REQ and  of ACK Muller C-Element C REQ n-1 ACK n+1

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 12 Muller C-Element RS reset set a b y IF a = = b THEN y = a ELSE hold y C ab y C a b y

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 13 Muller C-Element: Circuit [Sutherland] [Martin] [van Berkel]

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 14 „FIFO for transitions“ C C C R OUT A OUT R IN Elastic Pipeline

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 15 initial state C C C R OUT A OUT R IN Elastic Pipeline

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 16 request (rising edge) C C C R OUT A OUT R IN Elastic Pipeline

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 17 request passes stage 1 C C C R OUT A OUT R IN Elastic Pipeline

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 18 request passes stage 2 C C C R OUT A OUT R IN Elastic Pipeline

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 19 request passes stage 3 => output C C C R OUT A OUT R IN Elastic Pipeline

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 20 further request (falling edge) C C C R OUT A OUT R IN Elastic Pipeline

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 21 new request passes stage 1 C C C R OUT A OUT R IN Elastic Pipeline

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 22 new request passes stage 2 C C C R OUT A OUT R IN Elastic Pipeline

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 23 new request blocked for stage 3 C C C R OUT A OUT R IN Req 1 remains „stored“ Elastic Pipeline

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 24 one more request … C C C R OUT A OUT R IN Elastic Pipeline

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 25 … passes stage 1 only … C C C R OUT A OUT R IN Elastic Pipeline

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna ands remains stored there C C C R OUT A OUT R IN Req 1 stored here Req 2 stored here Req 3 stored here Elastic Pipeline

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 27 acknowledge from output (rising edge) C C C R OUT A OUT R IN Req 1 Req 2 Req 3 Elastic Pipeline

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 28 ack passes stage 3 C C C R OUT A OUT R IN Elastic Pipeline

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 29 stage 2 is now free for… C C C R OUT A OUT R IN Req 2 Req 3 Elastic Pipeline

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 30 … request from stage 1 C C C R OUT A OUT R IN Req 2 Req 3 Elastic Pipeline

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 31 new ack (falling edge) … C C C R OUT A OUT R IN Req 2 Req 3 Elastic Pipeline

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna allows remaining request to move up to stage 3 C C C R OUT A OUT R IN Req 3 Elastic Pipeline

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 33 ready for new req or ack C C C R OUT A OUT R IN Req 3 Elastic Pipeline

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 34 Micropipe: Implementation comb REQ ACK Capture/Pass Register

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 35 Capture/Pass Register must react to both edges („two phase handshake“) must react to both edges („two phase handshake“) has dedicated input for both, „capture“ and „pass“ has dedicated input for both, „capture“ and „pass“ has delayed output for both control inputs („capture done“, „pass done“) to make sure capture occurs before „capture done“ is output has delayed output for both control inputs („capture done“, „pass done“) to make sure capture occurs before „capture done“ is output c pp cc p

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 36 Transition Signaling Information conveyed by edges, not by state Advantage: edges also contain time information Advantage: edges also contain time information Drawback: need two rails per bit Drawback: need two rails per bit A0A0 A1A

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 37 Terminology consistent DW: all bits belong to the same context valid signal: result of function applied to consistent DW recal l

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 38 A0A0 A1A1 B0B0 B1B1 Y = A or B A=0 A=1 B=1 B=0 Y0Y0 Y1Y1 Y=1 A Trans. Signaling - Example

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 39 Closed loop vs. open loop Previous example assumed a certain procedure: (1)one input changes (once!) (2)other input changes (once!) (3)then output changes (once!) Is this realistic? NO, if inputs are not correlated with output („open loop operation“) NO, if inputs are not correlated with output („open loop operation“) YES, in case of synchronization by means of handshake, i.e. in Micropipeline („closed loop operation“) YES, in case of synchronization by means of handshake, i.e. in Micropipeline („closed loop operation“)

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 40 2 Phase vs. 4 Phase 2 phase protocol: 2 phase protocol: 4 phase protocol 4 phase protocol REQ ACK REQ ACK REQ ACK

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 41 Micropipe: Implementation comb DELAY ELEMENT

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 42 The need for a delay SRCSNK f(x) REQ: „Data word valid, you can use it“ ACK: „Data word consumed, send the next“ event = latching of data word safe (?) event = issue of data word! race condition !

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 43 [Centronix Spec for ETRAX100LX, „Fastbyte Mode“] Data „REQ“ „ACK“ Example: Centronix

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 44 Criticality of ACK cannot measure „act of latching“ as an event cannot measure „act of latching“ as an event use latching command instead use latching command instead fork produces race between trigger process and next data wave fork produces race between trigger process and next data wave race is uncritical (but still exists!) race is uncritical (but still exists!) SRCSNK f(x) FF2 „latch!“

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 45 Criticality of REQ SRCSNK f(x) cannot use issue trigger as an event: cannot use issue trigger as an event: produces unacceptable race between data and REQ produces unacceptable race between data and REQ must introduce timer (bounded delay) must introduce timer (bounded delay) OR: find better event (downstream) OR: find better event (downstream) completion detection

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 46 coordinate SNK & SRC by a handshake coordinate SNK & SRC by a handshake This works (quite) well for „ACK“, but This works (quite) well for „ACK“, but still requires a timer-solution for REQ still requires a timer-solution for REQ So what have we actually gained? Bounded Delay approach Timer SRC TRG SNK (REQ) TRG SRC (ACK) Timer SNK  SNK  SRC

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 47 synchronous model known bounds for delays, global timing known bounds for delays, global timing bounded delay model (fundamental) bounded delay model (fundamental) known bounds for absolute delays, local timing known bounds for absolute delays, local timing scalable-delay-insensitive model scalable-delay-insensitive model bounds for relative deviation between delays known bounds for relative deviation between delays known quasi-delay-insensitive quasi-delay-insensitive output paths of a fork have same delay output paths of a fork have same delay delay insensitive delay insensitive no restrictions on delays (just finite) no restrictions on delays (just finite) Softening the restrictions

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 48 The Issue Condition Control TRGSRC: Have SRC issue the next data word such that the current one can still be safely consumed by SNK. Formal Condition: t invalid,x > t safe,x  src > -  invalid recal l  SNK

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 49 Bundled Data: Issue Cond. Delay source trigger by Delay source trigger by  snk =  snktrg +  cons +  src This is the delay between „capture“ and „capture done“ in the micropipeline. This is the delay between „capture“ and „capture done“ in the micropipeline. For  snk = 0 we end up like in the synchronous case: For  snk = 0 we end up like in the synchronous case:  src = -( snktrg +  cons ) this is not safe, but works

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 50 The Capture Condition Control TRGSNK: Have SNK capture data only after it has become consistent. Formal Condition: t cons,x > t snkrdy,x  snk > -  snktrg recal l  SRC

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 51 Bundled Data: Capture Cond. Delay source trigger by Delay source trigger by  src =  src +  proc +  snk +  snk This definitely requires a delay element. This definitely requires a delay element. like in the synchronous case we end up estimating the involved delays like in the synchronous case we end up estimating the involved delays

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 52 the skew problem still exists (!) the skew problem still exists (!) need to determine suitable value for  need to determine suitable value for  need to make worst case assumptions for determination of  need to make worst case assumptions for determination of  does not work without constraints on the individual path delays does not work without constraints on the individual path delays „Bounded Delay Model“ Drawback of the delay

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 53 What we actually need SRCSNK f(x) When it is valid and consistent When can SNK use its input? recal l „completion detection“: When are computation & transmission complete and data actually stable?

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 54 Current Sensing: Idea Transitions on data rails cause dynamic current Transitions on data rails cause dynamic current In the absence of dynamic current data must be stable In the absence of dynamic current data must be stable current sensor can be used for completion detection current sensor can be used for completion detection

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 55 Current Sensing: Problems inversion of causality is not safe: inversion of causality is not safe: What if bit changes after circuit has been considered stable? leakage dominates – proportion of dynamic current is decreasing leakage dominates – proportion of dynamic current is decreasing current sensor is undesired analog circuitry current sensor is undesired analog circuitry

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 56 need to determine clock period need to determine clock period circuit functionality is technology dependent circuit functionality is technology dependent considerable design efforts, large design loops considerable design efforts, large design loops need to make worst-case assumptions need to make worst-case assumptions necessarily pessimistic necessarily pessimistic no robustness wrt. exceeding them no robustness wrt. exceeding them need to maintain global synchrony need to maintain global synchrony clock distribution problems clock distribution problems power consumption problems power consumption problems Gain of Bounded Delay timer settings

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 57 Huffman Circuits „glitch free“ logic circuits „glitch free“ logic circuits add redundant P-terms to minimized representation add redundant P-terms to minimized representation problems: problems: not all glitches can be avoided not all glitches can be avoided severe restrictions for inputs severe restrictions for inputs redundant terms not testable redundant terms not testable

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 58 Input Restrictions Fundamental Mode („Grey-Coding“) Fundamental Mode („Grey-Coding“) only one input-bit changes at a time only one input-bit changes at a time  delay in feedbacks required  difficult state coding  not suitable for data path elements Burst Mode Burst Mode groups of inputs may change groups of inputs may change  requires local clock  requires local clock

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 59 Delay Elements Combinational logic Outputs Next State Current State Inputs Z1Z1 ZmZm x1x1 xnxn y1y1 ykyk Delayed Feedback

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 60 feedback delay feedback delay implies timing-assumptions („Bounded Delay“) implies timing-assumptions („Bounded Delay“) considerably slows down operation considerably slows down operation complicated design complicated design state coding, data path state coding, data path localen clock for burst mode localen clock for burst mode testing of redundant terms cumbersome testing of redundant terms cumbersome no structuring no structuring not suitable as a stand-alone solution A Huffman Circuits: Problems

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 61 Asynchronous FSM transition between states triggered by input edge rather than by synchronous clock transition between states triggered by input edge rather than by synchronous clock essential hazard: input transition might be perceived after resulting state change at some point => glitch or wrong next state essential hazard: input transition might be perceived after resulting state change at some point => glitch or wrong next state need delay to separate transitions in feedback from (primary) input transitions need delay to separate transitions in feedback from (primary) input transitions restrictions for inputs and feedback apply restrictions for inputs and feedback apply

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 62 FSM versus AFSM f(x ) Mealy Reg clk input output 

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 63 State Diagram AFSM s0 s1 s2 s3 10/10 00/11 01/10 00/00 ab/xy s0 s1 s2 s3 a+/x+ a-/y+ b+/y- b-/x- ab/xy Burst Mode Diagram [Chris Myers, Asynchronous Circuit Design. Wiley 2001]

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 64 Huffmann Flow Table s0s0,00––s1,10 s1s2,11––s1,10 s2s2,11s3,10–– s3s0,00s3,10–– a,b input output next state state stable [Chris Myers, Asynchronous Circuit Design. Wiley 2001]

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 65 Conclusion Alternatively to a global time base a handshake can establish the required synchronization between source and sink: The source issues a REQ to signal that new data are valid, and the sink issues ACK when it is ready for the next data. Alternatively to a global time base a handshake can establish the required synchronization between source and sink: The source issues a REQ to signal that new data are valid, and the sink issues ACK when it is ready for the next data. In principle the handshake can establish a closed control loop for data flow, which yields higher robustness but variable timing. In principle the handshake can establish a closed control loop for data flow, which yields higher robustness but variable timing. The micropipeline is the basic approach for structuring asynchronous circuits. It couüples individual source/sink pairs The micropipeline is the basic approach for structuring asynchronous circuits. It couüples individual source/sink pairs

Lecture "Advanced Digital Design"© A. Steininger & M. Delvai / TU Vienna 66 Conclusion The bundled data approach utilizes coupled timers for the control of REQ and ACK. This saves the need for a clock tree, but does not solve the conceptual problem of coupling validity to time. The bundled data approach utilizes coupled timers for the control of REQ and ACK. This saves the need for a clock tree, but does not solve the conceptual problem of coupling validity to time. Huffman circuits are useful for designing small sub-circuits and state machines in a glitch-free manner. They do, however not provide a generally applicable design solution. Huffman circuits are useful for designing small sub-circuits and state machines in a glitch-free manner. They do, however not provide a generally applicable design solution.