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--中复位电路产生亚稳态的原因

    FPGA 系统中,如果数据传输中不满足触发器的 Tsu 和 Th 不满足,或者复位过程中复位信号的释放相对于有效时钟沿的恢复时间(recovery time)不满足,就可能产生亚稳态,此时触发器
    发表于 10-22 11:42

    FPGA设计中亚稳态现象

    发表于 04-12 10:04

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

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

    今日说“法”:让FPGA设计中的亚稳态“无处可逃”

    ,有好的灵感以及文章随笔,欢迎投稿,投稿请标明笔名以及相关文章,投稿接收邮箱:1033788863@qq.com。今天带来让FPGA设计中的亚稳态“无处可逃”,话不多说,上货。 说起亚稳态,首先我们
    发表于 04-27 17:31

    一种消除异步电路亚稳态的逻辑控制方法

    本文分析了异步电路中亚稳态产生的原因和危害, 比较了几种常用的降低亚稳态发生概率的设计方法, 针对这些方法不能彻底消除亚稳态的不足, 设计了一种消除亚稳态的外部逻辑控制器
    发表于 10-01 01:56 55次下载
    一种消除异步电路<b class='flag-5'>亚稳态</b>的逻辑控制方法

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

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

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

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

    FPGA设计中的亚稳态解析

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