SoC Clock Synchronizers Project Elihai Maicas Harel Mechlovitz Characterization Presentation.

Slides:



Advertisements
Similar presentations
Bus arbitration Processor and DMA controllers both need to initiate data transfers on the bus and access main memory. The device that is allowed to initiate.
Advertisements

Clock Domain Crossing (CDC)
Serial Communications Interface (SCI) Michael LennardZachary PetersBao Nguyen.
1 Lecture 16 Timing  Terminology  Timing issues  Asynchronous inputs.
Counters.
Systematic method for capturing “design intent” of Clock Domain Crossing (CDC) logic in constraints Ramesh Rajagopalan Cisco Systems.
Sumitha Ajith Saicharan Bandarupalli Mahesh Borgaonkar.
Timing Override Verification (TOV) Erik Seligman CS 510, Lecture 18, March 2009.
Aug Data/Clock Synchronization Fourteen ways to fool your synchronizer Ginosar, R.; Asynchronous Circuits and Systems, Proceedings. Ninth International.
1 Introduction Sequential circuit –Output depends not just on present inputs (as in combinational circuit), but on past sequence of inputs Stores bits,
ELEC 256 / Saif Zahir UBC / 2000 Timing Methodology Overview Set of rules for interconnecting components and clocks When followed, guarantee proper operation.
Module 12.  In Module 9, 10, 11, you have been introduced to examples of combinational logic circuits whereby the outputs are entirely dependent on the.
+ CS 325: CS Hardware and Software Organization and Architecture Sequential Circuits 1.
Serial Buses. Serial Bus Features Allows several devices to be connected to a set of common signal wires Reduces inter-connections and complexity Asynchronous.
EE365 Adv. Digital Circuit Design Clarkson University Lecture #13 Clock Skew & Synchronization.
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.
Parallel I/O Interface Memory CPUI/OTransducer Actuator Output Device Input Device Parallel Interface Microprocessor / Microcontroller Direct memory access(DMA)
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.
Technical Seminar on Timing Issues in Digital Circuits
Assume array size is 256 (mult: 4ns, add: 2ns)
Synchronizers for Low Latency Clock Domain Transfer
Spring EE 316 Computer Engineering Junior Lab Designing State machines for a numeric Keypad.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 6 –Selected Design Topics Part 3 – Asynchronous.
Automatic Verification of Timing Constraints Asli Samir – JTag course 2006.
Sequential Logic 1  Combinational logic:  Compute a function all at one time  Fast/expensive  e.g. combinational multiplier  Sequential logic:  Compute.
Embedded Systems Hardware:
Asynchronous Input Example Program counter normally increments, jumps to address of interrupt subroutine on asynchronous interrupt How many states can.
Registers  Flip-flops are available in a variety of configurations. A simple one with two independent D flip-flops with clear and preset signals is illustrated.
1 Synchronization of complex systems Jordi Cortadella Universitat Politecnica de Catalunya Barcelona, Spain Thanks to A. Chakraborty, T. Chelcea, M. Greenstreet.
CSE 140L Lecture 6 Interface and State Assignment Professor CK Cheng CSE Dept. UC San Diego 1.
Adapting Synchronizers to the Effects of On-Chip Variability David Kinniment Alex Yakovlev Jun Zhou Gordon Russell Presented by Dmitry Verbitsky.
Embedded Systems Hardware: Storage Elements; Finite State Machines; Sequential Logic.
COMPUTER ARCHITECTURE & OPERATIONS I Instructor: Hao Ji.
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)
Sequential Circuit  It is a type of logic circuit whose output depends not only on the present value of its input signals but on the past history of its.
Electronic Counters.
A presentation on Counters
Flip-Flop Applications
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.
Digital Design Strategies and Techniques. Analog Building Blocks for Digital Primitives We implement logical devices with analog devices There is no magic.
Lecture 5. Sequential Logic 3 Prof. Taeweon Suh Computer Science Education Korea University 2010 R&E Computer System Education & Research.
© 2003 Xilinx, Inc. All Rights Reserved FPGA Design Techniques.
Low Latency Clock Domain Transfer for Simultaneously Mesochronous, Plesiochronous and Heterochronous Interfaces Wade Williams Philip Madrid, Scott C. Johnson.
ECS 152A 4. Communications Techniques. Asynchronous and Synchronous Transmission Timing problems require a mechanism to synchronize the transmitter and.
I/O Interfacing A lot of handshaking is required between the CPU and most I/O devices. All I/O devices operate asynchronously with respect to the CPU.
© 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.
CHAPTER 8 - COUNTER -.
Accessing I/O Devices Processor Memory BUS I/O Device 1 I/O Device 2.
Reading Assignment: Rabaey: Chapter 9
Clock in Digital Systems. Combinational logic circuit A combinational logic circuit is one whose outputs depend only on its current inputs
Introduction to Clock Tree Synthesis
Contemporary DRAM memories and optimization of their usage Nebojša Milenković and Vladimir Stanković, Faculty of Electronic Engineering, Niš.
Penn ESE370 Fall DeHon 1 ESE370: Circuit-Level Modeling, Design, and Optimization for Digital Systems Day 20: October 25, 2010 Pass Transistors.
Counters In digital logic and computing, a counter is a device which stores (and sometimes displays) the number of times a particular event or process.
TOPIC : Introduction to Sequential Circuits UNIT 1: Modeling and Simulation Module 4 : Modeling Sequential Circuits.
Govt. Engineering College- Gandhinagar. It is all about……  STATE MACHINE.
Overview Part 1 – The Design Space
Clock in Digital Systems
Clock Domain Crossing Keon Amini.
Elec 2607 Digital Switching Circuits
ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN
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:

SoC Clock Synchronizers Project Elihai Maicas Harel Mechlovitz Characterization Presentation

Presentation Agenda: The synchronization problem The synchronization problem Project motivation Project motivation Synchronization classifications Synchronization classifications Various solutions Various solutions Our goals Our goals Timeline Timeline

The synchnization problem Large chips have multiple clock domains because: Large chips have multiple clock domains because: Chip interfaces with several unrelated blocks Chip interfaces with several unrelated blocks Chip has inner IPs that require different frequency Chip has inner IPs that require different frequency Chip size is growing, what makes it hard to design one LARGE single clock Chip size is growing, what makes it hard to design one LARGE single clock And more … And more …

The synchnization problem Example: A communication Hub Example: A communication Hub

The synchnization problem When spreading out the problem, it comes to transfer data from transmitter to receiver: When spreading out the problem, it comes to transfer data from transmitter to receiver: Given that ckA and ckB are not from the same clock domain, there is a probability that the receiver won ’ t sample the data correctly Given that ckA and ckB are not from the same clock domain, there is a probability that the receiver won ’ t sample the data correctly Metastability Metastability ts/th issues ts/th issues Duplicate / dropped samples Duplicate / dropped samples

The synchnization problem What is the probability of this unfortunate situation to occur ? In general, the probability of synchronization failure can be calculated as follows: P(failure) = P(enter metastable state) · P(still in metastable state after tw)

The synchnization problem Flip-flop can enter a metastable state, when its data input D changes the state during the aperture time or sampling window of the flip-flop Probability of an input transition to occur during the sampling window is computed by dividing the apeture time ta by the clock period tcy

Project motivation Sync problems become more and more frequent in the industry Sync problems become more and more frequent in the industry Common knowledge is quite insufficient Common knowledge is quite insufficient Solutions are not well categorized Solutions are not well categorized Too little do we know about the various solutions Too little do we know about the various solutions Common synchronization mistakes Common synchronization mistakes Some of the solutions were never looked at closely for proper correctness checking Some of the solutions were never looked at closely for proper correctness checking

Synchronization classification We can classify different synchronization problems to number of groups: We can classify different synchronization problems to number of groups:

Synchronization classifications Mesochronous Mesochronous Phase difference stays constant Phase difference stays constant We could have a problem if clkB came too fast after clkA (not allowing proper ts), or too slow (not allowing th) We could have a problem if clkB came too fast after clkA (not allowing proper ts), or too slow (not allowing th)

Synchronization classifications Plesiochronous Plesiochronous Phase difference drifts Phase difference drifts ∆f< ε ∆f< ε Other Other Every few cycles we might have a sync problem needs to be solved Every few cycles we might have a sync problem needs to be solved

Synchronization classifications Periodic Periodic Events are periodic, therefore enables prediction Events are periodic, therefore enables prediction The sychronizer can detect a conflict enough time a head for the resualt to be ready on time The sychronizer can detect a conflict enough time a head for the resualt to be ready on time

Synchronization classifications Asynchronous Asynchronous Communication between two asynchronic blocks Communication between two asynchronic blocks Sampling asynchronic signals (real-world input devices) for a synchronized block Sampling asynchronic signals (real-world input devices) for a synchronized block Synchronization is required when the outputs or output events depend on the order in which input events are received Synchronization is required when the outputs or output events depend on the order in which input events are received Asynchronous design is sometimes selected for eliminating the need for synchronization Asynchronous design is sometimes selected for eliminating the need for synchronization

Various solutions General solution General solution The Two-FF synchronizer AKA Brute-Force synchronizer The Two-FF synchronizer AKA Brute-Force synchronizer The first flop samples signal A The first flop samples signal A AW has a high probability of being in a metastable state AW has a high probability of being in a metastable state The second flop samples AW after a large waiting time allowing the metastable state to decay The second flop samples AW after a large waiting time allowing the metastable state to decay

Various solutions Mesochronous solution Mesochronous solution By delaying the clock with the actual phase difference, one of the registers will sample correctly By delaying the clock with the actual phase difference, one of the registers will sample correctly

Various solutions Plesiochronous solution Plesiochronous solution Using FIFO synchronizer, we can keep all timing needed for right sample Using FIFO synchronizer, we can keep all timing needed for right sample

Various solutions Periodic solution Periodic solution Using prediction for shorter latency Using prediction for shorter latency Result (unsafe signal) is ready by the time input arrives Result (unsafe signal) is ready by the time input arrives

Various solutions Asynchronous solution Asynchronous solution Both clocks are aperiodic Both clocks are aperiodic Advantages Advantages Lower probability of synchronization failure Lower probability of synchronization failure Inherent flow-control Inherent flow-control

Our goals Our main goal is to compare between various synchronization methods, with the following criteria: Our main goal is to compare between various synchronization methods, with the following criteria: Latency Latency Area Area Power Power Simplicity Simplicity Plug-n-play Plug-n-play Categorize the various solutions and give certain parameters for the choosing process of a synchronizer Categorize the various solutions and give certain parameters for the choosing process of a synchronizer

Our goals In addition, we will check correctness of above circuits with the following circuit: In addition, we will check correctness of above circuits with the following circuit:

Timeline

Timeline

Timeline

Q & A