1 Synchronization of complex systems Jordi Cortadella Universitat Politecnica de Catalunya Barcelona, Spain Thanks to A. Chakraborty, T. Chelcea, M. Greenstreet.

Slides:



Advertisements
Similar presentations
COE 405 Sequential Circuit Design Review
Advertisements

1 Lecture 16 Timing  Terminology  Timing issues  Asynchronous inputs.
Data Synchronization Issues in GALS SoCs Rostislav (Reuven) Dobkin and Ran Ginosar Technion Christos P. Sotiriou FORTH ICS- FORTH.
Aug Data/Clock Synchronization Fourteen ways to fool your synchronizer Ginosar, R.; Asynchronous Circuits and Systems, Proceedings. Ninth International.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE VLSI System Design Lecture 10 - Communicating.
Finite State Machine (FSM)  When the sequence of actions in your design depend on the state of sequential elements, a finite state machine (FSM) can be.
Introduction to Sequential Logic Design Latches. 2 Terminology A bistable memory device is the generic term for the elements we are studying. Latches.
ELEC 256 / Saif Zahir UBC / 2000 Timing Methodology Overview Set of rules for interconnecting components and clocks When followed, guarantee proper operation.
Digital Logic Chapter 5 Presented by Prof Tim Johnson
CPS3340 COMPUTER ARCHITECTURE Fall Semester, /23/2013 Lecture 7: Computer Clock & Memory Elements Instructor: Ashraf Yaseen DEPARTMENT OF MATH &
Avshalom Elyada, Ran GinosarPipeline Synchronization 1 A Unique and Successfully Implemented Approach to the Synchronization Problem Based on the article.
Digital Logic Circuits (Part 2) Computer Architecture Computer Architecture.
Presenter : Ching-Hua Huang 2012/4/16 A Low-latency GALS Interface Implementation Yuan-Teng Chang; Wei-Che Chen; Hung-Yue Tsai; Wei-Min Cheng; Chang-Jiu.
Elastic circuits Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona EMicro 2013.
Synchronization Hierarchy & Some Ways to Fool Your Synchronizer University of Tehran VLSI Course By: Mahshid Sedghy.
Sequential Logic 1 clock data in may changestable data out (Q) stable Registers  Sample data using clock  Hold data between clock cycles  Computation.
1 EE121 John Wakerly Lecture #16 Synchronous Design Methodology Asynchronous Inputs Synchronizers and Metastability.
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.
Assume array size is 256 (mult: 4ns, add: 2ns)
How Computers Work Lecture 6 Page 1 How Computers Work Lecture 6 Finite State Machines.
1 ® Charles Dike Synchronization Ideas Charles E. Dike Intel Corporation.
© Ran Ginosar Lecture 3: Handshake Ckt Implementations 1 VLSI Architectures Lecture 3 S&F Ch. 5: Handshake Ckt Implementations.
1 A Modular Synchronizing FIFO for NoCs Vainbaum Yuri.
Synchronizers for Low Latency Clock Domain Transfer
ELEC 6200, Fall 07, Oct 24 Jiang: Async. Processor 1 Asynchronous Processor Design for ELEC 6200 by Wei Jiang.
Lecture 8: Clock Distribution, PLL & DLL
11/19/2004EE 42 fall 2004 lecture 341 Lecture #34: data transfer Last lecture: –Example circuits –shift registers –Adders –Counters This lecture –Communications.
ENGIN112 L20: Sequential Circuits: Flip flops October 20, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 20 Sequential Circuits: Flip.
Asynchronous Pipelined Ring Interconnection for SoC Final Presentation One semester project, Spring 2005 Supervisor: Nitzan Miron Students: Ziv Zeev Shwaitser.
Low-Latency Interfaces for Mixed-Timing Domains [in DAC-01] Tiberiu ChelceaSteven M. Nowick Department of Computer Science Columbia University
S. Reda EN160 SP’08 Design and Implementation of VLSI Systems (EN1600) Lecture 22: Sequential Circuit Design (1/2) Prof. Sherief Reda Division of Engineering,
11/16/2004EE 42 fall 2004 lecture 331 Lecture #33: Some example circuits Last lecture: –Edge triggers –Registers This lecture: –Example circuits –shift.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Senior Design I Lecture 15 - Handshaking.
CS 151 Digital Systems Design Lecture 20 Sequential Circuits: Flip flops.
11/15/2004EE 42 fall 2004 lecture 321 Lecture #32 Registers, counters etc. Last lecture: –Digital circuits with feedback –Clocks –Flip-Flops This Lecture:
COMPUTER ARCHITECTURE & OPERATIONS I Instructor: Hao Ji.
Avshalom Elyada, Ran GinosarPipeline Synchronization 1 Pipeline Synchronization Continued This second part is based on the recent article Bridging Clock.
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)
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.
Dr. H.v.d.Biggelaar / Mar3-Ver2 / 1 Engineering Technology Dr. H.v.d.Biggelaar March 22, 2000 State Machines in VHDL.
© 2003 Xilinx, Inc. All Rights Reserved FPGA Design Techniques.
MOUSETRAP Ultra-High-Speed Transition-Signaling Asynchronous Pipelines Montek Singh & Steven M. Nowick Department of Computer Science Columbia University,
Low Latency Clock Domain Transfer for Simultaneously Mesochronous, Plesiochronous and Heterochronous Interfaces Wade Williams Philip Madrid, Scott C. Johnson.
Introduction to Sequential Logic Design Flip-flops FSM Analysis.
© BYU 18 ASYNCH Page 1 ECEn 224 Handling Asynchronous Inputs.
Presenter : Ching-Hua Huang 2012/6/25 A High-Throughput, Metastability-Free GALS Channel Based on Pausible Clock Method Mohammad Ali Rahimian, Siamak Mohammadi,
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.
Computer Organization & Programming Chapter 5 Synchronous Components.
BR 8/991 DFFs are most common Most programmable logic families only have DFFs DFF is fastest, simplest (fewest transistors) of FFs Other FF types (T, JK)
Reading Assignment: Rabaey: Chapter 9
Advanced Digital Design GALS Design Andreas Steininger Vienna University of Technology.
SoC Clock Synchronizers Project Elihai Maicas Harel Mechlovitz Characterization Presentation.
CEC 220 Digital Circuit Design Mealy and Moore State Machines Friday, March 27 CEC 220 Digital Circuit Design Slide 1 of 16.
1 COMP541 Sequential Logic Timing Montek Singh Sep 30, 2015.
1 Bridging the gap between asynchronous design and designers Peter A. BeerelFulcrum Microsystems, Calabasas Hills, CA, USA Jordi CortadellaUniversitat.
Clocking System Design
EE 466/586 VLSI Design Partha Pande School of EECS Washington State University
CENG 241 Digital Design 1 Lecture 7 Amirali Baniasadi
Advanced Digital Design GALS Design A. Steininger Vienna University of Technology.
Ch.5 Flip Flops and Related Devices
Chapter #6: Sequential Logic Design
Learning Outcome By the end of this chapter, students are expected to refresh their knowledge on sequential logic related to HDL.
Clock Domain Crossing Keon Amini.
CSE 370 – Winter Sequential Logic-2 - 1
Lecture 19 Logistics Last lecture Today
Synchronous Digital Design Methodology and Guidelines
Synchronous Digital Design Methodology and Guidelines
Presentation transcript:

1 Synchronization of complex systems Jordi Cortadella Universitat Politecnica de Catalunya Barcelona, Spain Thanks to A. Chakraborty, T. Chelcea, M. Greenstreet and S. Nowick

2 Multiple clock domains CLK f1/f0 f2/f0 f3/f0 CLK (f0) CLK1 CLK2 CLK3 CLK0 Single clock (Mesochronous) Rational clock frequencies Independent clocks (plesiochronous if frequencies closely match)

3 The problem: metastability DQ ФTФT DQ ? D Q ФRФR ФRФR setup hold

4 Classical “synchronous” solution DQDQDQDQ ФTФT ФRФR Mean Time Between Failures f Ф :frequency of the clock f D :frequency of the data t r :resolve time available W:metastability window  :resolve time constant # FFs MTBF 1 FF 15 min 2 FF 9 days 3 FF 23 years Example

5 How to live with metastability ? Metastability cannot be avoided, it must be tolerated. Having a decent MTBF (  years) may result in a tangible impact in latency Purely asynchronous systems can be designed failure-free Synchronous and mixed synchronous-asynchronous systems need mechanisms with impact in latency But latency can be hidden in many cases …

6 Different approaches Pausible Clocks (Yun & Donohue 1996) Predict metastability-free transmission windows for domains with related clocks (Chakraborty & Greenstreet 2003) Use the waiting time in FIFOs to resolve metastability (Chelcea & Nowick 2001) And others … The term “Globally Asynchronous, Locally Synchronous” is typically used for these systems (Chapiro 1984)

7 Mutual exclusion element req1 req2 ack1 ack

8 Metastability

9 Mutual exclusion element req1 req2 ack2 ack An asynchronous data latch with MS resolver can be built similarly Metastability resolver

10 Abstraction of the MUTEX R1 R2 G1 G2 MUTEX

11 A pausible clock generator delay [δ 1, δ 2 ] Environment MUTEX

12 Pausible clocks delay [δ 1, δ 2 ] ME CLK Cntr MUTEX FF Req Ack Yun & Dooply, IEEE Trans. VLSI, Dec Moore et al., ASYNC 2002

13 STARI (Self-Timed At Receiver’s Input) Both clocks are generated from the same source The FIFO compensates for skew between transmitter and receiver M. Greenstreet, 1993

14 A Minimalist Interface FIFO reduces to latch-X and a latch controller Φ x can always be generated in such a way as to reliably transfer data from input to output Chakraborty & Greenstreet, 2002

15 A Minimalist Interface: 3 scenarios Latch-X setup & hold Latch-R setup & hold Ф x Permitted The scenario is chosen at initialization

16 A Minimalist Interface: latch controller The controller detects which transition arrives first (from Φ T and Φ R ) and generates Φ X accordingly

17 A Minimalist Interface: rational clocks

18 A Minimalist Interface: arbitrary clocks Assumption: clocks are stable Each domain estimates the other’s frequency Residual error corrected using stuff bits

19 Mixed-Timing Interfaces Asynchronous Domain Synchronous Domain 1 Synchronous Domain 2 Async-Sync FIFO Sync-Async FIFO Mixed-Clock FIFO’s Chelcea & Nowick, 2001

20 Mixed-Clock FIFO: Block Level full req_put data_put CLK_put req_get valid_get empty data_get CLK_get Mixed-Clock FIFO synchronous put inteface synchronous get interface

21 Mixed-Clock FIFO: Block Level full req_put data_put CLK_put req_get valid_get empty data_get CLK_get Mixed-Clock FIFO Bus for data items Controls get operations Initiates get operations Bus for data items synchronous put inteface synchronous get interface Initiates put operations Controls put operations

22 full req_put data_put CLK_put req_get valid_get empty data_get CLK_get Mixed-Clock FIFO synchronous put inteface synchronous get interface Indicates when FIFO empty Indicates when FIFO full Indicates data items validity (always 1 in this design) Mixed-Clock FIFO: Block Level

23 Mixed-Clock FIFO: Architecture cell Get Controller Empty Detector Full Detector Put Controller full req_put data_put CLK_put CLK_get data_get req_get valid_get empty

24 REG Mixed-Clock FIFO: Cell Implementation En f_i e_i ptok_outptok_in gtok_ingtok_out CLK_geten_getvaliddata_get CLK_puten_putreq_putdata_put SR

25 REG Mixed-Clock FIFO: Cell Implementation En f_i e_i ptok_outptok_in gtok_ingtok_out CLK_get data_get CLK_put en_putdata_put SR GET INTERFACE PUT INTERFACE en_getvalid req_put

26 Synchronization: summary Resolving metastability implies latency Latency can be often hidden (FIFOs, Chelcea & Nowick) Clock frequencies can be estimated and clock edges predicted under the assumption of stable clocks (Chakraborty & Greenstreet) Pausible clocks are also possible (Yun & Donohue 1996) But still the nicest solutions are totally asynchronous As presented by Fulcrum Microsystems in the last lecture As presented by Fulcrum Microsystems in the last lecture