当前位置:首页 > > 芯片验证工程师
[导读]本文主要介绍各种类型的跨时钟域问题。同步时钟是指具有已知相位和频率关系的时钟。这些时钟本质上是来自同一时钟源。根据相位和频率关系,可分为以下几类:具有相同频率和零相位差的时钟具有相同频率和固定相位差的时钟具有不同频率和可变相位差的时钟整数倍时钟非整数倍时钟具有相同频率和零相位差的...

本文主要介绍各种类型的跨时钟域问题。同步时钟是指具有已知相位和频率关系的时钟。这些时钟本质上是来自同一时钟源。根据相位和频率关系,可分为以下几类:

具有相同频率和零相位差的时钟具有相同频率和固定相位差的时钟具有不同频率和可变相位差的时钟整数倍时钟非整数倍时钟
具有相同频率和零相位差的时钟时钟C1和C2具有相同的频率和0相位差。由于此时时钟C1和C2是相同的,并且由相同的时钟源产生,因此从C1到C2的数据传输本质上不是跨时钟域。每当数据从时钟C1传输到C2时,一个C1(或C2)时钟周期就可以完成数据采样,如下图所示。只要源时钟触发器和目的时钟触发器之间的组合逻辑延迟能够满足电路的setup和hold时间,数据就会正确传输。这里唯一的要求是设计应进行过时序clean,即STA(静态时序分析)。在这种情况下,将不会存在亚稳态、数据丢失或数据不一致性的问题。
具有相同频率和固定相位差的时钟如下图所示时钟C1和C2具有相同的频率,但发生相位偏移,C1领先C2 3T/4时间单位。每当数据从时钟C1传输到C2时,由于setup/hold margin较小,对组合逻辑延迟有更严格的要求(setup或者hold )。如果数据传输处的setup/hold时间满足要求,数据将被正确地传输,并且不存在亚稳态。在这种情况下也不需要同步器,唯一的要求是设计STA clean。

具有不同频率和可变相位差的时钟
这里可以有两个子类别:1、一个时钟的时钟周期是另一个时钟的整数倍(奇数倍和整数倍)2、一个时钟的时钟周期是另一个时钟的非整数倍。
在这两种情况下,时钟边沿之间的相位差可以是可变的。
1. 整数倍时钟在这种情况下,一个时钟的频率是另一个时钟的奇数倍,它们边沿之间的相位差是可变的。下图中2个时钟边沿之间的最大相位差等于快速时钟的时间周期。时钟C1比时钟C2快3倍。假设T是时钟C1的时钟周期,时钟C2采样到的数据可能来自时钟C1的T、2T或3T时刻数据。在进行静态时序分析时需要针对setup和hold的最差情况。在上面这种情况下,由慢时钟到快时钟的数据传输只要满足时序,不存在亚稳态或数据不一致,也不需要同步器。然而,在快时钟到慢时钟的情况下存在数据丢失的问题。为了防止这种情况发生,源数据应该至少在一个目标时钟(慢时钟)的周期内保持不变。这可以通过一些控制电路(例如状态机)来保证。在上图的示例中,如果源时钟每3个周期生成一次源数据,则不会出现数据丢失。

2.非整数倍时钟
在这种情况下,一个时钟的频率是另一个时钟的非整数倍,时钟边沿之间的相位差是可变的。这里考虑两种情况:第1种情况下,两个时钟的时钟边沿非常近,近到足以导致亚稳态问题。然而,一旦时钟边沿接近,在下一个周期中有足够的时间来适当地捕获数据。在这种情况下,这两个时钟的边沿可以断断续续地结合在一起。
换句话说,时钟边沿一次接合在一起,然后在接下来的几个周期中,时钟边沿之间会有足够的时间以正确地捕获数据。在这里,“近”一词意味着足够近,足以引起亚稳态。
在下图中,时钟C1和C2的时间周期分别为10ns和7ns。由于亚稳态,当时钟边沿非常接近时,可能无法在目标时钟域中捕获数据。然而,在下一个周期中,就可能有足够的时间以便目标时钟可以正确地捕获数据。如下图所示,虽然预期输出是B1,实际波形看起来像B2,但在这种情况下仍然没有数据丢失(当然也不是每一拍都能采到)。对于快时钟到慢时钟的跨时钟域传输,可能会发生数据丢失,为了防止这种情况发生,源数据应该在至少一个目标时钟周期内保持不变。同样,这可以通过使用一个简单的FSM来实现。
第2种情况下,两个时钟的时钟边沿可以足够接近并且连续多个周期。在这种情况下,时钟之间的相位差有时非常小,并且可以保持几个周期。这与异步时钟非常相似,除了可变相位差是已知的并周期性地重复。
下图中这两个时钟的时钟边沿连续4个周期非常接近。在前2个周期中,有可能出现setup违例,而在接下来的2个周期中,也有可能出现hold违例。在这种情况下,将存在亚稳态的问题,因此需要进行同步。除了亚稳态之外,还可能存在数据丢失的问题,尽管它是一个慢时钟到快时钟域的传输。上图中,如果没有亚稳态,B1是预期的输出。但是,实际的输出可以是B2。这里的数据值“1”丢失,因为在第一个周期中,值“1”由于setup违例而没有被捕获,而在第二个周期中,新值“0”被错误捕获。

为了防止数据丢失,数据需要在至少两个目标时钟周期内保持不变。这可以通过使用一个简单的FSM来控制源数据的生成来实现。然而,数据不连贯性的问题可能仍然存在。在这种情况下,需要使用握手和FIFO等技术处理数据的不连贯性问题。
异步跨时钟域

没有已知相位或频率关系的时钟被称为异步时钟。异步时钟之间的相位差是可变的,而且不像同步时钟,它是不可预测的


如果已知源时钟频率和目标时钟频率,则可以通过保持源数据在目标时钟的两个周期内不变来防止数据丢失。如果电路要被设计为独立于时钟频率,则应使用握手或FIFO技术来防止亚稳态、数据丢失和数据一致性问题。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

上海2025年7月21日 /美通社/ -- 本文围绕跨域时间同步技术展开,作为智能汽车 "感知-决策-执行 -交互" 全链路的时间基准,文章介绍了 PTP、gPTP、CAN 等主流同步技术及特点,并以...

关键字: 时钟 时间同步 同步技术 智能汽车

在 SIP 协议中处理 INVITE 请求时,选择同步或异步模式会直接影响服务端的性能和响应逻辑。

关键字: INVITE 异步 同步

三相异步电动机在工业领域应用广泛,是众多生产设备的核心动力源。其转轴作为传递扭矩、带动负载运转的关键部件,一旦出现裂纹、断裂或弯曲现象,将直接导致电动机无法正常工作,进而影响整个生产流程。因此,快速准确地判断并妥善处理这...

关键字: 异步 电动机 扭矩

只要FPGA设计中的所有资源不全属于一个时钟域,那么就可能存在跨时钟域问题,因为异步逻辑其实也可以看做一种特殊的跨时钟域问题。

关键字: FPGA 时钟

电感器俗称电感,本质上是一个线圈,有空心线圈也有实心线圈,实心线圈有铁芯或者其它材料制成的芯,电感的单位是“H”,简称“亨”。

关键字: 电感器 相位差

所有的周期性信号都可以用幅度和相位来描述.我们在基本电路理论中都学到了这一点。你一定记得,当信号通过一个网络时,必须计算它的相位变化。幸运的是,你也可以用 示波器 使用几种方法。

关键字: 示波器 相位差

在Xilinx FPGA的DDR3设计中,时钟系统扮演着至关重要的角色。它不仅决定了DDR3存储器的数据传输速率,还直接影响到FPGA与DDR3存储器之间数据交换的稳定性和效率。本文将详细介绍Xilinx FPGA DD...

关键字: Xilinx FPGA DDR3 时钟

TimeProvider 4100主时钟的附件,可扩展至200 个完全冗余的T1、E1 或CC同步输出端

关键字: 5G网络 时钟

摘要:提出CD型铁芯电感量的一种测量方法,对电感外加缠绕线圈,在缠绕线圈两端加上电压,通过改变线圈两端电压来控制流经铁芯电感中间的电流,准确测量电压与电流,获取两者的幅值与相位差,通过计算获得被测铁芯电感量,并通过与电桥...

关键字: 相位差 匝数 调压器

香港2022年7月7日 /美通社/ -- 寿康集团有限公司(“寿康集团”或“本公司”及其附属公司,统称“本集团”;股份代号:0575.HK)旗下全资附属公司、并以香港为基地的人工智能创新公司及衰老与长寿深层生物...

关键字: 时钟 VI GE EV
关闭