Top Banner
EE141 1 EE141 EE141 Asynchronous Asynchronous-Synchronous Synchronous Interface Interface Asynchronous system Synchronous system Synchronization f CLK f in EE141 EE141 Need of Interfacing Need of Interfacing Asynchronous design is good, but should Asynchronous design is good, but should communicate with synchronous communicate with synchronous-latency latency penalty penalty Synchronous system gets asynchronous Synchronous system gets asynchronous input from keyboard input from keyboard Even if no asynchronous modules are Even if no asynchronous modules are used, synchronous modules operating at used, synchronous modules operating at different clock rates or out of phase can different clock rates or out of phase can have the same problem. have the same problem.
23

AsynchronousAsynchronous--Synchronous Synchronous Interfaceleda.elfak.ni.ac.rs/education/PEK_stari/literatura... · 2012. 1. 20. · EE141 1 EE141 AsynchronousAsynchronous--Synchronous

Sep 07, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: AsynchronousAsynchronous--Synchronous Synchronous Interfaceleda.elfak.ni.ac.rs/education/PEK_stari/literatura... · 2012. 1. 20. · EE141 1 EE141 AsynchronousAsynchronous--Synchronous

EE141

1

EE141EE141

AsynchronousAsynchronous--Synchronous Synchronous InterfaceInterface

Asynchronoussystem

Synchronous system

Synchronization

fCLK

fin

EE141EE141

Need of InterfacingNeed of Interfacing

�� Asynchronous design is good, but should Asynchronous design is good, but should communicate with synchronouscommunicate with synchronous--latency latency penaltypenalty�� Synchronous system gets asynchronous Synchronous system gets asynchronous

input from keyboardinput from keyboard�� Even if no asynchronous modules are Even if no asynchronous modules are

used, synchronous modules operating at used, synchronous modules operating at different clock rates or out of phase can different clock rates or out of phase can have the same problem.have the same problem.

Page 2: AsynchronousAsynchronous--Synchronous Synchronous Interfaceleda.elfak.ni.ac.rs/education/PEK_stari/literatura... · 2012. 1. 20. · EE141 1 EE141 AsynchronousAsynchronous--Synchronous

EE141

2

EE141EE141

Multiple clock domainsMultiple clock domains-- it becomes increasingly difficult to distribute a single global clock to all

parts of the chip.

CLK

f1/f0

f2/f0

f3/f0

CLK(f0)

CLK

1C

LK2

CLK

3

CLK

0

Single clock(Mesochronous) Rational clock frequencies

Independent clocks(plesiochronousif frequenciesclosely match)

EE141EE141

MixedMixed--Timing InterfacesTiming Interfaces

AsynchronousDomain

SynchronousDomain 1

SynchronousDomain 2

Async-Sync FIFO

Asy

nc-Sync F

IFO

Sync-Asy

nc F

IFO

Mixed-Clock FIFO’s

Chelcea & Nowick, 2001Chelcea & Nowick, 2001

Page 3: AsynchronousAsynchronous--Synchronous Synchronous Interfaceleda.elfak.ni.ac.rs/education/PEK_stari/literatura... · 2012. 1. 20. · EE141 1 EE141 AsynchronousAsynchronous--Synchronous

EE141

3

EE141EE141

Synchronization problem

��WHEN?WHEN?----OOccurs when a synchronous circuit must synchronize an asynchronous input.�HOW?--if the clock edge arrives too close

in time to data arriving from an asynchronous circuit, the circuit may enter a meta-stable state in which its output is at neither a logic 0 or logic 1 level, but rather, lies somewhere in between.

EE141EE141

Page 4: AsynchronousAsynchronous--Synchronous Synchronous Interfaceleda.elfak.ni.ac.rs/education/PEK_stari/literatura... · 2012. 1. 20. · EE141 1 EE141 AsynchronousAsynchronous--Synchronous

EE141

4

EE141EE141

� Assume that Q is initially low and that D has recently gone high. � If D goes low again at about the same time that

CLK rises, the output Q may start to rise and then get stuck between the logic levels as it observes D falling. Should Q rise or fall?� Actually, either answer would be okay, but the

FF becomes indecisive. � At some point, Q may continue to a logic 1 level,

or it may drop to the logic 0 level. � When this happens, however, is theoretically

unbounded.

EE141EE141

� Subsequent FF looks at the synchronized input, it sees an indeterminate value. � This value may be interpreted by different

subsequent logic stages as either a logic 0 or a logic 1. This can lead the system into an illegal or incorrect state, causing the system to fail. � Such a failure is traditionally called a

synchronization failure.

Page 5: AsynchronousAsynchronous--Synchronous Synchronous Interfaceleda.elfak.ni.ac.rs/education/PEK_stari/literatura... · 2012. 1. 20. · EE141 1 EE141 AsynchronousAsynchronous--Synchronous

EE141

5

EE141EE141

Background WorkBackground Work

� The problem was largely ignored until 1966. � Even after that the synchronization

problem was not widely known or understood as several asynchronous arbiters designed in the early 1970s suffered from metastability problems

EE141EE141

Awakening Awakening

� Finally, in 1973 experimental evidence of the synchronization problem presented by Chaney and Molnar appears to have awakened the community to the problem� After this paper, a number of papers were

published that provided experimental evidence of metastability due to asynchronous inputs, and mathematical models were developed to explain the experimental results

Page 6: AsynchronousAsynchronous--Synchronous Synchronous Interfaceleda.elfak.ni.ac.rs/education/PEK_stari/literatura... · 2012. 1. 20. · EE141 1 EE141 AsynchronousAsynchronous--Synchronous

EE141

6

EE141EE141

Hard fact Hard fact

�Meta-stability in a BISTABLE is unavoidable

EE141EE141

Probability of Synchronization Failure

� An acceptance of this fact and a careful analysis of this probability is crucial in designing a reliable system

Page 7: AsynchronousAsynchronous--Synchronous Synchronous Interfaceleda.elfak.ni.ac.rs/education/PEK_stari/literatura... · 2012. 1. 20. · EE141 1 EE141 AsynchronousAsynchronous--Synchronous

EE141

7

EE141EE141

Representative plot based on measured data for the response time of a FF as a function of the arrival time of data, td, with respect to the clock

EE141EE141

� If data only changes before the setup time, tsu, and after the hold time, th, of a flip-flop, the response time, tr, is roughly constant and equal to the propagation delay through the flip-flop, tpd.� If, data arrives between the setup and hold

times, the delay increases.� In fact, if the data arrives at just the

absolutely wrong time, the response time is unbounded.

IMPORTANT OBSERVATIONSIMPORTANT OBSERVATIONS

Page 8: AsynchronousAsynchronous--Synchronous Synchronous Interfaceleda.elfak.ni.ac.rs/education/PEK_stari/literatura... · 2012. 1. 20. · EE141 1 EE141 AsynchronousAsynchronous--Synchronous

EE141

8

EE141EE141

Synchronizer: Output Synchronizer: Output Trajectories Trajectories

Single-pole model for a flip-flop

2.0

1.0

0.00 100 200 300

Vou

t

time [ps]

EE141EE141

Page 9: AsynchronousAsynchronous--Synchronous Synchronous Interfaceleda.elfak.ni.ac.rs/education/PEK_stari/literatura... · 2012. 1. 20. · EE141 1 EE141 AsynchronousAsynchronous--Synchronous

EE141

9

EE141EE141

ExampleExampleTf = 10 nsec = TTsignal = 50 nsectr = 1 nsec

t = 310 psecVIH - VIL = 1 V (VDD = 5 V)

N(T) = 3.9 10-9 errors/secMTF (T) = 2.6 108 sec = 8.3 yearsMTF (0) = 2.5 µsec N(0)= N(0)=

400,000400,000

=tau

EE141EE141

Cascaded Synchronizers Reduce Cascaded Synchronizers Reduce MTFMTF

Sync Sync SyncIn O1 O2 Out

φ

Page 10: AsynchronousAsynchronous--Synchronous Synchronous Interfaceleda.elfak.ni.ac.rs/education/PEK_stari/literatura... · 2012. 1. 20. · EE141 1 EE141 AsynchronousAsynchronous--Synchronous

EE141

10

EE141EE141

MODELINGMODELING

� The probability that the data arrives at a time td which falls between tsu and th is --

EE141EE141

� If we assume that the latch is given some bounded amount of time, tb, to decide, then the probability of a synchronization failure is related to the probability that the response time, tr, exceeds tb� if td falls in this range, the probability that

tr > tb can be expressed as follows:

Page 11: AsynchronousAsynchronous--Synchronous Synchronous Interfaceleda.elfak.ni.ac.rs/education/PEK_stari/literatura... · 2012. 1. 20. · EE141 1 EE141 AsynchronousAsynchronous--Synchronous

EE141

11

EE141EE141

The problem: metastabilityThe problem: metastability

D Q

ФT

D Q

?

D

Q

ФRФR setup hold

EE141EE141

How to live with metastability ?How to live with metastability ?

�� Metastability cannot be avoided, it must be tolerated.Metastability cannot be avoided, it must be tolerated.

�� Having a decent MTBF (Having a decent MTBF (≈≈ years) may result in ayears) may result in atangible impact in latencytangible impact in latency

�� Purely asynchronous systems can be designedPurely asynchronous systems can be designedfailurefailure--freefree

�� Synchronous and mixed synchronousSynchronous and mixed synchronous--asynchronous asynchronous systems need mechanisms with impact in latencysystems need mechanisms with impact in latency

�� But latency can be hidden in many cases …But latency can be hidden in many cases …

Page 12: AsynchronousAsynchronous--Synchronous Synchronous Interfaceleda.elfak.ni.ac.rs/education/PEK_stari/literatura... · 2012. 1. 20. · EE141 1 EE141 AsynchronousAsynchronous--Synchronous

EE141

12

EE141EE141

Different approachesDifferent approaches

�� Pausible Clocks (Yun & Donohue 1996)Pausible Clocks (Yun & Donohue 1996)

�� Predict metastabilityPredict metastability--free transmission windows for domains with free transmission windows for domains with related clocks (Chakraborty & Greenstreet 2003)related clocks (Chakraborty & Greenstreet 2003)

�� Use the waiting time in FIFOs to resolve metastabilityUse the waiting time in FIFOs to resolve metastability(Chelcea & Nowick 2001)(Chelcea & Nowick 2001)

�� And others …And others …

�� The term “Globally Asynchronous, Locally Synchronous” is typically The term “Globally Asynchronous, Locally Synchronous” is typically used for these systems (Chapiro 1984)used for these systems (Chapiro 1984)

EE141EE141

Synchronizers and ArbitersSynchronizers and Arbiters

�� ArbiterArbiter: Circuit to decide which of 2 events : Circuit to decide which of 2 events occurred firstoccurred first�� SynchronizerSynchronizer: Arbiter with clock : Arbiter with clock φφ as one of the as one of the

inputsinputs�� ProblemProblem: Circuit HAS to make a decision in : Circuit HAS to make a decision in

limited time limited time -- which decision is not importantwhich decision is not important�� CaveatCaveat: It is impossible to ensure correct : It is impossible to ensure correct

operationoperation�� But, we can decrease the error probability at the But, we can decrease the error probability at the

expense of delayexpense of delay

Page 13: AsynchronousAsynchronous--Synchronous Synchronous Interfaceleda.elfak.ni.ac.rs/education/PEK_stari/literatura... · 2012. 1. 20. · EE141 1 EE141 AsynchronousAsynchronous--Synchronous

EE141

13

EE141EE141

EE141EE141

Page 14: AsynchronousAsynchronous--Synchronous Synchronous Interfaceleda.elfak.ni.ac.rs/education/PEK_stari/literatura... · 2012. 1. 20. · EE141 1 EE141 AsynchronousAsynchronous--Synchronous

EE141

14

EE141EE141

Why metastability occursWhy metastability occurs

�� Time between two Time between two white line is white line is metastability windowmetastability window�� Async. sig. comes any Async. sig. comes any

time violating setup or time violating setup or hold time constraints. hold time constraints. Causing metastable Causing metastable statestate

EE141EE141

Possible behavior of latchPossible behavior of latch

Page 15: AsynchronousAsynchronous--Synchronous Synchronous Interfaceleda.elfak.ni.ac.rs/education/PEK_stari/literatura... · 2012. 1. 20. · EE141 1 EE141 AsynchronousAsynchronous--Synchronous

EE141

15

EE141EE141

Avoid metastabilityAvoid metastability----A Simple A Simple

SynchronizerSynchronizer

• Data sampled on rising edge of the clock

• even if input not valid, Latch will eventually re solve the signal value,

but ... this might take infinite time!

CLK

int

I2

I1D Q

CLK

EE141EE141

Synchronizer: Output Synchronizer: Output Trajectories Trajectories

Single-pole model for a flip-flop

2.0

1.0

0.00 100 200 300

Vou

t

time [ps]

Page 16: AsynchronousAsynchronous--Synchronous Synchronous Interfaceleda.elfak.ni.ac.rs/education/PEK_stari/literatura... · 2012. 1. 20. · EE141 1 EE141 AsynchronousAsynchronous--Synchronous

EE141

16

EE141EE141

Modelling Modelling

EE141EE141

Mean Time to FailureMean Time to Failure

Page 17: AsynchronousAsynchronous--Synchronous Synchronous Interfaceleda.elfak.ni.ac.rs/education/PEK_stari/literatura... · 2012. 1. 20. · EE141 1 EE141 AsynchronousAsynchronous--Synchronous

EE141

17

EE141EE141

EE141EE141

Classical “synchronous” solutionClassical “synchronous” solution

Wffe

D

rtMTBF ⋅⋅⋅=

φ

τ

2

D Q D Q D Q D Q

ФT ФR

Mean Time Between FailuresfФ: frequency of the clock

fD: frequency of the datatr: resolve time availableW: metastability windowτ : resolve time constant

# FFs# FFs MTBFMTBF

1 FF1 FF 15 min15 min

2 FF2 FF 9 days9 days

3 FF3 FF 23 years23 years

Example

Page 18: AsynchronousAsynchronous--Synchronous Synchronous Interfaceleda.elfak.ni.ac.rs/education/PEK_stari/literatura... · 2012. 1. 20. · EE141 1 EE141 AsynchronousAsynchronous--Synchronous

EE141

18

EE141EE141

Synchronizer designSynchronizer design

EE141EE141

Page 19: AsynchronousAsynchronous--Synchronous Synchronous Interfaceleda.elfak.ni.ac.rs/education/PEK_stari/literatura... · 2012. 1. 20. · EE141 1 EE141 AsynchronousAsynchronous--Synchronous

EE141

19

EE141EE141

EE141EE141

Page 20: AsynchronousAsynchronous--Synchronous Synchronous Interfaceleda.elfak.ni.ac.rs/education/PEK_stari/literatura... · 2012. 1. 20. · EE141 1 EE141 AsynchronousAsynchronous--Synchronous

EE141

20

EE141EE141

EE141EE141

Influence of NoiseInfluence of Noise

Initial Distribution

p(v)

0 VIL VIH

T

Uniform distributionaround VM

Still Uniform

logarithmic reduction

Low amplitude noise does not influence synchronization behavior

Page 21: AsynchronousAsynchronous--Synchronous Synchronous Interfaceleda.elfak.ni.ac.rs/education/PEK_stari/literatura... · 2012. 1. 20. · EE141 1 EE141 AsynchronousAsynchronous--Synchronous

EE141

21

EE141EE141

The probability of escape from metastability with t imeis given by:

This function does not change with the addition of noise

because of the uniform distribution of initial cond itions.

For each noise contribution that moves a trajectory away

from metastability, there will, on average, be anot her

compensating noise contribution that moves a trajec tory

towards metastability. The result, in a statistical

measurement, is that the event histogram will be

unchanged

EE141EE141

Typical SynchronizersTypical Synchronizers

φ1

φ2

Q

Q

φ1

φ2

Using delay line

2 phase clocking circuit

Page 22: AsynchronousAsynchronous--Synchronous Synchronous Interfaceleda.elfak.ni.ac.rs/education/PEK_stari/literatura... · 2012. 1. 20. · EE141 1 EE141 AsynchronousAsynchronous--Synchronous

EE141

22

EE141EE141

ArbitersArbiters

Req1

Req2

Req1

Req2

Ack1

Ack2Arbiter

Ack1

Ack2

(a) Schematic symbol

(b) Implementation

A

B

Req1

Req2

A

B

Ack1t

(c) Timing diagramVT gap

metastable

EE141EE141

Mutual exclusion elementMutual exclusion element

req1

req2

ack1

ack2

0

0

1

1

0

0

Page 23: AsynchronousAsynchronous--Synchronous Synchronous Interfaceleda.elfak.ni.ac.rs/education/PEK_stari/literatura... · 2012. 1. 20. · EE141 1 EE141 AsynchronousAsynchronous--Synchronous

EE141

23

EE141EE141

Mutual exclusion elementMutual exclusion element

req1

req2

ack2

ack1

0

0

1

1

0

0

An asynchronous data latch with MS resolver can be built similarly

Metastability resolver