Home    Bloggers    Messages    Webinars    Resources   
Tw  |  Fb  |  In  |  Rss
Adam Taylor

Ask Adam VHDL: Metastability, Part 2

Adam Taylor
Page 1 / 2 Next >
Page 1 / 2   >   >>
eteam00
eteam00
7/13/2012 1:33:35 PM
User Rank
Guru
Re: More common problem than metastability
@Adam,

Feel free to use any of the materials found in the linked Xilinx user forum threads which I have written (I am not a Xilinx employee).  Your diagrams are much prettier than the ASCII-text drawings I use in my Xilinx user forum posts, and I look forward to seeing (and linking to) your versions.


Please let me know if you have any questions or comments.


-- Bob

50%
50%
Adam Taylor
Adam Taylor
7/13/2012 1:00:48 PM
User Rank
Blogger
Re: More common problem than metastability
Bob, 

Thanks for the comments, I intend to do a blog at some point on safe state machine design as it is a topic close to my heart. 

Adam 

50%
50%
Adam Taylor
Adam Taylor
7/13/2012 12:59:04 PM
User Rank
Blogger
Re: Recovery time
Duane sorry I thought I had replied to this, I think mostly it comes down to it complicating the model used pretty significantly if it where to model metasatbility accurately. There is also the chance it could fail and not be seen by the user as it failed in a good way. The X propagation is very clear that there is an issue with the simulation even if people do not see the transcript warning. 

The behaviour of the flip flops and recovery etc will depend upon the maunfacturing process. 

50%
50%
eteam00
eteam00
7/13/2012 12:51:35 PM
User Rank
Guru
More common problem than metastability
In the old days of long signal rise and fall times and slow input buffers, metastability was a much more common design problem than it is today. A single stage of synchroniser in today's logic provides the same low level of MTBF that required two or three stages in the logic technology commonly used in the 1990s.

The more common problem encountered by newbie designers (and even a few experienced designers) is the problem of asynchronous inputs.

For example, a multi-bit state machine in an FPGA which 'branches' conditionally based on an asynchronous input (a switch input, perhaps) will always fail unless the async input is first aligned to the system clock with a single register (one and only one register).  The result of handling async inputs improperly will be a locked-up state machine. The same problem applies to a multi-bit counter with an async input for count enable.

This is not a metastability problem, it is an alignment-to-clock problem. You can read more on this subject. See the second post in this forum thread, a mini-FAQ. The very first entry in the "Design Fundamentals" section includes 3 links to forum threads which discuss handling asynchronous inputs with excruciating detail.

Hope this helps --


-- Bob Elkind

50%
50%
Max Maxfield
Max Maxfield
7/12/2012 3:03:45 PM
User Rank
Blogger
Re: metastability
@JezmoSSL: "...anyone who starts wibbling on about..."

 

I love that word "wibbling" -- up to now I've said "waffling" ... but I think you'll see me using "wibbling" in the not-so-distant future...

50%
50%
Adam Taylor
Adam Taylor
7/12/2012 8:28:18 AM
User Rank
Blogger
Re: metastability
Very interesting paper thanks for that. I will circulate here I think

50%
50%
JezmoSSL
JezmoSSL
7/12/2012 4:08:46 AM
User Rank
Blogger
metastability
This paper should be mandatory reading for anyone who starts wibbling on about metestability. There is a lot of rubbish talked about the subject.

http://webee.technion.ac.il/~ran/papers/Metastability%20and%20Synchronizers.posted.pdf

50%
50%
Duane Benson
Duane Benson
7/11/2012 6:44:08 PM
User Rank
Blogger
Recovery time
Adam - You mention that the flip-flop models don't contain the required information on recovery time. Is there a way to determine the recovery time? And is it constant for a given flip-flop or a somewhat random amount of time?

50%
50%
Adam Taylor
Adam Taylor
7/10/2012 2:12:27 PM
User Rank
Blogger
Re: And further thoughts
I always intended write more on clock domain crossing etc, so watch out for future columns but I also have some other interesting VHDL based topics that I hope will help some of the newer FPGA designers on the site. 

50%
50%
Max Maxfield
Max Maxfield
7/10/2012 9:20:07 AM
User Rank
Blogger
Re: And further thoughts
@William: I agree -- I think it woudl be useful to follow up with at least one more article -- maybe a couple -- showing how to analyze the problem where to domains come together and how to solve it.   Alan ... Over to you :-)

50%
50%
Page 1 / 2   >   >>
More Blogs from Adam Taylor
Here we discover how to use the XADC (Xilinx Analog-to-Digital Convertor) in the Zynq All Programmable SoC to read the chip's internal temperature and voltage parameters and output them over an RS-232 link.
Now it's time to consider how we can implement and use the Xilinx Analog to Digital Convertor (XADC) within a Zynq All Programmable SoC-based system.
The Zynq All Programmable SoC comes equipped with programmable analog capabilities that can be used in a wide variety of applications, including defense, industrial, and automotive systems.
This is the blog we've all been waiting for – the point where we finally create our very first, standalone, "bare metal" Zynq application!
In the case of a real-world use model, we want to store our software program and configuration bitstream in nonvolatile memory and configure the device after the power comes on.
flash poll
follow us on twitter
follow Xilinx on twitter
like us on facebook
like Xilinx on facebook
All Programmable Planet     About Us     Contact Us     Help     Register     Twitter     Facebook     RSS