LPMM閱讀筆記(2)
《Low Power Methodology Manual For System-on-Chip Design》讀書筆記
2 標準低功耗方法
這一章節主要介紹了4種低功耗技術,分別是clock gating, Gate Level Power Optimization, Multi-VDD和Multi-VT;下面分別對這幾種方法進行介紹;
2.1 Clock Gating(時鐘門控)
芯片的動態功耗主要來自時鐘網絡,超過50%甚至更多的動態功耗都被消耗在時鐘樹buf上,因為這些時鐘的buf在系統中具有較高的翻轉率,且驅動能力強;另外,當時鐘在翻轉時,即使觸發器的輸入/輸出端保持不變,觸發器也會消耗部分動態功耗。降低這種功耗最常見的方法是在不需要時鐘的時候將其關掉,稱這樣的方法為時鐘門控。
現在的設計工具都支持自動插入時鐘門控而不會影響邏輯,其基本原理如下圖 1所示:
圖 1 時鐘門控
上面的方法對於單bit的信號而言,可能體現不出多大的優勢,但是對於多bit的信號而言,一個clock gating cell可以gate掉相應bit數的寄存器的時鐘,插入時鐘門控除了可以極大的降低電路的動態功耗外,還可以顯著減小面積,因為一組寄存器的EN MUX被一個clock gate cell代替,同時,clock gate cell引入的delay會減少時鐘樹上的delay cell數量,書上舉例說在作者參與的一個項目中插入clock gate後面積減少了20%,功耗降低了34%~43%;書中建議只對3bis及以上位寬的信號插入clock gate。
2.2 Gate Level Power Optimization(門極功耗優化)
與clock gate一樣,門極功耗優化是由工具自動完成的,對於前端設計人員來說,不用關心細節,該方法的思想是將翻轉率較高的信號在其傳播路徑的早期與翻轉率較低的信號進行邏輯運算,以縮短較高翻轉率信號的傳播路徑;將翻轉率較高的信號接到邏輯門輸入電容較低的端口;cell大小調整及buf插入等,示例如下:
圖 2 門極功耗優化
圖 2中上半部分電路中,與門輸出的信號翻轉率較高,由於後面跟一個或非門,所以將原電路進行重映射為一個與或門加一個反相器,使翻轉率較高的網絡成為器件的內部節點,映射後的電路中與門的輸出電容更小,所以功耗更低。圖7中下半部分電路中,通過優化,將高翻轉率的信號接在邏輯門輸入電容較低的端口,將翻轉率較低的信號接在輸入電容較高的端口。
這裏書中提到的思想我可以理解並接受,但是我有個疑問:Gate Level Power Optimization是由工具自動完成的,那麽對於“將翻轉率較高的信號接到邏輯門輸入電容較低的端口”這樣的操作,工具是如何知道哪個輸入端口的翻轉率更高的?
2.3 Multi VDD(多電壓域)
多電壓域的基本思想就是在芯片中,根據不同模塊的性能要求不同而采用不同的電源供電。如圖 3所示的例子中,因為Cache RAM處於關鍵時序路徑上,其頻率較高,所以它以系統中的最高電壓1.2V運行;CPU的的速度雖然會很大程度上的影響系統的性能,但cpu需要Cache RAM的速度來保證,所以CPU工作在比Cache RAM低的1.0V電壓下,而SoC中各模塊的頻率較低,所以采用更低的電壓供電。
圖 3 多電源域系統
多電壓域設計可以有效的降低系統的功耗,同時也能保證各模塊的性能能達到最佳,但多電壓域方案對設計的流程影響較大,不僅需要對電源域間的交互信號做單獨的處理(增加電壓轉換器),還需要增加IO引腳來提供不同電壓的電源。下一章會對多電源域設計有詳細的介紹。
2.4 Multi-Threshold Logic(使用多閾值電壓的庫來實現)
隨著工藝制程越來越小,工作電壓越來越低,降低Vt呈趨勢,圖 4所示是在90nm工藝下不同庫的漏電流與延遲,從圖中可以看出降低Vt可以提高電路的工作速度,但會使漏電流變大。基於此,可以在設計中對於性能要求高的電路,采用低 Vt的管子;對於性能要求不高的電路采用高Vt的管子。
圖 4 90nm工藝下不同庫的漏電流與延遲
在使用不同閾值電壓的庫優化功耗前必須滿足最低的性能要求,在工程中,可以先使用低Vt的庫進行實現,然後再使用高Vt的庫進行功耗優化,將非關鍵路徑中的cell替換掉,以實現滿足性能的同時,降低系統的功耗;若想要優先滿足功耗,則可以先使用高Vt的庫進行實現,然後再用低Vt的庫進行時序優化。
============正文結束===========
掃描下面的二維碼,閱讀其他章節。
LPMM閱讀筆記(2)