时序基本介绍——Jitter与Skew区别
在时序分析当中,有些基础概念还是要认真了解的,时钟抖动(Clock Jitter)和时钟偏移(Clock Skew)经常容易混淆。
时序设计中,对于时钟的要求是非常严格的,因此FPGA中也有专用的时钟管脚,对应着专用的时钟区域BUFG BUFH BUFR。但是实际当中信号并没有那么完美,会出现时钟抖动(Clock Jitter)和时钟偏移(Clock Skew)。
抖动(jitter),就是指两个时钟周期之间存在的差值,这个误差是在时钟发生器内部产生的,和晶振或者PLL内部电路有关,布线对其没有影响。如下图所示:Jitter=T2 - T1 ;
除了上面的频率情况,还有占空比的变化,也是抖动的一种,称之为半周期抖动。总的来说,jitter可以认为在时钟信号本身在传输过程中的一些偶然和不定的变化之总和。
时钟偏斜(skew)是指同样的时钟产生的多个子时钟信号之间的延时差异。它表现的形式是多种多样的,既包含了时钟驱动器的多个输出之间的偏移,也包含了由于PCB走线误差造成的接收端和驱动端时钟信号之间的偏移。
时钟偏斜指的是同一个时钟信号到达两个不同寄存器之间的时间差值,时钟偏斜永远存在,到一定程度就会严重影响电路的时序。如下图所示:
PCB、信号完整性对时序的影响,比如串扰会影响微带线传播延迟;反射会造成数据信号在逻辑门限附近波动,从而影响最大/最小飞行时间;时钟走线的干扰会造成一定的时钟偏移。有些误差或不确定因素是仿真中无法预见的,设计者只有通过周密的思考和实际经验的积累来逐步提高系统设计的水平。
Clock Skew: The spatial variation in arrival time of a clock transition on an integrated circuit;
Clock jitter: The temporal vatiation of the clock period at a given point on the chip;
简言之,skew通常是时钟相位上的不确定,而jitter是指时钟频率上的不确定。造成skew和jitter的原因很多。
由于时钟源到达不同寄存器所经历路径的驱动和负载的不同,时钟边沿的位置有所差异,因此就带来了skew。
而由于晶振本身稳定性,电源以及温度变化等原因造成了时钟频率的变化,就是jitter。
skew和jitter对电路的影响可以用一个简单的时间模型来解释。假设下图中t(c-q)代表寄存器的最大输出延迟,t(c-q, cd)表示最大输出延时;t(su)和t(hold)分别代表寄存器的setup, hold time(暂不考虑p.v.t)差异;t(logic)和t(logic, cd)分别表示最大的组合逻辑传输延迟和最小组合逻辑传输延迟;
在不考虑skew和jitter的情况下,及t(clk1)和t(clk2)同频同相时,时钟周期T和t(hold)需要满足
T > t(c-q) + t(logic) + t(su)
t(hold) < t(c-q, cd) + t(logic, cd)
这样才能保证电路的功能正常,且避免竞争的发生。如果考虑CLK2比CLK1晚t1的相位,及skew=t1。
则 t(hold) < t(c-q, cd) + t(logic, cd) - t1
这意味着电路由更大的倾向发生hold time violation;如果考虑CLK1比CLK2晚t2的相位,及skew=-t2,
则 T > t(c-q) + t(logic) + t(su) + t2
这意味着电路的性能下降了,但由于R2的hold time始终满足,所以不会有竞争的麻烦存在。clock jitter
始终是对性能造成负面的影响,一般设计中都需要专门留取10%左右的margin来保证。
clock uncertainty = clock jitter + clock skew. jitter 是 由时钟源产生的抖动。skew是时钟树不平衡引起的到达两个寄存器的延迟差。在cts之后,skew由工具算出,因此sta的时候clock uncertainty 可以设一个比较小的值。另外做hold check的时候因为检查的是同一个时钟沿,因此没有jitter只有skew.
时序基本介绍——Jitter与Skew区别相关推荐
- 数字电路时钟问题——Jitter与Skew区别
在博文:时序分析之静态分析基础中提到了一次时钟偏斜问题,只是一笔带过而已,这里重新拿过来看看,并且添加时钟抖动(Jitter)相关知识点,这是学习FPGA经常遇到的名词. 先贴出来时钟偏斜的定义: 时 ...
- FPGA之道(80)静态时序分析(六)常用时序约束介绍(基于ISE的UCF文件语法)
文章目录 前言 常用时序约束介绍 时序环境约束 分组时序约束 TNM TNM_NET TIMEGRP 常用时序约束 周期约束 输入时钟周期约束 内部时钟周期约束 关联时钟周期约束 差分时钟周期约束 输 ...
- 【时序数据库】时序数据库介绍
1.基本概念 时序数据库(Time Series Database)是用于存储和管理时间序列数据的专业化数据库.时序数据库特别适用于物联网设备监控和互联网业务监控场景. 下面介绍下时序数据库的一些基本 ...
- 高速串行总线的设计基础(一)同步时序模型介绍
文章目录 前言 芯片间通信的时序模型 系统同步 源同步 自同步 并串转换 串并转换 时钟/数据恢复 参考文章 前言 高速信号设计涉及到方方面面的知识积累,也许TOC你认为即使没有掌握甚至没有听过一些高 ...
- 【数字电路基础】时序电路和组合电路的区别、为什么要有触发器
文章目录 一.时序电路和组合电路的区别 二.电路为什么需要触发器这种结构? 一.时序电路和组合电路的区别 1.组合电路的特点:任意时刻的输出仅仅取决于该时刻的输入,与电路原来的状态无关: 2.时序电路 ...
- EEPROM介绍及与Flash区别
EEPROM介绍及与Flash区别 EEPROM EEPROM,Electrically Erasable Programmable Read Only Memory,电可擦除可编程只读存储器,是一种 ...
- HTTP的介绍和提交方式区别
HTTP的介绍和提交方式区别 HTTP协议的介绍 1.域名和DNS解析过程 2.发起TCP,进行了3次握手 为什么HTTP协议要基于TCP来实现? 3.建立TCP连接后发起HTTP请求 提交方式区别 ...
- MYSQL有时序数据库的用法_时序数据库介绍和使用
时序数据库介绍和使用 发布时间:2018-06-10 18:17, 浏览次数:655 <>1.基础 <>1.1 时序数据的定义 什么是时间序列数据(Time Series Da ...
- mysql 时序数据库_时序数据库介绍和使用(转)
1.基础 1.1 时序数据的定义 什么是时间序列数据(Time Series Data,TSD,以下简称时序)从定义上来说,就是一串按时间维度索引的数据.用描述性的语言来解释什么是时序数据,简单的说, ...
最新文章
- react发送Ajax中文问号,如何从Javascript/React发送AJAX请求并在pythonrestapi中接收数据...
- DrugAI | 抗新型冠状病毒药物榜单解析
- TensorFlow 运行官方文档中文版 简单例子出现:IndentationError:unexpected indent
- 没有与制定类型匹配的重载函数 cv::Vec<_Tp 实例
- WPF WindowStyle为None
- 《系统集成项目管理工程师》必背100个知识点-58沟通方式
- [Redux/Mobx] 在Redux中怎么发起网络请求?
- SAP License:SAP 更改背景图片
- 一位程序员从业余项目被收购中所学到的
- Google 周三宣布新版Google Trend上线
- CxImage图像库的使用
- python服务端开发调试日志系统_Loglog首页、文档和下载 - 基于 Python2.7 的日志系统 - OSCHINA - 中文开源技术交流社区...
- 浏览器网页操作 EXCEL 示例
- 神经网络arm neon加速实现
- 联想thinkpad如何关闭触摸板
- 关于travis scott的网名_2020微信情侣名字情侣专用 霸气秀恩爱的情侣网名
- IDEA 设置终端管理员权限
- 基于springboot vue elementui酒店预订系统源码(毕设)
- Java每天10道面试题,跟我走,offer有!(十)
- 取消Chrome黑暗模式