时钟树性能的研究及改进方法

时间:2022-08-29 05:41:59

时钟树性能的研究及改进方法

摘要:分析了时钟树的性能要素:时钟树长度、时钟树偏差和时钟信号占空比,分析了改进时钟树性能的多个策略:合理的floorplan、合理的时钟创建源点、避免宏模块时钟端对时钟树平衡的不利影响、正确处理分离时钟门控、使用clock inverter改善时钟信号占空比。

关键词:时钟树;时钟树长度;时钟树平衡;占空比

中图分类号: TP302文献标识码:A文章编号:1009-3044(2011)16-3950-02

Research and Methodologies of Improving Quality of Clock Tree

KE Lie-jin, WU Xiu-long, XU Tai-long

(School of Electronics and Information Engineering, Anhui University, Hefei 230601, China)

Abstract: The elements of clock tree performance: clock tree insertion delay, clock skew and clock signal duty cycle are analyzed. The strategy of improving quality of clock tree are analyzed, the strategy includes reasonable floorplan, reasonable clock source, to avoid macro clock pin bring adverse to clock tree balance, handling the discrete clock gating correctly, improving clock signal duty cycle based on clock inverter.

Key words: clock tree; clock tree insertion delay; clock tree balance; duty cycle

在数字集成电路设计中,时钟作为信号的基准,对电路系统的功能和性能起关键性的作用,时钟信号的载体是时钟树,时钟树是一个电路网络,通过时钟树网络,时钟信号被从时钟源分级传输到时序器件的时钟接受端。

同步数字集成电路的性能很大程度决定于时钟网络的设计,首先时钟信号决定数据传输节拍和系统工作频率。其次,时钟网络是芯片中翻转频率最高的电路之一,时钟网络对布局、布线、功耗资源占有率很大。再次,时钟网络的规模造成时钟信号翻转时会吸取大的电流,并且时钟信号转换时间很小,容易造成电源网络上的噪声,因此构建一个好的时钟网络对于一颗芯片而言是非常重要的。

随着数字集成电路规模的不断增大,系统频率的要求越来越高,时钟网络的结构越来越复杂,如何构建时钟树,以及如何提高时钟树的性能成为越来越重要的问题。

本文讨论了时钟树的常用性能指标:时钟树长度、时钟树的偏差和时钟信号占空比,分析了时钟树的构建对时序、功耗的影响。

1 缩短时钟树长度的好处及相应策略

1.1 缩短时钟树长度的好处

时钟树从时钟源开始,通过buffer或inverter逐级向时钟终点扇出,构建时钟树。一条时钟树分支上面的cell delay 和 net delay之和构成了这个分支的长度,除了某些设计的特殊性要求最小的时钟树长度外,时钟树的长度越短越好,时钟树上的cell本身会消耗功耗,占据面积,所以短的时钟树有利于降低功耗,降低面积。这对于现代手持设备而言,意义巨大。

在90nm及更高级的工艺中,时序分析需要考虑OCV(On Chip Variation),OCV的情况下的setup计算方法是:launch path采用max_delay , capture path采用min_delay,也就是说,tree的长度越长,因OCV造成的launch的tree的延时与capture的tree的延时二者之差越大。这样时序就越难满足。

1.2 缩短时钟树长度的策略

在数字后端设计中,floorplan阶段的布局会对之后的时钟树长度造成很大影响,所以一个好的floorpaln会非常有利于后面的CTS(clock tree synthesis)。

在floorplan阶段会有一定数量的macro要摆放,在摆放这些macro时要避免产生狭窄的通道,因为当这些狭窄的通道内被放入寄存器后,连接这些寄存器的tree就会做得比较长,而时钟树引擎会尽量平衡时钟树的所有分支,这样其它分支就会被这些长的分支拉长了,造成了功耗和面积的浪费,时序的不容易满足。

2 时钟树平衡

2.1 时钟源的设置对时钟树平衡的影响

如果时钟源离core里面的逻辑比较远,该时钟驱动的寄存器一部分在时钟源附近,另一部分远离时钟源,那么这个时钟树就不容易balance, 例如时钟来源于一个IO。可以改变时钟的创建位置,如图1所示,在IO 面向core的输出pin后面插两级时钟buffer,把buffer_2 放置于靠近core的位置,在buffer_2的输出端Y创建时钟,使该时钟所驱动的寄存器相对于时钟源分布得更均匀,这样有利于时钟树的平衡。

如果芯片的时钟信号来源于芯片的IO,那么这个IO的特性将会影响到其后面的时钟树性能。这个IO的信号上升斜率和下降斜率可能不一致,而这种不一致会通过时钟网络逐级传输下去,时钟树综合引擎会平衡上升传播延时和下降传播延时,这样为了达到平衡,一些多余的buffer或inverter就被去了,因此,时钟树就被拉长了。

解决这个问题,可以选用信号上升斜率和下降斜率一致的IO,也可以把时钟源的创建位置从IO的面向bond的pin移到面向core的pin上。

2.2宏模块的时钟端对时钟树balance的影响

某些macro的lib 库会定义一个内部的clock tree,因此造成时钟树在此处不平衡,而此处的不平衡又造成了这个小区域和整个时钟域之间的不平衡。可以在这些macro的时钟端设一个float pin,这样工具就会考虑到这个float pin值,时钟树偏差就会做得比较小。

对于某些IP,其时钟端输入电容比较大,CTS engine为了满足此处的transition和capacitance的约束,就会在此处插入一些buffer或inverter,这样时钟树就被这些buffer或inverter拉长了。可以在这些IP的时钟输入端附近插入一个合适驱动能力的buffer,并使其位置固定。再在这个buffer的输入端定义一个float pin,这样就可以避免大的输入电容的时钟端对时钟树性能的影响。

2.3 分离门控对时钟树balance 的影响

门控时钟可以降低功耗和面积,但是分离门控时钟会对时钟树平衡产生不利影响。如图2所示。

CTS engine 会把clk -->GN-->Q-->A-->Y和clk-->B-->Y都当作时钟路径,而CTS engine计算最短延时时计算通过clk-->B-->Y的路径,计算最长延时时计算通过clk -->GN-->Q-->A-->Y的路径,时钟树因此造成了比较大的偏斜。而实际的时钟传输路径只有通过clk-->B-->Y的,所以可以在A端设一个exclude pin,另外一种解决方法是在CTS之前断掉与门A-->Y的timing arc,CTS之后再恢复这个地方的timing arc。

2.4 clock inverter 和clock buffer对时钟信号占空比的影响

从时钟树构成元素角度来分,时钟树有三种方式,clock buffer构成的时钟树、clock inverter构成的时钟树、clock buffer和clock inverter混合构成的时钟树。clock buffer 由前一级小宽长比的inverter和后一级大宽长比的inverter构成,前一级提供小的输入电容,后一级提供大的驱动能力。

对于时钟占空比要求高的设计,采用只有inverter构成的时钟树会有更好的效果。由于PMOS和NMOS的充放电速度不一样,一个上升沿的信号和一个下降沿的信号经过一个clock buffer的延时是不一样的,即使时钟源发送出0.5占空比的时钟信号,在时钟信号的传输过程中,占空比也会偏离0.5。

而对于由inverter构成的时钟网络,如图3所示,第n级inverter 和第n级net造成的上升沿时钟信号和下降沿时钟信号的传播延时不一致将在第n+1级inverter和第n+1级net处得到补偿,而clock buffer内部的两个inverter已经相对固定,无法形成inverter和net构成的自动补偿机制。

3 结束语

本文关注于如何提高时钟树性能,具体介绍了如何缩短时钟树长度、减小时钟树偏斜、优化时钟信号占空比。对于影响时钟树性能的因素:floorplan、时钟源的位置、时钟IO的信号上升下降斜率、宏模块时钟端的电容、门控时钟的处理、clock inverter的使用都分析了相应的策略。

参考文献:

[1] 陈春章,艾霞,王国雄.数字集成电路物理设计[M].北京:科学出版社,2008.

[2] R.Chaturvedi,Hu J.Buffered clock tree for high quality IC design[M].Proc.ISQED,2004:381-386.

[3] 汪B.基于Garfield5设计中时钟树综合技术研究[D].南京:东南大学,2006.

[4] Leo Zeng,Martin Ma,Kimi Jin.Minimizing Clock Latency with IC Compiler[M].SNUG,2010.

注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文

上一篇:一种基于FPGA的红外图像预处理算法的实现 下一篇:独立学院公共计算机基础课程教学改革探索