在復雜的數字集成電路設計中,功耗收斂和電路功耗完整性變得日益重要。整個設計流程必須貫穿應用各種有功耗意識的工具以獲得最佳性能。 隨著通過電池供電的便攜式電子系統的應用范圍持續增長,推動了對某類數字集成電路(ICs)的需求,這類電路的特點是功耗消耗保持在盡可能低的水平。與此同時,設計師們必須在最小的封裝體積中,將更多的高頻功能封裝到芯片內。毫無疑問,越來越多的性能和單元數量將導致功耗的增加,使得功耗管理成為影響硅片成功的重要因素。 圖1 功率分布考慮包括總功耗、電壓降和電遷移效應 創建最理想的低功耗設計,無論是動態功耗還是靜態功耗,都涉及到了在設計流程不同階段時序、功耗和面積間復雜的折衷權衡問題。這些問題相互間聯系密切,所以低功耗分析和優化引擎必須可與整個RTL-to-GDSII流程相集成并可貫穿應用于這一流程中。 1 動態功耗(Dynamic Power) 動態功耗的降低雖然可通過調整電容、電壓和頻率來實現,但其中仍有些細微部分需多加考慮。 例如:同一門極電路中兩個晶體管同時被導通的總時長是晶體管輸入開關閾值和門極驅動輸入信號斜率的一個函數。這些晶體管尺寸必須要足夠大,這樣信號才能足夠迅速地進行轉換以便激活門極電路。 如果晶體管尺寸過大,通過最大程度縮短兩個晶體管同時打開的時間來實現功率節省的目標就無法達成,因為晶體管過大會導致電容的增加,門極電路為增加的電容充電會消耗額外的功率,這最終會導致噪聲、過沖、下沖以及串擾等信號完整性問題。 同樣地,如果這些晶體管尺寸過小,那么它們同時打開時間會更長、功耗更大,而且驅動不足的信號也容易受到噪聲和串擾耦和效應的影響,因此晶體管尺寸和開關時間必須加以優化,這樣才能將功耗降至最低。 降低動態功耗的另一種方法是降低系統時鐘的頻率,但這樣會導致器件性能的降低;或者還可以使用門控時鐘,使得僅僅那些這一時刻需要執行有效任務的器件被時鐘驅動。 當然,我們也可以通過應用適當的時延平衡來將局部數據活動(毛刺和冒險現象)減至最少。 此外,我們還可以通過架構的折衷權衡來降低功耗,即在設計流程的算法和架構階段進行功能并行與頻率和/或電壓之間的折衷權衡。例如:您可用兩個模塊副本來替換原來的一個邏輯模塊,兩個模塊各執行一半的任務,這樣兩個模塊都將擁有更低的運行頻率和電壓。如此一來就可在保持性能不變的同時降低實現該功能的總功耗,不過同時也會占用更多的硅片空間。 2 靜態功耗(Static Power) 靜態功耗源自于晶體管未激活時漏電流,與溫度和開關閾值成指數關系。為了解決這個問題,IC代工廠提供了具備多閾值電壓(Vt)器件的庫,其中開關較快的低閾值晶體管漏電流較高、功耗較大;而開關較慢的高閾值晶體管漏電流較低、功耗較小。 這其中需要進行復雜的平衡工作,因為降低供電電壓是可以減少發熱量,降低靜態功耗,但同時也會增加門時延;而降低晶體管的開關閾值則可以加快晶體管開關速度,但同時會導致漏電流和靜態功耗呈指數極增加。 3 電壓降效應(Voltage Drop Effects) 深亞微米(DSM)器件也屬于易受電壓降效應影響的器件,電壓降效應主要由外部引腳到內部電路的電源和地線網絡的電阻所引起。 由于每段電源和接地軌都有一小段電阻,因此反相器鏈中距離主電源和地線引腳最近的邏輯門,其供電電壓就最好(圖2中G1);相鄰的第2個門極(本例中G2)的供電電壓則相應稍差一些;依此類推,距離主電源和地線引腳越遠的門極其供電電壓就越差。 圖2 與同一電源和地軌相連的反相器鏈 當存在瞬態或AC(交流電)電壓降效應時,這一問題還將進一步惡化,當有大量寄存器元件同時開關,可能會在供電網產生嚴重的“毛刺”現象。要想分析并解決這些電壓降效應,電阻、電感、電容效應都是必須要考慮到的問題。 電壓降效應之所以如此重要,原因在于整個邏輯門的輸入到輸出時延會隨著供電電壓的降低而增加,最終可能導致該邏輯門不符合其時序規格。同時門極驅動不足時也會引起互連線時延的增加,供應電壓下降時門極的輸入開關閾值將會改變,由此會導致門極電路變得更容易受到噪聲的影響。 隨著軌道寬度的降低,電壓降效應將隨著電源和地軌電阻系數的增加而變得更為嚴重。雖然可以通過增加電源和接地軌寬度來將電壓降效應降至最低,但是這同時也會占用到寶貴的硅片空間,最終導致布線擁塞問題。而要解決這些問題就必須盡可能大地拉開所有邏輯單元間的間距,但這樣卻又會由于信號連線長度的增加而導致時延(和功耗)的增加。 在芯片總功耗中,時鐘樹網絡的功耗占據了很大一部分。將功耗作為一個成本函數來考慮,控制時鐘樹功耗越來越重要,特別是在較小型幾何拓撲環境中更是如此。目前已有各種不同技術可被廣泛應用于RT L綜合和物理綜合中,如:廣泛的時鐘門控覆蓋、時鐘門控電路的克隆/反克隆、有功率意識的緩沖器插入、尺寸調整和時鐘門控電路布局。此外,如CTS期間多閾值電壓(Vt)、層次化時鐘門控、基于邏輯行為的時鐘門控等其他技術也可以提供額外的功率節省。 其中,有一項已得到日漸普遍使用的技術是將設計分為多個“電壓島”,如圖3所示。雖然供電電壓更低的電壓島性能也隨之降低,但其動態功耗也將大幅降低。 圖3 各類的多電壓域(multi-Vdd)設計 在將設計分成多個電壓島時,網表中必須要插入適當的電壓轉換元件來從一個電壓域到另一個電壓域連接信號。一個真正有功率意識的設計環境應該能夠自動插入這些單元。 4 功率門控(power gating) 功率門控通過有選擇地切斷設計中未在使用部分的電源來解決泄漏問題,如圖4所示。它是利用高閾值電壓(high-Vt)開關來連接全局恒定電源線軌與局域開關電源線軌,這就使得局域線軌的供電能根據需要開啟或者關閉,提供了細粒度、中粒度和粗粒度控制能力。 圖4 分布式多閾值CMOS(MTCMOS) 其他技術則均得益于具有“功率意識”,例如:映射、利用非關鍵時序路徑的多閾值晶體管、平面規劃和布局、解耦電容布局、時鐘樹綜合和時鐘門控,以及時序優化。 總之,功率分布網絡應基于早期功率網格還沒有完成時執行的線軌分析結果進行設計。芯片上正確的消耗元件分布應避免熱點和局部電壓降問題,線寬算法能夠有效解決電壓降和電遷移問題。 5 集成的工具套件 目前,第三方單點工具要么需要使用到多個數據庫,要么需要將完全不同的數據模型組合進一個數據庫中,不僅需要執行數據轉換和文件傳輸,同時也使得數據管理工作變得相當煩瑣、耗時且容易出錯。 然而,最嚴重的問題還在于,其布局后再修正缺陷的做法代價極為昂貴,特別在修正工作必須手工進行時就更是如此。如果在手工修正之后必須返回重新進行分析工作(而不是與修正工作同時進行),那么情況將會進一步惡化,因為分析后可能顯示出修正工作要么未起到應有的作用,要么可能給設計工作帶來了新的、不一樣的缺陷。 例如:要想完全計算出電壓降效應的影響,首先重要的是要擁有一個能基于實際電壓降以單元為基礎地進行時序衰減計算的環境;接著,時序分析引擎應利用這種衰減后時序數據來識別關鍵路徑上的潛在變化;最后,優化引擎應進行適當的修正來解決由于時序變化而導致的潛在的建立或保持問題。 而這就需要有一個能夠確保功率分析、電壓降分析、衰減計算、時序分析和優化引擎可無縫協作的設計環境。 功率分析單點工具與環境的其他部分之間集成性的缺乏意味著當功率分析結果用于定位和隔離時序和/或信號完整性問題時,修正問題的同時也將給功率網絡引入新的問題,最終可能導致大量、耗時的設計迭代。 一個真正的低功耗設計環境應具備讓所有的功率分析工具與綜合、布局布線、時鐘樹綜合、提取、時序和信號完整性分析等實施工具同時運行的特性,要能夠使用統一數據模型來為這些工具提供對分析數據的同步訪問并實現對設計的“實時”變更。 6 結束語 要想完全優化低功耗設計,功率分析工具必須彼此間完全集成,同時還要能與流程中的其他實施和分析引擎相集成,包括綜合、布局布線、電壓降衰減、時序、優化和信號完整性分析引擎。 這樣的架構使得所有實施和分析引擎都能夠通過統一數據模型同時訪問到設計數據,而且通過一個工具所做出的任意變更可立即得到其他工具的測試和驗證。從而最終形成一種收斂算法,無須采用耗時的迭代即可快速確定最佳解決方案。 |