我是靠谱客的博主 重要鸡,最近开发中收集的这篇文章主要介绍静态时序分析—时钟延时(Clock Latency),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

clock latency分为两类:source latency和network latency,其中network latency指的是时钟定义点(create_clock)到flip flops的clock pin的延迟,而source latency(也叫insertion delay)是从时钟源头到时钟定义点的延迟,source latency可以是片上(on-chip)延迟,也可以是片外(off_chip)延迟,如下图。flip flops的clock pin上总的clock latency就是source latency与network latency的和。

d50701f10e6644df8789f0c3c5ad7b10.jpg

source latency与network latency一个很重要的区别在于,一但经过了时钟树综合(CTS)构建了真实的时钟树,使用set_clock_latency定义network latency就是可以忽略的了,但是即便经过了时钟树综合,source latency也是依然存在的,此时,clock latency就等于source latency加从时钟定义点到flip flops clock pin的真实延迟。

示例:

#在CTS前指定network latency

set_clock_latency 0.8 [get_clocks CLK_CONFIG]

#指定source latency

set_clock_latency 0.8 -source [get_clocks CLK_CFG]

对于generate clock而言,source latency指的是它的master clock时钟定义点到generate clock时钟定义点的延迟,一个flip flops的clock pin上总的clock latency等于master clock的source latency加generate clock的source latency加generate clock的network latency,如下图。

e40837e4af784471b6a47e17efb23247.jpg

 一个generate clock可以把另一个generate clock当做它的源时钟,也就是说,存在有generate clock的generate clock,但是,一个generate clock只能走一个master clock。

如下图是一个典型的generate clock使用场景。

c70f8d848c3149fb99b68857c209d417.jpg

晶振(oscillator)位于片外,生成一个低频时钟,该时钟被芯片上PLL当做参考时钟生成了一个高频时钟,这个PLL时钟输入到一个时钟分频电路中,产生我们需要么时钟。

上图中能够看到一些时钟的分支上存在时钟门控(clock gate),它被用来关闭设计中不活跃部分的时钟分支,可以在需要时节省功耗。PLL也在输出端连接了一个多路选择器,以便在需要时跳过PLL。

在参考时钟进入芯片的输入引脚,为参考时钟定义了一个master clock,第二个master clock定义在PLL的输出端,这两个clock没有相位关系,所以第二个时钟不是第一个时钟的generate clock,而多数情况下,所有分频电路产生的generate clock的master clock都是PLL输出的时钟。

最后

以上就是重要鸡为你收集整理的静态时序分析—时钟延时(Clock Latency)的全部内容,希望文章能够帮你解决静态时序分析—时钟延时(Clock Latency)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(36)

评论列表共有 0 条评论

立即
投稿
返回
顶部