转自:http://wenku.baidu.com/link?url=HoJw3o4fDNcScpm80mQeqSnX3zNaQ9COJFIRJ7t6RJUXDpXquyGS9cIUyqUyHyqcO3dBHN8iIiQ3EsMQWKoKrGJcYf1RjfG_KzuE_gmMxZm
Clock jitter & clock skew
Clock skew 和Clock jitter 是影响时钟信号稳定性的主要因素。很多书里都从不同角度里对它们进行了解释。其中“透视”一书给出的解释最为本质:
Clock Skew: The spatial variation in arrival time of a clock transition on an integrated circuit;
Clock jitter: The temporal vatiation of the clock period at a given point on the chip; 简言之,skew通常是时钟相位上的不确定,而jitter是指时钟频率上的不确定(uncertainty)。造成skew和jitter
的原因很多。由于时钟源到达不同寄存器所经历路径的驱动和负载的不同,时钟边沿的位置有所差异,因此就带来了
skew。而由于晶振本身稳定性,电源以及温度变化等原因造成了时钟频率的变化,就是jitter。
skew和jitter对电路的影响可以用一个简单的时间模型来解释。假设下图中t(c-q)代表寄存器的最大输出延迟,
t(c-q, cd)表示寄存器的最小输出延时;t(su)和t(hold)分别代表寄存器的setup, hold time(暂不考虑p.v.t)差异;t(logic)
和t(logic, cd)分别表示最大的组合逻辑传输延迟和最小组合逻辑传输延迟;
在不考虑skew和jitter的情况下,及t(clk1)和t(clk2)同频同相时,时钟周期T和t(hold)需要满足
T > t(c-q) + t(logic) + t(su)
t(hold) < t(c-q, cd) + t(logic, cd)
这样才能保证电路的功能正常,且避免竞争的发生。如果考虑CLK2比CLK1晚t1的相位,及skew=t1。
则 t(hold) < t(c-q, cd) + t(logic, cd) - t1
这意味着电路由更大的倾向发生hold time violation;如果考虑CLK1比CLK2晚t2的相位,及skew=-t2,
则 T > t(c-q) + t(logic) + t(su) + t2
这意味着电路的性能下降了,但由于R2的hold time始终满足,所以不会有竞争的麻烦存在。clock jitter
始终是对性能造成负面的影响,一般设计中都需要专门留取10%左右的margin来保证。 如何减小skew是后端布设clock tree的主要考量。