转载自https://www.sohu.com/a/140706292_485357
时钟作为数字电路中最重要的信号,几乎每一个ASIC实现环节都需要针对时钟信号做很多特殊的处理,其主要原因在于时钟信号有着巨大的扇出。在电路网表里,可以看到一个时钟信号会从一个源头延伸出许许多多的支路到达一个个DFF(D触发器)的时钟输入端。这些时钟的分支就好像一颗树的分出的树枝一样,而那些DFF就好像一片片叶子。时钟树就是对这种时钟在电路中分支延展的一种形象而生动的比喻和说法。
上图就是最原始简单的时钟树示意图。很显然,从时钟源头到不同的DFF端,时钟所走的路径不一样,而走每条路径都是需要第一定时间的,路径不同必然需要的时间不同,这就导致时钟源到不同DFF时钟总输入端的延时差异,这个延时差异就被定义为Skew(延时偏差)。这个skew的存在会对DFF的时序造成影响,比较坏的情况可能会使得DFF的setup或hold时序要求无法满足。为了减少这种skew对时序的影响,在自动布局布线时,需要对时钟进行高扇出优化,这一步处理称之为时钟树综合(CTS)。经过时钟树综合后的电路布局一般呈现相对规整的时钟分叉,理想的时钟树分枝如下图: