大多數(shù)低功耗設(shè)計(jì)手法在嚴(yán)格意義上說并不是由后端控制的,Clock Gating也不例外。在一顆芯片中,絕大多數(shù)的Clock Gating都是前端設(shè)計(jì)者或者EDA綜合工具自動(dòng)加上去的,后端只有在極端例外的情況下才會(huì)動(dòng)到它們。
盡管如此,Clock Gating的影響與后端息息相關(guān),甚至?xí)鸷蠖说囊恍﹩栴},因此我們有必要從頭理解一下它的原理。
芯片功耗從原理上區(qū)分主要有兩大類:靜態(tài)功耗(Static Power)和動(dòng)態(tài)功耗(Dynamic Power)。二者的形成原因如下:
所謂動(dòng)態(tài)功耗,主要是由于信號(hào)的翻轉(zhuǎn)從而導(dǎo)致器件內(nèi)部的寄生RC充放電引起的,而靜態(tài)功耗則是由器件在通電狀態(tài)下的泄漏電流(Leakage Current)引起的。對(duì)此,為了節(jié)約動(dòng)態(tài)功耗,最初有個(gè)十分簡單的想法:在芯片實(shí)際工作過程中,有些信號(hào)或者功能并不需要一直處于活動(dòng)狀態(tài),那么就可以在它們不用的時(shí)候?qū)⑵?a href="http://m.xsypw.cn/tags/時(shí)鐘/" target="_blank">時(shí)鐘信號(hào)關(guān)閉。這樣一來時(shí)鐘信號(hào)不再翻轉(zhuǎn),從而能夠有效減少動(dòng)態(tài)功耗,而控制時(shí)鐘信號(hào)開關(guān)的就是Clock Gating。
那么Clock Gating是如何被加入到design中的呢?它主要有兩種來源:設(shè)計(jì)者從RTL階段加入或者由綜合工具自動(dòng)加入。
下面的例子介紹了在RTL階段加入Clock Gating的方法:
可以看到在加入Clock Gating之后,DFF的clock信號(hào)前多了一個(gè)使能端EN,從而可以控制該時(shí)鐘信號(hào)的打開與關(guān)閉。
除此之外,在綜合階段,EDA工具同樣支持自動(dòng)插入Clock Gating。以Synopsys公司的Design Compiler工具為例,簡單的插入Clock Gating的方法如下:
Clock Gating在后端會(huì)引起一些問題,尤其在Setup Timing以及時(shí)鐘樹綜合階段,有時(shí)候會(huì)需要做一些特殊的處理。關(guān)于為何Clock Gating容易引起setup timing 的問題,請(qǐng)參考?xì)v史文章:
為了盡量避免ICG的setup timing,解決辦法之一是將ICG放在距離register(sink)盡量近的地方:
當(dāng)然,EDA工具也提供了一些優(yōu)化方法以便在早期發(fā)現(xiàn)和解決ICG的問題,這些技巧希望大家在實(shí)踐中多多嘗試和挖掘。
編輯根據(jù)作者在DC中做了一下實(shí)驗(yàn),帶ICG的DFF如下所示:
ICG的結(jié)構(gòu)如下所示:
需要注意的是,只有當(dāng)寄存器的位寬達(dá)到一定大小時(shí),DC才會(huì)自動(dòng)將其使能端綜合為ICG單元(經(jīng)過測試,3個(gè)及3個(gè)以上的位寬會(huì)綜合為ICG單元)。
事實(shí)上,由于ICG單元本身帶來了 面積占用 ,只有當(dāng)寄存器位寬達(dá)到一定的大小時(shí),使用ICG才能達(dá)到即降低面積又降低功耗的效果,這是在我們今后的使用中需要注意的地方。
-
寄存器
+關(guān)注
關(guān)注
31文章
5425瀏覽量
123529 -
EDA工具
+關(guān)注
關(guān)注
4文章
272瀏覽量
32641 -
RTL
+關(guān)注
關(guān)注
1文章
388瀏覽量
60733 -
低功耗設(shè)計(jì)
+關(guān)注
關(guān)注
0文章
83瀏覽量
16411 -
dff
+關(guān)注
關(guān)注
0文章
26瀏覽量
3601
發(fā)布評(píng)論請(qǐng)先 登錄
降低電路漏電功耗的低功耗設(shè)計(jì)方法

RTL實(shí)例化的clock gating cell淺見

clock-gating的綜合實(shí)現(xiàn)

淺析clock gating模塊電路結(jié)構(gòu)


#硬聲創(chuàng)作季 #STM32 手把手教你學(xué)STM32-044 待機(jī)喚醒實(shí)驗(yàn)-低功耗-M4-2
主要演示BL702/704/706系列mcu低功耗性能
一文搞懂BL開發(fā)板系列MCU低功耗性能
基于SCM算法為CPU電壓調(diào)節(jié)設(shè)計(jì)研究

什么是門控時(shí)鐘 門控時(shí)鐘降低功耗的原理

AND GATE的clock gating check簡析

ASIC的clock gating在FPGA里面實(shí)現(xiàn)是什么結(jié)果呢?

評(píng)論