网站大量收购独家精品文档,联系QQ:2885784924
  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
亚稳态

亚稳态分析 1.亚稳态发生的原因?? 在同步系统中,如果触发器的setup time / hold time不满足,就可能产生亚稳态,此时触发器输出端Q在有效时钟沿之后比较长的一段时间处于不确定的状态,在这段时间里Q端毛刺、振荡、固定的某一电压值,而不是等于数据输入端D的值。这段之间成为决断时间(resolution time)。经过resolution time之后Q端将稳定到0或1上,但是究竟是0还是1,这是随机的,与输入没有必然的关系。 2.亚稳态的危害?? 由于输出在稳定下来之前可能是毛刺、振荡、固定的某一电压值,因此亚稳态除了导致逻辑误判之外,输出0~1之间的中间电压值还会使下一级产生亚稳态(即导 致亚稳态的传播)。?? 逻辑误判有可能通过电路的特殊设计减轻危害(如异步FIFO中Gray码计数器的作用),而亚稳态的传播则扩大了故障面,难以处理。?? 3.亚稳态的解决办法 只要系统中有异步元件,亚稳态就是无法避免的,因此设计的电路首先要减少亚稳态导致错误的发生,其次要使系统对产生的错误不敏感。前者要*同步来实现,而 后者根据不同的设计应用有不同的处理办法。用同步来减少亚稳态发生机会的典型电路如图1所示。 ?? 左边为异步输入端,经过两级触发器同步,在右边的输出将是同步的,而且该输出基本不存在亚稳态。其原理是即使第一个触发器的输出端存在亚稳态,经过一个 CLK周期后,第二个触发器D端的电平仍未稳定的概率非常小,因此第二个触发器Q端基本不会产生亚稳态。注意,这里说的是“基本”,也就是无法“根除”, 那么如果第二个触发器Q出现了亚稳态会有什么后果呢?后果的严重程度是有你的设计决定的,如果系统对产生的错误不敏感,那么系统可能正常工作,或者经过短 暂的异常之后可以恢复正常工作,例如设计异步FIFO时使用格雷码计数器当读写地址的指针就是处于这方面的考虑。如果设计上没有考虑如何降低系统对亚稳态 的敏感程度,那么一旦出现亚稳态,系统可能就崩溃了。?? 4.亚稳态与系统可行性 使用同步电路以后,亚稳态仍然有发生的可能,与此相连的是MTBF(Mean Time Between Failure),亚稳态的发生概率与时钟频率无关,但是MTBF与时钟有密切关系。有文章提供了一个例子,某一系统在20MHz时钟下工作时,MTBF 约为50年,但是时钟频率提高到40MHz时,MTBF只有1分钟!可见降低时钟频率可以大大减小亚稳态导致系统错误的出现,其原因在于,提供较长的 resolution time可减小亚稳态传递到下一级的机会,提高系统的MTBF,如图2所示。 亚稳态????? 这是跨时钟设计中最基础的一个问题(宏观的问题是FIFO),按照我的观察,上论坛问问题多的一般不明白这个,请一定要注意了。?? 什么是亚稳态? 数字电路中的简单双稳态电路就是两个反相器首尾相连组成(加一些控制逻辑变成了锁存器,触发器),然而并不像名字显示的,这种电路其实还有第三种半稳定态——就是当两个反相器都处于中间值得情况——这称之为亚稳态。我们知道反相器在非逻辑值范围的反馈系数是相当大的,一旦因为干扰或者噪音离开了这个中心点,就会很快地进入逻辑值范围(稳态)。数学分析,从亚稳态进入稳态,正如放射元素的衰变,是一个指数的规律(为什么是指数的规律?你要是想不明白,说明你还没有搞明白亚稳态)。 那么,亚稳态的危害到底是什么呢?消耗功率;),其实不是(虽然亚稳态消耗很大的功率),亚稳态的问题在于其电平并不处于有效逻辑电平范围内,而且 在变化。这就导致与其相连其他数字部件将其作出不同的判断(注意,不同),有的作为1,有的作为0,有的也进入了亚稳态,数字部件就会逻辑混乱。 那么究竟如何避免(或者减小)亚稳态的危险呢?注意到亚稳态的触发器继续停留在亚稳态的几率按照指数减少,那么办法就是等——等足够长的时间,直到这个几 率变得小的实际上不会发生。到底需要有多长呢?有的厂商有一个数据,有的没有,按照普通的做法,至少等一个时钟周期——这也就是所谓的异步数据要用两个触 发器打一下。 异步FIFO?? 异步FIFO是跨时钟域设计方法的集中体现,体现了很多的方法。不过,其中最重要的有两点,一个就是亚稳态,一个就是和亚稳态类似但不相同的——多个控制 /状态信号的跨时钟传递。具体地说,就是当你把一组信号传递到另外一个时钟域的话,这一组信号可能因为延迟不同,这样到达新时钟域之后,得到的数据相差一 个老时钟域的时钟周期。兴好,对于FIFO,需要传递的是一个计数器,这个计数器可以编码成格雷码(gray code),这样的编码每次只变化一个位,正好解决了上面的问题(要是没有画过图,最好画一个图看一下)。真不清楚这是怎么发明的!注意,这里其实还对格 雷码的相对延迟和相关的时钟周期有一个要求。这就

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档