亚稳态:数字电路中的"幽灵"陷阱

百科   2025-02-11 00:10   浙江  

在电子设计领域,亚稳态问题是一个关键且复杂的挑战,它影响着数字电路的稳定性和可靠性。深入理解亚稳态的发生机制及有效解决方法,是电子工程师必备的技能。本文将系统地阐述亚稳态问题,从数字电路的基本工作原理入手,逐步深入到亚稳态的产生、危害及预防措施,旨在为工程师们提供全面且清晰的亚稳态分析视角。

一、CMOS器件基础与信号传输特性

1.1 MOS管电容模型与信号延迟

  • RC充放电模型:PN结电容与导通电阻构成充放电回路,RpCL与RnCL差异导致上升/下降时间不对称

  • 信号传播本质:所有逻辑门存在固有传输延迟(典型反相器结构如图1)

  • 动态功耗控制:结点电容充放电决定功耗,使能控制可优化能效

     图片

CMOS 中的信息保存

在数字电路中,CMOS 工艺晶体管的工作机制是理解亚稳态问题的基础。当晶体管制造完成后,不同极之间因介电物质形成电容,工作时这些电容会充放电,充放电回路上的 R、C 值决定了回路的时间常数(RC)。

图片

以 CMOS 工艺中的反向器为例,它由一个 NMOS 和一个 PMOS 组成,可简化为工作电阻 Ron 和结点电容 CL 构成的充放电电路。当输入为 0 时,PMOS 导通对 CL 充电,时间由 RpCL 决定;输入为 1 时,NMOS 导通对 CL 放电,时间由 RnCL 决定。CL 由 P/NMOS 漏极结点上所有相关电容组成,这是一种近似计算方法(将分布电容集总)。

图片

从反向器的工作原理,我们可以得出几个重要结论:

  1. 任何信号从输入端口传递到输出端口都需要时间。

  2. 对 CL 的充放电影响系统的动态(翻转)功耗,降低功耗可对不使用的信号添加使能。

  3. 由于 Rp!= Rn,所以 RpCL!= RnCL,即 rising time!= falling time。

对于分析亚稳态问题,关键是要记住信号传输需要时间这一点,其他门电路的分析过程与之类似。

1.2 时序器件工作机制

D锁存器特性

  • 电平敏感特性:使能信号有效期间直接传递输入

  • 建立过程震荡:输入变化引发内部反馈竞争


主从D触发器架构

  • 两级锁存串联实现边沿触发

  • 关键时序参数:

    • Tsetup:采样窗口前边界

    • Thold:采样窗口后边界

    • Tcko:时钟到输出稳定时间




    • 建立时间(Tsu:setup time)是指在触发器的时钟信号上升沿到来以前,数据稳定不变的时间,如果建立时间不够,数据将不能在这个时钟上升沿被稳定的打入触发器,Tsu就是指这个最小的稳定时间。


    • 保持时间(Th:hold time)是指在触发器的时钟信号上升沿到来以后,数据稳定不变的时间,如果保持时间不够,数据同样不能被稳定的打入触发器,Th就是指这个最小的保持时间。

SETUP/HOLD 时间的意义

S/H 时间是时序器件的重要属性,了解其产生机制对于理解亚稳态至关重要。

任何器件原则上都是电平有效的,边沿触发的器件是在此基础上实现的一种 “把戏”。以 D 锁存器为例,当 E 维持在高电平时,D 端输入值 D0,该值从 D 端与非门进入器件,会有延迟,再加上反馈信号的不一致,使得 Q 端输出电压在建立过程中存在 “不稳定阶段”,即 Setup time。这个不稳定阶段的长度与器件传输时延、D 端输入电平、Q 端初始电平有关(假设 E 端电平不变),起始位置在 D 开始有效的那一点。

 图片

锁存器

图片

     上升沿有效的D触发器(DFF)


在时序电路中常用的 D 触发器,由 D 锁存器等电平器件组成。以典型的上升沿有效的 D 触发器模型为例,从时钟端口上升沿(50%)开始,到窗口时间前面那一点结束,这段时间是 DFF 的设置时间;从时钟端口上升沿开始,到窗口时间后面那一点结束,是 DFF 的保存时间;从时钟端口上升沿开始,到输出点 Q 稳定结束,是 DFF 的 clock to output 时间,可用 Tcko、Tco 表示。

通常,高速器件的时间窗口非常小。在纯时序器件前端加上组合逻辑,会占用传输时间,导致采样窗口相对时钟上升沿提前,当采样窗口尾部提前到时钟上升沿之前时,就会出现负保持时间(设置时间永远在上升沿前面,永远是正的),这说明 “不纯的时序器件内部的组合逻辑的传输时间” 大于 “纯时序器件原来的保持时间的绝对值”。

从以上分析可以得出:

  1. 主从结构的时序器件的 S/H 时间和其内部第一级锁存结构的设置时间,以及其可能含有的 Inverter 的传输时间有关。

  2. 主从结构的时序期间的 CKO 时间和其内部第二级锁存结构的设置时间,以及其可能含有的 Inverter 的传输时间有关。

  3. 主从结构的时序器件的第一级锁存结构的设置时间是影响其采样窗口的主要因素,数据在这个采样窗口被捕获进触发器。

  4. 任何在采样窗口时间内的电平异常,都可能引起采样异常,这是导致亚稳态的最根本原因。



    二、亚稳态本质与触发机制

    2.1 亚稳态物理成因


    中间电平锁定:采样窗口内输入变化导致锁存器进入正反馈竞争状态

    噪声敏感性:热噪声可能打破平衡,导致输出随机化


亚稳态的产生

从器件角度看,在采样窗口时间内,如果输入电平不稳定,就可能导致亚稳态。以 D 触发器为例,当 DFF 第一级的 E 关断时,D 点的不同输入电平会 “定格”,这个初始值会影响第一级锁存器的设置时间或决断时间。若初始值恰好在中间电平,第一层与非门的输出端达到应有的电平高度所需时间会变长,加上互相反馈输入的联合影响,整个锁存器的设置时间都会被拉长。

由于系统存在噪声,加上噪声会导致最后的电平与输入逻辑无关。但锁存器件有正反馈效应,初始信号越清晰,输出信号越快设置好,受噪声影响越小,从概率上讲,决断时间不会无限长。然而,不加控制的不稳定电平可能对后面器件的电平设置带来不可预测的后果。

从上述分析可知:

  1. 采样窗口越小,采样异常的可能性越小,但随着系统时钟越来越快,采样窗口所占时钟周期的比例变化不大(数量级变化)。

  2. 保证采样窗口内的数据绝对稳定,可完全避免亚稳态,但在有异步电路或跨时钟域的情况下,很难做到。

  3. 亚稳态有两种危害,即 “输出较长时间的不稳定电平” 和 “逻辑错误”。

从 RTL 级来看,亚稳态的产生主要与 S/H 时间违约有关。

2.2 时序违规类型

Setup违例

  • 组合逻辑延迟过长,数据未在采样窗口前稳定

  • 解决方法:降低时钟频率/优化关键路径/流水线分割

Hold违例

  • 组合逻辑延迟过短,新数据过早破坏前次采样

  • 解决方法:插入缓冲器增加路径延迟


相同时钟域内的亚稳态 ——S/H 时间违约

  1. 设置时间违约(setup time violation):在两个相邻的 DFF 中间,如果有一条很长很复杂的组合逻辑器件链条,从前一级 DFF 出发的数据经过很久才能在后一级 DFF 的输入端稳定下来,甚至接近时钟周期。当信号在采样窗口开始之后才稳定,DFF 第一级没有足够时间正确设置电平,就会导致亚稳态。这种情况是由于组合逻辑传输时间过长引起的,设计时只需考察最长的那些路径。

  2. 保持时间违约(hold time violation):在第一周期上升沿,从前一级触发器出发的 D0 到达下一级(接近下一周期上升沿),此时在第二周期上升沿,从前一级触发器出发的 D1 经过很短路径到达下一级。若这个传输时间小于保持时间,D1 会在上一个 D0 还未完全结束采样时破坏采样,从而产生保持时间违约。这种情况是由于组合逻辑传输时间过短引起的,设计时只需考察最短的那些路径。


针对 S/H 时间违约的预防办法:

  1. 设置时间违约:这是 ASIC 时序分析中的主要问题。若从最长路径上传来的信号到达太晚,错过采样窗口,可采取以下措施:

  • 增加时钟周期长度,但会导致整体速度下降,一般不采用。

  • 重新分配关键路径,将过长路径中的一部分组合逻辑分离出来,放到相邻时序级或单独形成一级(如 CPU 中的多级流水技术),前提是不破坏逻辑功能和系统功能。

  • 若上述方法不可行,只能从组合逻辑的结构上下手,调整结构。

  • 保持时间违约:处理方法是让信号更晚到达下一级输入端口,以防止对上一个数据造成影响。通常的做法是在传输路径上增加 buffer,buffer 由两个反相器构成,不影响逻辑功能,只增加延迟。当信号线过长时,buffer 还可增强输出端的驱动能力,分割长信号线进行 “分段驱动”。

  • 由于亚稳态的出现是概率现象,为便于估算其危害程度,提出了 “平均无故障时间” MTBF,MTBF = 1 / 失效率。

    三、跨时钟域同步挑战

    3.1 异步接口风险

    • 时钟相位/频率无确定关系导致采样窗口随机重叠

    • MTBF模型:失效率=时钟频率×数据变化率×e^(-Tr/τ)

    对于相同时钟域内的时钟树,不同点存在相位差别,可通过计算时钟信号线长度进行预测,并通过时钟域内的时钟树综合算法求得优化结构,相对较好解决。

    对于跨时钟域通信和异步同步通信,情况更为复杂。跨时钟域是一种异步同步通信,两个时钟域内的时钟没有必然的频率和相位关系。工程上采用 “各自独立分析优化,在此基础上进行互相通信设计”。

    同步异步交界面的亚稳态

    在同步异步交界面或跨时钟域的交界面上,外部发来的数据到达时间与本地时钟很难产生必然的时序关系,即外部数据在本地输入端口的稳定时间与本地时序器件的采样窗口在时序上没有必然联系,从而导致亚稳态问题。

    解决此问题的关键是保证本地时序器件的采样窗口内所接受到的数据是绝对稳定的,但这极其困难。对于异步同步交界面,异步数据与本地同步信号无联系,原则上无法保证稳定采样;对于跨时钟域的交界面,两个时钟的相位和频率无必然联系,同样原则上无法保证稳定采样。

    常用的解决办法如下:

    1. 同步器:将几个用本地时钟驱动的时序器件串联起来采样输入的异步数据。当第一级时序器件出现亚稳态时,其输出的不稳定中间值在第二级采样窗口到来时,仍处在可使第二级出现亚稳态的电平范围内的概率会变小,若再加上第三级,这个概率几乎可忽略不计。多个时序器件串联,总概率是各自概率的积,可降低不稳定时间,使输出电平稳定时间接近时钟周期。但逻辑上无法消除亚稳态的影响,MTBF = 1/(失效率 1× 失效率 2×…× 失效率 n),两个 DFF 串联时,基本可保证 MTBF 很大。此方法用于控制信号时,若采样失效可多等待几个周期保证有效采样;用于数据信号时,很难保证无差错传输。

    2. 异步 FIFO 与握手协议:用于传输对传输质量要求较高的数据信号,主要用在跨时钟域传输中。异步 FIFO 是一种总线思维,结构相对简单;握手协议是一种逻辑方法,与 TCP 握手类似。

    3. 延迟锁定环 Delay locked loop(DLL):在跨时钟域传输模式下,通过统计交界面上信号的有效时间与发送源时钟信号周期的相对关系,将目的地时钟信号与发送源时钟信号的延迟关系进行锁定,保证在目的地的采样周期永远在信号有效的时间范围内,实现两个非同步时钟的同步。


    四、特殊场景亚稳态防护

    4.1 复位信号处理

    • 异步复位同步释放:复位撤销时通过本地时钟同步

    • 复位毛刺滤波:施密特触发器整形


    复位信号由于是在随机状态下产生的,对系统的影响及分析过程与异步同步交界面的亚稳态问题类似。当理解亚稳态的形成机制后,再理解复位信号可能导致的亚稳态问题就变得非常简单。

    总结

    亚稳态产生的主要原因是在时序器件的采样窗口内,无法保证输入信号始终保持在一个稳定的电平上。为解决亚稳态问题,我们可通过减小采样窗口来增加采样成功率(如使用边沿触发器件),或通过对采样窗口或输入数据的稳定窗口的 “移动” 来保证采样成功。但在有异步信号参与时,问题的解决变得异常复杂,目前还没有一种通用、有效、可行的解决方法。然而,通过深入探讨亚稳态形成机制,我们能够从工程角度更好地解决实际项目中可能出现的具体亚稳态问题。

    在电子设计中,亚稳态问题的解决需要综合考虑电路结构、信号特性和系统要求等多方面因素。通过不断深入研究和实践,工程师们能够在面对亚稳态挑战时,做出更合理的设计决策,确保数字电路系统的稳定可靠运行。


    硬十
    热爱技术,乐于分享
     最新文章