在目前数字 SOC 工程设计项目中,所存在的 CDC 问题主要有以下几种:

1 CDC 中的亚稳态传播问题

数字 SOC 中触发器亚稳态值的产生和传输模型如图 ,当时钟信号Clk_B 的第二个上升沿到来的时刻,输入数据信号 A 刚好处于变化当中,导致其不满足触发器 F2 的建立-保持时间要求,在输出节点 B 处产生亚稳态值。对于 B节点产生的亚稳态中间值,后续的三个扇出分支 X1、 X2、 X3 对其的理解判定则可能是不同的。其中一个扇出可以理解这种亚稳态值为逻辑值 1,与此同时另外的一个扇出也可以将其理解为逻辑值 0,这种后续电路对前级亚稳态的自由理解会在系统电路运转过程中随机的出现。其对于完整的 SOC 系统时序将造成巨大影响。
Hardware ---数字设计中常见的 CDC 问题
基于图 2.1 模型,从定性的方面分析,触发器亚稳态产生与传播的概率与异步输入信号翻转的频率、目的触发器时钟翻转频率都呈现正比例的关系。

2 CDC 中异步输入数据的保持时间问题

当一个数据信号从快时钟域进入慢时钟域的时候,由于该数据信号严格依赖快时钟域信号采样来翻转变化,所以可能会产生与快时钟周期等宽的脉冲型信号。对于慢时钟域的时钟采样边沿来说,是很容易忽略这种形式为短暂脉冲的异步输入数据。造成这种 CDC 传输过程中丢失数据的情况,主要是因为该异步输入数据信号的保持时间不满足目的触发器要求。
Hardware ---数字设计中常见的 CDC 问题
异步输入数据 A随着源时钟域信号 clk_A的一个周期而变化,由于数据 A 的保持时间较短,小于目的时钟域的一个时钟周期,并且两个时钟域的时钟信号之间没有固定的相位关系,结果在 clk_B 的两个上升采样边沿之间,类似脉冲信号的数据信号 A 则被该目的时钟域的同步触发器所忽略掉,造成数据的丢失现象。

3 CDC 中的数据关联和竞争

下图是一个常见的两级触发器型同步设计,其能够起到同步、孤立亚稳态的作用。由于触发器亚稳态的恢复时间不能准确预测,使得此类同步设计存在一个重要特性—Cycle Uncertainty[3](周期不确定性)。
Hardware ---数字设计中常见的 CDC 问题
亚稳态虽然被触发器 D1 所孤立禁止,但对于目的触发器 D2,在 Clk2 的第二个时钟上升沿到来时刻,无法确定是否能翻转为稳定值:其有可能在第二个 Clk2 上升沿时刻翻转为 1;也有可能不翻转,仍然保持 0。直到 Clk2 的第三个时钟上升沿到来,目的触发器 D2 才能稳定输出期望值 1。这种情况称为:同步电路的周期不确定性。如果该异步输入数据为单 bit 类型,这种 CDC问题则不会影响到后续电路的正常功能,但如果为多 bit 数据的情况,采用此种同步必然会造成数据通道传输的紊乱。
基于以上分析,当多 bit 类型的数据信号采用分别同步的情况时,在该信号同时发生跳变之后,由于其每条传输路径上面延迟的不一致,以及同步设计的周期不确定性,很有可能会出现最终输出数据的不一致情况。一旦出现此类问题,对于目的模块逻辑,这将是一组不可预期的数据值,必然引起整体功能的错乱。
Hardware ---数字设计中常见的 CDC 问题
Hardware ---数字设计中常见的 CDC 问题

4 CDC 中复杂的同步设计

对于一些时序要求比较严格的数字 SOC 电路,单纯的使用触发器串联形式进行 CDC 同步已经不可能满足设计要求,必须采取一些更为复杂的同步设计机制。
在实际工程项目中,常见的有异步的 FIFO(First In First Out)同步设计、握手协议的同步设计、以及单一使能信号形式的同步设计等等。特别是对于目前大多数基于 ARM 等处理器的数字 SOC 来说,从安全稳定性和传输效率角度考虑,往往会采取所述几种同步设计,来完成 ARM 处理器与高速外设电路之间的 CDC 传输。而对于这种 CDC 同步结构在工作中出现的问题,主要从两个方面来入手,一方面从亚稳态产生和传播,另一个方面是从握手协议等的完善程度。

5 CDC 中的异步复位同步问题

异步复位在目前时序设计中是最常见的,是指无论时钟信号是否到来,只要复位信号有效,就对系统进行复位。但当复位信号需要释放时刻,却必须依据时钟信号的采样进行。在目前数字 SOC 系统中,由于所容纳触发器数量庞大,物理上复位信号的布线路径存在很大延迟,所以这种异步复位信号的释放时刻到达芯片内所有触发器的时间点也是不一致的,这样就可能导致系统中一部分触发器处于复位状态,一部分却处于正常的工作状态,引起系统电路时序的不一致。

相关文章:

  • 2021-09-17
  • 2021-09-29
  • 2021-09-04
  • 2021-12-29
  • 2021-08-20
  • 2021-08-30
猜你喜欢
  • 2021-07-21
  • 2021-10-18
  • 2022-12-23
  • 2020-05-15
  • 2021-12-12
  • 2021-05-16
  • 2022-12-23
相关资源
相似解决方案