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.

How could I measure metastability in silicon?

Status
Not open for further replies.

SC3K01

Newbie level 5
Joined
Jan 20, 2003
Messages
8
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
77
Hi there,

Does anyone have experience in creating test structure to measure metastability and delay of flip flop in silicon?

Best Regards
 

We have used metastability behavior to generate "random number generator" in ASIC.
 

Did you get good results in "random number generator"?
 

SC3K01 said:
Hi there,

Does anyone have experience in creating test structure to measure metastability and delay of flip flop in silicon?

Best Regards

Hi SC3K01:

I think it's very hard to measure metastability. It's need long time to

have posibility to see metastability. You have to think how to reduce the

posibility of metastability.

wang1
 

You could create a setup where one a clock signal is flopped using any other async clock. This will cause a good number of metastability cases. Then, flop the output of that flop into two flops -- one with the same clock as the metastable flop, and one with a variable delay attached to the same clock.

Put a comparator between the two flops, and count the number of times they are not the same. Put the variable delay to a high enough number to have no miscompares, and then start lowering it until you do see them appearing. That'll give you a good idea of the longest time your flop is staying metastable.
 

I think it is very difficult to test metastablity. You should conside test circuits carefully. I suggest you search for some old papers on this topic.
 

Pulzar said:
You could create a setup where one a clock signal is flopped using any other async clock. This will cause a good number of metastability cases. Then, flop the output of that flop into two flops -- one with the same clock as the metastable flop, and one with a variable delay attached to the same clock.

Put a comparator between the two flops, and count the number of times they are not the same. Put the variable delay to a high enough number to have no miscompares, and then start lowering it until you do see them appearing. That'll give you a good idea of the longest time your flop is staying metastable.

Hi Pulzar,

Many thanks for your feasible guideline. I'm little confusing with your statement "and then start lowering it until you do see them appearing". I don't exactly catch your points. If it's convenient to you, could you elaborate it? Do you mean to reduce the number of setup violations by enlarging margins of timing discrepancy between data and clock?
 

Well, I would say it wont be possible to accurately measure it economically, or may be I dont know how to do it. But pls pls let me know why do you want to measure it.
Kr,
Avi
http://www.vlsiip.com
 

Understand the purpose of "detect the metastable" and "design to avoid the metastable" but dont know the reason of "measure metastability". pls share ur purpose. Is ur design that could accept the metastability in some degree?
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top