Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Metastability of a D flip flop

Status
Not open for further replies.

identical

Member level 1
Joined
Feb 10, 2015
Messages
33
Helped
0
Reputation
0
Reaction score
0
Trophy points
6
Activity points
225
What determines the setting time of a DFF? How quickly a DFF comes out of metastability? Is there a formula for this?
 

Well, that depends on the kind of type of D-flip-flop. I assume you need one that both have a set and reset input in order to being able to try get it into metastability.
This theory is out of my comfort zone, but I will guess that it it stabilize pretty fast without too many cycles.
Because the complexity of the impedance of set/reset input pin and possible connected wiring, I cannot see why there should be a "formula" for this. Also internal difference in delay in internal logic would make it hard to predict how many cycles it takes to settle. And even yet you will have internal crossover that also may affect the number of cycles before settling.

Just for the sake of having an answer: Wery quicly (time from when you release Set and Reset).
 
Well, that depends on the kind of type of D-flip-flop. I assume you need one that both have a set and reset input in order to being able to try get it into metastability.
This theory is out of my comfort zone, but I will guess that it it stabilize pretty fast without too many cycles.
Because the complexity of the impedance of set/reset input pin and possible connected wiring, I cannot see why there should be a "formula" for this. Also internal difference in delay in internal logic would make it hard to predict how many cycles it takes to settle. And even yet you will have internal crossover that also may affect the number of cycles before settling.

Just for the sake of having an answer: Wery quicly (time from when you release Set and Reset).

Not sure if OP is talking about flop behavior when timing is violated or when a flop is powered up. I assume the latter.

In that case, the flop will settle into a nearly-random state based on some unbalance between the competing nodes of the cross coupled inverters. Spice simulation usually doesn't capture that accurately, as the DC convergence algorithm is somewhat limited. Specialized tools are needed. Process variation must be accounted for. The settling happens in picoseconds, either way. There is no simple formula that I am aware of. Folks spend a lot of time characterising flops in silicon to get good data.
 
Not sure if OP is talking about flop behavior when timing is violated or when a flop is powered up. I assume the latter.

In that case, the flop will settle into a nearly-random state based on some unbalance between the competing nodes of the cross coupled inverters. Spice simulation usually doesn't capture that accurately, as the DC convergence algorithm is somewhat limited. Specialized tools are needed. Process variation must be accounted for. The settling happens in picoseconds, either way. There is no simple formula that I am aware of. Folks spend a lot of time characterising flops in silicon to get good data.


I was talking about when timing is violated. What is the biggest contributor to settling time? Does it have anything to do with the transistor sizes.
 

Maybe you want to talk about Setup and Hold time ?
Setup and hold time of a flipflop decide its timing result.
They are depended on transition of D and CK pins.
 

Maybe you want to talk about Setup and Hold time ?
Setup and hold time of a flipflop decide its timing result.
They are depended on transition of D and CK pins.

Whenever the timing window (either setup or hold) is violated then the flip flop goes into the metastable state. It takes a finite amount of time for it to come out of that metastable state known as the settling time. What does this settling time of a flop in metastable state depend on. Sorry, I didn't make myself clear the first time around.
 

Whenever the timing window (either setup or hold) is violated then the flip flop goes into the metastable state. It takes a finite amount of time for it to come out of that metastable state known as the settling time. What does this settling time of a flop in metastable state depend on. Sorry, I didn't make myself clear the first time around.

What is the reason for you to take care about that ?
If there is Violation, the output data of that Flop is unsure.
We can not trust and use the output of a flop which have timing violation.
 

What is the reason for you to take care about that ?

If they are planning on a career in designing cell libraries for new process nodes then, they might be interested in knowing what contributes to improving the settling time of the metastable output (or conversely makes it worse). If they aren't then maybe they are just curious.

Regardless that finite amount of time is quite random as it relies on some energy to push the output to either a high or low. There were some really neat DSO persistence waveforms shown in old Lattice GAL datasheets that showed the metastable behavior of their FFs and it was interesting to see the wide range of transition times (though they were all very nice looking transitions to high or low with no runt pulses). I read something a long time ago (over a decade) that mentioned that the noisier the system the faster the settling time as the noise contributes energy to push the metastable output to either the high or low.
 

The lifetime of metastable state is a different thing than a settling time. It's an interval of random duration than can be only calculated using statistical parameters. See this Altera White paper for an introduction https://www.altera.com/en_US/pdfs/literature/wp/wp-01082-quartus-ii-metastability.pdf

If there is Violation, the output data of that Flop is unsure.
We can not trust and use the output of a flop which have timing violation.
Provoking metastable states can't be avoided under circumstances, e.g. in synchronizers. Calculating it's lifetime is essential to determine synchronizer reliability and is performed e.g. by some logic design tools.
 

If they are planning on a career in designing cell libraries for new process nodes then, they might be interested in knowing what contributes to improving the settling time of the metastable output (or conversely makes it worse). If they aren't then maybe they are just curious.

Regardless that finite amount of time is quite random as it relies on some energy to push the output to either a high or low. There were some really neat DSO persistence waveforms shown in old Lattice GAL datasheets that showed the metastable behavior of their FFs and it was interesting to see the wide range of transition times (though they were all very nice looking transitions to high or low with no runt pulses). I read something a long time ago (over a decade) that mentioned that the noisier the system the faster the settling time as the noise contributes energy to push the metastable output to either the high or low.

I think you are describing thermal noise.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top