时序分析基本概念介绍<generate clock>

本文介绍了时序分析中的关键概念——generated clock,它来源于master clock并由create_generated_clock命令定义。generated clock在时钟路径起点保持在master clock,不产生新时钟域,有助于工具平衡所有clock sinks。

640?wx_fmt=gif

今天我们要介绍的时序分析概念是generate clock。中文名为生成时钟。generate clock定义在sdc中,是一个重要的时钟概念。

它从master clock中取得的时钟定义。master clock就是指create_clock命令指定的时钟产生点,如图所示:

640?wx_fmt=jpeg

我们可以用如下命令来描述generated clocks:

#定义master clock

create_clock -name CLKP -period 10 \

-waveform {0 5} [get_pins UPLL0/CLKOUT]

#在Q点定义generated clock

create_generated_clock -name CLKPDIV2 \

 -source UPLL0/CLKOUT  -add \

-master_clock CLKP  -divide_by 2 [get_pins UFF0/Q] 

一般我们把时钟的源头会定义成create_clock,而分频时钟则会定义为create_generated_clock. 两者的主要区别在于CTS步骤,generated clock并不会产生新的clock domain, 而且定义generated clock后,clock path的起点始终位于master clock, 这样source latency并不会重新的计算。

640?wx_fmt=jpeg

上图中描述,如果我们给PLLCLK出来的三个分频点定义为generate clock,则在trace clock tree时,工具会穿过这三个点,并不会产生新的clock,对工具来说,它会balance所有clock sink。这种情况下,clock tree通常会做得比较长一些。

相反,如果我们给这三个分频点定义为create_clock,则在trace clock tree时,这三个点会生成各自新的clock tree,属于他们自己的sink会分别做balance,但是相互之间会不做balance。而且它本身的input clock pin也会被当成PLLCLK的sink进行balance。


640?wx_fmt=jpeg

往期回顾

简历请戳邮箱:taozhang3260@163.com

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值