精华内容
下载资源
问答
  • 亚稳态是异步电路和异步FIFO 设计中的常见问题,将异步信号同步化的几种常用方法虽能大大将降低亚稳态发生的概率, 但无法 根除! 亚稳态的发生。本文提出的半拍错位同步法!, 通过附加的带异步复位端的D 触发器和高频...
  • 这是一个命令行工具,用于计算锁存器/仲裁器/触发器电路的亚稳态分辨率时间常数(Tau)。 它基于(一个GNU Matlab克隆)和(一个开放源代码的spice)。 有关亚稳态,MTBF计算和用于计算Tau的二等分过程的背景信息,...
  • 1. 应用背景1.1 亚稳态发生原因在FPGA系统中,如果数据传输中不满足触发器的Tsu和Th不满足,或者复位过程中复位信号的释放相对于有效时钟沿的恢复时间(recovery TIme)不满足,就可能产生亚稳态,此时触发器输出端Q...
  • 什么是亚稳态?  在FPGA等同步逻辑数字器件中,所有器件的寄存器单元都需要预定义信号时序以使器件正确地捕获数据,进而产生可靠的输出信号。当另一器件将数据发送给FPGA时,FPGA的输入寄存器必须在时钟脉冲边沿前...
  • SUS304亚稳态奥氏体不锈钢马氏体转变量与变形模式的关系研究,李细锋,叶丽燕,本文通过单向拉伸实验,分析了拉伸速率对SUS304亚稳态奥氏体不锈钢马氏体转变量的影响,速率小于0.005/s时,随着速率的减小,马氏体�
  • 亚稳态是FPGA系统中的一个常见问题,亚稳态的出现轻则导致输出错误,严重的甚至...因此对亚稳态的了解必不可少,本文在查阅众多资料的基础上,对亚稳态的概念、亚稳态的产生原因、以及如何避免亚稳态进行了分析与记录。

    亚稳态是FPGA系统中的一个常见问题,亚稳态的出现轻则导致输出错误,严重的甚至会导致系统崩溃。因此对亚稳态的了解必不可少,本文在查阅众多资料的基础上,对亚稳态的概念、亚稳态的产生原因、以及如何避免亚稳态进行了分析与记录。

    目录

    一、概念

    1、建立时间与保持时间

    2、恢复时间与去除时间

    3、亚稳态

    二、产生与消除

    1、跨时钟域信号传输

    2、异步信号采集

    3、异步复位电路

    三、亚稳态概率分析

    1、亚稳态产生概率:

    2、多级触发器减少亚稳态

    四、避免

    五、参考文献


    一、概念

    1、建立时间与保持时间

    触发器在时钟上升沿来临时对数据进行采样,产生对应的输出。但是实际器件无法瞬时完成数据采样这一过程,需要数据在时钟沿前后均稳定一定时间,即引入了(触发器的)建立时间与保持时间这一概念。

    建立时间Tsu:时钟有效沿到来之前数据必须保持稳定的最小时间;

    保持时间Th:时钟有效沿到来之后数据必须保持稳定的最小时间;

    2、恢复时间与去除时间

    恢复时间(Recovery time):与同步电路中的建立时间类似,是指异步控制信号(如寄存器的异步清除和置位控制信号)在“下个时钟沿”来临之前变无效的最小时间长度。这个时间的意义是,异步控制信号在时钟上升沿来临Trecovery时间就要保持稳定,如果保证不了这个最小恢复时间,也就是说“下个时钟沿”来临时,这个异步控制信号不能保证正常执行。

    去除时间(Removal time):与同步电路中的保持时间类似,是指异步控制信号(如寄存器的异步清除和置位控制信号)在“有效时钟沿”之后变无效的最小时间长度。这个时间的意义是,异步控制信号在时钟上升沿后仍需保持Tremoval的稳定时间,如果保证不了这个去除时间,也就是说这个异步控制信号的解除与“有效时钟沿”离得太近,那么依旧不能保证这一异步控制信号能正常执行。

    3、亚稳态

    概念:

    亚稳态是指触发器无法在某个规定的时间段内到达一个可以确认的状态。即:如果触发器的输入电压采样时间过短,则触发器需要花很长时间来实现输出逻辑达到标准电平,在这段时间里输出端在高低电平之间处于振荡状态,而不是等于理想输出值。也就是说,电路处于中间态的时间变长,使得电路“反应”迟钝,这就是“亚稳态”。(例如输入信号在时钟有效沿的建立时间和保持时间之间改变了,导致不满足触发器的建立时间或保持时间,导致输出有一段时间的不稳定态,就是亚稳态。)

    后果:

    1、亚稳态中间态时间变长:亚稳态是触发器的一个固有特性,正常采样也会有一个亚稳态时间。当建立时间和保持时间满足时,触发器也会经历采样---亚稳态---随后稳定输出。而出现亚稳态问题时,亚稳态(中间态)时间变长

    2、亚稳态的输出不一定正确:正常工作时,触发器经历较短的亚稳态时间,随后会正确输出;而出现亚稳态问题时,触发器经历较长的亚稳态时间,最终输出稳定但无法保证正确(是稳定的标准电平信号,但难以保证是输入对应输出);

    物理意义:

    数字电路中,对于电平小于电压阈值 VL的称为0,大于电压阈值VL 称之为1,而电平位于电压阈值之间时(无法确定电压为0还是1)叫做系统的亚稳态。

    工程意义:

    亚稳态是指触发器无法在某个规定的时间内达到可以确认的状态。一旦触发器进入亚稳态,则既无法预测触发器的输出电平,也无法预测什么时候稳定在某个确认的电平上。(稳定所需时间不定、输出结果不定

    二、产生与消除

    亚稳态一般发生在跨时钟传输、异步信号采集中以及复位电路中。 在同步系统中,输入总是与时钟同步,因此寄存器的setup time和hold time是满足的,一般情况下是不会发生亚稳态情况的。(在同步逻辑中只要STA分析过了正常是不会遇到亚稳态问题的,STA分析已经保证了每个触发器都能满足自己的建立时间以及保持时间)。

    1、跨时钟域信号传输

    产生:在跨时钟域信号传输时,由于源寄存器时钟和目的寄存器时钟相移未知,所以源寄存器数据发出数据,数据可能在任何时间到达异步时钟域的目的寄存器,所以无法保证满足目的寄存器Tsu和Th的要求,从而出现亚稳态。

    消除:对异步信号进行同步处理;如添加两级D触发器、采用握手进行交互等。

    2、异步信号采集

    产生:在异步信号采集中,由于异步信号可以在任意时间点到达目的寄存器,所以也无法保证满足目的寄存器Tsu和Th的要求,从而出现亚稳态。

    消除:采用FIFO对跨时钟域数据通信进行缓冲设计;

    3、异步复位电路

    产生:在异步复位电路中,复位信号的释放时间不定,难以保证满足恢复时间(Recovery Time)以及去除时间(Removal Time),从而出现亚稳态。

    消除: 对复位电路采用异步复位、同步释放方式处理。详见:三种复位方式详解---同步复位/异步复位/异步复位同步释放

    三、亚稳态概率分析

    1、亚稳态产生概率:

            概率 = (建立时间 + 保持时间)/ 采集时钟周期    

    可以看出,亚稳态出现的概率与工作时钟频率以及触发器自身的特性(器件的工艺等因素决定了它的建立/保持时间)有关;所以在异步信号采集过程中,要想减少亚稳态发生的概率可以:

           1、降低系统工作时钟,增大系统周期,亚稳态概率就会减小(降低工作频率,不常用);

           2、 采用工艺更好的FPGA,也就是Tsu和Th时间较小的FPGA器件;

    2、多级触发器减少亚稳态

    异步信号进行使用的时候,常会对异步信号进行同步处理,同步一般采用多级D触发器级联处理,常见为采用二级D触发器对异步信号进行同步处理,如下图示意:

     

    第一级寄存器产生亚稳态后,如果直接输出很可能将亚稳态传递下去导致系统崩溃;而添加了第二级D触发器后,相当于多给了寄存器一个时钟周期的时间恢复稳定,因此出现亚稳态的几率就会大大减小。由分析可见,触发器级数越多,出现亚稳态的几率就会越小,但是一般来说两级寄存器已经足够,而不需要再添加额外的级数导致资源浪费。(第二级寄存器稳定输出概率为90%,第三极寄存器稳定输出的概率为99%)

    四、避免

    1 降低系统时钟(不常见,因为高速率正确处理才是目的)

    2 用反应更快的触发器(工艺相关,受硬件制约)

    3 引入同步机制,防止亚稳态传播(常见的处理方式,即通过一些机制,在现有硬件条件下,最大程度的减少亚稳态发生)

    4 改善时钟质量,用边沿变化快速的时钟信号

    五、参考文献

    关于亚稳态的总结

    三种复位方式详解---同步复位/异步复位/异步复位同步释放

    静态时序分析STA公式推导以及本质分析(基础概念、多角度公式推导、本质分析)

    https://www.cnblogs.com/linjie-swust/archive/2012/01/07/YWT.html

    FPGA 基础知识(亚稳态、流水线、时序约束、信号同步、时钟等)

    http://blog.sina.com.cn/s/blog_503cdf0d0100cygn.html

    展开全文
  • 亚稳态

    2020-02-27 15:00:17
    在同步电路中,满足时序要求的电路是不会有亚稳态出现的。但是,在异步电路中,由于数据和时钟有着不固定的关系,当这种关系违背了时序要求的时候,就会出现亚稳态亚稳态是由于违背了触发器的建立时间和保持时间...

            在同步电路当中,数据和时钟总是有着固定的关系,所以当这种关系在满足器件的建立和保持时间的要求时,输出就会在一段延时之后输出一个稳定的值。在同步电路中,满足时序要求的电路是不会有亚稳态出现的。但是,在异步电路中,由于数据和时钟有着不固定的关系,当这种关系违背了时序要求的时候,就会出现亚稳态。

            亚稳态是由于违背了触发器的建立时间和保持时间而产生的。设计中的每个触发器都有建立时间和保持时间的要求,也就是数据在有效沿的前后需要保持一段稳定的时间,才能保证触发器采集到的数据是稳定的,如果在这段时间内数据发生了变化,那么触发器的输出就会出现不稳定的情况,这种不稳定的情况会持续一段时间才能恢复稳定。

            亚稳态窗口,也就是之前提到的数据要保持的时间,也就是说它的长度等于该触发器的建立时间和保持时间,如下图所示。

            避免亚稳态

            根据问题出现的条件,即出现违背建立时间和保持时间的情况。信号可能违背时序要求的条件如下:

            1.输入信号是异步信号。

            2.时钟偏移/摆动(上升或下降时间)高于容限值。

            3.信号在两个不同频率或者相同频率但是相位和偏移不同的时钟域下跨时钟域工作。

            4.组合延迟使触发器的数据输入在亚稳态窗口内发生变化。

            最简单的避免亚稳态的方法就是使时钟周期的长度足够长,这个时钟周期最小也要大于保持和建立时间以及通往下一级的触发器的路径上的任何延时。在大多数现代化设计的性能要求下,这种方法并不实用。

            另一种避免亚稳态的方法是使用同步器。

            1.使用多级同步器

            前面说过如果信号进入亚稳态,那么需要一定的时间恢复,所以可以在跨时钟域的信号上加上一个或者多个同步触发器,如下图所示。这样当第一级触发器发生亚稳态时,在后面的触发器只要经过这段时间,就能使信号恢复正常。但是这样的方式有个缺点,那便是会增加同步逻辑输入的延迟。

            2.使用时钟倍频电路的多级同步器

            上面提到多级同步器会导致同步逻辑输入延迟,系统需要花费较长的时间去响应异步输入。为了解决这个问题,可以用倍频时钟作为同步时钟的时钟输入,这种方法不仅能够缩短异步输入的响应时间,而且能够降低发生亚稳态的概率。

            以上两种方法都不能保证亚稳态能不传播下去,但是能减少亚稳态发生的概率。

            亚稳态检测电路

            为了确定触发器的亚稳态特征,可以设计如下亚稳态检测电路。

            当出现亚稳态的时候,两个互补输出Qb和Qc信号,经过同或门,然后输出。因为出现了亚稳态,那么Qd会输出高电平。如果没有出现亚稳态,同或门的输出应该是低电平,因为互补信号不管谁是0谁是1,都会输出低电平。只有当亚稳态出现的时候,同或门的输入的互补信号不再互补,所以输出高电平。

            同步器类型

            这里介绍两种模式的同步器,当异步输入信号比时钟周期要大得多的时候模式A的电路最有效,图示如下。  

            当输入的数据比时钟周期要大,也就是说总有有效沿能够采集到有效数据,而当亚稳态需要超过不只一个时钟周期才能恢复,那么需要级联更过的触发器。

            在异步输入信号的宽度小于时钟周期的时候,需要采用模式B的电路,图示如下。

            第一级触发器的输入端口D与Vcc相连,其时钟输入为异步输入信号。其波形图如下所示。     

            异步输入的短脉冲让q1变成高电平,这个高电平经过两个时钟之后从第三级触发器输出。

    展开全文
  • 3.6.3 主从触发器的动态特性 4 亚稳态(metastability) 4.1 为什么会产生亚稳态? 4.2 亚稳态的影响? 4.3 为什么同步寄存可以减少亚稳态的概率? 4.4 为什么需要多级同步寄存? 4.5 亚稳态怎么衡量? 要点总结 ...

    1 从MOS管原理学起

    MOS管(Metal-Oxide-Semiconductor Field-Effect Transistor,金属氧化物半导体 场效应晶体管)

    1.1 N沟道增强型MOS管:

    在这里插入图片描述

    1. 不加电压,此时,载流子由于浓度差而产生的扩散作用 与 内建电场作用下的漂移运动 达到动态平衡,形成PN结。源极S(Source)与漏极D(Drain)之间为两只背向的PN结。不存在导电沟道,所以源漏不导通。
      在这里插入图片描述

    2. v D S = 0 , v G S > 0 v_{DS}=0,v_{GS}>0 vDS=0,vGS>0。注意栅极G(Gate)与P型衬底间有一层 S i O 2 SiO_2 SiO2,导致不导通,但由于外电场作用吸引电子。这些电子形成N型薄层(反型层)
      在这里插入图片描述

    使沟道刚形成的电压称为开启电压( U G S ( t h ) U_{GS(th)} UGS(th)), v G S v_{GS} vGS越大,沟道越大,电阻越小。
    3. v D S > 0 , v G S > U G S ( t h ) v_{DS}>0,v_{GS}>U_{GS(th)} vDS>0,vGS>UGS(th)
    因为存在沟道,若 v D S > 0 v_{DS}>0 vDS>0,则有漏极到源极的电流。
    造成:沟道中各点与栅极间的电压不相等,而是沿沟道从源极到漏极逐渐变大,即漏极一侧的耗尽层比源极宽。即漏极一侧沟道比源极窄:
    在这里插入图片描述

    结果:

    • v D S < v G S − U G S ( t h ) v_{DS}<v_{GS}-U_{GS(th)} vDS<vGSUGS(th) v D S v_{DS} vDS的增大使 i D i_D iD线性增大,同时漏极一侧也在不断变窄。
    • v D S = v G S − U G S ( t h ) v_{DS}=v_{GS}-U_{GS(th)} vDS=vGSUGS(th):即 v G D = v G S − v D S = U G S ( t h ) v_{GD}=v_{GS}-v_{DS}=U_{GS(th)} vGD=vGSvDS=UGS(th),漏极一侧沟道出现夹断点,称为预夹断。
    • v D S > v G S − U G S ( t h ) v_{DS}>v_{GS}-U_{GS(th)} vDS>vGSUGS(th):随着 v D S v_{DS} vDS的增大,夹断区延长, v D S v_{DS} vDS增大的部分几乎全部用于克服夹断区对漏极电流的阻力。
      所以输出电流特性曲线呈现:
      在这里插入图片描述

    1.2 其他3种类型MOS管

    1. P沟道增强型MOS管
      P沟道增强型MOS管 开启电压 U G S ( t h ) < 0 U_{GS(th)}<0 UGS(th)<0 v G S < U G S ( t h ) v_{GS}<U_{GS(th)} vGS<UGS(th)时导通。
      在这里插入图片描述

    2. N沟道耗尽型MOS管
      对于N沟道耗尽型MOS管,二氧化硅绝缘层掺杂大量正离子。即使 v G S = 0 v_{GS}=0 vGS=0,在掺杂的正离子作用下P型衬底表层也有导电沟道。 v G S < 0 < U G S ( o f f ) v_{GS}<0<U_{GS(off)} vGS<0<UGS(off)沟道才会消失。
      在这里插入图片描述

    3. P沟道耗尽型MOS管
      P沟道耗尽型MOS管夹断电压 U G S ( o f f ) > 0 U_{GS(off)}>0 UGS(off)>0

    P沟道、N沟道就是指导电沟道的载流子类型。
    增强型、耗尽型值导电沟道随栅极电压变化特性。增强型对应开启电压。耗尽型对应夹断电压。
    在这里插入图片描述

    在这里插入图片描述

    记忆:右边竖线代表沟道,增强型需要外加电压才有沟道,所以是虚线。G靠近S一侧。N沟道箭头向内。

    2 CMOS组成的门电路

    CMOS:互补金属氧化物半导体(Complementary Metal Oxide Semiconductor)

    2.1 CMOS反相器

    2.1.1 电路结构

    在这里插入图片描述

    在这里插入图片描述

    电压传输特性与电流传输特性:
    在这里插入图片描述

    所以CMOS在状态切换时功耗较大。

    因为MOS管栅极与衬底之间的二氧化硅会产生输入电容,而绝缘介质又非常薄,很容易被击穿,所以需要保护电路:
    在这里插入图片描述

    2.1.2 动态特性

    1. 传输延迟时间
      由于MOS管电极之间、电极与衬底之间都存在寄生电容。
      输出端不可避免的存在负载电容(下一级的输入电容和接线电容构成这一级的负载电容)。
      导致:输入信号发生跳变时,输出电压的变化必然滞后于输入电压的变化。输出电压变化滞后于输入电压变化的时间称为传输延迟时间。

    2. 交流噪声容限
      由于负载电容和MOS管寄生电容,输入信号状态变化时必须有猪狗的变化幅度和作用时间。当输入窄脉冲,为使输出状态改变所需的信号幅度远大于直流输入信号的幅度。反相器对这类窄脉冲的噪声容限称为交流噪声容限。

    3. 动态功耗
      CMOS反相器从一种稳定工作状态突然转变到另一种稳定状态的过程中,产生的附加的功耗称之为动态功耗。
      两部分组成:

      • 对负载电容充、放电消耗的功率。
      • 两个MOS管短时间内同时导通消耗的瞬时导通功耗。

    2.2 其他CMOS门电路

    2.2.1 CMOS与非门

    在这里插入图片描述

    假设导通内阻为R_ON,截止内阻为R_OFF=无穷大。

    ABT1(P沟道)T3(P沟道)T2(N沟道)T4(N沟道)Y输出电阻R_O
    00V_GS=-V_DD导通V_GS=-V_DD导通V_GB=0截止V_GS=0截止1R_ON1 // R_ON3 = 0.5 R_ON
    01V_GS=-V_DD导通V_GS=0截止V_GB=0截止V_GS=V_DD导通1R_ON1 = R_ON
    10V_GS=0截止V_GS=-V_DD导通V_GB=V_DD导通V_GS=0截止1R_ON3 = R_ON
    11V_GS=0截止V_GS=0截止V_GB=V_DD导通V_GS=V_DD导通0R_ON1 + R_ON3 = 2 R_ON

    T1与T3并联,分别受A与B控制,完成A|B的逻辑,A=1或B=1,输出VDD。
    T2与T4串联,分别受A与B控制,完成A&B的逻辑。A=1且B=1,输出VSS。

    缺点:

    • 输出电阻比较可知,不同状态输出电阻相差很大。
    • 输出的高低电平收输入端数目的影响。输入端数量多导致串联的驱动管的数量多,输出电平更高。
    • 输入端工作状态不同时对电压传输特性有影响。

    解决:门电路的每个输入端、输出端各增设一级反相器。加的这些具有标准参数的反相器称为缓冲器。
    注意缓冲器的本质概念
    在这里插入图片描述

    注意加了缓冲器后,电路的逻辑功能也发生了变化。与非加缓冲器得到或非,或非加缓冲器得到与非。

    2.2.2 CMOS或非门

    在这里插入图片描述

    ABT1(P沟道)T3(P沟道)T2(N沟道)T4(N沟道)Y
    00V_GB=-V_DD导通V_GS=-V_DD导通V_GB=0截止V_GS=0截止1
    01V_GB=-V_DD导通V_GS=0截止V_GB=0截止V_GS=V_DD导通0
    10V_GB=0截止V_GS=-V_DD导通V_GB=V_DD导通V_GS=0截止0
    11V_GB=0截止V_GS=0截止V_GB=V_DD导通V_GS=V_DD导通0

    结构与与非门输出相反。

    2.2.3 CMOS传输门

    利用P沟道MOS管(T2)与N沟道MOS管(T1)的互补性连接成CMOS传输门。T1和T2的源极和漏极在结构上完全对称。
    在这里插入图片描述

    一段接输入正电压v1,另一端接负载电阻RL,则在互补的控制信号C和C’的控制下有两种工作状态:
    在这里插入图片描述

    • 当C=0,C’=1。T1和T2同时截止。
    • 当C=1,C’=0,RL远小于导通电阻。当 0 < v 1 < V D D − V G S ( T H ) N 0<v_1<V_{DD}-V_{GS(TH)N} 0<v1<VDDVGS(TH)NT1导通,当 ∣ V G S ( T H ) N ∣ < v 1 < V D D |V_{GS(TH)N}|<v_1<V_{DD} VGS(TH)N<v1<VDDT2导通。

    利用CMOS传输门和CMOS反相器可以组合成各种复杂的逻辑电路,如异或门、数据选择器、寄存器、计数器等。
    还可用作模拟开关。

    2.2.4 三态输出CMOS门电路

    三态:高电平、低电平、高阻态
    因为这种电路结果总是接在集成电路输出端,所以也将这种电路称为输出缓冲器(output Buffer)
    注意输出缓冲器的本质概念
    在这里插入图片描述

    EN’为0,反相器正常工作。EN’为1,T1与T2同时截止,输出呈现高阻态。
    高阻态(Z)的含义,表示没器件驱动这个信号,既不给0也不给1。
    :不定态(X)的含义,表示不关心这个信号,可以是0也可以是1。
    实际器件稳定时肯定只有0或1电平,所谓高阻态和不定态,只是一种对于设计者的状态的定义。

    3 触发器

    3.1 各触发器表达式

    只要符合特定的特性表,无论触发方式如何,都归为一类触发器。

    1. SR触发器
      特性表和状态转换图描述:
      在这里插入图片描述
      特征方程描述:
      { Q ∗ = S ′ R ′ Q + S R ′ Q ′ + S R ′ Q = S R ′ + S ′ R ′ Q S R = 0 ( 约 束 条 件 ) \left\{ \begin{aligned} Q^* &= S'R'Q+SR'Q'+SR'Q=SR'+S'R'Q\\ SR &=0(约束条件) \end{aligned} \right. {QSR=SRQ+SRQ+SRQ=SR+SRQ=0
      化简:
      { Q ∗ = S + R ′ Q S R = 0 ( 约 束 条 件 ) \left\{ \begin{aligned} Q^* &= S+R'Q\\ SR &=0(约束条件) \end{aligned} \right. {QSR=S+RQ=0

    2. JK触发器
      特性表和状态转换图描述:
      在这里插入图片描述
      特征方程描述:
      Q ∗ = J Q ′ + K ′ Q Q^*=JQ'+K'Q Q=JQ+KQ

    3. T触发器
      JK触发器的两个输入端连在一起作为T端。
      特性表和状态转换图描述:
      在这里插入图片描述
      特征方程描述:
      Q ∗ = T Q ′ + T ′ Q Q^*=TQ'+T'Q Q=TQ+TQ

    4. D触发器
      特性表和状态转换图描述:
      在这里插入图片描述
      特征方程描述:
      Q ∗ = D Q^*=D Q=D

    触发器:

    • 能够存储1位二值信号的基本单元电路统称为触发器(Flip-Flop)。
    • 触发方式有电平触发、脉冲触发和边沿触发三种。
    • 根据触发器逻辑功能的不同分为SR触发器、JK触发器、T触发器、D触发器等几种类型。
    • 根据存储原理不同分为静态触发器(电路状态自锁存储)和动态触发器(MOS管栅极电容存储)。

    3.2 SR锁存器

    或非门组成的SR锁存器(Set-Reset Latch):
    在这里插入图片描述

    (a)与(b)结构完全相同。

    用与非门组成的SR锁存器:
    在这里插入图片描述

    3.3 电平触发的触发器

    SR触发器
    在这里插入图片描述

    在这里插入图片描述

    • 只有CLK在有效电平,触发器才能接受输入信号。

    3.4 脉冲触发的触发器

    1. 主从SR触发器(Master-Slave SR Flop-Flop)
      在这里插入图片描述
    • CLK=1,G7和G8开,G3和G4关。主触发器根据S和R的状态翻转。从触发器保持。
    • CLK下降沿。G7和G8关闭,G3和G4打开。主触发器保持,从触发器按照主触发器输出翻转。
    1. 主从结构JK触发器
      目的:为了避免出现S=R=1时次态不确定。
      在这里插入图片描述
    • CLK=1时全部时间输入的信号都将对主触发器起控制作用。

    3.5 边沿触发的触发器

    目的:触发器次态仅仅取决于时钟边沿时刻输入信号的状态,提高触发器可靠性、抗干扰能力。

    1. 用两个电平触发D触发器组成的边沿触发器
      目前在CMOS集成电路主要采用的电路结构形式制作的边沿触发器。
      在这里插入图片描述

    引入异步置为、复位功能:
    在这里插入图片描述

    1. 维持阻塞触发器

    3.6 触发器的动态特性

    3.6.1 SR锁存器的动态特性

    1. 输入信号宽度
      考虑门电路存在传输延迟时间后的翻转过程:
      在这里插入图片描述
    • 1 S D ′ S_D' SD下降沿到达后,经过G1的传输延迟时间 t p d t_{pd} tpd,Q端变成高电平。
    • 2 Q的高电平到达G2,经过G2的传输延迟时间 t p d t_{pd} tpd,Q’变成低电平。
    • 3 Q’的低电平反馈到G1,完成锁存, S D ′ S_D' SD才可随意变化(此时 S D ′ S_D' SD就算变化,也要传输延迟时间)。
      结论: S D ′ S_D' SD S R D ′ SR_D' SRD输入低电平信号宽度 t W t_W tW应满足:
      t W ≥ 2 t p d t_W \geq 2t_{pd} tW2tpd
    1. 传输延迟时间
      概念:从信号到达,到锁存器输出端新状态稳定地建立起来 的时间。
      Q和建立的传输延迟时间 t P L H = t p d t_{PLH} = t_{pd} tPLH=tpd,Q’和建立的传输延迟时间 t P H L = 2 t p d t_{PHL} = 2t_{pd} tPHL=2tpd,不相等。

    3.6.2 电平触发SR触发器的动态特性

    1. 输入信号宽度
      与SR锁存器类似: S D ′ = ( S ⋅ C L K ) ′ S_D' = (S·CLK)' SD=(SCLK) R D ′ = ( R ⋅ C L K ) ′ R_D' = (R·CLK)' RD=(RCLK),则要求S(或R)和CLK同时位高电平的时间满足:
      t W ( S ⋅ C L K ) ≥ 2 t p d t_{W(S·CLK)} \geq 2t_{pd} tW(SCLK)2tpd
      在这里插入图片描述
    2. 传输延迟时间
      Q和建立的传输延迟时间 t P L H = 2 t p d t_{PLH} = 2t_{pd} tPLH=2tpd,Q’和建立的传输延迟时间 t P H L = 3 t p d t_{PHL} = 3t_{pd} tPHL=3tpd,不相等。

    3.6.3 主从触发器的动态特性

    注意建立时间与保持时间的原因:由于门电路的传输延迟。回顾根本的原因:1. 由于MOS管电极之间、电极与衬底之间都存在寄生电容。2. 输出端不可避免的存在负载电容(下一级的输入电容和接线电容构成这一级的负载电容)。引起的传输延迟时间。
    在这里插入图片描述

    1. 建立时间
      指的是输入信号应先于CLK动作沿到达的时间 t s e t t_{set} tset
      由于主触发器是一个同步SR触发器,根据上面的同步SR触发器对输入信号宽度的要求,J、K信号至少应在CLK下降沿之前 2 t p d 2t_{pd} 2tpd时间稳定并保持不变。因此:
      t s e t ≥ 2 t p d t_{set} \geq 2t_{pd} tset2tpd

    2. 保持时间
      指的是CLK下降沿到达后输入信号需要保持不变的时间 t H t_{H} tH
      为了避免CLK下降沿到达时G7、G8的输入产生竞争现象,必须在CLK变成低电平以后JK的状态才允许变化。因此,保持时间必须大于CLK的下降时间 t f t_f tf
      t H ≥ t f t_H \geq t_f tHtf

    3. 传输延迟时间
      传输延迟时间:从CLK下降沿开始到输出端稳定新状态的时间。(在上述电平触发SR触发器基础上加一个反相器延时)
      { t P L H = 3 t p d t P H L = 4 t p d \left\{ \begin{aligned} t_{PLH}=3t_{pd}\\ t_{PHL}=4t_{pd} \end{aligned} \right. {tPLH=3tpdtPHL=4tpd

    4. 最高时钟频率
      为保证主触发器能可靠翻转,CLK高电平的持续时间 t W H t_{WH} tWH应大于 3 t p d 3t_{pd} 3tpd
      为保证从触发器能可靠翻转,CLK低电平的持续时间 t W L t_{WL} tWL应大于 3 t p d 3t_{pd} 3tpd
      因此,时钟信号的最小周期为:
      T C ( m i n ) ≥ 6 t p d T_{C(min)} \geq 6t_{pd} TC(min)6tpd

    4 亚稳态(metastability)

    上述都是重要的铺垫,虽然触发器结构可能与实际器件不一样,但基本原理都是一样的。再次总结:

    • 1 由于寄生电容与负载电容,晶体管的状态切换需要传输延迟时间。
    • 2 由于晶体管传输延迟的存在,所以触发器需要满足一定的建立时间与保持时间。
    • 3 如果不能满足建立时间和保持时间,晶体管输出将不稳定。

    4.1 为什么会产生亚稳态?

    altera的文档这么描述的:输入寄存器的数据必须满足建立时间 t s e t t_{set} tset和保持时间 t H t_{H} tH,然后数据会在clock-to-output延时时间 t C O t_{CO} tCO之后保持稳定。如果输入的数据不满足建立时间或保持时间,寄存器的输出就会进入亚稳态,在亚稳态过程中,寄存器输出在一段时间内停留在高态和低态之间的值,这意味着输出过度到一个稳定的高或低态的延迟超过了指定的 t C O t_{CO} tCO

    同步设计如果总是会保持严格的时序关系,所以亚稳态不会发生。亚稳态通常发生在无关的或异步的时钟域之间传递信号时。由于设计者无法保证输入的信号满足时序关系。寄存器进入亚稳态的可能性和返回稳定状态所需的时间取决于用于制造该设备的工艺技术和操作条件。在大多数情况下,寄存器将很快返回到稳定的已定义状态。

    寄存器在时钟沿对数据进行采样可以比作一个小球落在小山上,山的两侧代表稳定状态——信号在信号转换后的新旧数据值——山顶代表亚稳定状态。
    在这里插入图片描述

    这里注意一点:如果球落在山顶上,它可能会无限期地保持平衡,但实际上它会轻微地落在山顶的一边,然后滚下山去。球从山顶降落得越远,它在山底达到稳定状态的速度就越快。所以说寄存器一般情况会很快返回稳定的状态。

    这个过程用时序图表示:
    在这里插入图片描述

    当时钟信号转换时,输入信号从低状态转换到高状态,违反了寄存器的tSU要求。数据输出信号例子从低状态开始,到亚稳态,悬停在高和低状态之间。信号输出A解析为输入数据的新逻辑1状态,输出B返回数据输入的原始逻辑0状态。在这两种情况下,输出转换到定义的1或0状态将延迟到寄存器指定的tCO之外。

    这里个人觉得有一个关键点,很多资料描述亚稳态是徘徊在高低电平之间。根据晶体管特性一级altera的文档的描述。“The data output signal examples start in the low state and go
    metastable, hovering between the high and low states. ”应该是指的“悬停”在一个值,但其实也不是真正的稳定悬停到某个电压,只是变化比较缓慢,类似“悬停”?

    4.2 亚稳态的影响?

    如果数据输出信号在下一个寄存器捕获数据之前稳定到一个有效状态,那么亚稳态信号不会对系统操作产生负面影响。但是,如果亚稳信号在到达下一个寄存器之前没有分解到低或高状态,就可能导致系统故障。继续球和山的类比,当球到达山的底部所花费的时间(稳定的逻辑值0或1)超过了指定的时间时,就会发生故障,指定的时间是寄存器的 t C O t_{CO} tCO加上从寄存器出发的路径上的任何时序裕量。当亚稳态信号在指定的时间内没有解决时,如果目标逻辑观察到不一致的逻辑状态,即不同的目标寄存器捕获不同的亚稳态信号值,就会导致逻辑故障。

    4.3 为什么同步寄存可以减少亚稳态的概率?

    当一个信号在不相关或异步的时钟域的电路之间传输时,有必要将这个信号同步到新的时钟域,然后才能使用它。新时钟域中的第一个寄存器充当同步寄存器。为了减少异步信号传输中由于亚稳性引起的故障,电路设计人员通常在目标时钟域使用一系列寄存器(同步寄存器链或同步器)将信号重新同步到新的时钟域。这些寄存器允许潜在的亚稳态信号在设计的其余部分使用之前有额外的时间解析到一个已知值。同步器 register-to-register 路径中可用的时间裕量是亚稳信号稳定的可用时间,称为可用亚稳稳定时间。

    同步寄存器链中的一系列寄存器需要满足如下要求:

    • 链中的寄存器都由相同的或相位相关的时钟进行驱动。
    • 链中的第一个寄存器从不相关的时钟域驱动,或异步驱动
    • 除了链中的最后一个寄存器外,每个寄存器只能扇出一个寄存器
      在这里插入图片描述

    同步寄存器链的长度是同步时钟域中满足上述要求的寄存器数量。

    请注意,任何异步输入信号,或在不相关的时钟域之间传输的信号,都可以在相对于捕获寄存器的时钟边缘的任何点进行转换。因此,在数据转换之前,设计者无法预测信号转换的序列或目标时钟边沿的数量。例如,如果异步信号的总线在不同时钟域之间传输以同步,数据信号可以在不同的时钟边缘上转换。因此,接收到的总线数据值可能是不正确的。

    4.4 为什么需要多级同步寄存?

    上述可知,寄存器处于亚稳态之后,形成稳定输出所需的时间 t s t a b t_{stab} tstab要大于clock-to-output延时时间 t C O t_{CO} tCO。至于到底延迟多少取决于用于制造该设备的工艺技术和操作条件。如果第二个采样时钟到来时还没稳定,就会导致亚稳态的传递。同理,亚稳态可能一直传递。但一般认为经过同步寄存后发生发生亚稳态的概率会大大较小。因为第一级寄存器输出之后“小球落点”已经偏离“山顶”了,所以“下降”到稳定状态所需时间减小?

    在这里插入图片描述

    4.5 亚稳态怎么衡量?

    1. 平均故障间隔时间MTBF
      平均故障间隔时间(mean time between failures ,MTBF)表明设计者是否应该采取措施减少这种故障的机会。较高的MTBF(例如亚稳态失效之间数百年或数千年)表明设计更稳健。所需的MTBF取决于系统应用。例如,至关重要的医疗设备要求的MTBF高于消费视频显示设备。增加亚稳性MTBF可以减少信号传输在设备上引起亚稳性问题的机会。
      同步器链的MTBF用以下公式和参数计算:
      M T B F = e t M E T / C 2 C 1 f C L K f D A T A MTBF=\frac{e^{t_{MET}/C_2}}{C_1f_{CLK}f_{DATA}} MTBF=C1fCLKfDATAetMET/C2
      C1和C2常数取决于器件过程和操作条件。
      f C L K f_{CLK} fCLK f D A T A f_{DATA} fDATA参数取决于设计规范: f C L K f_{CLK} fCLK是接收异步信号的时钟域的时钟频率, f D A T A f_{DATA} fDATA是异步输入数据信号的切换频率。更快的时钟频率和更快的切换数据会减少(或恶化)MTBF。
      t M E T t_{MET} tMET参数是可获得的亚稳稳定时间,或超出寄存器的 t C O t_{CO} tCO可用的时间裕量,用于将潜在的亚稳信号解析为一个已知值。同步链的 t M E T t_{MET} tMET是链中每个寄存器的输出时序松弛的总和。
      总体设计的MTBF可以通过设计中各同步器链的MTBF来确定。同步器的故障率为1/MTBF,整个设计的故障率是通过添加每个同步器链的故障率来计算的,如下所示:
      故 障 率 d e s i g n = 1 M T B F d e s i g n = ∑ i = 1 寄 存 器 数 1 M T B F i 故障率_{design}=\frac{1}{MTBF_{design}}=\sum_{i=1}^{寄存器数}\frac{1}{MTBF_i} design=MTBFdesign1=i=1MTBFi1

    2. 简单描述
      我们知道不满足时序时有可能产生亚稳态,则简单表示亚稳态产生的概率:
      亚 稳 态 概 率 = t S U + t H T 采 集 亚稳态概率=\frac{t_{SU}+t_H}{T_{采集}} =TtSU+tH
      T_{采集}为采集信号的同步寄存器的时钟周期。

    要点总结

    1. CMOS晶体管产生传输延时的原因。
    2. CMOS晶体管不同状态的功耗。
    3. CMOS组成的门电路结构。
    4. Buffer和output Buffer的本质含义与作用。
    5. 触发器的动态特性:建立时间、保持时间的本质含义。

    参考资料

    1 数字电子技术基础(第5版).阎石
    2 模拟电子技术基础(第4版).华成英
    3 Understanding Metastability in FPGAs.altera
    4. FPGA中的亚稳态–让你无处可逃.屋檐下的龙卷风

    展开全文
  • 亚稳态是在数字IC设计中常见的问题,该文件主要是阐述了亚稳态产生的原因、危险以及相应的解决方案电路。
  • 我们使用简化版本的QCD(即所谓的“变形QCD”)研究了许多与θ依赖性,亚稳态激发真空状态和其他相关主题有关的成分。 该模型是一个弱耦合规范理论,但是,该模型保留了所有相关的基本要素,使我们能够研究已知存在...
  • 本文基于《数字电路中的亚稳态产生原因和处理方法》、《FPGA中的亚稳态》整理所得,虽然这两篇只是针对亚稳态,实质上是在谈论跨时钟域处理,可点击跳转查看之前的文章《CDC:跨时钟域处理》。 1. 亚稳态 1.1 什么是...

    前言

    本文基于《数字电路中的亚稳态产生原因和处理方法》《FPGA中的亚稳态》整理所得,虽然这两篇只是针对亚稳态,实质上是在谈论跨时钟域处理,可点击跳转查看之前的文章《CDC:跨时钟域处理》

    1. 亚稳态

    1.1 什么是亚稳态?怎么产生的?

    不能满足目的寄存器的建立时间和保持时间。

    • 在数字电路设计中,如果数据传输中不满足触发器的Tsu和Th不满足,或者复位过程中复位信号的释放相对于有效时钟沿的恢复时间(recovery time)不满足,就可能产生亚稳态,此时触发器输出端Q在有效时钟沿之后比较长的一段时间处于不确定的状态,在这段时间里Q端在0和1之间处于振荡状态,而不是等于数据输入端D的值。这段时间称为决断时间(resolution time)。经过resolution time之后Q端将稳定到0或1上,但是稳定到0或者1,是随机的,与输入没有必然的关系。

    1.2 亚稳态发生场合

    • 只要系统中有异步元件,亚稳态就是无法避免的,亚稳态主要发生在异步信号检测、跨时钟域信号传输以及复位电路等常用设计中。

    1.3 亚稳态危害

    • 由于产生亚稳态后,寄存器Q端输出在稳定下来之前可能是毛刺、振荡、固定的某一电压值。在信号传输中产生亚稳态就会导致与其相连其他数字部件将其作出不同的判断,有的判断到“1”有的判断到“0”,有的也进入了亚稳态,数字部件就会逻辑混乱。在复位电路中产生亚稳态可能会导致复位失败。怎么降低亚稳态发生的概率成了FPGA设计需要重视的一个注意事项。

    2. 理论分析

    2.1 信号传输中的亚稳态

    • 在同步系统中,输入信号总是系统时钟同步,能够达到寄存器的时序要求,所以亚稳态不会发生。
    • 亚稳态问题通常发生在一些跨时钟域信号传输以及异步信号采集上,主要原因就是不能满足建立时间和保持时间的要求。
    • 无法保证满足目的寄存器建立时间Tsu和保持时间Th要求,有下面几种原因:
      (1)在跨时钟域信号传输时,由于源寄存器时钟和目的寄存器时钟相移未知,所以源寄存器数据发出数据,数据可能在任何时间到达异步时钟域的目的寄存器。
      (2)在异步信号采集中,由于异步信号可以在任意时间点到达目的寄存器。

    当数据在目的寄存器Tsu-Th时间窗口发生变化,也即当数据的建立时间或者保持时间不满足时,就可能发生亚稳态现象。如图3.1所示。

    在这里插入图片描述
    图3.1 亚稳态产生示意图

    由图可知,当产生亚稳态后Tco时间后会有Tmet(决断时间)的振荡时间段,当振荡结束回到稳定状态时为“0”或者“1”,这个是随机的。因此,会对后续电路判断造成影响。

    2.2 复位电路的亚稳态

    2.2.1 异步复位电路

    在复位电路设计中,复位信号基本都是异步的,常用异步复位电路Verilog描述如下:

    always @(posedge clk or negedge rst_n)
    begin
           if(!rst_n) a <= 1’b0;
           else         a <= b;
    end
    

    综合出来复位电路如下:

    在这里插入图片描述
    图3.2 异步复位电路模型

    如图3.3所示,为复位电路复位时序图。如果异步复位信号的撤销时间在Trecovery(恢复时间)和Tremoval(移除时间)之内,那势必造成亚稳态的产生,输出在时钟边沿的Tco后会产生振荡,振荡时间为Tmet(决断时间),最终稳定到“0”或者“1”,就会可能造成复位失败。

    在这里插入图片描述
    图3.3 异步复位时序

    2.2.2 同步复位电路的亚稳态

    在复位电路中,由于复位信号是异步的,因此,有些设计采用同步复位电路进行复位,并且绝大多数资料对于同步复位电路都认为不会发生亚稳态,其实不然,同步电路也会发生亚稳态,只是几率小于异步复位电路。

    如下面verilog代码对同步复位电路的描述。

    always @(posedge clk)
    begin
           if(!rst_n) a <= 1’b0;
           else         a <= b;
    end
    

    综合出硬件电路如图3.4所示。

    在这里插入图片描述
    图3.4 同步复位电路

    在此,我们不讨论同步复位的消耗资源问题,只讨论同步复位的亚稳态产生情况。

    当输入端Din为高电平,而且复位信号的撤销时间在clk的Tsu和Th内时候,亚稳态就随之产生了。如图3.5时序所示,当复位撤销时间在clk的Tsu和Th内,输入数据为“1”,通过和输入数据相与后的数据也在clk的Tsu和Th内,因此,势必会造成类似异步信号采集的亚稳态情况。
    在这里插入图片描述

    图3.5 同步复位电路时序图

    2.3 亚稳态产生概率以及串扰概率

    在实际的FPGA电路设计中,常常人们想的是怎么减少亚稳态对系统的影响,很少有人考虑怎么才能减少亚稳态发生几率,以及亚稳态串扰的概率问题。

    2.3.1 亚稳态发生概率

    由上面分析得知,系统亚稳态发生的都是由于clk的Tsu和Th不满足,又或者是复位信号的移除和恢复时间不满足。常用FPGA器件的Tsu+Th约等于1ns,复位移除和恢复时间相加约等于1ns。

    当异步信号不是一组数据,或者信号量较少,那就需要对异步信号进行同步处理,例如对一个异步脉冲信号进行采集,只要脉冲信号变化发生在时钟Tsu和Th窗口内,那就很可能会产生亚稳态,亚稳态产生的概率大概为:

    概率 = (建立时间 + 保持时间)/ 采集时钟周期 (公式3-1)

    由公式3-1可以看出,随着clk频率的增加,亚稳态发生的几率是增加的。

    例如,为系统采用100M时钟对一个外部信号进行采集,采集时钟周期为10ns,那采集产生亚稳态的概率为:1ns/10ns = 10%

    同理采用300M时钟对一个外部信号进行采集,那产生亚稳态的概率为:1ns/3.3ns = 30%

    如果采用三相相位差为120°的时钟对一个外部信号进行采集,那产生亚稳态的概率接近90%

    所以在异步信号采集过程中,要想减少亚稳态发生的概率:

    (1) 降低系统工作时钟,增大系统周期,亚稳态概率就会减小;

    (2) 采用工艺更好的FPGA,也就是Tsu和Th时间较小的FPGA器件;

    2.3.2 亚稳态的串扰概率

    使用异步信号进行使用的时候,好的设计都会对异步信号进行同步处理,同步一般采用多级D触发器级联处理,如图3.6所示,采用三级D触发器对异步信号进行同步处理。

    在这里插入图片描述
    图3.6 三级寄存器同步

    这种模型大部分资料都说的是第一级寄存器产生亚稳态后,第二级寄存器稳定输出概率为90%,第三极寄存器稳定输出的概率为99%,如果亚稳态跟随电路一直传递下去,那就会另自我修护能力较弱的系统直接崩溃。接下来我们分析这种串扰的概率问题。

    如图3.7所示为一个正常第一级寄存器发生了亚稳态,第二级、第三极寄存器消除亚稳态时序模型。
    在这里插入图片描述

    图3.7 三级寄存器消除亚稳态

    由上图可以看出,当第一个寄存器发生亚稳态后,经过Tmet的振荡稳定后,第二级寄存器能采集到一个稳定的值。但是为什么第二级寄存器还是可能会产生亚稳态呢?

    由于振荡时间Tmet是受到很多因素影响的,所以Tmet时间又长有短,所以当Tmet时间长到大于一个采集周期后,那第二级寄存器就会采集到亚稳态。如图3.8所示。

    在这里插入图片描述
    图3.8 二级寄存器亚稳态

    由上图可知,第二级也是一个亚稳态,所以在这种情况下,亚稳态产生了串扰,从第一级寄存器传到了第二级寄存器,同样也可能从第二级寄存器串扰到第三级寄存器。这样会让设计逻辑判断出错,产生亚稳态传输,可能导致系统死机奔溃。

    2.3.3 亚稳态振荡时间Tmet

    亚稳态震荡时间Tmet关系到后级寄存器的采集稳定问题,Tmet影响因素包括:器件的生产工艺、温度、环境以及寄存器采集到亚稳态离稳定态的时刻等。甚至某些特定条件,如干扰、辐射等都会造成Tmet增长。

    3. 应用分析

    有亚稳态产生,我们就要对亚稳态进行消除,常用对亚稳态消除有三种方式:

    (1) 对异步信号进行同步处理;

    (2) 采用FIFO对跨时钟域数据通信进行缓冲设计;

    (3) 对复位电路采用异步复位、同步释放方式处理。

    3.1.1 对异步信号进行同步提取边沿

    在异步通信或者跨时钟域通信过程中,最常用的就是对异步信号进行同步提取边沿处理。对一个异步信号进行提取上升沿通常采用程序清单 4.1所示。

    程序清单 4.1 双极寄存器提取边沿

    input      sig_nsyn;
    wire        sig_nsyn_p;
    reg[1:0]   sig_nsyn_r;
    always @(posedge clk or negedge rst_n)
    begin
           if(!rst_n) sig_nsyn_r <= 2’d0;
           else         sig_nsyn_r <= { sig_nsyn_r [0], sig_nsyn };
    end
    

    assign sig_nsyn_p = sig_nsyn_r[0] & ~sig_nsyn_r[1];
    这种边沿提取方式对于一个稳定的系统是不合适的,例如:当第一级寄存器采集到亚稳态,那势必造成sig_nsyn_p输出亚稳态,这样就会对采用sig_nsyn_p的信号进行判断的电路造成影响,甚至判断出错误的值。

    根据3.3.1小节的亚稳态产生概率,如果在100M时种下那第一级寄存器产生亚稳态的概率约为10%,随着系统采集频率升高,那产生亚稳态的概率也会随之上升。因此,在进行异步信号跨频提取边沿时候,一般采用多进行一级寄存器消除亚稳态,可能在系统稳定性要求高的情况下,采用更多级寄存器来消除亚稳态,如程序清单 4.2所示,即为采用4级寄存器消除亚稳态,相应的边沿信号产生的时间就晚了两个时钟周期。

    程序清单 4.2 多级寄存器提取边沿信号

    input      sig_nsyn;
    wire        sig_nsyn_p;
    reg[3:0]   sig_nsyn_r;
    always @(posedge clk or negedge rst_n)
    begin
           if(!rst_n) sig_nsyn_r <= 2’d0;
           else         sig_nsyn_r <= { sig_nsyn_r [2::0], sig_nsyn };
    end
     
    assign     sig_nsyn_p = sig_nsyn_r[2] & ~sig_nsyn_r[3];
    

    3.1.2 FIFO进行异步跨频数据处理

    当数据流从一个时钟域到另一个时钟域的时候,绝大多数情况下都采用FIFO来作为中间缓冲,采用双时钟对数据缓冲,就可以避免亚稳态的发生。

    3.1.3 异步复位,同步释放

    对于复位情况下的亚稳态,常常是由于恢复时间和移除时钟不满足造成的,因此,最常用的处理方式是采用异步复位、同步释放。常用电路模型如所示。采用第二级寄存器输出作为全局复位信号输出。

    程序清单 4.3 异步复位处理

    wire        sys_rst_n;
    reg [1:0]  rst_r;
    always @(posedge clk or negedge rst_n)
    begin
           if(!rst_n) rst_r <= 2’d0;
           else         rst_r <= {rst_r[0], 1’b1};
    end
    assign     sys_rst_n = rst_r[1];
    

    通过上面三种方式处理异步信号、异步数据、以及异步复位可有效的提高系统的稳定性。减少亚稳态的产生

    后记

    亚稳态,跨时钟域同步需要进一步学习了解。

    展开全文
  • FPGA中的亚稳态

    2020-08-21 20:07:48
    在FPGA系统中,如果数据传输中不满足触发器的Tsu和Th不满足,或者复位过程中复位信号的释放相对于有效时钟沿的恢复时间(recovery time)不满足,就可能产生亚稳态,此时触发器输出端Q在有效时钟沿之后比较长的一段...
  • 亚稳态如果不解决,那么会一直向下传播,尤其是组合逻辑电路,寄存器具有消除亚稳态功能,使用多级寄存器消除亚稳态的危害,单Bit数据从低速到高速,一般采取打两拍进行对亚稳态的消除,打一拍的话,我们数据正常...
  • 亚稳态问题

    2020-07-07 11:13:18
    亚稳态问题1. 概念2. 产生原因发生场合解决办法信号传输中的亚稳态危害概念新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建...
  • 亚稳态总结笔记

    2020-07-22 11:41:40
    亚稳态总结笔记 本文是查看过几篇博主写的相关内容后进行一个简单的总结,中间会给出相关链接。 一、亚稳态定义(百科) 亚稳态是指触发器无法在某个规定时间段内达到一个可确认的状态。当一个触发器进入亚稳态时,...
  • 这篇论文描述了在 FPGA 中的亚稳态,它是怎样产生的,还有它是怎样导致设计的失败。介绍了如 何计算亚稳态的平均无故障时间(MTBF),并且总结了各种器件和设计参数是如何影响平均无故障时 间的。
  • 1.1 亚稳态发生的原因1.2 亚稳态的危害1.3 亚稳态的解决办法1.4 亚稳态与系统可行性2. 你的PLD处于亚稳态吗?3. What is metastability? [from www.asic-world.com]===============================================...
  • 亚稳态,又称亚稳定性,是数字设备中导致系统失效的一种现象。 发生场景:亚稳态发生在非相关时钟域或异步时钟域的传输过程中。同步系统中,输入信号总是满足时序要求,不会出现亚稳态问题。 什么是亚稳态:每一个...
  • 数字电路中的亚稳态产生原因和处理方法

    千次阅读 多人点赞 2019-05-16 10:09:14
    在FPGA系统中,如果数据传输中不满足触发器的Tsu和Th,或者复位过程中复位信号的释放相对于有效时钟沿的恢复时间(recovery time)不满足,就可能产生亚稳态,此时触发器输出端Q在有效时钟沿之后比较长的一段时间...
  • 亚稳态存活概率与时间的蒙特卡罗研究,韩杰,刘秀丽,本文考虑了一个系统在亚稳态势中的存活问题,即逆Kramers问题。用蒙特卡罗方法模拟了初始在势阱以外的粒子进入亚稳态势的存活与逃�
  • 亚稳态的产生与消除

    千次阅读 2021-05-23 12:35:56
    一、亚稳态的产生与后果 产生: 亚稳态是指触发器无法在某个规定的时间段内到达一个可以确认的状态。 所有的数字器件(如FPGA)中的寄存器都定义了一个信号时序要求,满足这一要求的寄存器才能在输入端捕获数据在...
  • 亚稳态 亚稳态定义 亚稳态是指触发器无法在某个规定时间段内达到一个可确认的状态。当一个触发器进入亚稳态引时,既无法预测该单元的输出电平,也无法预测何时输出才能稳定在某个正确的电平上。 亚稳态产生原因 ...
  • 亚稳态全述及同步器说明

    千次阅读 2020-03-29 21:02:15
    目录1. 亚稳态问题描述2.亚稳态和工艺相关3.亚稳态的危害/传播4.MTBF5.减少亚稳态的方法6....在多时钟设计中,亚稳态是不可避免的,我们可以减少亚稳态发生和传播,消除亚稳态的有害影响。下面是一个亚稳态的例子...
  • FPGA的亚稳态跟MTBF

    千次阅读 2020-03-22 19:48:54
    FPGA的亚稳态跟MTBF 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新的改变 我们对Markdown编辑器进行了...
  • (一)亚稳态

    2021-07-26 09:14:43
    在数字电路中组合逻辑电路可能会产生竞争与冒险,时序电路有产生亚稳态的风险。在时序电路中,对于边沿触发的触发器来说,其有两个状态即高和低。如果在数据传输中不满足触发器的set up time和 hold up time(ps:...
  • 亚稳态(metastability) 亚稳态是一种不希望出现的非平衡状态(non-equilibrium electronic state),这种状态如果不处理,可能会存在很长一段时间。 例如:触发器有两个定义好的状态(0和1),但是在某些情况下...
  • CDC与亚稳态问题

    2019-11-08 20:34:48
    如果不满足建立时间和保持时间的要求,电路就会进入亚稳态。 建立时间和保持时间由工艺决定。 如果触发器的恢复能力较强,可以在一个时钟周期之内恢复稳定的输出,但是不能确定是稳定在0上还是1上,而是一个与D端...
  • 我上面说过了,出于基态的原子无法给出额外的能量,而亚稳态的原子就可以通过跃迁到低能级的手段把能量传递给别的原子,而别的原子从亚稳态原子获得能量后,电子得到的能量小于那种原子的电离能,所以就产生了电离....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,821
精华内容 1,528
关键字:

亚稳态

友情链接: code.zip