0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

数字设计中常见的CDC问题

sanyue7758 来源: 处芯积律 2023-08-14 11:48 次阅读

①CDC中的亚稳态传播问题

在数字系统级别的时钟域交叉(CDC)中,亚稳态传播问题是一个重要的挑战。在这个问题中,由于时序差异,信号在触发器之间的传输可能会导致亚稳态值的产生和传播。让我们来看一下模型,如图1所示。

abd84c50-391a-11ee-9e74-dac502259ad0.png

图1 CDC 时候的亚稳态

当时钟信号Clk_B的第二个上升沿到来时,输入数据信号A正好处于变化过程中。这导致A信号未能满足触发器F2的建立-保持时间要求,从而在输出节点B处产生了亚稳态值。在B节点产生的这个亚稳态中间值,会影响后续的三个分支X1、X2、X3,但对于其所代表的逻辑状态可能存在不同的解读。

其中一个分支可能将这个亚稳态值解读为逻辑值1,而另一个分支可能将其解读为逻辑值0。这种后续电路对于前级亚稳态的自由解读可能会在系统电路运行过程中随机出现。这种现象对完整的系统时序可能会产生巨大的影响,因此在设计数字系统时需要特别注意这种亚稳态传播问题的影响。

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

在时钟域交叉(CDC)中,当一个数据信号从快时钟域进入慢时钟域时,可能会产生与快时钟周期等宽的脉冲信号,因为该数据信号的翻转变化严格依赖于快时钟域的信号采样。然而,对于慢时钟域的时钟采样边沿来说,很容易忽略这种短暂脉冲状的异步输入数据。

abf8c160-391a-11ee-9e74-dac502259ad0.png

图2 数据保持时间问题电路模型与时序波形

这种情况可能导致在CDC传输过程中丢失数据,主要原因是异步输入数据的保持时间不符合目标触发器的要求。如图2所示,异步输入数据A随着源时钟域信号clk_A的一个周期变化。由于数据A的保持时间较短,小于目标时钟域的一个时钟周期,并且两个时钟域的时钟信号之间没有固定的相位关系,结果是在clk_B的两个上升采样边沿之间,类似脉冲信号的数据A被目标时钟域的同步触发器所忽略,从而导致数据丢失的现象。

为确保异步数据在不同时钟域之间的可靠传输,需要仔细考虑数据保持时间的问题,并采取适当的电路设计和时序调整措施,以避免这种数据丢失情况的发生。

③CDC 中的数据关联和竞争

在图3中展示了一个常见的两级触发器型同步设计,其主要功能是实现同步和孤立亚稳态。然而,由于触发器亚稳态的恢复时间很难准确预测,这种同步设计具有一个重要的特性,即"周期不确定性" 。

ac108cdc-391a-11ee-9e74-dac502259ad0.png

图3 多触发器同步电路模型与时序波形

从图3的时序波形可以看出,尽管触发器D1将亚稳态孤立并禁止,但对于目标触发器D2而言,在Clk2的第二个上升沿时刻,无法确定其是否会成功翻转到稳定状态。它有可能在第二个Clk2上升沿时刻翻转为逻辑值1,也有可能不翻转,继续保持逻辑值0。直到Clk2的第三个上升沿时刻到来,目标触发器D2才能稳定输出期望的逻辑值1。这种情况被称为同步电路的"周期不确定性"。如果这个异步输入数据是单比特类型,这种CDC问题可能不会对后续电路的正常功能产生影响。然而,如果涉及多比特数据,采用这种同步方式就可能导致数据通道传输的混乱。

ac360ab6-391a-11ee-9e74-dac502259ad0.png

图4 多 bit 信号的汇聚问题

基于以上分析,当多比特类型的数据信号采用分别同步的方式进行处理时,一旦这个信号在跳变后发生,由于每条传输路径上的延迟不同以及同步设计的周期不确定性,很可能导致最终输出数据的不一致。这种情况可能引发目标模块逻辑中一组无法预测的数据值,从而破坏整体功能的稳定性。

通过综合考虑这些因素,在设计时必须慎重选择适当的同步策略,以确保数据的可靠传输和处理,避免因为同步问题而引发的数据竞争和不一致性。

那么问题来了,我们应该如何对存在CDC的信号进行同步处理呢?

对于时序要求较为严格的数字SOC电路,在处理时钟域交叉(CDC)同步时,简单地使用串联触发器的形式已经无法满足设计要求。必须采取更为复杂的同步设计机制。在实际工程项目中,有几种常见的方法:

异步的 FIFO

握手协议

单一使能信号

结语:

在数字系统级别的时钟域交叉(CDC)中,各种复杂的问题可能会影响设计的稳定性和性能。亚稳态传播、异步输入数据的保持时间和数据关联竞争等都是必须认真对待的挑战。为了确保设计的正确性和可靠性,我们需要采取一系列严谨的同步设计策略。

针对时序要求严格的数字SOC电路,简单的串联触发器同步已不再足够。我们需要借助更为复杂的同步设计机制来处理CDC问题。在实际项目中,常见的方法包括异步的FIFO,握手协议和单一使能信号。每种方法都有其适用的场景和特点,需要根据具体情况进行选择。

通过正确应用这些同步设计机制,我们可以有效地解决CDC问题,提高系统的可靠性和性能。同时,在设计过程中还需要注意不同方法的优缺点,综合考虑设计的复杂性、时序要求和资源消耗等因素。通过科学合理的设计,我们能够克服CDC带来的挑战,实现数字系统的稳定运行。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 时钟
    +关注

    关注

    10

    文章

    1479

    浏览量

    130306
  • CDC
    CDC
    +关注

    关注

    0

    文章

    55

    浏览量

    17673
  • 触发器
    +关注

    关注

    14

    文章

    1681

    浏览量

    60406
  • 数字设计
    +关注

    关注

    0

    文章

    44

    浏览量

    22212
  • 亚稳态
    +关注

    关注

    0

    文章

    44

    浏览量

    13118

原文标题:数字设计中常见的CDC问题

文章出处:【微信号:处芯积律,微信公众号:处芯积律】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    FPGACPLD中常见模块设计精华集锦

    FPGACPLD中常见模块设计精华集锦
    发表于 08-17 22:22

    如何评估MEMS陀螺仪信号中常见噪声源?

    MEMS陀螺仪信号中的常见噪声源评估MEMS陀螺仪信号中常见噪声源的简单流程
    发表于 03-08 06:17

    LED驱动电源测量中常见技术有哪些

    LED驱动电源测量中常见技术有哪些
    发表于 03-11 08:11

    电源中常见的故障现象如何维修

    电源中常见的故障现象如何维修
    发表于 03-11 07:24

    嵌入式测控系统中常见数字滤波算法有哪些?

    嵌入式测控系统中常见数字滤波算法有哪些?常见数字滤波算法对比分析哪个好?
    发表于 04-12 06:39

    在无线移动数据接收中常见的问题

    讨论一个在无线移动数据接收中常见的问题。
    发表于 04-14 06:48

    电子设备设计研发中常见的问题有哪些?

    电子设备设计研发中常见的问题有哪些?
    发表于 05-08 09:22

    HDMI I/O设计和测试中常见的问题?怎么解决?

    本文讨论了HDMI I/O设计和测试中常见到的和需要注意的问题以及解决的方法。
    发表于 06-02 06:28

    控制总线中常见的控制信号包括哪些

    属于系统总线的有哪几种?什么是总线复用?总线复用有何功能?总线特性包括哪几种?控制总线中常见的控制信号包括哪些?
    发表于 08-11 07:28

    平衡小车在移植过程中常见的问题有哪些?

    平衡小车在移植过程中常见的问题有哪些?
    发表于 11-10 06:19

    XDC约束技巧之CDC

    )的缺省认识不同,那么碰到 FPGA 设计中常见CDC 路径,到底应该怎么约束,在设计上又要注意些什么才能保证时序报告的准确性?
    的头像 发表于 04-03 11:41 1287次阅读

    直线导轨使用中常见的问题有哪些

    直线导轨使用中常见的问题有哪些?
    的头像 发表于 08-03 17:43 781次阅读
    直线导轨使用<b class='flag-5'>中常见</b>的问题有哪些

    理解STM32控制中常见的PID算法

    理解STM32控制中常见的PID算法
    的头像 发表于 10-17 17:28 1714次阅读
    理解STM32控制<b class='flag-5'>中常见</b>的PID算法

    PCB设计中常见的走线等长要求

    PCB设计中常见的走线等长要求
    的头像 发表于 11-24 14:25 1021次阅读
    PCB设计<b class='flag-5'>中常见</b>的走线等长要求

    电气设计中常见的电磁技术,你了解多少?

    电气设计中常见的电磁技术,你了解多少?
    的头像 发表于 12-07 14:29 425次阅读
    电气设计<b class='flag-5'>中常见</b>的电磁技术,你了解多少?