频道栏目
IT货架 > > 正文
[转]亚稳态和毛刺-MetastabilityandHazard(CN)
网友分享于:Jun 12, 2018 11:58:27 PM    来源: IT货架   

我们在芯片设计与调试中,一定曾经遇到过一些诡异的问题。比如芯片的某一部分莫名其妙的复位却并没有故障记录、比如有的问题上下电和复位表现不一。甚至在有的FPGA项目后期,每一次重布局布线都是对人品的考验,祈祷在下一个版本中,Voldemort不会出现。根本原因是多方面的,但是不难发现亚稳态和毛刺的影子。

幸运的是,这些问题难以定位容易在设计中避免,只需我们在设计中稍加关注即可避免。任何一个成熟的团队都应该有自己的“checklist”。最近的一次检视中,发现一个设计可能同时受亚稳态和毛刺影响。那个有4经验的工程师漫不经心的说“如果完全照教科书做,的确应该像你说的那样”。与遵守规则同样重要的是对规则的理解

1亚稳态

1.1亚稳态的定义
亚稳态是指触发器无法在某个规定时间段内达到一个确定的状态。当一个触发器进入亚稳态时,该触发器的输出何时能稳定以及会稳定在哪个状态都不能确定。在达到稳定之前的时间,触发器输出一些中间电平或者处于震荡状态,并且这种无用的输出电平可以沿着信号通路上级联的触发器传播下去。


1.2
亚稳态的产生机制

如果触发器的setup timehold time不满足,就可能产生亚稳态,此时触发器的输出端Q在有效时钟沿之后比较长的一段时间处于不确定的状态,这段时间称为决断时间(resolution time)。经过resolution time之后Q端将稳定到0或者1,但究竟是0还是1输入没有关系

1是一个处于亚稳态的寄存器的输出的例子。




1.3
亚稳态的危害与避免

亚稳态会导致逻辑误判,如果发生亚稳态的部位对系统的稳定至关重要同时缺少防错机制,则可能导致系统崩溃(逻辑挂死)。

逻辑误判可以通过特殊设计减轻危害,例如异步fifogray设计。比发生部位本身的逻辑误判更严重的是亚稳态传递。亚稳态传递会扩大故障面,让问题变得复杂。

在完全同步的设计中,CAD工具可以方便的分析每一个触发器的建立保持时间。理论上一个时序完全收敛的纯同步设计不会有亚稳态问题。和有赖于时序分析的完备性,例如所使用的timing mode与实际芯片及其工作条件的吻合度,实际时钟抖动、偏斜与预期是否一致等。扩大时序裕量可以降低亚稳态发生的概率。

当前一个数字芯片上往往有多个时钟域,时钟域之间的异步设计是必不可少的。只要系统中存在异步设计,则亚稳态无法避免,但我们可以尽量限制亚稳态的影响范围并通过特殊的逻辑设计容忍可能的逻辑误判。


1.3.1
缩小亚稳态的影响范围

a.“将异步输出寄存器的扇出限制为1

          fig2.handle async input.jpg

广告服务联系QQ:1134687142 | 网站地图

版权所有: IT货架- 内容来自互联网,仅供用于技术学习,请遵循相关法律法规. 京ICP备11030978号-1