Clock Skew , Clock uncertainly 和 Period

待修正

1.Clock Skew

Clock Skew = clock path delay to the destination synchronous element - clock path delay to te source synchronous element.

注意,clock skew只提到了path delay,但是实际上对于destination synchronous element 和source synchronous element而言,时钟的相位可能是不一样的。这一点表现出了时钟的相位和clock skew是独立的两个概念。在前文的OFFSET中,相位的表现为clock arrival time。

上图是一个clock skew的例子,可以看到两个触发器的时钟不是同相的,但是计算clock skew的时候没有必要考虑。以DCM的输出作为参考,源同步元素的路径延时为0.852+0.860+0.639 = 2.351,目的同步元素的路径时延为0.860 + 0.860 +  0.639 = 2.359。故clock skew = 0.008 。

2.Clock Uncertainty

Clock Uncertainty 的概念比较好理解,就是时钟的不确定性。时钟不确定性受到了多个因素的影响,其中一个因素是clock jitter,关于clock jitter,PERIOD约束中有一个INPUT JITTER的关键字告诉综合工具输入时钟的jitter。譬如

不同情况下,Clock Uncertainty 的计算方式是不一样的,譬如DCM时钟下

Clock Uncertainty = [√(INPUT_JITTER2 + SYSTEM_JITTER2) +  DCM_Discrete_Jitter]/2 + DCM_Phase_Error

SYSTEM JITTER定义了整个系统的jitter,受到了电源噪声、板级噪声和系统任何外部jitter的影响。对于clock uncertainty和clock jitter来说,好像并没有什么太值得注意的地方。

3.Period 分析

Clock Domains

clock domain 的具体定义是什么我并不是特别清楚,我是这样考虑的。对于同步时序电路来说,不可避免的有时钟的存在,比较简单的就是所有的触发器都采用了一个时钟。那么可以认为整个设计中的路径都处于这个时钟的覆盖下,如下图,这两个触发器之间的路径是受到这一个时钟的时钟周期约束的。这种情况称为single clock domain。

但是对于大多数设计来说,情况并不是这样的,譬如DCM可以分出不同相位的时钟。如下图,此时两个触发器的时钟不是一样的,而这两个触发器之间的数据路径连接了这两个时钟。什么是时钟域?域即是区域,时钟的区域,在我看来就是时钟覆盖的范围。下图中触发器之间的路径,一端属于clk20,一端属于clk20_90g,横跨了两个时钟域。注意这两个时钟是一个DCM产生的,时钟相关,因此XST能够对其进行分析。本节内容不谈跨时钟域的问题。

时序报告举例

Slack (setup path): 13.292ns (requirement - (data path - clock path skew + uncertainty))

Source: IntC_2 (FF)

Destination: XorB_2 (FF)

Requirement: 15.000ns

Data Path Delay: 2.594ns (Levels of Logic = 1)

Clock Path Skew: -0.086ns

Source Clock: clk0 falling at 10.000ns

Destination Clock: clk90 rising at 25.000ns

Clock Uncertainty: 0.200ns

以上图为例,计算slack。Requirement取决于两个触发器时钟的相对相位关系。注意到第一个触发器在下降沿采样,第二个触发器相移为90,时钟周期为20ns。结合前文的setup和OFFSET提及的相关概念。这是很好理解的。和OFFSET约束不同的是,OFFSET主要是受到外部信号的相对关系影响,Period则基本取决于设计。通过分析可知,限制最小时钟周期的影响因素在于data path。data path包括了布线延时和逻辑延时。了解到这一点,对之后代码编写是由帮助的。譬如,不能有太复杂的逻辑。(这是因为FPGA的LUT结构输入有限,以4输入为例,逻辑复杂需要LUT级联,那么自然会影响到逻辑延时)

时间: 2025-01-09 02:46:23

Clock Skew , Clock uncertainly 和 Period的相关文章

Ceph 时钟偏移问题 clock skew detected 解决方案--- 部署内网NTP服务

告警:HEALTH_WARN clock skew detected on mon.ip-10-25-195-6; 8 requests are blocked > 32 sec; Monitor clock skew detected 原因: MON可能被MON节点之间的重要的时钟偏移激烈的影响.这经常会转变为没有明显原因的诡异的行为.为了避免这种问题,你应该在MON节点上运行一个时间同步的工具. 默认最大容忍的时钟偏移为0.05s,不建议修改这个官方开发推荐值.私自未经测试修改虽然无数据丢失

ceph集群报 Monitor clock skew detected 错误问题排查,解决

ceph集群报 Monitor clock skew detected 错误问题排查,解决           告警信息如下: [[email protected] ceph]# ceph -w    cluster ddc1b10b-6d1a-4ef9-8a01-d561512f3c1d     health HEALTH_WARN            clock skew detected on mon.ceph-100-81, mon.ceph-100-82            Mon

clock skew detected.

今天在VMWARE里安装了一个Linux 操作系统,重新启动后,出现如下的警告提示: starting sendmail: make: warning: file 'sendmil.cf' has modification time 2.3e+04 in the future clock skew detected. Your build may be incomplete 这个错误的原因是:因为你重新编译了sendmail.cf文件,生成的sendmail.cf文件时间和/etc/mail/*

Linux GCC编译警告:Clock skew detected. 错误解决办法

今天在虚拟机上用GCC编译一个程序的时候,出现了下面的错误: make: warning: Clock skew detected. Your build may be incomplete 试了make clean后再make,仍然是同样的问题,最后发现这个错误的原因在于系统时间比文件修改时间早,看了下我的系统时间竟然还是2012-01-13,而今天都已经是2012-01-31呢,于是修改时间后重新编译,问题解决. Linux下用date命令可查询和修改系统时间(root权限才可修改) 1 d

关于warning: Clock skew detected. Your build may be incomplete. 的解决方法

今天发现电脑的系统时间不正确,因此将时钟进行了修改,回头编译Linux kernel的时候,提示如下的warning: warning:  Clock skew detected.  Your build may be incomplete. 第一感觉就是系统时间造成的,于是查找了一些资料,这个错误是由于系统时间比文件修改时间早造成的.通俗点说就是,现在是下午三点,而你的文件的时间戳却是下午六点的,很显然,这个是不太可能的事情,除非你能穿越. 通过如下命令解决: find . -type f |

make: warning: Clock skew detected. Your build may be incomplete的解决方案

这个错误的发生是由于make 命令发现这个文件的修改日期竟然是2015年的9月1号,而现在才刚刚是2013年的8月, 解决方案:修改系统的时间,或者直接打开出现错误时间的文件,打开保存,就可以了. 说明如下: 本系统是SUSE,如果是其他linux系统请查看其他文档 date -s 2013/7/9 命令可以修改系统日期date -s 16:10:59 命令可以修改系统时间

解决warning: Clock skew detected. Your build may be incomplete

原因:机器系统时间与文件时间不一致 解决:更新所有文件的时间后重新编译 find . -type f | xargs -n 5 touch make clean make xargs  -n num 后面加次数,表示命令在执行的时候一次用的argument的个数,默认是用所有的. touch 无选项,会同时更新文件的修改时间和访问时间 补充: find . -exec touch {} \; find命令把匹配到的文件传递给xargs命令,而xargs命令每次只获取一部分文件而不是全部,不像-e

对Verilog 初学者比较有用的整理(转自它处)

对Verilog 初学者比较有用的整理(转自它处) ******************************************************************************************************************** *作者: Ian11122840    时间: 2010-9-27 09:04                                                                   

P &R 12

Floorplan包含: IO floorplan: 涉及板级设计.封装设计的交互,接口协议(timing相关),对一些高速接口需要做特殊考虑(如信号完整性等). Power plan:芯片的电源和低功耗设计方案.功耗及IR仿真. Block floorplan:涉及设计结构,总线结构,时钟结构,数据流和timing. Pin assignment:涉及data flow,timing,工艺. Floorplan的问题主要有: Large displacement相关的模块被摆放过远或逻辑det