本公眾號【讀芯樹:duxinshu_PD】主要介紹數(shù)字集成電路物理設(shè)計相關(guān)知識,才疏學(xué)淺,如有錯誤,歡迎指正交流學(xué)習(xí)。 這是集成電路物理設(shè)計的第四個系列【Power】的第十一篇文章,本篇文章主要介紹Power Optimization Clock Gating相關(guān)內(nèi)容: 什么是Clock Gating? clock network消耗的功耗占總功耗的很大比例,而時鐘信號的無效翻轉(zhuǎn)會造成多余功耗的損失,因此可以在時鐘不需要翻轉(zhuǎn)時使用Clock Gating電路'關(guān)閉'時鐘信號翻轉(zhuǎn),節(jié)省功耗。 Clock Gating思路:將寄存器輸入信號D和保持信號Q的選擇控制信號EN變換為用來控制時鐘信號,在EN有效,控制時鐘信號不翻轉(zhuǎn),降低電路翻轉(zhuǎn)概率。


Clock Gating的優(yōu)點和Metric定義
節(jié)省功耗:clock network上toggle減小可以顯著降低 dynamic power,同時register的clk pin的toggle可以降低register的internal power。 節(jié)省面積:使用ICG cell可以節(jié)省Mux cell (注意:共用的ICG越多,節(jié)省面積越多,否則,可能不會節(jié)省面積)。 容易實現(xiàn):不需要修改RTL代碼,可以通過EDA工具自動插入clock gating。 Clock Gating Efficienccy: 有多少時鐘周期在通過Clock Gating之后被suppressed。Clock Gating Efficiency = 1 - (TRout/TRin)




Clock Gating的種類









XOR Self Gating
XOR Self Gating是一種新的clock gating方法,當(dāng)寄存器的輸入信號D與前一時刻的輸出信號Q相同時,可以將clock信號gating住,減少無效翻轉(zhuǎn)。 XOR Self Gating優(yōu)點: 可以gating任何register,不需要預(yù)存在的一些logic cell限制。同時還可以對已有clock gating結(jié)構(gòu)進(jìn)行優(yōu)化,得到更好的gating效率。


Combinational & Sequential Clock Gating

 remove_clock_gates: 當(dāng)CG對power沒有優(yōu)化時,或者有多個CG但EN信號可以合并時,可以刪除多余的clock gates。



為何Clock Gating容易出現(xiàn)setup violation?
在CTS階段,clock tree的skew會盡量要求小一點,即下圖中到FF1的clock latency (T1)與到FF2的clock latency (T3+T4)盡量接近。 在分析ICG的setup timing時,需要滿足T1+Tck2q+T2 < T3+Tcycle,而T1>T3,所以ICG的setup不容易滿足。 由分析可以,由于T1>T3造成setup不容易滿足,T1-T3=~T4,所以減小T4有利于滿足setup,即將ICG Cell盡量擺放在靠近DFF sink的位置。 同時分析公式可知,減小T2的延時也有利于setup的滿足。

參考文獻(xiàn) 1,F(xiàn)usion Compiler/ IC Compiler 2 user guide
|