Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > VHDL > Will metastability not occur at the same clock domain?

Thread Tools

Will metastability not occur at the same clock domain?

Tsun Tsun is offline
Junior Member
Join Date: Nov 2011
Posts: 1
It is known that flip-flop has setup and hold time requirement for signal transition to happen properly. On the other hand, any violation of setup or hold time will cause metastability.

This is usually discussed in situation when a flip-flop is trying to register an asynchronous input, as discussed in the link below:

It also suggests using cascaded flip-flops to prevent metastability to occur, according to the "So how do I avoid metastability?" section in the link above. In this case, Wouldn't metastability occur at the second flip-flop? Say at a rising clock edge, if fin(2) is going to change in delta time, it (as an input to the second flip-flop) may not fulfill the hold time and change too early so that the second flip-flop may not register it properly?

Therefore, shouldn't we use falling clock edge for the first flip-flop, and rising edge for the second flip-flop? So that fin(2) will not change when the second flip-flop is trying to read it?
Reply With Quote
jeppe jeppe is offline
Senior Member
Join Date: Mar 2008
Location: Denmark
Posts: 348
First of all - We like to concider Flop/Flops as digital components - But they are analoque inside and this leads to problems like metastability.

The metastabile state could be seen as logic "" and even a bad Flip/Flips (in terms of MTBF) will not be able to clock a logic "" from the D-input to Q.
The Q output bound to be either "0" or "1".

But if you wan't to be sure (for sure) then you could study the book "Digital Design Principles and Practice) by Wakerly.
In chapter 9, can will you find examples where the original Clk-frequency scaled down - in order to:
1) Reduce the times per second where metastability can occur.
2) Metastability will "die" after a few nano or microseconds and hence will the second Flip/Flop allways get a "good" signal.

This solutions will cost you a counter for downscaling + 2 F/F for the De-Meta-Chain and finaly one F/F in order to synchronize the final signal.

Last edited by jeppe; 11-29-2011 at 05:12 PM.. Reason: Spell checking
Reply With Quote

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
Avoiding metastability on asynchronous inputs Ardni VHDL 0 11-07-2008 12:05 PM
regular Expression Help(same character must not occur in 3 consecu =?Utf-8?B?UmVkZHk=?= ASP .Net 0 09-25-2006 08:09 PM
Metastability or what? woko VHDL 3 09-05-2005 07:52 AM
Show 4 Records that occur more often...and how often they occur. Miguel Dias Moura ASP .Net 4 05-06-2004 03:40 PM
metastability fabbl VHDL 6 01-20-2004 03:04 PM