时序分析基本概念介绍--clockgate

时间:2024-03-30 07:08:29

今天我们要介绍的时序分析概念是clock gate。 clock gate cell是用data signal控制clock信号的cell,它被频繁地用在多周期的时钟path,可以节省功耗。如下图所示:

时序分析基本概念介绍--clockgate

 

我们经常说的reg2clockgate path的setup和hold检查,就是指:clock gate上enable信号要比clock信号提前到达一段时间和保持一段时间。

 

通常,clock gate上的setup会比较难收敛,因为如下图对于clock gate的timing path,天然会穿在skew k;clock tree必然不balance。在实际设计中,我们一般会尽量将clock gate 单元放在寄存器附近以减小skew。也可以采用set_clock_gating_check,加大对clock gate timing的约束。

时序分析基本概念介绍--clockgate

 

常见的clock gating cell有ICG cell(integrated clock gating cell)和clock gating logical cell(and+low latch)。现在一般library库里都带有ICG cell了,clock gating logical cell已经不常用了

 

对于clock gating cell,synthesis前就会插入,本身和CTS没太大关系,

一般只要确保clock timing check打开的就行,就是如下global变量设成true

timing_enable_clock2clock_clockgating_check

 

另外,CTS工具会对其做clone,declone操作. 

 

ICG cell Clone:  受相同ICG cell控制的时序单元较多或者分布不均匀时,就会导致ICG cell连线过长,这时可以通过clone ICG cell进行优化

 

ICG cell De-Clone: 受相同ICG cell控制的时序单元较少,就会导致ICG cell数量过多,设计density增大。这时可以通过De-clone ICG cell进行优化