0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

简谈FPGA学习中亚稳态现象

FPGA学习交流 来源:互联网 作者:佚名 2018-06-22 14:49 次阅读

大家好,又到了每日学习的时间了,今天我们来聊一聊FPGA学习中,亚稳态现象。

说起亚稳态,首先我们先来了解一下什么叫做亚稳态。亚稳态现象:信号在无关信号或者异步时钟域之间传输时导致数字器件失效的一种现象。

接下来主要讨论在异步时钟域之间数据传输所产生的亚稳态现象,以及如何降低亚稳态现象发生的概率(只能降低,不能消除),这在FPGA设计(尤其是大工程中)是非常重要的。

亚稳态的产生:所有的器件都定义了一个信号时序要求,只有满足了这个要求,才能够正常的在输入端获取数据,在输出端输出数据。正常的数据传递是:在触发时钟沿前必须有一小段时间(Tsu)用来稳定输入信号(0 or 1),触发时钟沿之后需要有一小段特定的时间(Th)再次稳定一下,最后再经过一个特定的始终到输出延时(Tco)后才有效。如果数据的传递过程违反了这个时间约束,那么寄存器输出就会出现亚稳态,此时输出的诗句是不稳定的(在0和1之间游荡)。但是这种现象并不是绝对的,但是我们在实际设计中应当尽量避免这种现象。

同步时钟系统由于是同步的,没有两个异步的触发信号对信号的输入输出干扰,所以亚稳态的几率很小。

异步时钟系统:先举个例子,如下:

always @(posedge clk or negedge rst_n)
begin
if(!rstn)
m<=1;
else
m<=0;
end
这是异步的,rst_n的触发和clk的触发各自不相干(造成的亚稳态概率较高)。

always @(posedge clk)
begin
if(!rst_n)
m<=1;
else
m<=0;
end
这是同步的,rst_n在clk上升沿的时候才产生影响,此时造成的亚稳态概率低很多。

异步时钟系统充分的利用了寄存器的端口,无需增加另外的资源,但是亚稳态的概率相对高;

同步时钟系统少用了clk复位端口,额外消耗了了资源,但是降低了亚稳态的发生概率。

上述异步例子中,如果clk上升沿时,rst-n=0,那么执行m<=1;但是rst_n和clk变化的时间差很短,不满足稳态时间要求的就会相互干扰,造成亚稳态的发生。当然有的人会认为同步似乎也会产生这种影响,但是相对而言几率小得多。

在此前提下,在特权同学的书中,提出了异步复位,同步释放的电路概念。(电路网上好多),该电路目的:既不解决了同步复位的资源消耗问题,也极大的降低了异步复位的亚稳态风险。

异步复位:当rst_n= 0 时,一个clk的上升沿,输出的rstn_out=0,实现了异步复位功能(当然这在只有一个寄存器的一级缓冲下也能实现),重点在于同步释放环节。

同步释放:当rst_n在clk上升沿后很短的时间内回归1,那么就会造成前一级的亚稳态的出现,其实后一级也出现了,但是如果rst_n被认为任然是0,那么输出也就是0,如果被认为是1,rstn_out接受的是前一级的上一个输出值(还是0),这就是同步释放的由来,完美解决问题。

这仅是本人学习初学FPGA的学习笔记,仅供参考。

今天就聊到这里,各位,加油。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
收藏 人收藏

    评论

    相关推荐

    FPGA中亚稳态——让你无处可逃

    1. 应用背景1.1亚稳态发生原因在FPGA系统中,如果数据传输中不满足触发器的Tsu和Th不满足,或者复位过程中复位信号的释放相对于有效时钟沿的恢复时间(recovery time)不满足,就可能
    发表于 01-11 11:49

    FPGA中亚稳态——让你无处可逃

    本帖最后由 eehome 于 2013-1-5 09:55 编辑 1. 应用背景1.1亚稳态发生原因在FPGA系统中,如果数据传输中不满足触发器的Tsu和Th不满足,或者复位过程中复位信号
    发表于 04-25 15:29

    FPGA触发器的亚稳态认识

    返回到低电平, 这和输入的数据无关。且在亚稳态的过程中,触发器的输出可能在震荡,也可能徘徊在一个固定的中间电平上。我们来看一个真实案例。见图3. 在这个案例中,我们测试一个FPGA逻辑单元中的亚稳态
    发表于 12-04 13:51

    亚稳态问题解析

    亚稳态是数字电路设计中最为基础和核心的理论。同步系统设计中的多项技术,如synthesis,CTS,STA等都是为了避免同步系统产生亚稳态。异步系统中,更容易产生亚稳态,因此需要对异步系统进行特殊的设计处理。
    发表于 11-01 17:45

    FPGA学习中亚稳态现象

    亚稳态现象发生的概率(只能降低,不能消除),这在FPGA设计(尤其是大工程中)是非常重要的。亚稳态的产生:所有的器件都定义了一个信号时序要求,只有满足了这个要求,才能够正常的在输入端获
    发表于 08-01 09:50

    FPGA亚稳态现象是什么?

    说起亚稳态,首先我们先来了解一下什么叫做亚稳态亚稳态现象:信号在无关信号或者异步时钟域之间传输时导致数字器件失效的一种现象
    发表于 09-11 11:52

    FPGA复位电路中产生亚稳态的原因

    亚稳态概述01 亚稳态发生原因在 FPGA 系统中,如果数据传输中不满足触发器的 Tsu 和 Th 不满足,或者复位过程中复位信号的释放相对于有效时钟沿的恢复时间(recovery time)不满足
    发表于 10-19 10:03

    FPGA设计中亚稳态现象

    发表于 04-12 10:04

    FPGA中,同步信号、异步信号和亚稳态的理解

    性的培训诱导,真正的去学习去实战应用,这种快乐试试你就会懂的。话不多说,上货。在FPGA中,同步信号、异步信号和亚稳态的理解PGA(Field-Programmable Gate Array),即现场
    发表于 02-28 16:38

    基于FPGA亚稳态参数测量方法

    基于FPGA亚稳态参数测量方法_田毅
    发表于 01-07 21:28 0次下载

    简述FPGA中亚稳态的产生机理及其消除方法

    输出一些中间级电平,或者可能处于振荡状态,并且这种无用的输出电平可以沿信号通道上的各个触发器级联式传播下去。 FPGA纯工程师社群 亚稳态产生原因 在同步系统中,触发器的建立/保持时间不满足,就可能产生亚稳态。当信号
    的头像 发表于 07-23 11:03 4704次阅读
    简述<b class='flag-5'>FPGA</b><b class='flag-5'>中亚稳态</b>的产生机理及其消除方法

    如何理解FPGA设计中的打拍(寄存)和亚稳态

    可能很多FPGA初学者在刚开始学习FPGA设计的时候(当然也包括我自己),经常听到类似于”这个信号需要打一拍、打两拍(寄存),以防止亚稳态问题的产生“这种话,但是对这个打拍和
    的头像 发表于 02-26 18:43 8037次阅读
    如何理解<b class='flag-5'>FPGA</b>设计中的打拍(寄存)和<b class='flag-5'>亚稳态</b>

    什么是亚稳态?如何克服亚稳态

    亚稳态在电路设计中是常见的属性现象,是指系统处于一种不稳定的状态,虽然不是平衡状态,但可在短时间内保持相对稳定的状态。对工程师来说,亚稳态的存在可以带来独特的性质和应用,如非晶态材料、晶体缺陷等
    的头像 发表于 05-18 11:03 4809次阅读

    FPGA设计中的亚稳态解析

    说起亚稳态,首先我们先来了解一下什么叫做亚稳态亚稳态现象:信号在无关信号或者异步时钟域之间传输时导致数字器件失效的一种现象
    的头像 发表于 09-19 15:18 1870次阅读
    <b class='flag-5'>FPGA</b>设计中的<b class='flag-5'>亚稳态</b>解析

    数字电路中的亚稳态是什么

    在数字电路的设计与实现中,亚稳态是一个不可忽视的现象。它可能由多种因素引发,对电路的稳定性和可靠性产生严重影响。本文将深入探讨数字电路中亚稳态的概念、产生原因、影响以及应对策略,以期为读者提供全面而深入的理解。
    的头像 发表于 05-21 15:29 1261次阅读