时钟信号特征有:发抖(Jitter)、偏移(skew)、占空比失真(Duty Cycle Distortion)

偏移SKEW

因时钟线长度差别或负载差别,导致时钟到达相邻单元的时间差别,这个时间上的误差就叫时钟偏移SKEW。

在上图中的Tskew=Tc1-Tc2

偏移会一直存在,因此FPGA在设计时,会举行优化,接纳全铜工艺和树状结构,设计专门的始终缓冲和驱动网络,使得时钟到达差别单元时的路径一样长,只管减小偏移。

以是,Skew 问题的解决方式就是:设计中的主要信号应该走全局时钟网络。

此外FPGA中延迟锁定环(Delay locked ring,DLL)也可以去SKEW,延迟锁相环由控制逻辑和延时线组成,控制逻辑将输入时钟与输出时钟举行对照,并插入延时从而使得时钟同步。

但无论如何,在STA时,任然要思量Skew。

发抖Jitter

在理想情况下,一个频率牢固的完善的脉冲信号(以1MHz为例)的持续时间应该恰好是1us,每500ns有一个跳变沿。但这种信号并不存在。如图所示,信号周期的长度总会有一定转变,从而导致下一个沿的到来时间不确定。这种不确定就是发抖(jitter)。时钟发抖也永远存在。

占空比失真Duty Cycle Distortion

占空比失真即时钟不对称,高电平和低电平时间发生转变。DCD会占用时间裕量(Slack)造成数字信号的失真,使过零区间偏离理想的位置。DCD通常是由信号的上升沿和下降沿之间时序差别而造成的。

扇入扇出Fan-in/Fan-out

数字电路中,逻辑门相互连接,每个逻辑门输出端与输入端都连着大量其余单元,因此由扇入扇出示意处置外部输入以及驱动外部其他单元的能力。

亚稳态及相关观点

同步电路中:

确立时间(Setup time):触发器时钟上升沿到来前数据保持稳固的时间。

保持时间(Hold time):触发器时钟上升沿到来后数保持据稳固的时间。

如图所示,在时钟上升沿到来前后的一段时间内数据必须保持稳固,否则数据就无法写入,造成“亚稳态“输出。若是前级驱动够强劲,电路就能根据趋势转变下去,一定时间后该点的值就会转变为“准确值”,若是驱动不够强劲,电路就会恢复之前的值,最终获得何值是不可控的,以是我们要制止亚稳态。在使用DFF时,必须知足其确立时间和保持时间的要求。

以上图为例,假设时序如下

在上图时序中:

△T=Tskew

T1=REG1检测到时钟后内部延时+组合逻辑延时最后到达REG2的时间

Tcycle=CLK的周期

Tsu=数据在CLK2上升沿到达前维持的时间

Tsu = Tcycle + Tskew-T1

Th=数据在CLK上升沿到达后维持的时间

Th = T1 – Tskew

若是Ts>setup time(触发器),Th>hold time(触发器)则数据能正常写入,由这个条件可以看出,Tskew与T1起着要害作用,而正之前所说若是使用全局时钟则Tskew会很小,可以忽略不计。

实例:

以上图为例Tsu= Tcycle + Tskew-T1要使Tsu最小,则Tskew最小,T1最大。

Tsu(min) = Tcycle + Tskew(min)-T1(max)=15+2+5+2-2-11-2-9-2

因此发生了setup violation

异步复位时:

除了同步电路中会发生亚稳态外(不知足Tsu和Th),在异步复位时也会发生亚稳态,这里需要提到复位时间与打消时间。

复位时间(recovery):复位信号释放(对于低电平有用的复位信号指上升沿),与紧跟厥后的第一个时钟上升沿之间的最小时间。

打消时间(removal):时钟信号的上升沿,与紧跟厥后异步复位信号从有用到无效的最小时间。

如图所示,异步复位信号打消必须在复位时间和打消时间外,否则会发生亚稳态。

异步复位信号打消时间在Trecovery和Tremoval之内,则会造成亚稳态,在时钟上升沿Tco(输出延时)后会发生振荡,振荡时间为Tmet(决断时间)。

弥补:

1.只要系统中有异步元件,亚稳态就是无法制止的,亚稳态主要发生在异步信号检测、跨时钟域信号传输中。

2.对于同步信号而言不知足Tsu和Th会发生亚稳态,对于异步信号,复位不知足Trecovery和Tremoval会发生亚稳态。

3.随着clk频率的增添,亚稳态发生的几率是增添的。

4.接纳工艺更好的FPGA。

消除亚稳态方式:

1.对异步信号举行同步处置;

2.使用FIFO对跨时钟域数据举行缓冲处置;

3.复位电路接纳异步复位,同步释放处置;

时间裕量Slack

观点:

时间裕量分析首先需要将电路中的路径找出来。路径的起点有两种:时序器件的时钟输入端、电路的起点;终点也有两种:时序器件的数据输入端、电路的终点。如下图所示,一共有四种路径。

除了路径外另有以下几个观点需要领会:

要害路径(critical path):从输入到输出中延时最大的那条路径。

到达时间(arrival time):信号从参考的时间起到达某特点位置的时间。

需求时间(required time):信号到达的最晚的时间。

时间裕量(slack):用需要时间减去到达时间获得的效果就是时间裕量(slack =required time- arrival time)。若是时证书则说明路径延时知足需求,若是时负数则说明延时不知足。其中对照主要的时Hold Time Slack。

盘算:

仍然以该电路为例

发射沿(Launch Edge):发生数据的REG1的clock上升沿;

锁存沿(Latch Edge):接受数据的REG2的clock的上升沿,延时Launch Edge1个时钟;

数据到达时间(Data Arrival Time)

Tclk1= CLK到达REG1的时间

Tco  = REG1牢固延时

Tdata= 数据传输时间

时序图如下:

Data Arrival Time = Launch Edge+Tclk1+Tco+Tdata

时钟到达时间(Clock Arrival Time)

时序图如下:

Clock Arrival Time = latch Edge+Tclk2

数据确立需求时间(Data Required Time Setup)

由于数据必须在Tsu之前有用,因此:

Data Required Time Setup = Clock Arrival Time-Tsu

数据保持需求时间(Data Required Time Hold)

由于数据必须在Th之后才气改变,因此:

Data Required Time Hold= Clock Arrival Time+Th

最后盘算Slack

Setup Slack = Data Required Time Setup -Data Arrival Time

Hold Slack = Clock Arrival Time – Data Required Time Hold

参考资料:

https://www.cnblogs.com/oomusou/archive/2010/08/04/timing_slack.html

原文链接:https://www.cnblogs.com/yjw951012/p/12865036.html

本站声明:网站内容来源于网络,若有侵权,请联系我们,我们将及时处置。

slack 时钟_【基础知识】时序(Slack、Setup、Hold、Jitter、Skew、亚稳态)相关推荐

  1. 学习笔记:SpringCloud 微服务技术栈_实用篇①_基础知识

    若文章内容或图片失效,请留言反馈.部分素材来自网络,若不小心影响到您的利益,请联系博主删除. 前言 学习视频链接 SpringCloud + RabbitMQ + Docker + Redis + 搜 ...

  2. 学习笔记:Java 并发编程①_基础知识入门

    若文章内容或图片失效,请留言反馈. 部分素材来自网络,若不小心影响到您的利益,请联系博主删除. 视频链接:https://www.bilibili.com/video/av81461839 视频下载: ...

  3. 01_Linux系统管理_基础知识_高级文件系统管理_磁盘配额(quota)

    环境 虚拟机:VMware-10.0.7 build-2844087 Linux系统:CentOS 6.8 远程工具:Xshell 6 (Build 0197) 01_Linux系统管理_基础知识_高 ...

  4. 3011C语言_基础知识

    第一章  基础知识 1.1  基本框架 //任何一个c语言程序都必须包括以下格式: int main(int argc, char *argv[] ) { return 0: } //这是c语言的基本 ...

  5. slack 使用说明_我如何使用Slack作为自己的个人助理

    slack 使用说明 Slack is most known as a glorified chatroom app for workplaces, but it's also a great too ...

  6. c++ 多个线程操作socket要同步吗_基础知识深化:NIO优化原理和Tomcat线程模型

    1.I/O阻塞 书上说BIO.NIO等都属于I/O模型,但是I/O模型这个范围有点含糊,我为此走了不少弯路.我们日常开发过程中涉及到NIO模型应用,如Tomcat.Netty中等线程模型,可以直接将其 ...

  7. seo技术_基础知识_网站pr值的意义_日思663.带你入门SEO基础知识

    2019/9/6 这篇文章来自36氪产品团队一次内部分享,按照惯例记录下来,也分享给大家~ 本文937字,阅读约9分钟 从上上周开始,产品团队每周都会请一位小伙伴给大家做分享,主题不限,以自己擅长或感 ...

  8. python量化交易:筹码分布(3)_基础知识及计算原理

    1.基础知识 "筹码分布"的准确的学术名称应该叫"流通股票持仓成本分布",它的英文名字叫"CYQ". 其实,"筹码分布" ...

  9. 千兆以太网_基础知识

    基础知识: 1.网络结构:计算机网络的层次结构如图所示. 协议:传输层则包含UDP协议,TCP协议,网络层有arp协议和IP协议,数据链路层封装MAC帧,通过物理层的PHY物理收发芯片传输数据.用户数 ...

  10. 算法导论/第一部分_基础知识

    算法导论: 基础知识 Chapter 1 算法在计算中的作用 1.1 算法 1.2 作为技术的算法 Chapter 2 算法基础 2.1 插入排序 练习: 2.2 分析算法 插入算法的分析 增长量级 ...

最新文章

  1. linux下搭建redis并解决无法连接redis的问题
  2. HTML 块标签,行内标签,行内块标签以及之间的相互转换
  3. Hybris Administration console功能一览
  4. 前端学习(2308):react之子传父
  5. c++思维导图_40+张最全Linux/C/C++思维导图,你确定不收藏?
  6. MySQL二进制日志操作
  7. Java类的初始化顺序 (静态变量、静态初始化块、变量、初始...
  8. java继承矩形例子代码_Java代码实现矩形覆盖实例
  9. PivotGridControl与ChartControl控件结合使用(一)
  10. Cadence 16.6快速创建多引脚芯片原理图符号
  11. 【文本编辑】PPT文档被设置密码允许只读模式【解除限制】
  12. 冒烟测试 SMOKE Test
  13. loj#6100. 「2017 山东二轮集训 Day1」第一题 主席树+二分
  14. 集五福招数都在这了,2021 支付宝集五福全攻略
  15. java+url+空格转码_Web里URL空格的转换方法
  16. Shopee大规模毁约offer,今年的大厂装都不装了
  17. SweetAlert 2.0+弹出确认框,点击确定后执行方法
  18. 恶搞,vbs+bat实现随机位置无限弹窗
  19. JavaScript网页设计作业 仿当当书网站 HTML+CSS 学生dreamweaver网页设计作业成品
  20. uber 数据可视化_使用R探索您在Uber上的活动:如何分析和可视化您的个人数据历史记录

热门文章

  1. 国标28181:实时视频播放
  2. 服务器wifi无线放大器,旧路由器改wifi放大器详细教程【图】
  3. Photoshop_如何使用
  4. Optimization Week 4: Duality
  5. 网络抓包学MQTT物联网协议
  6. python中的 zip函数详解
  7. python小游戏:添加武器,查看武器,删除武器
  8. PTA 机工士姆斯塔迪奥 python
  9. L1-087 机工士姆斯塔迪奥 - java
  10. MySQL基础 - 连接查询