淺談芯片低功耗設計
在智能表計、個人可穿戴設備、家庭醫療、智慧家居、遠程測控、無線傳感等許多依靠電池供電的移動設備中,設備續航時間是一個非常重要的性能指標,這對芯片低功耗設計提出了很大的挑戰。這里,結合多年的低功耗芯片設計經驗,把一些理念和方法,分享給大家。
大家都知道芯片功耗的主要來源包括兩方面,一方面是動態功耗,另一方面是靜態功耗。
·動態功耗
先來看一下動態功耗,動態功耗主要包括開關功耗和短路功耗兩種。
開關功耗
開關功耗是指邏輯電路在工作時給負載電容充放電所產生的功耗,計算公式為:
P=C·V2·f
其中,
C為邏輯電路負載電容,V為邏輯電路工作電壓,f為邏輯電路工作頻率。
由此可知,動態功耗和負載電容、工作電壓的平方以及工作頻率成正比,換言之,可以通過,改變負載電容、工作電壓、以及工作頻率來改變動態功耗。
短路功耗
短路功耗是指邏輯電路在翻轉過程中造成的瞬態短路所產生的功耗,計算公式為:
P= t·V·I·f
其中,
t為邏輯電路短路時間,V為邏輯電路工作電壓,I為邏輯電路短路工作電流,f為邏輯電路工作頻率。
由此可知,短路功耗和短路時間、工作電壓、短路電流以及工作頻率成正比。
·靜態功耗
再來看一下靜態功耗,靜態功耗是指由于邏輯電路中漏電電流所產生的功耗,
漏電電流計算公式為:
這里Vth、 Cox、W/L都和芯片生產有關,不可以調整, Vt指的是閾值電壓??梢钥吹?,閾值電壓越高漏電電流就越低,但是由于閾值電壓高,對應的信號翻轉速度就會變慢,導致邏輯電路工作頻率低,因此要做好邏輯電路工作頻率和漏電電流平衡。由于靜態功耗是邏輯電路沒有信號跳變時電路的功耗,所以它與動態功耗的本質不同是,它和頻率無關,所以降頻對靜態功耗沒有任何影響。同時漏電電流與溫度成指數關系,當溫度越高時,溫度的影響越大。某些工藝下,90度升至100度變化時,漏電電流可成十倍以上關系,漏電電流暴增,導致溫度進一步升高,形成惡性循環,甚至導致芯片功能失效或燒毀。另外,隨著芯片工藝制程越來越先進,靜態功耗在整個芯片功耗的占比越來越大。
根據上面分析的芯片功耗來源,我們目前設計領域里降低芯片功耗的技術手段主要有:
01降低邏輯電路工作電壓<<<<
從上面功耗分析知道,降低邏輯電路工作電壓可有效降低芯片功耗。在芯片內部設計LDO電路,為邏輯電路提供穩定的較低的工作電壓,比如芯片供電3.0V,但是LDO輸出到邏輯電路的工作電壓為1.08V。
02可關斷電源<<<<
電壓降低了,功耗確實可以減小,但是如果將不用的邏輯電路電源關閉,那將會使功耗降到最低,所以,在實際的實現中,可使用可關斷電源的方式,來關斷某個區域或者某個層級的邏輯電路,從而來降低整體功耗。電源關閉后,邏輯電路的動態功耗和靜態功耗都最低。
03工作頻率調整<<<<
從上面功耗分析知道,降低邏輯電路工作頻率可以有效降低邏輯電路的動態功耗。因此邏輯電路可以分多種工作模式,正常工作模式、低功耗工作模式、STOP工作模式。正常工作模式,邏輯電路用高頻時鐘工作,且根據性能要求,可以對高頻時鐘進行預分頻。低功耗工作模式,邏輯電路用低頻時鐘工作。STOP工作模式,邏輯電路高低頻時鐘都停止工作。
04clock gating<<<<
外設電路的工作時鐘加控制邏輯,當外設電路啟動時,開啟外設的輸入時鐘,否則,關斷外設的輸入時鐘以便節省外設的動態功耗。
綜合工具也會自動插入clock gating,把原有的data上的通用邏輯加以整合,掛到了clock gating的EN控制端。
05data gating<<<<
在開啟的外設中,暫時沒有使用的邏輯電路輸入盡量不翻轉。比如未啟動加法器時,加法器的輸入固定為0或者1,以便節省外設的動態功耗。
06綜合時盡量選擇高Vt標準單元庫<<<<
從漏電電流計算公式可以看到, Vt越高漏電電流越小,從而導致靜態功耗越小。比如芯片生產工廠的高密度標準單元庫提供了HVT、SVT和LVT三種標準單元庫,綜合過程中,應該優先使用HVT的標準單元庫,如果邏輯單元不滿足工作頻率要求,再混合使用HVT和SVT標準單元庫。綜合時盡量不要使用LVT標準單元庫,LVT標準單元只是供后端修timing時少量使用。
07減少fanout 和transition<<<<
減少fanout 和transition可以使邏輯電路上升時間和下降時間盡量短,從而使邏輯電路短路時間盡量小從而有效降低邏輯電路短路功耗。在綜合時可以設置最大fanout 和最大transition的綜合約束。
功耗會影響芯片電路性能、散熱和可靠性等問題,目前已成為芯片設計中非常重要的因素。隨著芯片制造工藝、系統集成和軟件開發的不斷完善,芯片低功耗設計也會不斷發展進步。