本文主要是介绍时序分析基本概念介绍clock gate,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
今天我们要介绍的时序分析概念是clock gate。 clock gate cell是用data signal控制clock信号的cell,它被频繁地用在多周期的时钟path,可以节省功耗。如下图所示:
我们经常说的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的约束。
常见的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进行优化
简历请戳邮箱:taozhang3260@163.com
这篇关于时序分析基本概念介绍clock gate的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!