1 EE365 Synchronous Design Methodology Asynchronous Inputs Synchronizers and Metastability.

Slides:



Advertisements
Similar presentations
Clock Domain Crossing (CDC)
Advertisements

CS370 – Spring 2003 Hazards/Glitches. Time Response in Combinational Networks Gate Delays and Timing Waveforms Hazards/Glitches and How To Avoid Them.
ECE C03 Lecture 71 Lecture 7 Delays and Timing in Multilevel Logic Synthesis Hai Zhou ECE 303 Advanced Digital Design Spring 2002.
1 Lecture 16 Timing  Terminology  Timing issues  Asynchronous inputs.
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.
ECE C03 Lecture 81 Lecture 8 Memory Elements and Clocking Hai Zhou ECE 303 Advanced Digital Design Spring 2002.
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.
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.
Chapter #6: Sequential Logic Design
1 EE121 John Wakerly Lecture #8 Sequential Circuits Flip-flops Sequential PALs.
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.
Ch 8. Sequential logic design practices 1. Documentation standards ▶ general requirements : signal name, logic symbol, schematic logic - state machine.
Chapter 6 –Selected Design Topics Part 2 – Propagation Delay and Timing Logic and Computer Design Fundamentals.
EE365 Adv. Digital Circuit Design Clarkson University Lecture #13 Clock Skew & Synchronization.
Digital Digital: Chapter 8. Sequential Logic Design Practices 1 Chapter 8. Sequential Logic Design Practices.
1 Lecture 28 Timing Analysis. 2 Overview °Circuits do not respond instantaneously to input changes °Predictable delay in transferring inputs to outputs.
Z. Feng MTU EE4800 CMOS Digital IC Design & Analysis EE4800 CMOS Digital IC Design & Analysis Lecture 11 Sequential Circuit Design Zhuo Feng.
Introduction to CMOS VLSI Design Lecture 19: Design for Skew David Harris Harvey Mudd College Spring 2004.
Sequential Logic 1 clock data in may changestable data out (Q) stable Registers  Sample data using clock  Hold data between clock cycles  Computation.
Introduction to CMOS VLSI Design Clock Skew-tolerant circuits.
Reconfigurable Computing - Clocks John Morris Chung-Ang University The University of Auckland ‘Iolanthe’ at 13 knots on Cockburn Sound, Western Australia.
EE141 © Digital Integrated Circuits 2nd Timing Issues 1 Digital Integrated Circuits A Design Perspective Timing Issues Jan M. Rabaey Anantha Chandrakasan.
1 EE121 John Wakerly Lecture #16 Synchronous Design Methodology Asynchronous Inputs Synchronizers and Metastability.
Parallel I/O Interface Memory CPUI/OTransducer Actuator Output Device Input Device Parallel Interface Microprocessor / Microcontroller Direct memory access(DMA)
The clock 10/23/20081ECE Lecture. Clocking Issues Clock Skew Gating the clock Section 8.8 of text 10/23/20082ECE Lecture.
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.
Clock Design Adopted from David Harris of Harvey Mudd College.
CMPUT Computer Organization and Architecture II1 CMPUT329 - Fall 2003 TopicE: Clock Skew and Clock Gating José Nelson Amaral.
RTL Hardware Design by P. Chu Chapter 161 Clock and Synchronization.
Assume array size is 256 (mult: 4ns, add: 2ns)
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 6 –Selected Design Topics Part 3 – Asynchronous.
11/19/2004EE 42 fall 2004 lecture 341 Lecture #34: data transfer Last lecture: –Example circuits –shift registers –Adders –Counters This lecture –Communications.
Embedded Systems Hardware:
Asynchronous Input Example Program counter normally increments, jumps to address of interrupt subroutine on asynchronous interrupt How many states can.
CSE 140L Lecture 6 Interface and State Assignment Professor CK Cheng CSE Dept. UC San Diego 1.
11/15/2004EE 42 fall 2004 lecture 321 Lecture #32 Registers, counters etc. Last lecture: –Digital circuits with feedback –Clocks –Flip-Flops This Lecture:
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.
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)
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.
03/30/031 ECE 551: Digital System Design & Synthesis Lecture Set 9 9.1: Constraints and Timing 9.2: Optimization (In separate file)
Digital System Bus A bus in a digital system is a collection of (usually unbroken) signal lines that carry module-to-module communications. The signals.
Introduction to Sequential Logic Design Flip-flops.
Copyright © 1997 Altera Corporation 9/12/97 Asynchronous vs Synchronous Circuit Design Danny Mok Altera HK FAE
Counter Application (Part B) By : Pn Siti Nor Diana Ismail CHAPTER 3.
EEE2243 Digital System Design Chapter 7: Advanced Design Considerations by Muhazam Mustapha, extracted from Intel Training Slides, April 2012.
© 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.
Computer Architecture Lecture 4 Sequential Circuits Ralph Grishman September 2015 NYU.
Topic: Sequential Circuit Course: Logic Design Slide no. 1 Chapter #6: Sequential Logic Design.
How Computers Work Lecture 8 Page 1 How Computers Work Lecture 8 Asynchronous State Machines and Metastability.
1 COMP541 Sequential Circuits Montek Singh Feb 1, 2007.
SoC Clock Synchronizers Project Elihai Maicas Harel Mechlovitz Characterization Presentation.
FPGA-Based System Design: Chapter 6 Copyright  2004 Prentice Hall PTR Topics n Low power design. n Pipelining.
Clocking System Design
EE 466/586 VLSI Design Partha Pande School of EECS Washington State University
THEMIS Instrument CDR 1 UCB, April 20, 2004 Actel Reliability Critical Design Review Robert Abiad University of California - Berkeley.
Chapter #6: Sequential Logic Design
Digital Design Jeff Kautzer Univ Wis Milw.
Clock Domain Crossing Keon Amini.
332:578 Deep Submicron VLSI Design Lecture 14 Design for Clock Skew
ECE 352 Digital System Fundamentals
Lecture 19 Logistics Last lecture Today
Synchronous Digital Design Methodology and Guidelines
Synchronous Digital Design Methodology and Guidelines
Presentation transcript:

1 EE365 Synchronous Design Methodology Asynchronous Inputs Synchronizers and Metastability

2 Synchronous System Structure Everything is clocked by the same, common clock

3 Typical synchronous-system timing Outputs have one complete clock period to propagate to inputs. Must take into account flip-flop setup times at next clock period.

4 Clock Skew –Clock signal may not reach all flip-flops simultaneously. –Output changes of flip-flops receiving “early” clock may reach D inputs of flip-flops with “late” clock too soon. Reasons for slowness: (a) wiring delays (b) capacitance (c) incorrect design

5 Clock-skew calculation t ffpd(min) + t comb(min)  t hold  t skew(max) > 0 First two terms are minimum time after clock edge that a D input changes Hold time is earliest time that the input may change Clock skew subtracts from the available hold-time margin Compensating for clock skew: –Longer flip-flop propagation delay –Explicit combinational delays –Shorter (even negative) flip-flop hold times

6 Example of bad clock distribution

7 Clock distribution in ASICs This is what a typical ASIC router will do if you don’t lay out the clock by hand.

8 “Clock-tree” solution Often laid out by hand Wide,fast metal (low R ==> fast RC time constant)

9 Gating the clock Definitely a no-no –Glitches possible if control signal (CLKEN) is generated by the same clock –Excessive clock skew in any case.

10 If you really must gate the clock...

11 Asynchronous inputs Not all inputs are synchronized with the clock Examples: –Keystrokes –Sensor inputs –Data received from a network (transmitter has its own clock) Inputs must be synchronized with the system clock before being applied to a synchronous system.

12 A simple synchronizer

13 Only one synchronizer per input

14 Even worse Combinational delays to the two synchronizers are likely to be different.

15 The way to do it One synchronizer per input Carefully locate the synchronization points in a system. But still a problem -- the synchronizer output may become metastable when setup and hold time are not met.

16 Recommended synchronizer design Hope that FF1 settles down before “META” is sampled. –In this case, “SYNCIN” is valid for almost a full clock period. –Can calculate the probability of “synchronizer failure” (FF1 still metastable when META sampled)

17 Metastability decision window

18 Metastability resolution time

19 Flip-flop metastable behavior Probability of flip-flop output being in the metastable state is an exponentially decreasing function of t r (time since clock edge, a.k.a. “resolution time”). Stated another way, MTBF(t r ) = exp(t r /  ) / [T 0 f a], where  and T 0 are parameters for a particular flip-flop, f is the clock frequency, and a is the number of asynchronous transitions / sec

20 Typical flip-flop metastability parameters exp(t r /  ) ________ [T 0 f a] MTBF = MTBF = 1000 yrs. F = 25 MHz a = 100 KHz t r = ?

21 Is 1000 years enough? If MTBF = 1000 years and you ship 52,000 copies of the product, then some system experiences a mysterious failure every week. Real-world MTBFs must be much higher. How to get better MTBFs? –Use faster flip-flops But clock speeds keep getting faster, thwarting this approach. –Wait for multiple clock ticks to get a longer metastabilty resolution time Waiting longer usually doesn’t hurt performance …unless there is a critical “round-trip” handshake.

22 Multiple-cycle synchronizer Clock-skew problem

23 Deskewed multiple-cycle synchronizer Necessary in really high-speed systems DSYNCIN is valid for almost an entire clock period.