Metastability
Presented by: Sampurna Ganguly
Ark Mahata
Viswajeet Paul
Arbitation & Metastability
• Introduction
• Discussion
• Fixes
• Conclusion
A ‘D’ Flip-flop as an Arbiter
Q
D
Q’
clock clock
D D
Q Q
What Happens Now?
CLOCK Ts Th
Buridan, Jean
Buridan, Jean (1300-58), French Scholastic philosopher, Buridan is associated with
a philosophical dilemma of moral choice called "Buridan's ass" In the
problem an ass starves to death between two alluring bundles of hay
because it does not have the will to decide which one to eat.
The Game Show Arbiter
Terminator A Terminator B
Arbiter
A wins B Wins
A Simpler Arbiter
AA AAwins
wins
BBwins
wins
BB
With Both Inputs High
H
Static Metastability
Vin Vout
Vin Vout R
A
i C
Vout = Vin
Vout > Vin
Vout
Vin
Static Metastability
Inverted Pendulum Analogy
Potential Energy
m (mgh)
left up right
What does Heisenberg Say ?
x p h
Heisenberg uncertainty principle
states by precise
inequalities that certain pairs of physical properties,
such as position and momentum, cannot be
simultaneously known to arbitrarily high
precision
What if we relax accuracy?
Who Won
Ta - Tb
Arbiter output
perfectly correct if | Ta - Tb | > Tmargin
if | Ta - Tb | <= Tmargin, output can be RANDOM
The Remarkable Fact
IT IS IMPOSSIBLE TO BUILD ! ! ! !
Is It Possible to Build This?
A B Answer:
The
Asynchronous
Arbiter: Winner Done
Yes
Yes
__________
Practical Metastability
Async. FSM
Inputs
Clock
Async. Async.
Inputs
Inputs FSM FSM
Clock
Clock
Async.
Inputs FSM
Clock
A Simple Model of Static
Metstability
Assume Vout = A Vin (i.e. not saturated)
Vin Vout R
A
i=
(A
(A--1)
1)Vin
Vin//RR
i C
Vout
1 Vin(t) =E tt(A
(A- -1)1)/ /( (RRCC) )
E
Vin
-1
Evolution of Vout
Vout
1
time
-1
How Small must Vin(0) be
to make time to saturation take
longer than time t?
t / 1
Vin ( t ) Vin ( 0 )e
A
Vin ( 0 ) 1/(A
1/(Aee t/tau)) == ee -t/tau //A
t/tau -t/tau
A
If Vin(0) is uniformly distributed
Vin
1/(A
1/(Aee t/tau) = e -t/tau
t/tau
) = e -t/tau//AA
p metastable (t) = __________________________
But if Vin is in linear rise/fall a certain fraction
(p transition) of the time:
Vin
p metastable(t)=_________________
pptransition /(A
transition /(Aeet/tau ))==(p
t/tau
(ptransition / /A)
transition A) ee-t/tau
-t/tau
How much time do we need
to achieve a certain pmetastable?
Ptransition t /
Pmetstable (t ) e
A
t / Ptransition
e
A Pmetstable (t )
Ptransition
t ln( )
A Pmetstable (t )
Example:
How Long for 1 failure / year?
100 MHz Clock (t = 10 ns) P
Pmetstable transition e t /
ptransition = 0.1 A
Ptransition
A = 10 t ln( )
A Pmetstable
t = 1 ns
Pmetstable = 1 / (100MHz . 1 year)
= 1 / (108 x p x 10 7 ) = p x 10 -16
10
45.4
10
At 100 MHz, this is about 1 failure every 1030 YEARS!
Age of Hominids: 10 7
10 7
Age of Earth: 10 9
10 9
Age of Universe: 10 1010
10
Is this a Good Excuse
For Cruising a Light?
Honest ,
Your honour
It was
metastability…. You
Youget
get10
10 30Years!
30
Years!