Advanced Digital Design

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

ECE C03 Lecture 71 Lecture 7 Delays and Timing in Multilevel Logic Synthesis Hai Zhou ECE 303 Advanced Digital Design Spring 2002.
Reading1: An Introduction to Asynchronous Circuit Design Al Davis Steve Nowick University of Utah Columbia University.
ELEC 256 / Saif Zahir UBC / 2000 Timing Methodology Overview Set of rules for interconnecting components and clocks When followed, guarantee proper operation.
1 Advanced Digital Design Synthesis of Control Circuits by A. Steininger and J. Lechner Vienna University of Technology.
Advanced Digital Design The Synchronous Design Paradigm A. Steininger Vienna University of Technology.
Synchronous Digital Design Methodology and Guidelines
RTL Hardware Design by P. Chu Chapter 161 Clock and Synchronization.
© Ran Ginosar Lecture 3: Handshake Ckt Implementations 1 VLSI Architectures Lecture 3 S&F Ch. 5: Handshake Ckt Implementations.
1 Clockless Logic Montek Singh Thu, Jan 13, 2004.
© Ran GinosarAsynchronous Design and Synchronization 1 VLSI Architectures Lecture 2: Theoretical Aspects (S&F 2.5) Data Flow Structures.
ELEC 6200, Fall 07, Oct 24 Jiang: Async. Processor 1 Asynchronous Processor Design for ELEC 6200 by Wei Jiang.
COMP Clockless Logic and Silicon Compilers Lecture 3
Advanced Digital Design Asynchronous Design: DI Methods by A. Steininger and M. Delvai Vienna University of Technology.
ECE C03 Lecture 61 Lecture 6 Delays and Timing in Multilevel Logic Synthesis Prith Banerjee ECE C03 Advanced Digital Design Spring 1998.
Embedded Systems Hardware: Storage Elements; Finite State Machines; Sequential Logic.
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.
1 Advanced Digital Design Asynchronous Design: FSL by A. Steininger and M. Delvai Vienna University of Technology.
Topic: Sequential Circuit Course: Logic Design Slide no. 1 Chapter #6: Sequential Logic Design.
Introduction to State Machine
Reading1: An Introduction to Asynchronous Circuit Design Al Davis Steve Nowick University of Utah Columbia University.
Reading Assignment: Rabaey: Chapter 9
CSCI1600: Embedded and Real Time Software Lecture 16: Advanced Programming with I/O Steven Reiss, Fall 2015.
Advanced Digital Design Asynchronous Design: Principles by A. Steininger and M. Delvai Vienna University of Technology.
Penn ESE370 Fall DeHon 1 ESE370: Circuit-Level Modeling, Design, and Optimization for Digital Systems Day 20: October 25, 2010 Pass Transistors.
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
Digital Design - Sequential Logic Design
Interconnection Structures
Other Approaches.
Chapter #6: Sequential Logic Design
Flip Flops Lecture 10 CAP
Lecture 13 Derivation of State Graphs and Tables
Clocks A clock is a free-running signal with a cycle time.
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
Reading: Hambley Chapters
332:437 Lecture 12 Finite State Machine Design
Sequential Circuits: Latches
Inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture #21 State Elements: Circuits that Remember Hello to James Muerle in the.
CSCI1600: Embedded and Real Time Software
LECTURE 15 – DIGITAL ELECTRONICS
Advanced Digital Design
COMP541 Sequential Circuits
Advanced Digital Design
CSE 370 – Winter Sequential Logic - 1
Synthesis of asynchronous controllers from Signal Transition Graphs:
On-time Network On-chip
332:578 Deep Submicron VLSI Design Lecture 14 Design for Clock Skew
Sequential Circuits: Latches
COMP60621 Fundamentals of Parallel and Distributed Systems
De-synchronization: from synchronous to asynchronous
Clockless Logic: Asynchronous Pipelines
Chapter 3 Overview • Multi-Level Logic
Advanced Digital Design
Binary Adder/Subtractor
COMP60611 Fundamentals of Parallel and Distributed Systems
A Quasi-Delay-Insensitive Method to Overcome Transistor Variation
Early output logic and Anti-Tokens
Instructor: Michael Greenbaum
Clockless Computing Lecture 3
Introduction to Silicon Programming in the Tangram/Haste language
Multiprocessors and Multi-computers
Lecture 3: Timing & Sequential Circuits
Presentation transcript:

Advanced Digital Design Asynchronous Design: Bundled Data A. Steininger Vienna University of Technology

© A. Steininger / TU Vienna recall Previous Conclusion The purpose of a design style is to provide information for flow control. Boolean Logic alone cannot provide this information. 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. Lecture "Advanced Digital Design" © A. Steininger / TU Vienna

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

© A. Steininger / TU Vienna Outline The Handshake Principle Sutherland‘s Micropipeline Transition Signaling The Bounded Delay Approach Capture & Issue Condition Other Delay Models Lecture "Advanced Digital Design" © A. Steininger / TU Vienna

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

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

© A. Steininger / TU Vienna Real-life comparison Synchronous systems: train airplane lecture @ school,… Handshake-like systems: family departure with car discussion catching a fish Why these different schemes? Lecture "Advanced Digital Design" © A. Steininger / TU Vienna

© A. Steininger / TU Vienna Push Channel REQ: „Data word valid, you can use it“ initiates hand-shake 1 f(x) SRC SNK 2 ACK: „Data word consumed, send the next“ Lecture "Advanced Digital Design" © A. Steininger / TU Vienna

© A. Steininger / TU Vienna Pull Channel REQ: „Send a new data word“ 1 initiates hand-shake f(x) SRC SNK 2 ACK: „Here it is“ Lecture "Advanced Digital Design" © A. Steininger / TU Vienna

© A. Steininger / TU Vienna 2 Phase vs. 4 Phase 2 phase protocol (NRZ): 4 phase protocol (RTZ) 1 1 REQ REQ 2 2 ACK ACK 1 3 1 3 REQ REQ 2 4 2 4 ACK ACK Lecture "Advanced Digital Design" © A. Steininger / TU Vienna

© A. Steininger / TU Vienna Data Validity – 2 Phase Source: [Sparso 06] Lecture "Advanced Digital Design" © A. Steininger / TU Vienna

© A. Steininger / TU Vienna Data Validity – 4 Phase push channel Source: [Sparso 06] REQ determines start, ACK end of validity Lecture "Advanced Digital Design" © A. Steininger / TU Vienna

© A. Steininger / TU Vienna Data Validity – 4 Phase pull channel Source: [Sparso 06] ACK determines start, REQ end of validity Lecture "Advanced Digital Design" © A. Steininger / TU Vienna

Micropipeline: Principle ACKn REQn-1 ACKn+1 C C REQn f(x) L1 L2 En En capture „bundled data“ (handshake performed for „bundle“ of data) Lecture "Advanced Digital Design" © A. Steininger / TU Vienna *

A very Important Detail 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 The art of asynchronous design is to make these closed loops interoperate properly This is much more complicated than a synchronous design. Time is continuous now, no more discrete Lecture "Advanced Digital Design" © A. Steininger / TU Vienna

The Indication Principle a sender will not produce a new output before it received an ACK from all receivers every transition is confirmed this principle enforces the issue condition makes the timing adaptive (closed loop) makes fault tolerance cumbersome (wait forever for failed receiver…) needs to be considered in the design of asynchronous circuits: no „dead ends“ no „unauthorized inputs“ Lecture "Advanced Digital Design" © A. Steininger / TU Vienna

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

© A. Steininger / TU Vienna Elastic Pipeline „FIFO for transitions“ C RIN AOUT AIN ROUT Lecture "Advanced Digital Design" © A. Steininger / TU Vienna

© A. Steininger / TU Vienna Elastic Pipeline initial state C C RIN AOUT AIN C ROUT Lecture "Advanced Digital Design" © A. Steininger / TU Vienna

© A. Steininger / TU Vienna Elastic Pipeline request (rising edge) C C RIN AOUT AIN C ROUT Lecture "Advanced Digital Design" © A. Steininger / TU Vienna

© A. Steininger / TU Vienna Elastic Pipeline request passes stage 1 C C RIN AOUT AIN C ROUT Lecture "Advanced Digital Design" © A. Steininger / TU Vienna

© A. Steininger / TU Vienna Elastic Pipeline request passes stage 2 C C RIN AOUT AIN C ROUT Lecture "Advanced Digital Design" © A. Steininger / TU Vienna

© A. Steininger / TU Vienna Elastic Pipeline request passes stage 3 => output C C RIN AOUT AIN C ROUT Lecture "Advanced Digital Design" © A. Steininger / TU Vienna

© A. Steininger / TU Vienna Elastic Pipeline further request (falling edge) C C RIN AOUT AIN C ROUT Lecture "Advanced Digital Design" © A. Steininger / TU Vienna

© A. Steininger / TU Vienna Elastic Pipeline new request passes stage 1 C C RIN AOUT AIN C ROUT Lecture "Advanced Digital Design" © A. Steininger / TU Vienna

© A. Steininger / TU Vienna Elastic Pipeline new request passes stage 2 C C RIN AOUT AIN C ROUT Lecture "Advanced Digital Design" © A. Steininger / TU Vienna

© A. Steininger / TU Vienna Elastic Pipeline new request blocked for stage 3 C C RIN AOUT Req 1 remains „stored“ AIN C ROUT Lecture "Advanced Digital Design" © A. Steininger / TU Vienna

© A. Steininger / TU Vienna Elastic Pipeline one more request … C C RIN AOUT AIN C ROUT Lecture "Advanced Digital Design" © A. Steininger / TU Vienna

© A. Steininger / TU Vienna Elastic Pipeline … passes stage 1 only … C C RIN AOUT AIN C ROUT Lecture "Advanced Digital Design" © A. Steininger / TU Vienna

© A. Steininger / TU Vienna Elastic Pipeline ... ands remains stored there C C RIN AOUT Req 3 stored here Req 2 stored here Req 1 stored here AIN C ROUT Lecture "Advanced Digital Design" © A. Steininger / TU Vienna

© A. Steininger / TU Vienna Elastic Pipeline acknowledge from output (rising edge) C C RIN AOUT Req 3 Req 2 Req 1 AIN C ROUT Lecture "Advanced Digital Design" © A. Steininger / TU Vienna

© A. Steininger / TU Vienna Elastic Pipeline ack passes stage 3 C C RIN AOUT AIN C ROUT Lecture "Advanced Digital Design" © A. Steininger / TU Vienna

© A. Steininger / TU Vienna Elastic Pipeline stage 2 is now free for… C C RIN AOUT Req 3 Req 2 AIN C ROUT Lecture "Advanced Digital Design" © A. Steininger / TU Vienna

© A. Steininger / TU Vienna Elastic Pipeline … request from stage 1 C C RIN AOUT Req 3 Req 2 AIN C ROUT Lecture "Advanced Digital Design" © A. Steininger / TU Vienna

© A. Steininger / TU Vienna Elastic Pipeline new ack (falling edge) … C C RIN AOUT Req 3 Req 2 AIN C ROUT Lecture "Advanced Digital Design" © A. Steininger / TU Vienna

© A. Steininger / TU Vienna Elastic Pipeline ... allows remaining request to move up to stage 3 C C RIN AOUT Req 3 AIN C ROUT Lecture "Advanced Digital Design" © A. Steininger / TU Vienna

© A. Steininger / TU Vienna Elastic Pipeline ready for new req or ack C C RIN AOUT Req 3 AIN C ROUT Lecture "Advanced Digital Design" © A. Steininger / TU Vienna

© A. Steininger / TU Vienna Adding a Data Path RIN C C AOUT AIN ROUT C Lecture "Advanced Digital Design" © A. Steininger / TU Vienna *

© A. Steininger / TU Vienna Adding a Data Path RIN C C AOUT c pD cD p c pD cD p c pD cD p AIN ROUT C Lecture "Advanced Digital Design" © A. Steininger / TU Vienna

Capture/Pass Register must react to both edges („two phase handshake“) 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 c pD cD p Lecture "Advanced Digital Design" © A. Steininger / TU Vienna *

C/P Reg: Implementation Source: [Sparso 06] Lecture "Advanced Digital Design" © A. Steininger / TU Vienna

© A. Steininger / TU Vienna Using Simple Latches RIN C C AOUT En En En AIN ROUT C What‘s the difference to before? Lecture "Advanced Digital Design" © A. Steininger / TU Vienna *

© A. Steininger / TU Vienna Adding Computations RIN C C AOUT En En En AIN ROUT C Lecture "Advanced Digital Design" © A. Steininger / TU Vienna *

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

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

© A. Steininger / TU Vienna Criticality of ACK f(x) L2 SRC SNK „capture!“ cannot measure „act of capturing“ as an event use „capture!“ command instead in addition, fork produces race between trigger edge and next data wave race is uncritical (but still exists!) Lecture "Advanced Digital Design" © A. Steininger / TU Vienna *

Bounded Delay approach TRGSNK (REQ) tSRC tSNK Delay @ SRC Delay @ SNK TRGSRC (ACK) coordinate SNK & SRC by a handshake still requires delays: SRC delays issuing sink trigger (REQ) SNK delays issuing source trigger (ACK) Lecture "Advanced Digital Design" © A. Steininger / TU Vienna

© A. Steininger / TU Vienna recall The Issue Condition tSNK Control TRGSRC: Have SRC issue the next data word such that the current one can still be safely consumed by SNK. Formal Condition: tinvalid,x > tsafe,x msrc > - Dinvalid Lecture "Advanced Digital Design" © A. Steininger / TU Vienna *

Bundled Data: Issue Cond. Delay source trigger by tsnk = Dsnktrg + Dcons+ msrc This is the delay between „capture“ and „capture done“ in the micropipeline. For tsnk = 0 we end up like in the synchronous case: msrc = -(Dsnktrg + Dcons) this is not safe, but works, as long as Dinvalid > Dsnktrg + Dcons SRC actually triggers SNK, no synchrony assumptions! Lecture "Advanced Digital Design" © A. Steininger / TU Vienna

© A. Steininger / TU Vienna Criticality of REQ f(x) SRC SNK cannot use issue trigger as an event: produces unacceptable race between data and REQ must introduce timer (bounded delay) Lecture "Advanced Digital Design" © A. Steininger / TU Vienna *

© A. Steininger / TU Vienna recall The Capture Condition tSRC Control TRGSNK: Have SNK capture data only after it has become consistent. Formal Condition: tcons,x > tsnkrdy,x msnk > - Dsnktrg Lecture "Advanced Digital Design" © A. Steininger / TU Vienna *

Bundled Data: Capture Cond. Delay source trigger by tsrc = Dsrc + Dproc + Dsnk + msnk This definitely requires a delay element. Like in the synchronous case we end up estimating the involved delays Lecture "Advanced Digital Design" © A. Steininger / TU Vienna

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

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

Bundled Data at a Glance single-rail data coding 4- or 2-phase handshake Source: [Sparso 06] Lecture "Advanced Digital Design" © A. Steininger / TU Vienna

© A. Steininger / TU Vienna The Ideal Case asynchronous approach: TRGsrc TRGsnk tCO valid ACK TRGsrc completion detection ACK tCO tpd valid REQ delay REQ  Lecture "Advanced Digital Design" © A. Steininger / TU Vienna *

© A. Steininger / TU Vienna The Ideal Case asynchronous approach: TRGsrc tCO valid TRGsrc completion detection ACK tCO tpd ACK valid ACK delay REQ  TRGsnk Lecture "Advanced Digital Design" © A. Steininger / TU Vienna *

© A. Steininger / TU Vienna The Ideal Case asynchronous approach: REQ completion detection TRGsrc TRGsnk tCO valid ACK TRGsrc ACK tCO tpd alid data delay  Does not work for Bounded Delay Lecture "Advanced Digital Design" © A. Steininger / TU Vienna *

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

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

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

© A. Steininger / TU Vienna Delay Models synchronous model known bounds for delays, global timing bounded delay model (BD, fundamental) known bounds for absolute delays, local timing scalable-delay-insensitive model (SDI) bounds for relative deviation between delays known quasi-delay-insensitive (QDI) output paths of a fork have same delay delay insensitive (DI) no restrictions on delays (just finite) syn: optimistisch, immer schwieriger zu erfüllen Lecture "Advanced Digital Design" © A. Steininger / TU Vienna

© A. Steininger / TU Vienna Speed Independence Source: [Sparso 06] gates: dA, dB, dC arbitrary (bounded); wires: d1=d2=d3=0 idea: neglect wires, consider gate delays only in practice: unrealistic, since wire delay is not negligible sometimes useful to simplify modeling Lecture "Advanced Digital Design" © A. Steininger / TU Vienna

© A. Steininger / TU Vienna Definition of SI a gate is stable if current ouput suits to current inputs excited if output needs to change to follow recent change of inputs firing when this change happens assume an excited gate A‘s input sourced by another excited gate B that fires first then A may remain excited or B‘s firing may change A‘s input so as to cancel A‘ excitation (b) indicates a hazard the circuit is SI if (b) can never happen Lecture "Advanced Digital Design" © A. Steininger / TU Vienna

© A. Steininger / TU Vienna recall Static Comb. Hazard Fundamental circuit structure: (static 0 hazard) A rising transition on A will excite both gates, if INV fires first it will cancel the AND gate‘s excitation Y = A  A  0 A Lecture "Advanced Digital Design" © A. Steininger / TU Vienna *

Quasi-Delay-Insensitive Source: [Sparso 06] gates: dA, dB, dC, wires: d1, d2 arbitrary; d3=d2 („isochronic“ fork) idea: now both wire paths have same delay => can be summed up with dA and considered part of gate delay in practice: isochronic forks can be realized in basic blocks by careful routing Lecture "Advanced Digital Design" © A. Steininger / TU Vienna

© A. Steininger / TU Vienna Delay-Insensitive Source: [Sparso 06] gates: dA, dB, dC arbitrary (bounded) wires: d1, d2, d3 arbitrary (bounded) idea: no assumptions, unrestricted timing behavior in practice: very limited choice of functions (see later) valid abstraction in in high level design with basic blocks Lecture "Advanced Digital Design" © A. Steininger / TU Vienna

© A. Steininger / TU Vienna The limits of true DI generalized structure of asyn circuit: A‘s logic A X G shared logic B B‘s logic single-output gate G with at least 2 inputs (A, B) need feedback for all inputs => FORK (control loop) if G fires upon receipt of 1st feedback (say A) => other path (B) gets out of sync => hazard => G needs to wait for transitions on all its inputs => can only use Muller C-gate and INV but not AND, OR, … Lecture "Advanced Digital Design" © A. Steininger / TU Vienna

© A. Steininger / TU Vienna Model Overview Source: [Sparso 06] speed-independent: dA, dB, dC arbitrary; d1=d2=d3=0 delay-insensitive: dA, dB, dC, d1, d2, d3 arbitrary quasi-delay-insensitive: dA, dB, dC, d1, d2 arbitrary; d3=d2 (minimum requirement to allow AND, OR etc.) self-timed: other general word for „asynchronous“ Lecture "Advanced Digital Design" © A. Steininger / TU Vienna

© A. Steininger / TU Vienna Bundled Data: Model? Control path (Muller pipeline) is DI only uses Muller C-gate and inverter needs glitch-free implementation works without delay assumptions Data path uses bounded delay model can use all types of gates can allow glitches must know all absolute delays with „matched“ delay element can use SDI Lecture "Advanced Digital Design" © A. Steininger / TU Vienna

© A. Steininger / TU Vienna Conclusion (1) 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. Lecture "Advanced Digital Design" © A. Steininger / TU Vienna

© A. Steininger / TU Vienna Conclusion (2) The micropipeline is the basic approach for structuring asynchronous circuits. It couples individual source/sink pairs The bundled data approach utilizes the micropipeline for controlling latches (of different style) that form a data path. The forward delay by the computation blocks is countered by matched delay elements. This requires knowledge of all involved delays, thus spoiling the flexibility Lecture "Advanced Digital Design" © A. Steininger / TU Vienna

© A. Steininger / TU Vienna Conclusion (3) There are different timing models bounded delay scalable-delay-insensitive quasi-delay-insensitive delay insensitive they allow buying design efficiency by making timing assumptions Lecture "Advanced Digital Design" © A. Steininger / TU Vienna