摘 要: 對片上系統(tǒng)的設計方法進行了分析與探討,給出了目前比較適用的SOC低功耗設計方法和一種新的SOC低功耗設計流程,。對影響片上系統(tǒng)功耗的因素進行了深入分析,,在此基礎上從不同的層次討論了SOC系統(tǒng)較為有效的低功耗設計技術,通過對這些不同層次低功耗設計技術的比較,,指明了SOC系統(tǒng)低功耗設計的發(fā)展方向,。
關鍵詞: 集成電路 片上系統(tǒng) 低功耗
近年來集成電路技術發(fā)展迅速,片上系統(tǒng)(System On Chip,,SOC)技術已經非常流行,。基于深亞微米的超大規(guī)模片上系統(tǒng)芯片需求日益擴大,,使傳統(tǒng)的數(shù)字IC設計方法已不能適應現(xiàn)代產業(yè)界的IC產品需求,。雖然IC設計者的設計能力每年以大約18%的速率提高[1],但還是不能跟上摩爾定律所顯示的芯片規(guī)模增長,。IC產品面臨上市時間的壓力,,使得設計者必須從設計方法來提高設計效率。
由于設計規(guī)模和集成度的不斷提高,,功耗問題也正日益成為片上系統(tǒng)實現(xiàn)的一個限制因素,。對便攜式應用來說,其主要原因在于電池壽命,;而對固定應用則在于最高工作溫度,。既要解決電池壽命和芯片散熱問題,又要提高電路的運行速度和穩(wěn)定性,,所能采取的根本措施就是降低功耗,。
1 SOC的設計方法
SOC的設計方法靈活多變,種類繁多,。目前,,可以用于SOC設計的設計方法主要有:全定制系統(tǒng)設計方法、基于處理器核的系統(tǒng)設計方法、基于平臺的系統(tǒng)設計方法和系統(tǒng)級綜合設計方法,。除第1種設計方法外,,后3種均為基于IP模塊可重用設計的SOC設計方法。下面將對各種設計方法進行闡述,,并給出目前比較合適的SOC低功耗設計方法和一種新的低功耗設計流程,。
(1)全定制系統(tǒng)設計方法。采用傳統(tǒng)的ASIC設計方法來完全或大部分定制系統(tǒng)的各個部分,。該設計方法的優(yōu)點是設計靈活性大,、系統(tǒng)結構緊湊、芯片的特性好,、面積小,。缺點是設計周期長、可重用性差,,一般SOC的設計都不采用這種方法,。
(2)基于處理器核的系統(tǒng)設計方法。是在基于某種特定處理器的基礎上,,通過添加外設模塊來完成系統(tǒng)設計,。由于其處理器內核是確定的,因此只能在有限范圍內選擇掛接的外設模塊,。系統(tǒng)一般由可以綜合的處理器內核和符合處理器內核的設計標準的外設模塊和定制邏輯組成,。其缺點是不能滿足系統(tǒng)設計的重用需求,SOC設計中較少采用,。
(3)基于集成平臺的系統(tǒng)設計方法,。是通過架構可重用的、有效的體系結構,,在其中加入經過選擇的軟件或硬件IP模塊來實現(xiàn)設計,。系統(tǒng)中所有的模塊都是可選部分,通過對體系結構中的各個部件進行客戶化設計來實現(xiàn)不同的需求,。該設計方法由于其體系結構易于集成IP模塊,,滿足了高度可重用的需要,是目前一種切實可行的設計方案,。
(4)基于系統(tǒng)綜合的系統(tǒng)設計方法,。是在系統(tǒng)級設計流程中加入算法設計,通過高層的設計表述選擇應用算法,,調用可配置的IP,,根據(jù)需要加以改變,并以此將系統(tǒng)劃分為新的IP和已有的可配置外設來滿足系統(tǒng)需求,。由于目前相關系統(tǒng)設計工具的欠缺和不足,,因此該設計方法離實際應用還較遠,。
隨著技術的進步和需求的提升,未來片上系統(tǒng)的設計除了需要強有力的IP庫和EDA工具支持外,,還需要在設計方法上有所突破,,這就是軟硬件協(xié)同設計,其流程如圖1所示,。由圖可以看出,這種設計方法是在多個層面上同時開始設計,,增強了設計的競爭力,。
通過對比SOC的各種設計方法,基于集成平臺的系統(tǒng)設計方法是當前SOC的主流設計方法,。同時,隨著SOC技術的發(fā)展,基于系統(tǒng)綜合的系統(tǒng)設計方法和軟硬件協(xié)調設計的方法將會有所突破和發(fā)展,。
2 SOC的低功耗設計
目前,,很多片上系統(tǒng)的設計都是先進行功耗分析,根據(jù)分析的結果再來劃分設計結構,、改進設計和優(yōu)化方案,。功耗已成為整個SOC設計的一個重點,也是整個設計成功與否的關鍵因素,。因此,,探討如何進行片上系統(tǒng)的低功耗設計是十分有意義的。下面將從片上系統(tǒng)的功耗分析入手,,詳細討論不同層次的低功耗設計方法,。
2.1 SOC的功耗分析
大規(guī)模集成電路多采用CMOS電路,對于CMOS電路來說,,在執(zhí)行某一任務期間,,1個時鐘周期的能量消耗為:
式(1)中:M為系統(tǒng)中門電路的個數(shù),Ck為第k個門電路的負載電容,,SWk為第k個門電路每個時鐘周期的開關次數(shù),,VDD為電路的電源電壓值。假設執(zhí)行第j個任務所需的總時鐘數(shù)為Nj,,則執(zhí)行第n個任務的能量消耗為:
由式(2)可以看出,,影響系統(tǒng)功耗的主要因素有工作電壓、負載電容,、門電路的開關次數(shù)和時鐘數(shù),。這些參數(shù)就是進行SOC系統(tǒng)低功耗設計的出發(fā)點。
2.2 SOC不同層次的低功耗設計
影響系統(tǒng)功耗的參數(shù)調整主要是從系統(tǒng)級到物理級來進行,。下面將針對各種不同層次中較為有效的設計方法進行闡述與探討,。
2.2.1 系統(tǒng)級
在系統(tǒng)級進行低功耗設計的主要方法有:
(1)軟硬件劃分
軟硬件劃分是從系統(tǒng)功能的抽象描述著手,,把系統(tǒng)功能分解為硬件和軟件來實現(xiàn)。通過比較采用硬件方式和軟件方式實現(xiàn)系統(tǒng)功能的功耗,,得出一個比較合理的低功耗實現(xiàn)方案,。由于軟硬件的劃分處于設計的起始階段,所以能為降低功耗帶來更大的可能,。
(2)功耗管理
功耗管理的核心思想是設計并區(qū)分不同的工作模式,。其管理方式可分為動態(tài)功耗管理和靜態(tài)功耗管理2種。動態(tài)功耗管理的思想就是有選擇地將不被調用的模塊掛起,,從而降低功耗,。靜態(tài)功耗管理是對待機工作模式的功耗進行管理,它所要監(jiān)測的是整個系統(tǒng)的工作狀態(tài),,而不是只針對某個模塊,。如果系統(tǒng)在一段時間內一直處于空閑狀態(tài),則靜態(tài)功耗管理就會把整個芯片掛起,,系統(tǒng)進入睡眠狀態(tài),,以減少功耗。
(3)軟件代碼優(yōu)化
軟件代碼的功耗優(yōu)化主要包括:①在確定算法時,,對所需算法的復雜性,、并發(fā)性進行分析,盡可能利用算法的規(guī)整性和可重用性,,減少所需的運算操作和運算資源,。②把算法轉換為可執(zhí)行代碼時,盡可能針對特定的硬件體系結構進行優(yōu)化,。例如,,由于訪問寄存器比訪問內存需要更少功耗,所以,,可以通過合理有效地利用寄存器來減少對內存的訪問,。③在操作系統(tǒng)中充分利用硬件提供的節(jié)電模式。隨著動態(tài)電壓縮放技術的出現(xiàn),,操作系統(tǒng)可以通過合理地設置工作狀態(tài)來減少功耗,。
2.2.2 結構級
在結構級進行低功耗設計的主要方法有:
(1)并行結構
并行結構是將1條數(shù)據(jù)通路的工作分解到2條通路上完成。并行結構降低功耗的主要原因是其獲得與參考結構相同的計算速度的前提下,,其工作頻率可以降低為原來的1/2,,同時電源電壓也可降低。二分頻并行電路參考結構如圖2所示,。
由圖可以看出,,并行電路結構是以犧牲芯片的面積來降低功耗。假定參考結構中的工作頻率為fref,,電源電壓為Vref,,最壞情況下的延遲為τ,,則:
由式(4)可以看出,并行結構下功耗有明顯的降低,。
(2)流水結構
電路流水就是采用插入寄存器的辦法降低組合路徑的長度,,達到降低功耗的目的。一個先相加再比較的電路中間插入流水線寄存器的流水結構如圖3所示,。
由圖可知,,加法器和選擇器處在2條不同的組合路徑上,電路的工作頻率沒有改變,,但每一級的電路減少,,使電源電壓可以降低。假設電源電壓為Vref /1.8,,由于加入了流水線寄存器,等效電容變?yōu)樵瓉淼?.2Cref,。則:
由式(5)可見,,采用流水線結構也可以顯著地降低功耗。
電路流水化和并行化可以達到降低功耗的目的,,這是因為設計者可以選擇電路的工作電壓,。如果電路工作電壓固定,2種方法只能提高電路的工作速度,,但功耗將相應地有所增加,。
(3)編碼優(yōu)化
一般可采用One-Hot碼、格雷碼和總線反轉碼降低片上系統(tǒng)總線的功耗,。One-Hot碼在一個二進制數(shù)中只允許1個數(shù)位不同于其他各數(shù)位的值,;格雷碼在任何2個連續(xù)的數(shù)字其對應的二進制碼只有1位的數(shù)值不同。由于在訪問相鄰的2個地址的內容時,,其跳變次數(shù)比較少,,從而有效地減少了總線功耗。
總線反轉碼是在傳輸數(shù)據(jù)時考慮相鄰數(shù)據(jù)之間的關系來決定傳輸?shù)母袷?。當發(fā)送部件向總線上傳輸?shù)赟i+1個數(shù)據(jù)時,,會將它和Si進行比較,根據(jù)比較的結果來決定發(fā)送Si+1還是Si,,從而減少總線的有效翻轉數(shù),,進而減少系統(tǒng)的功耗。
除了這幾種編碼外還有一些更為復雜的低功耗編碼,,如窄總線編碼,、部分總線反轉編碼和自適應編碼等,這些編碼方式的最終目的就是通過改變編碼來降低不同數(shù)據(jù)切換時的平均翻轉次數(shù),。在采用這些編碼時,,設計者應該綜合考慮它們帶來的其他代價,,如增加的編碼解碼電路等。
2.2.3 寄存器級
在寄存器級進行低功耗設計的主要方法有三種,。
(1)門控時鐘
門控時鐘有2種:門控到達邏輯模塊的時鐘和門控到達每個觸發(fā)器的時鐘,。但不管是哪一種,都能起到降低功耗的作用,。門控到達邏輯模塊的時鐘控制方法如圖4所示,。中心模塊提供給模塊A和模塊B不同的門控時鐘,當模塊不工作時,,可以關閉該模塊,,從而達到減少功耗的目的。
門控到達每個觸發(fā)器的時鐘控制方法如圖5所示,。當寄存器保持數(shù)據(jù)時,,可以關閉寄存器時鐘輸入,減少功耗,。
(2)存儲分區(qū)訪問
存儲分區(qū)訪問是將一個大的存儲模塊分成不同的小的存儲模塊,,通過譯碼器輸出的高位地址來區(qū)分不同的存儲模塊。工作中,,只有被訪問的存儲器才工作,,其他幾塊存儲器不工作。多模塊RAM的架構如圖6所示,。
根據(jù)參考文獻[4],,采用此種方法可以將RAM的功耗減少12.5%。
(3)預計算
預計算是提前進行位寬較小的計算工作,,如果這些操作得到的信息可以代表實際的運算結果,,就可以避免再進行位寬較大的計算工作,降低電路的有效翻轉率,,從而達到降低功耗的目的,。例如,2個8位操作數(shù)進行大小比較,,如果最高位就不同,,則這2位的比較結果就可以代表實際的結果,而不需要再進行8位操作數(shù)的比較,,可顯著降低位數(shù)較多的比較器的功耗,。
2.2.4 邏輯門級
在邏輯門級進行低功耗設計的主要方法有:
(1)邏輯優(yōu)化
邏輯優(yōu)化設計的主要目的是減少信號的翻轉活動。通過將邏輯電路的邏輯功能盡可能地分解,,使翻轉活動最小,。然后將翻轉活動高的結點隱藏到復雜的門里,以此來降低這些結點的等效電容,。
(2)多閾值電壓
多電壓技術的思路與可變電壓技術類似,??勺冸妷杭夹g在時間上改變電壓,而多電壓技術則在空間上使用不同的電壓,,根據(jù)系統(tǒng)不同部分的性能要求差異,,使其工作于不同的電壓,從而降低系統(tǒng)功耗,。
2.2.5 版圖和物理級
在版圖和物理級進行低功耗設計的主要方法有:
(1)布局布線優(yōu)化
布局布線優(yōu)化設計主要集中在寄生電容與翻轉活動這2個相關的因素,。通過將連線合理地安排在不同的層面上達到降低功耗的目的。這一部分與使用的EDA工具有關,。
(2)TFSOI設計技術
薄膜SOI器件采用絕緣介質作為隔離,,與普通的CMOS器件相比,具有良好的特性:沒有自鎖效應,,具有高集成度,、低寄生電容和理想的亞閾值漏電流。采用SOI器件,,電路的電容可以降低約30%,,再加上較低的工作電壓,可以大大降低電路的功耗,。
以上從不同的層面系統(tǒng)地介紹了一些行之有效的低功耗設計方法。實踐證明,,在不同設計層次上采用不同的措施對功耗的改善程度是不同的,,層次越高,改善的程度越大。各層次低功耗設計方法的效果比較如表1所示,。
3 結束語
本文對SOC設計方法和不同層次的低功耗設計進行了深入探討,,給出了目前比較適用的SOC低功耗設計方法和新的軟硬件協(xié)同設計流程。隨著SOC技術的發(fā)展,,軟件設計占據(jù)的地位將會越來越重要,,與軟硬件協(xié)同設計相關的新的設計方法和低功耗設計技術必將得到快速發(fā)展。
參考文獻
1 Keating M,,Bricaud P.片上系統(tǒng)-可重用設計方法學(第三版).北京:電子工業(yè)出版社,,2004
2 Okuma T,Ishihara T,,Yasuura H.Software Energy Reduction Techniques for Variable-Voltage Processors.Design and Test of Computer,,2001
3 Emnett F,Biege1 M.Power Reduction through RTL Clock Gating[Z].Synopsys Users Group,,San Jose,,2000
4 Jiann S Y,Jia D.Teaching Low-Power Electronic Design in Electrical and Computer Engineering.IEEE Transactions on Education,,2005,;48(1)
5 Aghaghiri Y,,F(xiàn)allah F,Pedram M.Transition Reduction in Memory Buses Using Sector-Based Encoding Techniques. IEEE Transactions on Computer-Aided Design of Intergraded Circuits and Systems,,2004,;23(8)
6 Rabaey J M,Chandrakasan A,,Nikolic B.數(shù)字集成電路——電路,、系統(tǒng)與設計(第二版).北京:電子工業(yè)出版社,2004