Synchronization Hierarchy & Some Ways to Fool Your Synchronizer University of Tehran VLSI Course By: Mahshid Sedghy.

Slides:



Advertisements
Similar presentations
VHDL 5 FINITE STATE MACHINES (FSM) Some pictures are obtained from FPGA Express VHDL Reference Manual, it is accessible from the machines in the lab at.
Advertisements

D Flip-Flop.
Clock Domain Crossing (CDC)
1 Lecture 16 Timing  Terminology  Timing issues  Asynchronous inputs.
Finite State Machines (FSMs)
Data Synchronization Issues in GALS SoCs Rostislav (Reuven) Dobkin and Ran Ginosar Technion Christos P. Sotiriou FORTH ICS- FORTH.
Registers and Counters
Systematic method for capturing “design intent” of Clock Domain Crossing (CDC) logic in constraints Ramesh Rajagopalan Cisco Systems.
Aug Data/Clock Synchronization Fourteen ways to fool your synchronizer Ginosar, R.; Asynchronous Circuits and Systems, Proceedings. Ninth International.
ELEC 256 / Saif Zahir UBC / 2000 Timing Methodology Overview Set of rules for interconnecting components and clocks When followed, guarantee proper operation.
Penn ESE370 Fall DeHon 1 ESE370: Circuit-Level Modeling, Design, and Optimization for Digital Systems Day 24: November 4, 2011 Synchronous Circuits.
CPS3340 COMPUTER ARCHITECTURE Fall Semester, /23/2013 Lecture 7: Computer Clock & Memory Elements Instructor: Ashraf Yaseen DEPARTMENT OF MATH &
ReturnNext  Latch : a sequential device that watches all of its inputs continuously and changes its outputs at any time, independent of a clocking signal.
Circuits require memory to store intermediate data
DAC IP Track Submission CDC aware power reduction for Soft IPs Ritesh Agarwal (Freescale™) Amit Goldie (Atrenta) Freescale Semiconductor Confidential.
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.
Technical Seminar on Timing Issues in Digital Circuits
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE VLSI System Design Lecture 7 - Synchronizers.
ENGIN112 L28: Timing Analysis November 7, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 28 Timing Analysis.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 6 –Selected Design Topics Part 3 – Asynchronous.
ENGIN112 L20: Sequential Circuits: Flip flops October 20, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 20 Sequential Circuits: Flip.
Embedded Systems Hardware:
Give qualifications of instructors: DAP
1 Synchronization of complex systems Jordi Cortadella Universitat Politecnica de Catalunya Barcelona, Spain Thanks to A. Chakraborty, T. Chelcea, M. Greenstreet.
CS 151 Digital Systems Design Lecture 20 Sequential Circuits: Flip flops.
Embedded Systems Hardware: Storage Elements; Finite State Machines; Sequential Logic.
ENGIN112 L26: Shift Registers November 3, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 26 Shift Registers.
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 Sequential Circuits Registers and Counters. 2 Master Slave 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.
CS3350B Computer Architecture Winter 2015 Lecture 5.2: State Circuits: Circuits that Remember Marc Moreno Maza [Adapted.
© BYU 18 ASYNCH Page 1 ECEn 224 Handling Asynchronous Inputs.
RTL Hardware Design by P. Chu Chapter Overview on sequential circuits 2. Synchronous circuits 3. Danger of synthesizing asynchronous circuit 4.
Digital Logic Design Lecture # 21 University of Tehran.
Multiple Clock Domains (MCD) Continued … Arvind with Nirav Dave Computer Science & Artificial Intelligence Lab Massachusetts Institute of Technology November.
Computer Organization & Programming Chapter 5 Synchronous Components.
Reading Assignment: Rabaey: Chapter 9
1 CDC Clock Domain Crossing. 2 Outline Introduction Introduction Basic terminology Basic terminology Types of synchronizers Types of synchronizers CDC.
ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN Dr. Shi Dept. of Electrical and Computer Engineering.
EE141 Timing Issues 1 Chapter 10 Timing Issues Rev /11/2003.
VHDL Workshop FSM. FSM-Smart Counter Requirements Receives a start signal. When start signal goes high, starts to count from zero: reset value – 0, first.
Computer Architecture & Operations I
LATCHES AND FLIP-FLOPS
Class Exercise 1B.
Overview Part 1 – The Design Space
Flip-FLops and Latches
D Flip-Flop.
Flip-FLops and Latches
Introduction to Sequential Logic Design
ECE Digital logic Lecture 16: Synchronous Sequential Logic
Flip-FLops and Latches
332:437 Lecture 12 Finite State Machine Design
Clock Domain Crossing Keon Amini.
CSE 370 – Winter Sequential Logic-2 - 1
Limitations of STA, Slew of a waveform, Skew between Signals
Flip-FLops and Latches
Introduction to Static Timing Analysis:
Flip-FLops and Latches
ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN
CSE 370 – Winter Sequential Logic - 1
Lecture 16 Logistics Last lecture Today HW5 out, due next wednesday
Metastability - When Good Flip-Flop Goes Bad: Causes and Cure
Lecture 16 Logistics Last lecture Today HW5 out, due next wednesday
1) Latched, initial state Q =1
Synchronous sequential
Synchronous Sequential
Lecture 19 Logistics Last lecture Today
Flip-FLops and Latches
Synchronous Digital Design Methodology and Guidelines
Synchronous Digital Design Methodology and Guidelines
Presentation transcript:

Synchronization Hierarchy & Some Ways to Fool Your Synchronizer University of Tehran VLSI Course By: Mahshid Sedghy

A Quick Overview Introduction Synchronization Hierarchy Mesochronous synchronizers A correct Two Flop Synchronizer Avoiding the Synchronizer The interesting synchronizers

Introduction Transferring data between mutually asynchronous clock domains requires safe synchronization Some synchronization Methods used For each level of synchronization hierarchy

Synchronization Hierarchy TypeFrequencyPhase SynchronousSame MesochronousSameConstant PlesiochronousSmall DifferenceSlowly Variation PeriodicDifferentPeriodic Variation AsynchronousN/AArbitrary

A correct Two Flop synchronizer Synchronization reliability is typically expressed in terms of Mean Time Between Failures: A Push synchronizer

Push Synchronizer logic and protocol FSM

Three synchronization scenarios a. The rising edge of R is sampled high. b. The rising edge of R is sampled low. c. The first flop goes metastable. Three possible outcomes may happen:

Avoiding the synchronizer The most common synchronization error The rate of entering metastablity is Tw*fD*fC Static timing analysis would generate setup and hold violation warnings for every signal that cross domain boundaries The error can be detected by clock domain crossing analysis The crossing lists are used as “false-path” specification

The Interesting Synchronizers 1. One Flop Synchronizer The problem comes about when there’s a clock-data conflict Is legal when T-d assures the required MTBF

The Interesting Synchronizers 2. Greedy path Synchronizer

The Interesting Synchronizers 3. Global Reset Synchronizer

The Interesting Synchronizers 4. Async Clear Synchronizer Asynchronous clear Synchronized-trail clear

The Interesting Synchronizers 5. Pulse Synchronizer

Conclusions As long as there are no foolproof algorithms and tools to validate synchronizers, the rules to safe design should be closely watched Optimizations that may impede future design reuse should be avoided. Global signals that span multiple domains, such as reset and clocks, should be examined carefully.

References Fourteen ways to Fool Your Synchronizer By :Ran Ginosar VLSI Systems Resaerch Center,Technion Israel Institue of Technology February 2003 Synchronizer Design William J. Dally Computer Systems Laboratory, Stanford University November 11, 1998