时钟抖动(jitter)和时钟偏移(skew)的理解和建立/保持时间slack的计算

这篇具有很好参考价值的文章主要介绍了时钟抖动(jitter)和时钟偏移(skew)的理解和建立/保持时间slack的计算。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

在一次笔试题中遇到了带时钟抖动(jitter)的建立/保持时间计算的问题,当时对时钟抖动概念不是很清晰,然后没写出来,笔试结束后去网上搜索发现只有时钟抖动的概念,并无相关计算(也可能自己没有找到),然后咨询了一位做数字IC相关的老师,最后算是的到了比较清楚的答案了吧,写一下自己的理解。
可能有叙述错误,欢迎大家评论留言,我一定改!


一、什么时钟抖动和时钟偏移?

这个概念网上一搜一大堆,都解答的比较详细,我这里简要介绍一下吧。
时钟抖动:指的是某一时刻时钟周期会发生短暂性变化(向左或向右偏移),造成时钟周期在不同的周期上可能加长或缩短。它一般发生在时钟发生器内部,和晶振和PLL内部电路有关,与布线无关。是频率上的不确定。
它的计算:jitter=Tmax-Tmin,如下图所示:
时钟抖动,fpga开发,精益工程,硬件工程
时钟偏移:是指同一时钟由于布线长度不同导致时钟到达不同寄存器的时间不同,存在一定差值。时钟偏移是永远存在的,它的大小和电路布线有关。是相位上的不确定。
它的计算:Tskew=clk2-clk1,
注意这里结果可能是正,也可能是负。正常来说,时钟到达clk1的时间肯定比到达clk2的时间短,但是我们在进行时序分析的时候,看的是源端触发器到目的端触发器之间的时序路径,假如有一条时序路径是从FF2到达FF1(path2),
那么其Tskew=clk1-clk2;
时钟抖动,fpga开发,精益工程,硬件工程时钟抖动,fpga开发,精益工程,硬件工程

二、包含时钟抖动和时钟偏移的建立/保持时间余量的计算

1.带时钟延迟的计算

这一点应该是很好理解的,我们从时序图出发,如下图所示:
这里将Reg1 到Reg2的逻辑延迟Tlogic和路径延迟Troutine统称为Tdata;
时钟抖动,fpga开发,精益工程,硬件工程

要求数据到达时间:Trequire=Tclk+Tclk2-Tsu;
实际数据到达时间: Tarrive=Tclk1+Tco+Tdata;
建立时间余量=Trequire-Tarrive=Tclk-Tco-Tdata+Tskew-Tsu;(Tskew=clk2-clk1)
时钟抖动,fpga开发,精益工程,硬件工程
实际数据结束时间:Tclk+Tclk1+Tco+Tdata;
要求数据结束时间 Tclk+tclk2+Th;
保持时间余量 =Tco+Tdata+Tclk1-Tclk2-Th=Tco+Tdata-Tskew+Th;(Tskew=clk2-clk1)


2.带时钟抖动的计算

因为时钟抖动的发生是不确定的,它是在某个时钟周期产生周期的增加或缩小,所以一般也可将时钟抖动称为时钟不确定(Uncertainty).
如本文第一张图片所示,我们可以理解时钟抖动是某一周期时钟上升沿向左或向右偏移,在进行建立/保持时间余量计算的时候,其建立时间/和保持时间的时钟不确定应该分开表示并进行计算。

时钟抖动,fpga开发,精益工程,硬件工程
数据到达时间=latch edge +Tclk2=Tclk+Tclk2;


时钟抖动,fpga开发,精益工程,硬件工程
对于建立时间而言:
数据要求到达时间=clock arrival time-Tsu-Set Uncertainty=Tclk+Tclk2-Tsu-Setup Uncertainty;
数据实际到达时间不变:arrive=Tclk1+Tco+Tdata(不变)

建立时间余量=Trequire-Tarrive=Tclk-Tco-Tdata+Tskew-Tsu-Setup Uncertainty;(Tskew=clk2-clk1)


时钟抖动,fpga开发,精益工程,硬件工程
同理,对于保持时间而言:
实际数据结束时间:Tclk+Tclk1+Tco+Tdata(不变)
要求数据结束时间 Tclk+tclk2+Th+Hold Uncertainty;

保持时间余量 =Tco+Tdata+Tclk1-Tclk2-Th=Tco+Tdata-Tskew+Th+Hold Uncertainty;(Tskew=clk2-clk1)

一般情况下,建立/保持时钟不确定性会直接给出的,如下所示:
时钟抖动,fpga开发,精益工程,硬件工程

注意:

有时候在计算时,题目只会给出一个jitter的值,如下图所示:
时钟抖动,fpga开发,精益工程,硬件工程
这种情况为了结果的准确性,我们在计算建立/保持时间余量的时候就要减去/加上 1/2的jitter
为什么取1/2呢
这是因为jitter在计算的时候取的时钟周期的最大值与最小值之间的差值,它有可能是正负偏差的合集,除以二就可以得到相对于中间的那个上升沿(latch edge)的偏差值,这样在进行建立/保持时间余量的计算时相对比较可靠。
但这种情况只能做一个理论的计算,因为在实际工程中正的偏差和负的偏差有可能不是一半,所以比较准确的描述还是应该像上面图片中(5)示例那样分开定义的。


总结

在进行时钟抖动相关计算时,若题目分别给出建立/保持时间的时钟不确定性,计算建立时间余量就是减去Setup Uncertainty,计算保持时间余量就是加上 Hold Uncertainty;若题目只给了一个jitter的值,那么就可以近似用1/2的jitter去代替Setup Uncertainty和Hold Uncertainty进行计算。文章来源地址https://www.toymoban.com/news/detail-791377.html

到了这里,关于时钟抖动(jitter)和时钟偏移(skew)的理解和建立/保持时间slack的计算的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 配置华为设备NQA UDP Jitter检测VoIP业务抖动

    组网需求 如图1所示,总部和子公司之间需要跨越外部网络进行通信,DeviceA和DeviceD为总部和子公司的网络出口设备,DeviceB和DeviceC为外部网络提供商的边缘设备。 总部和子公司之间经常要通过VoIP进行电话会议,要求双向时延小于250ms,抖动小于20ms。为检测网络是否满足要求

    2024年01月17日
    浏览(58)
  • 简述建立时间(setup time) 和 保持时间(hold time)

    本文是根据参考了网上多篇帖子和书籍,对于有关建立时间和保持时间知识点讲解的基础上进行归纳总结,如有错误敬请批评指正! 一、概念         建立时间和保持时间都是基于触发器而言,所以在了解建立时间和保持时间之前,需要对触发器进行分析,本文从D触发器

    2024年01月16日
    浏览(49)
  • 一文弄懂Verilog静态时序分析中的建立时间和保持时间

           在对Verilog代码进行静态时序分析的时候,建立时间和保持时间是需要我们重点关注的指标。 建立时间(Setup Time): 指采样时钟边沿到来之前,数据需要保持稳定的时间。如果数据在采样时钟的边沿到来之前的建立时间内这段时间变化,可能会造成时钟采样的数据在

    2024年01月16日
    浏览(48)
  • FPGA时序分析中的建立时间与保持时间(看完就懂)

    总体从时序分析的概念,时序分析模型来分析建立时间与保持时间裕量,通过建立保持时间公式定性分析。 通过分析FPGA设计中各个寄存器之间的数据延时和时钟传输路径的时钟延时的关系,来确保所有寄存器都能正确的寄存数据。 a、寄存器延时Tco:时钟上升沿到达D触发器

    2024年02月08日
    浏览(47)
  • 【数字 IC / FPGA】 有关建立/保持时间计算的思考

    最近准备一些数字IC的机试,刷到了一些有关静态时序分析的题目。有一些比较经典的题目,在这里整理分享一下。 有什么疑问可以在评论区交流~互相进步 假设时钟周期为Tcycle,Tsetup,Thold分别为触发器建立保持时间,为保证时需满足要求,需要满足什么样的时序关系?(T1~

    2024年02月06日
    浏览(48)
  • 传输门、D 锁存器、D触发器、建立时间与保持时间

    在了解setup time和hold time之前,我们应该了解D锁存器 D latch 和 D触发器 DFF 。D锁存器和DFF是由传输门 transmission gate 和反相器 inverters 组成。 The transmission gate is consists of a parallel connection of PMOS NMOS. Two gate voltage of PMOS and NMOS are the complement of each other. The effective resistance of the trans

    2023年04月16日
    浏览(46)
  • 静态时序分析Static Timing Analysis2——建立时间和保持时间的时序检查

    2023.4.11 继续学习STA,前面听的感觉好迷糊,先接着看,到时候回头再看一遍理解 2023.4.12 打卡 Tlaunch + Tcq + Tdp = Tclk + Tcapture - Tsetup 时钟的发射和捕获延迟时间是很小的,Tcq和Tsu是工艺库决定的,是固定值。要想等式成立,要取左边的最大值来进行判断 建立时间违例的解决方法

    2023年04月12日
    浏览(35)
  • [静态时序分析简明教程(二)] 基础知识:建立时间、保持时间、违例修复及时序分析路径

    一个 数字芯片工程师 的 核心竞争力 是什么?不同的工程师可能给出不同的答复,有些人可能提到 硬件描述语言 ,有些人可能会提到对于 特定算法和协议的理解 ,有些人或许会提到 对于软硬件的结合划分 ,作者想说,这些说法, 其实对也不对 ,硬件描述语言,翻来覆去

    2023年04月22日
    浏览(55)
  • FPGA中亚稳态、异步信号处理、建立和保持时间违例及题目合集

    亚稳态:输入信号的变化发生在时钟有效沿的建立时间和保持时间之间,导致其不满足触发器建立保持时间的时序要求,使得输出有一段时间的不确定状态,这就是亚稳态。

    2023年04月09日
    浏览(41)
  • Vue 如何使用WebSocket与服务器建立链接 持续保持通信

    浏览器通过JavaScript向服务器发出建立WebSocket链接的请求,链接建立后,客户端和服务器端就可以通过TCP链接直接交互数据。WebSocket链接后可以通过 send() 方法来向服务器发送数据,并通过 onnessage 事件来接受服务器返回的数据。 WebSocket - Web API 接口参考 | MDN

    2024年01月18日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包