本公眾號【讀芯樹:duxinshu_PD】主要介紹數字集成電路物理設計相關知識,才疏學淺,如有錯誤,歡迎指正交流學習。 這是集成電路物理設計的第四個系列【Power】的第十一篇文章,本篇文章主要介紹Power Optimization Clock Gating相關內容: 什么是Clock Gating? 

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é)省面積)。 容易實現:不需要修改RTL代碼,可以通過EDA工具自動插入clock gating。 Clock Gating Efficienccy: 有多少時鐘周期在通過Clock Gating之后被suppressed。Clock Gating Efficiency = 1 - (TRout/TRin)




Clock Gating的種類









XOR Self Gating


Combinational & Sequential Clock Gating

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



為何Clock Gating容易出現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的滿足。

參考文獻 1,Fusion Compiler/ IC Compiler 2 user guide
|