© 2010 Blended Integrated Circuit Systems, LLC Tom Chaney, Dave Zar, Metastability (What?) TexPoint fonts used in.

Slides:



Advertisements
Similar presentations
Practical Considerations for Digital Design
Advertisements

1 Lecture 16 Timing  Terminology  Timing issues  Asynchronous inputs.
Sequential Circuit Design
Aug Data/Clock Synchronization Fourteen ways to fool your synchronizer Ginosar, R.; Asynchronous Circuits and Systems, Proceedings. Ninth International.
Introduction to Sequential Logic Design Latches. 2 Terminology A bistable memory device is the generic term for the elements we are studying. Latches.
Designing Sequential Logic Circuits
Modern VLSI Design 4e: Chapter 5 Copyright  2008 Wayne Wolf Topics n Memory elements. n Basics of sequential machines.
ELEC 256 / Saif Zahir UBC / 2000 Timing Methodology Overview Set of rules for interconnecting components and clocks When followed, guarantee proper operation.
CHAPTER 3 Sequential Logic/ Circuits.  Concept of Sequential Logic  Latch and Flip-flops (FFs)  Shift Registers and Application  Counters (Types,
L06 – Clocks Spring /18/05 Clocking.
Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and.
1 KU College of Engineering Elec 204: Digital Systems Design Lecture 12 Basic (NAND) S – R Latch “Cross-Coupling” two NAND gates gives the S -R Latch:
1 Kuliah Rangkaian Digital Kuliah 8: Rangkaian Logika Sekuensial Teknik Komputer Universitas Gunadarma.
Fall 2004EE 3563 Digital Systems Design EE 3563 Sequential Logic Design Principles  A sequential logic circuit is one whose outputs depend not only on.
Introduction to Sequential Logic Design Bistable elements Latches.
K-Maps, Timing Sequential Circuits: Latches & Flip-Flops Lecture 4 Digital Design and Computer Architecture Harris & Harris Morgan Kaufmann / Elsevier,
1 EE121 John Wakerly Lecture #8 Sequential Circuits Flip-flops Sequential PALs.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 5 – Sequential Circuits Part 1 – Storage.
Digital Logic Design Lecture 22. Announcements Homework 7 due today Homework 8 on course webpage, due 11/20. Recitation quiz on Monday on material from.
(Neil west - p: ). Finite-state machine (FSM) which is composed of a set of logic input feeding a block of combinational logic resulting in a set.
EKT 124 / 3 DIGITAL ELEKTRONIC 1
Sequential Circuits IEP on Synthesis of Digital Design Sequential Circuits S. Sundar Kumar Iyer.
Sequential Logic 1 clock data in may changestable data out (Q) stable Registers  Sample data using clock  Hold data between clock cycles  Computation.
Synchronous Digital Design Methodology and Guidelines
1 Digital Design: State Machines Timing Behavior Credits : Slides adapted from: J.F. Wakerly, Digital Design, 4/e, Prentice Hall, 2006 C.H. Roth, Fundamentals.
CSE477 L19 Timing Issues; Datapaths.1Irwin&Vijay, PSU, 2002 CSE477 VLSI Digital Circuits Fall 2002 Lecture 19: Timing Issues; Introduction to Datapath.
Assume array size is 256 (mult: 4ns, add: 2ns)
SEQUENTIAL LOGIC Digital Integrated Circuits© Prentice Hall 1995 Introduction.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 6 –Selected Design Topics Part 3 – Asynchronous.
Digital Integrated Circuits© Prentice Hall 1995 Sequential Logic SEQUENTIAL LOGIC.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Senior Design I Lecture 12 - Metastability.
Asynchronous Input Example Program counter normally increments, jumps to address of interrupt subroutine on asynchronous interrupt How many states can.
Modern VLSI Design 2e: Chapter 5 Copyright  1998 Prentice Hall PTR Topics n Memory elements. n Basics of sequential machines.
Design and Implementation of a True Random Number Generator Based on Digital Circuit Artifacts Michael Epstein 1, Laszlo Hars 2, Raymond Krasinski 1, Martin.
CSE 140L Lecture 6 Interface and State Assignment Professor CK Cheng CSE Dept. UC San Diego 1.
Sequential Circuits. 2 Sequential vs. Combinational Combinational Logic:  Output depends only on current input −TV channel selector (0-9) Sequential.
Adapting Synchronizers to the Effects of On-Chip Variability David Kinniment Alex Yakovlev Jun Zhou Gordon Russell Presented by Dmitry Verbitsky.
EE365 Adv. Digital Circuit Design Clarkson University Lecture #10 Latches, Flip Flops & Sequential PALS.
© Digital Integrated Circuits 2nd Sequential Circuits Digital Integrated Circuits A Design Perspective Designing Sequential Logic Circuits Jan M. Rabaey.
1 EE365 Synchronous Design Methodology Asynchronous Inputs Synchronizers and Metastability.
111/9/2005EE 108A Lecture 13 (c) 2005 W. J. Dally EE108A Lecture 13: Metastability and Synchronization Failure (or When Good Flip-Flops go Bad)
Chapter 3: Sequential Logic Circuit EKT 121 / 4 ELEKTRONIK DIGIT 1.
Flip Flops. Clock Signal Sequential logic circuits have memory Output is a function of input and present state Sequential circuits are synchronized by.
Flip-Flops.
1 CSE370, Lecture 16 Lecture 19 u Logistics n HW5 is due today (full credit today, 20% off Monday 10:29am, Solutions up Monday 10:30am) n HW6 is due Wednesday.
IPC Digital Circuits Digital circuits are composed of electronic components that can provide state information (1 or 0), as a function of.
Astable: Having no stable state. An astable multivibrator oscillates between two quasistable states. Asynchronous Having no fixed time relationship Bistable.
© Digital Integrated Circuits 2nd Sequential Circuits Digital Integrated Circuits A Design Perspective Designing Sequential Logic Circuits Jan M. Rabaey.
CSE477 L17 Static Sequential Logic.1Irwin&Vijay, PSU, 2002 CSE477 VLSI Digital Circuits Fall 2002 Lecture 17: Static Sequential Circuits Mary Jane Irwin.
Chap 4. Sequential Circuits
Digital Integrated Circuits© Prentice Hall 1995 Sequential Logic SEQUENTIAL LOGIC.
Sequential Logic Circuits. Combinational logic circuit A combinational logic circuit is one whose outputs depend only on its current inputs
© BYU 18 ASYNCH Page 1 ECEn 224 Handling Asynchronous Inputs.
1 CSE370, Lecture 17 Lecture 17 u Logistics n Lab 7 this week n HW6 is due Friday n Office Hours íMine: Friday 10:00-11:00 as usual íSara: Thursday 2:30-3:20.
Topic: Sequential Circuit Course: Logic Design Slide no. 1 Chapter #6: Sequential Logic Design.
Introduction to Sequential Logic Design Bistable elements.
Sp09 CMPEN 411 L18 S.1 CMPEN 411 VLSI Digital Circuits Spring 2009 Lecture 16: Static Sequential Circuits [Adapted from Rabaey’s Digital Integrated Circuits,
Electronic Noise Noise phenomena Device noise models
Sequential Logic Circuits
EKT 121 / 4 ELEKTRONIK DIGIT I
Synchronous Sequential Circuits by Dr. Amin Danial Asham.
Synchronous Sequential Circuits by Dr. Amin Danial Asham.
Digital Design: Sequential Logic Principles
Digital Integrated Circuits A Design Perspective
Overview Part 1 – The Design Space
LATCHED, FLIP-FLOPS,AND TIMERS
Flip Flops.
Advanced Jitter Analysis
Metastability - When Good Flip-Flop Goes Bad: Causes and Cure
Lecture 19 Logistics Last lecture Today
Presentation transcript:

© 2010 Blended Integrated Circuit Systems, LLC Tom Chaney, Dave Zar, Metastability (What?) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: 

© 2010 Blended Integrated Circuit Systems, LLC 2 Metastability Is a fundamental property of all bi-stable circuits (flip-flops and arbiters) the cause of ambiguous output voltages and unpredictable behavior the reason for setup & hold-time constraints on flip-flops –When observed they eliminate metastability –When violated may lead to circuit malfunction –Satisfying constraints perfectly between multiple independent clock domains is not possible

© 2010 Blended Integrated Circuit Systems, LLC 3 Results for a D-Latch Latch output before final inverter (clock is also shown). Rightmost two traces bracket unbounded metastable point D C’ C Q’ V1V1

© 2010 Blended Integrated Circuit Systems, LLC 4 Prototypical Master-Slave DFF D C’ C C Q V1V1 MASTER SLAVE V2V2

© 2010 Blended Integrated Circuit Systems, LLC 5 Results for a Master-Slave Clock is shown in yellow. Other traces are obtained by varying the data-clock separation and observing the output of the FF before the output inverter.

© 2010 Blended Integrated Circuit Systems, LLC 6 Real plots! Times and voltages far from normal experience And History Dependent! – must collect data slowly 7 6 Photos of ECL circuits taken about 45 years ago. 6 7 VCLK 1 0 pulse ( n 0.5n 0.5n 100n 200n) Vdata 2 0 pulse ( n 0.5n 0.5n 100n 200n) psec fsec asec zepto sec These measured waveforms represent an input timing resolution of about 100 asec.

© 2010 Blended Integrated Circuit Systems, LLC 7 A Synchronizer Failure Clock Domain A Clock Domain B Synchro- nizer Synchronizer Output Voltage Recovering from Metastability Domain B Clock Edge Domain B Switching Thresholds Synchronizer fails and future behavior of Domain B unknown Clock A Clock B

© 2010 Blended Integrated Circuit Systems, LLC 8 Probability of Synchronizer Failure (Noise Free Case First) Setup and Hold Region Clock Data Distribution of Data Events tt vv 0 T C TCTC 0.67V DD 0.33V DD V m = ½V DD t The probability of failure is the probability that the output of the synchronizer is unresolved at a clock edge: G tv = slope = Resolved Not Resolved V1V1

© 2010 Blended Integrated Circuit Systems, LLC 9 Circuit Model Analysis For V 0 small Use small signal analysis Result

© 2010 Blended Integrated Circuit Systems, LLC 10 MTBF for Synchronizers Setup and Hold Region Clock Data Distribution of Data Events tt vv 0 T C TCTC 0.67V DD 0.33V DD t The probability of failure is the probability that the synchronizer output is unresolved at the next clock edge: V1V1 2V e Resolved Not Resolved With a uniform distribution of data events in a clock period From the definitions of G tv and the circuit model we see that

© 2010 Blended Integrated Circuit Systems, LLC 11 MTBF Based on Aperture Time Setup and Hold Region Clock Data Distribution of Data Events tata vv 0 t cy t cy V DD 0.33V DD t The probability of failure is the probability that the synchronizer output is unresolved at the next clock edge: V1V1 2V e Resolved Not Resolved

© 2010 Blended Integrated Circuit Systems, LLC 12 Synchronizer Failure Trend System failures due to synchronizer failures have been rare, but will be more likely in future –Many more synchronizers in use (Moore’s Law) Systems with 100s of synchronizers, perhaps 1000s soon Systems with synchronizers in million-fold production –Small changes in V t cause large changes in  Growing parameter variability in nano-scale circuits –In an IBM 90 nm process V t varies for 0.4 to 0.58 volts Transistor aging increases vulnerability –An ASU model shows V t increasing by 5% over 5 years –Clock domains may not have uncorrelated clocks

© 2010 Blended Integrated Circuit Systems, LLC 13 Is There A Perfect Solution? Theoretical results show metastability is a fundamental problem of all bi-stable circuits Failures caused by metastability are always a possibility – between two independently clocked domains – between a clock domain and outside world One solution uses asynchronous circuits, but real-time applications may still be problematic Another solution uses synchronizer circuits and designers must hope failures are rare

© 2010 Blended Integrated Circuit Systems, LLC 14 Completion Detection It is not possible to bound the amount of time needed for a synchronizer to settle. It is, however, possible to detect when the synchronizer has settled! This is only useful if the downstream logic can use this asynchronous completion signal

© 2010 Blended Integrated Circuit Systems, LLC 15 What Could Go Wrong? It’s easy to get a synchronizer design wrong The three most common pitfalls are: –using a non-restoring (or slowly restoring) flip-flop  needs to be small –not isolating the flip-flop feedback loop –Using two flip-flops in parallel The last pitfall is doing everything “right” but not understanding that influences MTBF!

© 2010 Blended Integrated Circuit Systems, LLC 16 Correlated Clocks Osc. PLL A Core A PLL B Sync.Core B Although Cores A and B may be clocked at different rates, these rates are based on the same oscillator and are thus correlated. This relationship between the synchronizer’s clock and data inputs can be very malicious.

© 2010 Blended Integrated Circuit Systems, LLC 17 Correlated Clocks & Noise The effects of correlated clocks and the effects of noise can be approached similarly. As we will see, circuit noise may be treated as one case of correlated clocks.

© 2010 Blended Integrated Circuit Systems, LLC 18 Region of Vulnerability:  t Setup and Hold Region Clock Data Distribution of Data Events tt  v =  tG tv G tv = 0 T C TCTC 0.67V DD 0.33V DD V m = ½V DD t

© 2010 Blended Integrated Circuit Systems, LLC 19 Malicious Data Events Setup and Hold Region Clock Data tt  tG tv 0 T C 0.67V DD 0.33V DD TDTD t Distribution of Data Events  T D G tv V m = ½V DD

© 2010 Blended Integrated Circuit Systems, LLC 20 Malicious Data Events Even More Malicious Setup and Hold Region Clock Data tt  tG tv 0 T C 0.67V DD 0.33V DD TDTD t Distribution of Data Events  T D G tv V m = ½V DD

© 2010 Blended Integrated Circuit Systems, LLC 21 Effects of Thermal Noise 0.67V DD 0.33V DD * = Input Distribution of Data Events Thermal Noise Resultant Distribution Bottom Line: Thermal noise pushes as many events into the window of vulnerability as is pushes out. V m = ½V DD 0 T C t

© 2010 Blended Integrated Circuit Systems, LLC 22 Upper Bound on P unresolved * = Input Distribution of Data Events Thermal Noise Resultant Distribution Bottom Line: Thermal noise establishes an upper bound on P unresolved and a lower bound on MTBF What happens when T d is very small? 0.67V DD 0.33V DD V m = ½V DD 0 T C t

© 2010 Blended Integrated Circuit Systems, LLC 23 Calculating MTBF Always a stochastic calculation –Assume clock and data unrelated –If related, thermal noise gives lower bound E.g. clock and data from same source or clockless Thermal noise voltage standard deviation: –This lower bound is 2 to 3 orders of magnitude smaller than when clock and data are unrelated

© 2010 Blended Integrated Circuit Systems, LLC 24 MTBF Affects System Behavior Assume: –Desired probability of system failure = 1 : 2,000,000 –System lifetime is 30 years (~ 10 9 sec) –System has 50 processors with 10 synchronizers each Then: –Need MTBF of 30 billion years (3·10 10 ) per synchronizer But: –Corner cases can further reduce needed MTBF –If clock and data are related, must use lower bound set by thermal noise: MTBF n Unwise to use conventional MTBF formula without understanding its limitations

© 2010 Blended Integrated Circuit Systems, LLC nm process  =39.83 ps, G tv =0.375 V/ns, f d = 133 MHz 125 ps setup time assumed MTBF ranges from 1 day to 9.7·10 37 years MTBF n ranges from 11.5 minutes to 2.1·10 35 years Master-Slave DFF MTBF Examples

© 2010 Blended Integrated Circuit Systems, LLC MHz Clock; 90 nm process, 125 ps setup time MTBF ranges from 5.07·10 4 years to 4.16· years MTBF n ranges from 112 years to 1.09· years Parameter Variations in Master-Slave Process-Voltage-Temperature 200 MHz

© 2010 Blended Integrated Circuit Systems, LLC MHz Clock; 90 nm process, 125 ps setup time Latch Versus Master-Slave FF MHz