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進行優化

 

 

 

1、結構圖(鎖存器,與門,D觸發器)

latch或reg:用於同步使能信號,防止出現亞穩態和毛刺。

與門:使能信號無效時,關斷模塊輸入時鍾。

D觸發器:簡化的reg。

2、為什么需要clk gate?

模塊不工作時,clk翻轉浪費功耗。模塊/reg相當於一個DFF,但是en為高時,模塊才工作,clk才有效。不工作時,clk翻轉浪費功耗。

3、如何clk gate?

將一直翻轉的時鍾變為en有效才翻轉的時鍾,即將CLK轉化為CLK_G。

4、基於與門的clk gate(會有右圖所示問題)

5、避免毛刺glicth的clk gate

en信號的source reg用下降沿觸發,en信號從產生到與門之前有半個時鍾周期,可以穩定毛刺。

 *5、ICG

作用:采用使能信號EN控制數據是否有效,使能消耗無效時保持輸出。

參考文獻:深入淺出ClockGating - 操作 (基於基本CELL的clock gating形式)

時序分析基本概念介紹--clockgate_簡單同學-CSDN博客_clock gate

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM