亚稳态介绍、危害及如何避免亚稳态

这篇具有很好参考价值的文章主要介绍了亚稳态介绍、危害及如何避免亚稳态。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.1 亚稳态是什么?

亚稳态是指触发器无法在某个规定时间段内达到一个可确认的状态。当一个触发器进入亚稳态时,既无法预测该单元的输出电平,也无法预测何时输出才能稳定在某个正确的电平上。在这个稳定期间,触发器输出一些中间级电平,或者可能处于振荡状态,并且这种无用的输出电平可以沿信号通道上的各个触发器级联式传播下去。

设计中任何一个触发器都有特定的建立与保持时间,在时钟上升沿前后的这段时间窗口内,数据输入信号必须保持稳定,如果信号在这段时间发生了变化,那么输出将是未知的或者称为“亚稳态”,这种有害状态的传播就叫做亚稳态。

在同步系统中,数据相对于时钟总有固定的关系。这种关系瞒足器件的建立和保持时间要求 ,输出端会在特定延迟时间内输出一个有效状态,同步系统内输入信号总会满足触发器时序要求 ,因此不会发生亚稳态。相对而言,在异步系统中,亚稳态可能发生。
亚稳态,FPGA,数字IC设计/验证-基础知识,数字IC,fpga开发

如图1.1所示,为亚稳态产生的时序图。图中Tco即为本应稳定所需的时间,Tmet即为亚稳态除Tco外稳定还需要的稳定时间(Tmet~1-2clk)。并不是所有不满足建立保持的情况都会产生亚稳态,触发器产生亚稳态与其工艺和器件还有环境有关。

1.2 亚稳态的窗口

亚稳态窗口具有特定的时间长度,在这段时间内输入信号和时钟都应该保持不变。如下图所示为建立时间与保持时间共同决定的亚稳态窗口。

亚稳态,FPGA,数字IC设计/验证-基础知识,数字IC,fpga开发

窗口越大,进入亚稳态概率越高,窗口越小,进入亚稳态概率越小。

1.3 亚稳态的危害

由于输出在稳定下来之前可能是毛刺、振荡、固定的某一电压值,因此亚稳态除了导致逻辑误判之外,输出0~1之间的中间电压值还会使下一级产生亚稳态(即导致亚稳态的传播)。 逻辑误判有可能通过电路的特殊设计减轻危害(如异步FIFO中Gray码计数器的作用),而亚稳态的传播则扩大了故障面,难以处理。

触发器的运转类似于在光滑的山上滚动球,山的两边代表两个稳定状态,山顶就是亚稳态。当信号推力足够时,即处于建立保持时间里时,信号能够顺利从稳态0到稳态1,实现翻越。当信号推力不足时,可能会出现两种情况,1是抵达山顶,等待一段时间后回到稳态1,带来的危害就是延迟稳定时间;2是上到一半返回稳态0,带来的危害是产生毛刺 ,影响后续电路以及延迟加大。
亚稳态,FPGA,数字IC设计/验证-基础知识,数字IC,fpga开发

1.4 避免亚稳态

产生亚稳态的具体原因有:
a) 输入信号是异步信号
b) 时钟偏移、摆动(上升/下降时间)高于容限值
c) 信号在两个不同频率或者相同频率但是相位和 偏移不同的时钟域进行跨时钟域工作
d) 组合延迟使得触发器的数据输入在亚稳态窗口发生

最简单的解决办法:确保时钟周期足够长来避免亚稳态,这个时钟周期要大于准稳态的解析时间也要大于通往下一级触发器路径上的任何逻辑延迟,不过由于性能要求,实用性不大。

同步器的使用是另一解决办法。在跨时钟域的信号上加上一个或者多个同步触发器。如下图所示,用一个完整的时钟周期来解决第一级同步触发器产生的亚稳态问题,但是这种解决办法增加了同步逻辑输入的延迟。

亚稳态,FPGA,数字IC设计/验证-基础知识,数字IC,fpga开发

如何解决上述同步器的延迟输入呢?解决这个问题的办法就是使用倍频时钟作为两个同步触发器的时钟输入。如下图所示,Altera的FPGA有这项技术。
亚稳态,FPGA,数字IC设计/验证-基础知识,数字IC,fpga开发

当然,这些办法都无法完全阻止亚稳态传播下去,只是减少了亚稳态的发生概率。
注意:一个异步信号不应该被两个或者多个同步器所同步,因为这样做会存在多级同步器输出产生不同信号的风险。解决办法:如下图所示。(适用于输入异步信号宽度大于时钟周期情况)
亚稳态,FPGA,数字IC设计/验证-基础知识,数字IC,fpga开发
亚稳态,FPGA,数字IC设计/验证-基础知识,数字IC,fpga开发

但是当输入异步信号宽度小于时钟周期怎么办?这时应该采取第二种方案。如下图所示 。
亚稳态,FPGA,数字IC设计/验证-基础知识,数字IC,fpga开发

1.5 亚稳态解决办法总结

在两个相互异步的交界面的亚稳态是无法避免的,不过可以降低概率。方法有以下几种:
1、对异步信号进行同步处理(采用同步器);
2、采用FIFO对跨时钟域数据通信进行缓冲设计;
3、对复位电路采用异步复位、同步释放方式处理;
4、使用采样相应更快的触发器(亚稳态窗口小);
5、降低采样速率(降频);
6、避免使用dV/dt 低的输入信号;

参考文章:
亚稳态专题(亚稳态的概念、亚稳态的产生、亚稳态的后果、以及如何避免亚稳态)文章来源地址https://www.toymoban.com/news/detail-547260.html

到了这里,关于亚稳态介绍、危害及如何避免亚稳态的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 两级同步为什么能解决亚稳态问题?

    前言 不知道大家有没有一个疑惑,为什么两级同步电路结构能够解决亚稳态问题,之前一直疑惑的地方在于,当第一级DFF发生亚稳态时,他的输出呈现不确定性,会出现0或者1任意一个值。若输入是1,第一级DFF亚稳态之后稳定到了0,那么第二级采样的话不就错了吗?这个问

    2024年02月12日
    浏览(44)
  • 【Chips】跨时钟域的亚稳态处理、为什么要打两拍不是打一拍、为什么打两拍能有效?

    前言 个人颜色习惯: 黑色加粗:突出显示; 红色:重要; 洋红色:产生的疑问 question; 蓝色:个人思考 或 针对问题的Solution 在学习 “跨时钟域的亚稳态的应对措施” 时,常会看到有三种解决方案: 单bit信号,用: 打两拍 多bit信号,用: 异步FIFO 多bit信号,用: 格雷码

    2024年01月23日
    浏览(51)
  • 二、8【FPGA】Verilog中锁存器(Latch)原理、危害及避免

    学习说明此文档为本人的学习笔记,对一下资料进行总结,并添加了自己的理解。         如果拿到了数字电路技术基础的书,翻开书本的目录你会发现,关于锁存器的章节与内容非常少,也就是在触发器前面有一小节进行了简单说明。但是真的就这么简单么? 答案是否

    2024年01月16日
    浏览(47)
  • FPGA中亚稳态、异步信号处理、建立和保持时间违例及题目合集

    亚稳态:输入信号的变化发生在时钟有效沿的建立时间和保持时间之间,导致其不满足触发器建立保持时间的时序要求,使得输出有一段时间的不确定状态,这就是亚稳态。

    2023年04月09日
    浏览(40)
  • 如何预防服务器IP被劫持,危害有什么?

           服务器IP被劫持是一种严重的网络安全问题,攻击者通过篡改服务器的IP地址,将网络流量重定向到恶意服务器或网站,导致用户无法正常访问目标服务器,并可能面临数据泄露、恶意软件感染等安全风险。了解服务器IP被劫持的危害和预防措施对于保护网络安全至关

    2024年01月24日
    浏览(48)
  • 避免latch verilog FPGA 基础练习2

    发现问题,用技术解决问题。兴趣是自己的源动力 ! 本文由如何避免latch的问题场景,来更详细的描述verilog中的组合逻辑电路和时序逻辑电路等等理论知识。由latch这个问题入手来阐述更多理论知识,有助于更好的理解和记忆。 Latch其实就是锁存器,是一种在异步电路系统中

    2024年02月04日
    浏览(41)
  • FPGA设计中锁存器产生、避免与消除

      锁存器的产生主要有以下两种情况:(1)组合逻辑中使用保持状态;(2)组合逻辑中的if-else语句或case语句未列出所有可能性;   对于组合逻辑中,如果使用if-else语句,未补全else语句,则默认在其他条件下,数据均保持为原来的状态,那么也会产生锁存器。   而

    2024年02月03日
    浏览(42)
  • 好的FPGA编码风格(1)--尽量避免组合逻辑环路(Combinational Loops)

             组合逻辑环路 (Combinational Loops):指组合逻辑的输出信号 不经过任何时序逻辑电路 (FF等),而直接 反馈到输入节点 ,从而构成的电路环路。         此外,如果 直接将寄存器的输出端通过组合逻辑反馈到该寄存器的异步端口 (异步复位或异步置位),

    2024年02月08日
    浏览(38)
  • 什么是好的FPGA编码风格?(1)--尽量避免组合逻辑环路(Combinational Loops)

             组合逻辑环路 (Combinational Loops):指组合逻辑的输出信号 不经过任何时序逻辑电路 (FF等),而直接 反馈到输入节点 ,从而构成的电路环路。         此外,如果 直接将寄存器的输出端通过组合逻辑反馈到该寄存器的异步端口 (异步复位或异步置位),

    2024年02月05日
    浏览(44)
  • Kafka如何避免消息丢失?

    为了避免出现消息丢失从而造成巨大的损失,有如下方法可以最大限度避免消息的丢失 在避免出现消息丢失情况出现之前,首先要知道kafka消息发送和接受过程,才能更加清楚的知道消息丢失的原因,从而避免 1、kafka 在producer 端产生消息,调用kafka producer client send方法发送消

    2024年02月03日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包