Asynchronous inputs. 9 - Metastability and Clock Recovery. A simple synchronizer. Only one synchronizer per input

Similar documents
Clock and Asynchronous Signals

EE273 Lecture 11 Pipelined Timing Closed-Loop Timing November 2, Today s Assignment

FPGA TechNote: Asynchronous signals and Metastability

Synchronization Issues During Encoder / Decoder Tests


Efficient 500 MHz Digital Phase Locked Loop Implementation sin 180nm CMOS Technology

EITF35: Introduction to Structured VLSI Design

EE178 Lecture Module 4. Eric Crabill SJSU / Xilinx Fall 2005

Clock Domain Crossing. Presented by Abramov B. 1

EE178 Spring 2018 Lecture Module 5. Eric Crabill

Figure 1 shows a simple implementation of a clock switch, using an AND-OR type multiplexer logic.

EECS150 - Digital Design Lecture 10 - Interfacing. Recap and Topics

DO NOT COPY DO NOT COPY

EE241 - Spring 2005 Advanced Digital Integrated Circuits

Metastability Analysis of Synchronizer

EECS150 - Digital Design Lecture 15 Finite State Machines. Announcements

Synchronous Sequential Design

Memory Interfaces Data Capture Using Direct Clocking Technique Author: Maria George

Keeping The Clock Pure. Making The Impurities Digestible

ECEN620: Network Theory Broadband Circuit Design Fall 2014

Chapter 9. Timing Design. (Based on Chapter 7 and Chapter 8 of Wakerly) Data Path Comb. Logic. Reg. Reg. Reg C <= A + B

Clocking Spring /18/05

FIFO Memories: Solution to Reduce FIFO Metastability

Lecture 13: Clock and Synchronization. TIE Logic Synthesis Arto Perttula Tampere University of Technology Spring 2017

Memory Interfaces Data Capture Using Direct Clocking Technique Author: Maria George

Synchronizing Multiple ADC08xxxx Giga-Sample ADCs

DEDICATED TO EMBEDDED SOLUTIONS

DEPARTMENT OF ELECTRICAL &ELECTRONICS ENGINEERING DIGITAL DESIGN

Flip-Flops. Because of this the state of the latch may keep changing in circuits with feedback as long as the clock pulse remains active.

Software Engineering 2DA4. Slides 9: Asynchronous Sequential Circuits

INTEGRATED CIRCUITS. AN219 A metastability primer Nov 15

EE273 Lecture 15 Synchronizer Design

Digital System Design

Exercises. 162 CHAPTER THREE Sequential Logic Design

Outline. EECS150 - Digital Design Lecture 27 - Asynchronous Sequential Circuits. Cross-coupled NOR gates. Asynchronous State Transition Diagram

Lec 24 Sequential Logic Revisited Sequential Circuit Design and Timing

AD9884A Evaluation Kit Documentation

Chapter 9. Timing Design. (Based on Chapter 7 and Chapter 8 of Wakerly)

AN-605 APPLICATION NOTE

Lecture 8: Sequential Logic

EE273 Lecture 14 Synchronizer Design November 11, Today s Assignment

INTERNATIONAL JOURNAL OF ELECTRONICS AND COMMUNICATION ENGINEERING & TECHNOLOGY (IJECET)

Digital Phase Adjustment Scheme 0 6/3/98, Chaney. A Digital Phase Adjustment Circuit for ATM and ATM- like Data Formats. by Thomas J.

cascading flip-flops for proper operation clock skew Hardware description languages and sequential logic

GALILEO Timing Receiver

Last time, we saw how latches can be used as memory in a circuit

CS8803: Advanced Digital Design for Embedded Hardware

EEE2135 Digital Logic Design Chapter 6. Latches/Flip-Flops and Registers/Counters 서강대학교 전자공학과

PAM4 signals for 400 Gbps: acquisition for measurement and signal processing

Dual Link DVI Receiver Implementation

A 5-Gb/s Half-rate Clock Recovery Circuit in 0.25-μm CMOS Technology

Lecture #4: Clocking in Synchronous Circuits

IT T35 Digital system desigm y - ii /s - iii

Basis of sequential circuits: the R-S latch

Design and Measurement of Synchronizers

A New Hardware Implementation of Manchester Line Decoder

YEDITEPE UNIVERSITY DEPARTMENT OF COMPUTER ENGINEERING. EXPERIMENT VIII: FLIP-FLOPS, COUNTERS 2014 Fall

System IC Design: Timing Issues and DFT. Hung-Chih Chiang

Unit 9 Latches and Flip-Flops. Dept. of Electrical and Computer Eng., NCTU 1

Dac3 White Paper. These Dac3 goals where to be achieved through the application and use of optimum solutions for:

Timing Error Detection: An Adaptive Scheme To Combat Variability EE241 Final Report Nathan Narevsky and Richard Ott {nnarevsky,

CSE115: Digital Design Lecture 23: Latches & Flip-Flops

EECS150 - Digital Design Lecture 18 - Circuit Timing (2) In General...

2.6 Reset Design Strategy

Lecture 12: Clock and Synchronization. TIE Logic Synthesis Arto Perttula Tampere University of Technology Spring 2018

EECS 373 Design of Microprocessor-Based Systems

Scan. This is a sample of the first 15 pages of the Scan chapter.

Digital Electronics II 2016 Imperial College London Page 1 of 8

Clock Jitter Cancelation in Coherent Data Converter Testing

Efficient Architecture for Flexible Prescaler Using Multimodulo Prescaler

Static Timing Analysis for Nanometer Designs

Digital Design, Kyung Hee Univ. Chapter 5. Synchronous Sequential Logic

Loop Bandwidth Optimization and Jitter Measurement Techniques for Serial HDTV Systems

Data Converters and DSPs Getting Closer to Sensors

EECS150 - Digital Design Lecture 3 Synchronous Digital Systems Review. Announcements

Measurements of metastability in MUTEX on an FPGA

SDA 3302 Family. GHz PLL with I 2 C Bus and Four Chip Addresses

Report on 4-bit Counter design Report- 1, 2. Report on D- Flipflop. Course project for ECE533

CSE 352 Laboratory Assignment 3

Product Level MTBF Calculation

Ordinary Clock (OC) Application Service Interface

Quartzlock Model A7-MX Close-in Phase Noise Measurement & Ultra Low Noise Allan Variance, Phase/Frequency Comparison

Logic Analyzer Triggering Techniques to Capture Elusive Problems

ISSCC 2006 / SESSION 18 / CLOCK AND DATA RECOVERY / 18.6

25.5 A Zero-Crossing Based 8b, 200MS/s Pipelined ADC

6. Sequential Logic Flip-Flops

VLSI Clock Domain Crossing

High-Performance DDR2 SDRAM Interface Data Capture Using ISERDES and OSERDES Author: Maria George

Design of High Speed Phase Frequency Detector in 0.18 μm CMOS Process for PLL Application

DIGITAL SYSTEM FUNDAMENTALS (ECE421) DIGITAL ELECTRONICS FUNDAMENTAL (ECE422) LATCHES and FLIP-FLOPS

1. What does the signal for a static-zero hazard look like?

Clock - key to synchronous systems. Topic 7. Clocking Strategies in VLSI Systems. Latch vs Flip-Flop. Clock for timing synchronization

Fundamentals of Computer Systems

CMOS Implementation of Reliable Synchronizer for Multi clock domain System-on-chip

Clock - key to synchronous systems. Lecture 7. Clocking Strategies in VLSI Systems. Latch vs Flip-Flop. Clock for timing synchronization

BTV Tuesday 21 November 2006

L4: Sequential Building Blocks (Flip-flops, Latches and Registers)

6.S084 Tutorial Problems L05 Sequential Circuits

Serial Digital Interface II Reference Design for Stratix V Devices

A MISSILE INSTRUMENTATION ENCODER

Transcription:

9 - Metastability and Clock Recovery Asynchronous inputs We will consider a number of issues related to asynchronous inputs, multiple clock domains, clock synchronisation and clock distribution. Useful references: Chapter 8, pp757-773, Digital Design Principles & Practices, John Wakerly. Metastability in Altera Devices, Altera App Note 42. PLLs in Cyclone II Devices, Chapter 7 of Cyclone II Manual, Altera Using the Virtex Delay-Locked Loop, XAPP-132. 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. 9.1 9.2 A simple synchronizer Only one synchronizer per input 9.3 9.4

Even worse The way to do it One synchronizer per input Combinational delays to the two synchronizers are likely to be different. 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. 9.5 9.6 Recommended synchronizer design Metastability decision window 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) 9.7 9.8

Metastability resolution time 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, i.e. resolution time ). Stated another way, exp( t / τ ) r MTBF( tr ) = To 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 9.9 9.10 MTBF versus Resolution Time (t r ) Typical flip-flop metastability parameters Changing T 0 MTBF( t exp( tr / τ ) T f a o r ) = Grad = 1/τ MTBF = 1000 yrs. F = 25 MHz a = 100 KHz t r =? 9.11 9.12

Is 1000 years enough? Multiple-cycle synchronizer 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. Clock-skew problem 9.13 9.14 Deskewed multiple-cycle synchronizer 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. Necessary in really high-speed systems DSYNCIN is valid for almost an entire clock period. Reasons for slowness: (a) wiring delays (b) capacitance (c) incorrect design 9.15 9.16

Clock-skew calculation Example of bad clock distribution 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 9.17 9.18 Multiple Clock Domains Example: Classical clock recovery Many digital systems have more than one clock domains:- Clocking information embedded in data stream Use PLL to recover the clock State of system is stored in analog loop filter Needs to synchronise the two clock domains using two basic building blocks: Phase-locked loop (PLL) Delay-locked loop (DLL) 9.19 9.20

Oversampled Clock/Data Recovery Phase Alignment in Source Synchronous Systems Oversample the data and perform phase alignment digitally De-couples clock generation from tracking of data Data must guarantee transitions to ensure tracking Timing information carried by reference clock Use DLL to ensure proper clock phase for sampling 9.21 9.22 What is a Delay locked loop? What is Phase locked loop? First order loop: easily stabilized frequency synthesis is difficult reference clock jitter passes to output no phase error accumulation 2nd/3rd order loop: stability could be an issue frequency multiplication is easy reference clock jitter reduced by filtering phase error accumulation 9.23 9.24

Timing Loop Performance Parameters Clock Management with DLL Phase Jitter: Can eliminate on-chip clock delay can also eliminate on-board clock delay 4 fixed-phase outputs (0, 90, 180, 270 ) Selectable phase shift ( n / 256 of the period) Phase Offset Error between output phase and reference phase Bandwidth through configuration or through increment/decrement 1/256 of clock period or 50 picosecond granularity Frequency synthesis (division and multiplication) Outputs are always phase-coherent rate at which output phase tracks reference Acquisition time (to lock) Frequency range (lock range) Solves the speed problem of large chips 9.25 9.26 DLL in Xilinx Virtex data/clock alignment Xilinx DLL with various phase outputs 9.27 9.28

Using DLL in a standard way Using DLL to de-skew onboard clock signals 9.29 9.30 Altera Cyclone II PLL (1) Altera Cyclone II PLL (2) Phase-locked loop (PLL) is a closed-loop frequency-control system based on the phase difference between the input clock signal and the feedback clock signal of a controlled oscillator. Main components: Phase frequency detector (PFD) Charge pump & loop filter Voltage controlled oscillator (VCO) Counters (N pre-scale, M feedback, C post-scale) PLL aligns the rising edge of reference input clock to feedback clock using the PFD. PFD detects difference in phase and frequency between reference clock and feedback clock and generates an up or down control signal based on whether the feedback frequency is lagging or leading the reference frequency. If the charge pump receives an up signal, current is driven into the loop filter, otherwise, current is drawn from the loop filter. Loop filter converts these up down signals to a control voltage to control the oscillation frequency of the voltage controlled oscillator (VCO). Feedback loop counter (M) is used to increase VCO frequency above input reference frequency. Pre-scale counter (N) is used to produce the reference frequency from F IN. The post-scale counters (C) allows a number of harmonically related frequencies be generated from one common clock. 9.31 9.32

Altera Cyclone II PLL (3) The output frequency is given by: 9.33