首页 > 编程知识 正文

什么叫亚稳态,稳态与亚稳态

时间:2023-05-06 13:20:06 阅读:158705 作者:4075

如果在数字电路中组合逻辑电路,会产生竞争和风险,有在定时电路中产生亚稳定状态的风险。 在时序电路中,对于边沿触发的触发,有高和低两种状态。 数据传输中触发的set up time和holduptime(PS :触发的设定时间和保持时间在时钟的上升沿的左右定义了时间窗,触发数据输入端口上的数据在该时间窗内发生变化时,会发生时序违规当建立时间和保持时间的要求被违反时,触发器内部的逻辑状态有高电平的情况,也有低电平的情况,状态变得不稳定,数字部件的逻辑混乱)。 在复位过程中,如果复位信号的释放不足有效时钟沿的恢复时间(recovery time ),也会发生亚稳定状态,复位失败。

1理论分析

1.1信号传输中亚稳态原因

同步系统(通常只有一个时钟驱动fpga系统。 具有ps:相位关系的时钟是一个时钟,例如分频得到的时钟: ),输入信号始终与系统时钟同步,不发生准稳定状态。 通常,准稳定状态发生在几个交叉时钟信号传输和异步信号采集中。

)在时钟域之间传输信号时,由于源寄存器时钟和目标寄存器时钟的相位偏移是未知的,另一个时钟域发送数据,数据不知道什么时候到达异步时钟域的目标寄存器下图:

1.2处理亚稳态的经典方法(双触发) ) ) ) ) ) ) ) ) ) )。

设计中任何寄存器都指定了设置和保持的时间,在该时钟上升沿前后的这个时间段输入的数据不能更改。 在两个时钟域中传输信号时,需要考虑的一个问题是是否需要对从另一个时钟传输的所有值进行采样。 因此,可允许丢失部分信号样本值,也可不允许丢失样本值。

最常见的同步器是使用两级寄存器。 这意味着使用两拍寄存器进行同步。

当然,2级寄存器的输出也未必能保持稳定的状态。 因为这个振荡时间有长有短。 例如,如果长于1个采样周期,则2级寄存器也变为准稳定状态,从3级触发器变为多级。 特别是在高速设计中。 数据显示,如果第一级寄存器出现准稳定状态,第二级稳定输出的概率为90%,第三级为99%。

1.2使用FIFO结构处理交叉时钟域信号

在数据流从一个时钟场转移到另一个时钟场时,在大多数情况下,通过采用fifo作为中间缓冲器,用双时钟缓冲数据,可以避免半稳态的发生。

2.1复位电路的亚稳态

复位电路有同步复位和异步复位(ps:的同步、异步几乎在由时钟沿控制时称为同步,不受时钟沿控制时称为异步)。由于复位信号不同步,因此在同步复位中许多资料表明,同步复位不会发生亚稳态,但实际上会发生。 但是,概率小于异步复位电路。 同步复位代码如下。

Always@(Posedgeclk ) begin if (! rst_n ) a=1’B0; else a=b; 结束异步复位代码

always @ (posedgeclkornegedgerst _ n ) begin if (! rst_n ) a=1’B0; else a=1'b1; 解决end复位中准稳定状态的常用方法是异步复位、同步释放。 该方式结合了两种复位方式的优势。 异步重置的优点是不参与数据路径,不影响速度。 另一方面,同步复位的优点是同步定时为100%,具有抗干扰能力。 代码如下所示。

reg rst_n_1=1'b1; reg rst_n_2=1'b1; always @ (posedgeclkornegedgerst _ async _ n ) begin if (! RST_Async_n(BeginRST_n_1=1'B0; rst_n_2=1'b0; end else begin rst_n_1=1'b1; rst_n_2=rst_n_1; 结束assign rst _ sync _ n=rst _ n _ 2;

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