FPGA器件中的亚稳态

来源:互联网 发布:java集合类编程题 编辑:程序博客网 时间:2024/04/20 13:48

摘自Altera公司的Application Notes (应用注解)——《AN42:Metastability in Altera Decives》,原文在此。

介绍

亚稳态只出现在异步系统中,同步系统总是符合时序要求。

分析

亚稳态并不一定会引起系统补课预测的性能表现,如果等待时间足够,触发器达到一个稳定状态,亚稳态不会影响系统性能。
如果再信号被判决前输出已经返回了一个确定的值,那么触发器的输出可能会暂时地不确定。因此,可用额外的时间来防止在余下的系统传播。
可以用MTBF定量地展现亚稳态如何影响你的设计。MTBF衡量了两个可能连续发生的亚稳态情况之间的时间,时间越长越稳定。

tMET=ln(MTBFfclockfDATAC1)C2

其中tMET是正常五亚稳态情况下,寄存器输出信号从源寄存器到目的寄存器的建立时间余量。

避免措施

异步信号如果传给多个触发器,亚稳态发生情况会大大增加。在这种情况下,你通过使用同步的触发器的输出而不是直接使用异步信号来避免亚稳态。同时,通过增加tMET可以避免亚稳态的危害。
为减少亚稳态的影响,设计者通常使用多次级联的触发器来形成同步电路。如果第一个同步触发器产生了一个非稳态输出,在第二个触发器处可能可以解决。
不过该方法无法保证能完全解决亚稳态,但可以增加数据被使用稳态的可能性。
多级级联的一个缺点是反应太慢,可通过如下方法解决:
这里写图片描述
这个方法让系统可以在提高MTBF的同时在一个时钟周期中对亚稳态做出反应。尽管时钟备频后会减少MTBF,但由于两个同步触发器的作用,依然可以减少亚稳态的出现。

0 0