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

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

3天内不再提示

什么是时钟偏差(clock skew)以及它对现代系统的影响

中科院半导体所 来源:EETOP 作者:EETOP编译整理 2022-10-24 10:03 次阅读

本文将通过了解同步电路、时钟传输和时钟分配网络,进而了解什么是时钟偏差(clock skew)以及它对现代系统的影响。

现代数字电子产品设计的最大挑战之一是满足时序约束的能力。保持可预测和组织良好的操作逻辑流程的方法之一是在数字电路中拥有控制良好、定义明确的时序。 clock skew是这些电路中的一个设计考虑因素,如果没有得到适当的考虑,它可能是一个重要的问题来源。

上,在许多情况下,系统的clock skew可能是整个系统速度和时钟频率的限制因素。要了解clock skew,我们必须首先讨论同步电路。同步电路和时钟——最小时钟周期计算 大多数现代数字计算机的一个基本特征是同步电路。

同步电路需要一种计时机制来保持有序和周期性的时序逻辑流。在数字电子学中,这种计时机制被称为时钟,简单来说,它是一个具有恒定频率的方波。

如图 1 所示,这些电路通过将静态数据存储在数据寄存器中来工作,该数据寄存器旨在锁存数据,直到寄存器遇到时钟的上升(或下降)沿。当时钟沿发生时,数据从寄存器中释放,通过组合逻辑块发送,然后存储在下一个寄存器中。

2a175cc4-52bb-11ed-a3b6-dac502259ad0.png

图 1. 具有两个顺序寄存器的数据路径同步电路。

这些操作发生的频率由时钟频率设置,时钟频率由其他几个参数设置。最小时钟周期的一般公式定义为: Tc=tpcq+tpd+tsetup+tskew 式中:

Tc是时钟周期

tpcq是数据寄存器时钟到 Q 的时间

tpd是组合逻辑传播延迟

tsetup是下行寄存器的建立时间

tskew是两个寄存器之间的时钟偏差

最大时钟频率定义为1/Tc

时钟传送和clock skew 由于数字逻辑往往是同步电路,所有逻辑块的精确时序对于正确的系统行为至关重要。当考虑将图 1 中的设置从一个数据路径扩展到数百万个数据路径(因为它存在于实际芯片设计中)时,很快就会发现保持一切同步是一项不小的挑战。

在实践中,时钟信号通常由晶体振荡器生成,馈入锁相环 (PLL),并在整个 IC 中分布到系统内的每个逻辑块和晶体管。这种追求中最大的挑战之一就是clock skew,它可以定义为顺序相邻寄存器的时钟信号到达时间之间的差异。 这种情况在数学上可以定义为:

2a2a91cc-52bb-11ed-a3b6-dac502259ad0.png

发生clock skew的传统设置如图 2 所示,其中时钟分配网络中的延迟导致数据寄存器 B 比寄存器 A 更晚地接收其时钟信号。

2a43b5da-52bb-11ed-a3b6-dac502259ad0.png

图 2. 时钟偏差通过在时钟传输网络中插入延迟来证明。

如果接收寄存器晚于发送寄存器接收时钟,则偏移可以定义为正,反之则定义为负。clock skew成为数字设计中的一个严重问题,因为它可能违反同步电路所依赖的时序约束。

例如,给定一个恒定的时钟频率和负偏斜,如图 3 所示,时钟到达接收寄存器 B 的时间要比发送寄存器 A 早得多。

在这种情况下,从发送寄存器发出的数据将到达时钟到达后接收寄存器。这里,数据不满足接收寄存器的建立和保持要求(即,在时钟到达时,接收登记处还没有现成的数据)。因此,由于接收寄存器不能安全地锁存数据,数据将会丢失。这个概念会产生复合效应,因为后续依赖丢失数据的逻辑操作也会失败。

2a64897c-52bb-11ed-a3b6-dac502259ad0.png  

图 3. 负时钟偏移导致数据在其时钟之后到达接收寄存器 B。 正如我们在最大时钟频率等式中看到的,clock skew的增加将增加最小时钟周期并降低系统的最大时钟频率。这是因为clock skew有效地增加了排序开销,减少了组合逻辑中有用工作的可用时间。还值得注意的是,时钟不需要同时到达,但clock skew通常存在可接受的误差范围。

clock skew的原因

虽然造成clock skew的原因有很多,但它们最终都归结为时钟分配网络中的延迟差异。

clock skew的一个原因是时钟分配网络中互连之间的长度不同。如果到两个连续寄存器的时钟传输路径中的互连长度变化很大,则可能会发生clock skew。沿着较短互连行进的时钟将比沿着较长互连行进更快地到达其寄存器。

clock skew的另一个原因可能是时钟分配网络中互连延迟的差异。即使两条时钟传输路径的长度相同,它们也会由于诸如电阻电容或电感耦合等寄生效应而经历不同的延迟。

在图 4 的示例中,RC 寄生效应的任何差异都会导致寄存器 A 和 B 的时钟到达时间延迟不同。线路上延迟较大的时钟信号自然会比延迟较小的信号更晚到达其目的地. 设计具有相同延迟的互连可能是一项极其困难的任务。

2a84b88c-52bb-11ed-a3b6-dac502259ad0.png

图 4. RC 寄生效应的变化会导致时钟偏移。

clock skew也可能是由时钟信号的逻辑路径延迟的差异引起的。例如,在包括时钟门控的设计中,时钟的传输路径中可能存在额外的门,每个门都具有自己的负载电容和传播延迟。如果不平衡,逻辑路径的差异会导致时钟传递时间不等。 其他原因可能包括温度变化、制造变化和材料缺陷。

使用时钟分配网络最大限度地减少时clock skew

随着时钟频率的增加,clock skew可能会成为一个更具挑战性的问题,因为随着时钟频率的提高,误差幅度会显著降低。为了最大限度地减少clock skew,复杂的同步电路采用类似于图 5 所示的时钟分配网络。这些通常也称为时钟树。时钟树中的每个反相器都会放大时钟信号以驱动时钟树的下一级。目标是让时钟信号同时到达所有寄存器输入。

2aad2c36-52bb-11ed-a3b6-dac502259ad0.png

图 5.具有并行时钟驱动器的时钟分配网络示例。

对于具有数百万甚至数十亿晶体管的超大型 IC,时钟分配网络可能会比图 4 的简单示例复杂得多。这些网络的创建通常由EDA软件自动处理。工程师输入目标频率、寄存器设置和保持时间限制以及最大时钟偏差等关键参数。然后,软件生成时钟分配网络以满足目标时序约束。

结论

clock skew是数字集成电路设计中需要考虑的重要课题。如果没有正确考虑,时钟偏差会对系统性能造成严重破坏,导致系统操作不当、数据丢失或成为系统时钟频率的限制因素。





审核编辑:刘清

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

    关注

    0

    文章

    32

    浏览量

    7560
  • 数字电路
    +关注

    关注

    192

    文章

    1398

    浏览量

    79758
  • 同步电路
    +关注

    关注

    1

    文章

    56

    浏览量

    13138

原文标题:什么是clock skew?一文了解时钟分配网络中的时钟偏移

文章出处:【微信号:bdtdsj,微信公众号:中科院半导体所】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    哪些因此会导致时钟skew过大呢?FPGA中降低时钟skew的几种方法

    在时序报告中,会显示出clock path skew,如果时钟偏移超过0.5ns,就需要额外关注了。
    的头像 发表于 03-13 09:06 601次阅读
    哪些因此会导致<b class='flag-5'>时钟</b><b class='flag-5'>skew</b>过大呢?FPGA中降低<b class='flag-5'>时钟</b><b class='flag-5'>skew</b>的几种方法

    如何减小clock skew

    求助大神,clock skew太大,导致时序违规怎么破?时钟由DCM输出,已经过BUFG
    发表于 01-14 17:00

    怎么了解时序报告中的时钟偏差

    生成全局时钟。我知道这不是推荐的方法,但我想避免在设计中使用FIFO。我的时钟周期为7ns;虽然我预计本地BUFR时钟与DCM的全局时钟之间存在偏差
    发表于 02-22 08:03

    怎么消除5ns偏斜

    (从板)。我使用常规电线从主设备到从设备。当主时钟到达从机时,主机时钟o / p与从机时钟i / p之间存在5ns的偏差。是否有任何片上原语/资源/ IP核我可以用来消除这种
    发表于 03-15 07:17

    为减少数据和时钟偏差应遵循哪些通用FPGA编码规则?

    为减少数据和时钟偏差,应遵循哪些通用FPGA编码规则?我学习了FPGA编码和verilog,但我试图找到一些编码规则或约定来提高代码的可靠性。因为有时模拟的测试结果可能与实现后的测试结果不同并实际上
    发表于 03-27 09:59

    BUFGMUX定时时钟偏差太大

    时,BUFGMUX选择C0,当控制逻辑为1时,则选择C2馈送到BRAM时钟输入的端口A.我遇到的问题是一个巨大的时钟偏差,因此设置时间违规。 (同时具有BUFGMUX的SYNC和ASYNC设置)这是一个计时
    发表于 06-18 09:30

    时钟偏差的定义以及它对现代系统的影响

    本文将通过了解同步电路、时钟传输和时钟分配网络,进而了解什么是时钟偏差clock skew
    发表于 11-02 14:32

    使用时钟PLL的源同步系统时序分析

    使用时钟PLL的源同步系统时序分析一)回顾源同步时序计算Setup Margin = Min Clock Etch Delay – Max Data Etch Delay – Max Delay
    发表于 10-05 09:47 31次下载

    Skew Correction Using Delay Li

    " of phased signals such as data and clock signals. Skew can be caused by signal delays in the signal path or inherent incompatibilities
    发表于 04-22 11:21 1175次阅读
    <b class='flag-5'>Skew</b> Correction Using Delay Li

    三个命令生成的报告中均可显示Clock Skew的具体数值

    如果时钟同时驱动I/O和Slice中的逻辑资源,且负载小于2000时,可通过CLOCK_LOW_FANOUT属性对相应的时钟net进行设置,最终可使工具将该时钟驱动的所有负载放置在同一
    的头像 发表于 11-07 11:08 4400次阅读
    三个命令生成的报告中均可显示<b class='flag-5'>Clock</b> <b class='flag-5'>Skew</b>的具体数值

    同步电路设计中CLOCK SKEW的分析说明

    Clock shew是数字集成电路设计中一个重要的因素。本文比较了在同步电路设计中0clock shew和非0clock shew时钟分布对电路性能的影响,分析了通过调整
    发表于 01-14 16:26 21次下载
    同步电路设计中<b class='flag-5'>CLOCK</b> <b class='flag-5'>SKEW</b>的分析说明

    谈谈非理想时钟时钟偏差

    本系列整理数字系统设计的相关知识体系架构,为了方便后续自己查阅与求职准备。在FPGA和ASIC设计中,时钟信号的好坏很大程度上影响了整个系统的稳定性,本文主要介绍了数字设计中的非理想时钟
    的头像 发表于 06-02 15:05 1033次阅读
    谈谈非理想<b class='flag-5'>时钟</b>的<b class='flag-5'>时钟</b><b class='flag-5'>偏差</b>

    时钟偏差时钟抖动的相关概念

    本文主要介绍了时钟偏差时钟抖动。
    的头像 发表于 07-04 14:38 1104次阅读
    <b class='flag-5'>时钟</b><b class='flag-5'>偏差</b>和<b class='flag-5'>时钟</b>抖动的相关概念

    时钟系统clock驱动实例

    clock驱动实例 clock驱动在时钟系统中属于provider,provider是时钟的提供者,即具体的
    的头像 发表于 09-27 14:39 414次阅读
    <b class='flag-5'>时钟</b>子<b class='flag-5'>系统</b>中<b class='flag-5'>clock</b>驱动实例

    什么是时钟偏差它对现代系统的影响

    什么是时钟偏差它对现代系统的影响 时钟偏差是计算机
    的头像 发表于 10-31 09:41 608次阅读