首页 > 编程知识 正文

数字电路中的亚稳态产生原因和处理方法有,亚稳态产生的原因及消除方法

时间:2023-05-04 11:58:52 阅读:158711 作者:979

作为背景准稳定状态的产生原因,在FPGA系统中,在数据传送中触发器的Tsu、Th不满足的情况、复位中复位信号的解除相对于有效时钟沿的恢复时间(recovery time )不满足的情况下, 有效时钟沿以后触发器输出端q与数据输入不相等,经过不确定的时间后有时会发生亚稳定状态的解决时间,q侧稳定为0或1,但稳定为0或1是随机的,与输入没有必然的关系

在出现亚稳态的情况下,只要系统中有异步元件,亚稳态就不可避免。 亚稳态主要发生在异步信号检测、时钟域间信号传输和复位电路等常用设计中;

准稳定状态的弊端准稳定状态发生后,寄存器q侧的输出在稳定之前,有可能是毛刺、振动、恒定的某一个电压值。 如果在信号传输过程中出现亚稳态,则与其连接的其他数字部件对其进行不同的判断,有的判断为“1”,有的判断为“0”,有的进入亚稳态,数字部件在逻辑上混乱。 复位电路中出现亚稳态可能导致复位失败,如何降低亚稳态发生的概率成为FPGA设计中应重视的注意事项之一;

由于理论分析信号传输中的亚稳态或同步系统允许输入信号始终与系统时钟同步,满足寄存器的时序要求,因此不会出现亚稳态。 准稳定性问题通常发生在几个时钟域之间的信号传输和异步信号采集中;

原因如下。

)在时钟域间进行信号传输时,由于源寄存器时钟和目标寄存器时钟相位偏移是未知的,所以源寄存器数据发行数据,数据随时有可能到达异步时钟域的目标寄存器

)在异步信号收集中,由于异步信号能够在任意时刻到达目标寄存器,所以也无法保证满足目标寄存器Tsu和Th要求;

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

从图中可以看出,如果出现亚稳态后的Tco时间,则存在Tmet (决断时间)的振荡时间段,如果振荡结束并返回到稳定状态,则变为“0”或“1”,这是随机的。 因此,影响后续电路判断;

复位电路的准稳定异步复位电路在复位电路设计中,复位信号基本上是异步的,一般的异步复位电路Verilog如下。

always @ (posedgeclkornegedgerst _ n )

比根

if (! rst_n ) a=1’B0;

else a=b;

结束

综合出来的复位电路模型如图所示。

如图所示,是复位电路的复位时序图。 如果异步复位信号的解除时间在Trecovery (恢复时间)和Tremoval (恢复时间)以内,则无论如何都会发生准稳态,输出在时钟沿的Tco后振荡,振荡时间为Tmet ),最终稳定为"0"或"1"

在同步复位电路的亚稳态复位电路中,由于复位信号是异步的,因此有些电路被设计为通过同步复位电路进行复位。 此外,大多数数据都认为同步复位电路不会发生亚稳态,否则同步电路也会发生亚稳态。 只是概率比异步复位电路低。

同步复位电路在以下verilog代码中进行说明。

always @(posedge clk )

比根

if (! rst_n ) a=1’B0;

else a=b;

结束

综合硬件电路如图所示:

当输入端Din处于高电平并且重置信号的取消时间在clk的Tsu和Th内时,产生准稳定状态。 如图所示,在复位解除时间在clk的Tsu和Th内的情况下,输入数据为"1",与输入数据通过相位后的数据也在clk的Tsu和Th内,因此成为异步信号收集那样的准稳态

亚稳态发生概率及串扰概率亚稳态发生概率以上的分析表明,系统亚稳态的发生,都是因为clk的Tsu和Th没有得到满足,或者复位信号的消除和恢复时间没有得到满足。 典型的FPGA设备的Tsu Th约为1ns,复位消除和恢复时间的总和约为1ns。

如果异步信号不是一系列数据,或者信号量很少,则需要对异步信号进行同步处理。 例如,在收集异步脉冲信号时,如果脉冲信号的变化发生在时钟Tsu和Th窗口内,则极有可能发生亚稳态。 发生亚稳定状态的概率大概是:

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

从公式中可以看出,随着clk频率的增加,准稳态发生的概率增加;

例如,为了使系统以100M时钟收集一个外部信号,收集时钟周期为10ns,该收集发生准稳定状态的概率为1ns/10ns=10%

同样,以300M时钟脉冲收集1个外部信号,由其生成子信号

稳态的概率为:1ns/3.3ns = 30%

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

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

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

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

亚稳态的串扰概率 

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

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

如图所示为一个正常第一级寄存器发生了亚稳态,第二级、第三极寄存器消除亚稳态时序模型 

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

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

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

亚稳态振荡时间Tmet 

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

应用分析 

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

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

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

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

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

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

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 };//输入左移endassign sig_nsyn_p = sig_nsyn_r[0] & ~sig_nsyn_r[1];//检测输入信号的上升沿

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

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

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];//检测上升沿 FIFO进行异步跨频数据处理

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

异步复位,同步释放 

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

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};//左移endassign sys_rst_n = rst_r[1];

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

参考链接:http://www.cnblogs.com/linjie-swust/archive/2012/01/07/YWT.html

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。