《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 片上系統(tǒng)設(shè)計方法和低功耗設(shè)計
片上系統(tǒng)設(shè)計方法和低功耗設(shè)計
洪錫高,周玉潔
(上海交通大學(xué) 電子系,上海200030)
摘要: 對片上系統(tǒng)的設(shè)計方法進行了分析與探討,給出了目前比較適用的SOC低功耗設(shè)計方法和一種新的SOC低功耗設(shè)計流程。對影響片上系統(tǒng)功耗的因素進行了深入分析,在此基礎(chǔ)上從不同的層次討論了SOC系統(tǒng)較為有效的低功耗設(shè)計技術(shù),通過對這些不同層次低功耗設(shè)計技術(shù)的比較,指明了SOC系統(tǒng)低功耗設(shè)計的發(fā)展方向。
Abstract:
Key words :

摘   要:片上系統(tǒng)的設(shè)計方法進行了分析與探討,給出了目前比較適用的SOC低功耗設(shè)計方法和一種新的SOC低功耗設(shè)計流程。對影響片上系統(tǒng)功耗的因素進行了深入分析,在此基礎(chǔ)上從不同的層次討論了SOC系統(tǒng)較為有效的低功耗設(shè)計技術(shù),通過對這些不同層次低功耗設(shè)計技術(shù)的比較,指明了SOC系統(tǒng)低功耗設(shè)計的發(fā)展方向。
關(guān)鍵詞: 集成電路  片上系統(tǒng)  低功耗

  近年來集成電路技術(shù)發(fā)展迅速,片上系統(tǒng)(System On Chip,SOC)技術(shù)已經(jīng)非常流行?;谏顏單⒚椎某笠?guī)模片上系統(tǒng)芯片需求日益擴大,使傳統(tǒng)的數(shù)字IC設(shè)計方法已不能適應(yīng)現(xiàn)代產(chǎn)業(yè)界的IC產(chǎn)品需求。雖然IC設(shè)計者的設(shè)計能力每年以大約18%的速率提高[1],但還是不能跟上摩爾定律所顯示的芯片規(guī)模增長。IC產(chǎn)品面臨上市時間的壓力,使得設(shè)計者必須從設(shè)計方法來提高設(shè)計效率。
  由于設(shè)計規(guī)模和集成度的不斷提高,功耗問題也正日益成為片上系統(tǒng)實現(xiàn)的一個限制因素。對便攜式應(yīng)用來說,其主要原因在于電池壽命;而對固定應(yīng)用則在于最高工作溫度。既要解決電池壽命和芯片散熱問題,又要提高電路的運行速度和穩(wěn)定性,所能采取的根本措施就是降低功耗。
1  SOC的設(shè)計方法
  SOC的設(shè)計方法靈活多變,種類繁多。目前,可以用于SOC設(shè)計的設(shè)計方法主要有:全定制系統(tǒng)設(shè)計方法、基于處理器核的系統(tǒng)設(shè)計方法、基于平臺的系統(tǒng)設(shè)計方法和系統(tǒng)級綜合設(shè)計方法。除第1種設(shè)計方法外,后3種均為基于IP模塊可重用設(shè)計的SOC設(shè)計方法。下面將對各種設(shè)計方法進行闡述,并給出目前比較合適的SOC低功耗設(shè)計方法和一種新的低功耗設(shè)計流程。
  (1)全定制系統(tǒng)設(shè)計方法。采用傳統(tǒng)的ASIC設(shè)計方法來完全或大部分定制系統(tǒng)的各個部分。該設(shè)計方法的優(yōu)點是設(shè)計靈活性大、系統(tǒng)結(jié)構(gòu)緊湊、芯片的特性好、面積小。缺點是設(shè)計周期長、可重用性差,一般SOC的設(shè)計都不采用這種方法。
  (2)基于處理器核的系統(tǒng)設(shè)計方法。是在基于某種特定處理器的基礎(chǔ)上,通過添加外設(shè)模塊來完成系統(tǒng)設(shè)計。由于其處理器內(nèi)核是確定的,因此只能在有限范圍內(nèi)選擇掛接的外設(shè)模塊。系統(tǒng)一般由可以綜合的處理器內(nèi)核和符合處理器內(nèi)核的設(shè)計標(biāo)準(zhǔn)的外設(shè)模塊和定制邏輯組成。其缺點是不能滿足系統(tǒng)設(shè)計的重用需求,SOC設(shè)計中較少采用。
  (3)基于集成平臺的系統(tǒng)設(shè)計方法。是通過架構(gòu)可重用的、有效的體系結(jié)構(gòu),在其中加入經(jīng)過選擇的軟件或硬件IP模塊來實現(xiàn)設(shè)計。系統(tǒng)中所有的模塊都是可選部分,通過對體系結(jié)構(gòu)中的各個部件進行客戶化設(shè)計來實現(xiàn)不同的需求。該設(shè)計方法由于其體系結(jié)構(gòu)易于集成IP模塊,滿足了高度可重用的需要,是目前一種切實可行的設(shè)計方案。
  (4)基于系統(tǒng)綜合的系統(tǒng)設(shè)計方法。是在系統(tǒng)級設(shè)計流程中加入算法設(shè)計,通過高層的設(shè)計表述選擇應(yīng)用算法,調(diào)用可配置的IP,根據(jù)需要加以改變,并以此將系統(tǒng)劃分為新的IP和已有的可配置外設(shè)來滿足系統(tǒng)需求。由于目前相關(guān)系統(tǒng)設(shè)計工具的欠缺和不足,因此該設(shè)計方法離實際應(yīng)用還較遠。
隨著技術(shù)的進步和需求的提升,未來片上系統(tǒng)的設(shè)計除了需要強有力的IP庫和EDA工具支持外,還需要在設(shè)計方法上有所突破,這就是軟硬件協(xié)同設(shè)計,其流程如圖1所示。由圖可以看出,這種設(shè)計方法是在多個層面上同時開始設(shè)計,增強了設(shè)計的競爭力。

  通過對比SOC的各種設(shè)計方法,基于集成平臺的系統(tǒng)設(shè)計方法是當(dāng)前SOC的主流設(shè)計方法。同時,隨著SOC技術(shù)的發(fā)展,基于系統(tǒng)綜合的系統(tǒng)設(shè)計方法和軟硬件協(xié)調(diào)設(shè)計的方法將會有所突破和發(fā)展。
2  SOC的低功耗設(shè)計
  目前,很多片上系統(tǒng)的設(shè)計都是先進行功耗分析,根據(jù)分析的結(jié)果再來劃分設(shè)計結(jié)構(gòu)、改進設(shè)計和優(yōu)化方案。功耗已成為整個SOC設(shè)計的一個重點,也是整個設(shè)計成功與否的關(guān)鍵因素。因此,探討如何進行片上系統(tǒng)的低功耗設(shè)計是十分有意義的。下面將從片上系統(tǒng)的功耗分析入手,詳細討論不同層次的低功耗設(shè)計方法。
2.1 SOC的功耗分析
  大規(guī)模集成電路多采用CMOS電路,對于CMOS電路來說,在執(zhí)行某一任務(wù)期間,1個時鐘周期的能量消耗為:
  

式(1)中:M為系統(tǒng)中門電路的個數(shù),Ck為第k個門電路的負載電容,SWk為第k個門電路每個時鐘周期的開關(guān)次數(shù),VDD為電路的電源電壓值。假設(shè)執(zhí)行第j個任務(wù)所需的總時鐘數(shù)為Nj,則執(zhí)行第n個任務(wù)的能量消耗為:
  

  由式(2)可以看出,影響系統(tǒng)功耗的主要因素有工作電壓、負載電容、門電路的開關(guān)次數(shù)和時鐘數(shù)。這些參數(shù)就是進行SOC系統(tǒng)低功耗設(shè)計的出發(fā)點。
2.2 SOC不同層次的低功耗設(shè)計
  影響系統(tǒng)功耗的參數(shù)調(diào)整主要是從系統(tǒng)級到物理級來進行。下面將針對各種不同層次中較為有效的設(shè)計方法進行闡述與探討。
2.2.1 系統(tǒng)級
  在系統(tǒng)級進行低功耗設(shè)計的主要方法有:
  (1)軟硬件劃分
  軟硬件劃分是從系統(tǒng)功能的抽象描述著手,把系統(tǒng)功能分解為硬件和軟件來實現(xiàn)。通過比較采用硬件方式和軟件方式實現(xiàn)系統(tǒng)功能的功耗,得出一個比較合理的低功耗實現(xiàn)方案。由于軟硬件的劃分處于設(shè)計的起始階段,所以能為降低功耗帶來更大的可能。
  (2)功耗管理
  功耗管理的核心思想是設(shè)計并區(qū)分不同的工作模式。其管理方式可分為動態(tài)功耗管理和靜態(tài)功耗管理2種。動態(tài)功耗管理的思想就是有選擇地將不被調(diào)用的模塊掛起,從而降低功耗。靜態(tài)功耗管理是對待機工作模式的功耗進行管理,它所要監(jiān)測的是整個系統(tǒng)的工作狀態(tài),而不是只針對某個模塊。如果系統(tǒng)在一段時間內(nèi)一直處于空閑狀態(tài),則靜態(tài)功耗管理就會把整個芯片掛起,系統(tǒng)進入睡眠狀態(tài),以減少功耗。
  (3)軟件代碼優(yōu)化
  軟件代碼的功耗優(yōu)化主要包括:①在確定算法時,對所需算法的復(fù)雜性、并發(fā)性進行分析,盡可能利用算法的規(guī)整性和可重用性,減少所需的運算操作和運算資源。②把算法轉(zhuǎn)換為可執(zhí)行代碼時,盡可能針對特定的硬件體系結(jié)構(gòu)進行優(yōu)化。例如,由于訪問寄存器比訪問內(nèi)存需要更少功耗,所以,可以通過合理有效地利用寄存器來減少對內(nèi)存的訪問。③在操作系統(tǒng)中充分利用硬件提供的節(jié)電模式。隨著動態(tài)電壓縮放技術(shù)的出現(xiàn),操作系統(tǒng)可以通過合理地設(shè)置工作狀態(tài)來減少功耗。
2.2.2 結(jié)構(gòu)級
  在結(jié)構(gòu)級進行低功耗設(shè)計的主要方法有:
  (1)并行結(jié)構(gòu)
  并行結(jié)構(gòu)是將1條數(shù)據(jù)通路的工作分解到2條通路上完成。并行結(jié)構(gòu)降低功耗的主要原因是其獲得與參考結(jié)構(gòu)相同的計算速度的前提下,其工作頻率可以降低為原來的1/2,同時電源電壓也可降低。二分頻并行電路參考結(jié)構(gòu)如圖2所示。

  由圖可以看出,并行電路結(jié)構(gòu)是以犧牲芯片的面積來降低功耗。假定參考結(jié)構(gòu)中的工作頻率為fref,電源電壓為Vref,最壞情況下的延遲為τ,則:
  

  由式(4)可以看出,并行結(jié)構(gòu)下功耗有明顯的降低。
  (2)流水結(jié)構(gòu)
  電路流水就是采用插入寄存器的辦法降低組合路徑的長度,達到降低功耗的目的。一個先相加再比較的電路中間插入流水線寄存器的流水結(jié)構(gòu)如圖3所示。

  由圖可知,加法器和選擇器處在2條不同的組合路徑上,電路的工作頻率沒有改變,但每一級的電路減少,使電源電壓可以降低。假設(shè)電源電壓為Vref /1.8,由于加入了流水線寄存器,等效電容變?yōu)樵瓉淼?.2Cref。則:
  

  由式(5)可見,采用流水線結(jié)構(gòu)也可以顯著地降低功耗。
  電路流水化和并行化可以達到降低功耗的目的,這是因為設(shè)計者可以選擇電路的工作電壓。如果電路工作電壓固定,2種方法只能提高電路的工作速度,但功耗將相應(yīng)地有所增加。
  (3)編碼優(yōu)化
  一般可采用One-Hot碼、格雷碼和總線反轉(zhuǎn)碼降低片上系統(tǒng)總線的功耗。One-Hot碼在一個二進制數(shù)中只允許1個數(shù)位不同于其他各數(shù)位的值;格雷碼在任何2個連續(xù)的數(shù)字其對應(yīng)的二進制碼只有1位的數(shù)值不同。由于在訪問相鄰的2個地址的內(nèi)容時,其跳變次數(shù)比較少,從而有效地減少了總線功耗。
  總線反轉(zhuǎn)碼是在傳輸數(shù)據(jù)時考慮相鄰數(shù)據(jù)之間的關(guān)系來決定傳輸?shù)母袷健.?dāng)發(fā)送部件向總線上傳輸?shù)赟i+1個數(shù)據(jù)時,會將它和Si進行比較,根據(jù)比較的結(jié)果來決定發(fā)送Si+1還是Si,從而減少總線的有效翻轉(zhuǎn)數(shù),進而減少系統(tǒng)的功耗。
  除了這幾種編碼外還有一些更為復(fù)雜的低功耗編碼,如窄總線編碼、部分總線反轉(zhuǎn)編碼和自適應(yīng)編碼等,這些編碼方式的最終目的就是通過改變編碼來降低不同數(shù)據(jù)切換時的平均翻轉(zhuǎn)次數(shù)。在采用這些編碼時,設(shè)計者應(yīng)該綜合考慮它們帶來的其他代價,如增加的編碼解碼電路等。
2.2.3 寄存器級
  在寄存器級進行低功耗設(shè)計的主要方法有三種。
  (1)門控時鐘
  門控時鐘有2種:門控到達邏輯模塊的時鐘和門控到達每個觸發(fā)器的時鐘。但不管是哪一種,都能起到降低功耗的作用。門控到達邏輯模塊的時鐘控制方法如圖4所示。中心模塊提供給模塊A和模塊B不同的門控時鐘,當(dāng)模塊不工作時,可以關(guān)閉該模塊,從而達到減少功耗的目的。

  門控到達每個觸發(fā)器的時鐘控制方法如圖5所示。當(dāng)寄存器保持?jǐn)?shù)據(jù)時,可以關(guān)閉寄存器時鐘輸入,減少功耗。

  (2)存儲分區(qū)訪問
  存儲分區(qū)訪問是將一個大的存儲模塊分成不同的小的存儲模塊,通過譯碼器輸出的高位地址來區(qū)分不同的存儲模塊。工作中,只有被訪問的存儲器才工作,其他幾塊存儲器不工作。多模塊RAM的架構(gòu)如圖6所示。

  根據(jù)參考文獻[4],采用此種方法可以將RAM的功耗減少12.5%。
  (3)預(yù)計算
  預(yù)計算是提前進行位寬較小的計算工作,如果這些操作得到的信息可以代表實際的運算結(jié)果,就可以避免再進行位寬較大的計算工作,降低電路的有效翻轉(zhuǎn)率,從而達到降低功耗的目的。例如,2個8位操作數(shù)進行大小比較,如果最高位就不同,則這2位的比較結(jié)果就可以代表實際的結(jié)果,而不需要再進行8位操作數(shù)的比較,可顯著降低位數(shù)較多的比較器的功耗。
2.2.4 邏輯門級
  在邏輯門級進行低功耗設(shè)計的主要方法有:
  (1)邏輯優(yōu)化
  邏輯優(yōu)化設(shè)計的主要目的是減少信號的翻轉(zhuǎn)活動。通過將邏輯電路的邏輯功能盡可能地分解,使翻轉(zhuǎn)活動最小。然后將翻轉(zhuǎn)活動高的結(jié)點隱藏到復(fù)雜的門里,以此來降低這些結(jié)點的等效電容。
  (2)多閾值電壓
  多電壓技術(shù)的思路與可變電壓技術(shù)類似。可變電壓技術(shù)在時間上改變電壓,而多電壓技術(shù)則在空間上使用不同的電壓,根據(jù)系統(tǒng)不同部分的性能要求差異,使其工作于不同的電壓,從而降低系統(tǒng)功耗。
2.2.5 版圖和物理級
  在版圖和物理級進行低功耗設(shè)計的主要方法有:
  (1)布局布線優(yōu)化
  布局布線優(yōu)化設(shè)計主要集中在寄生電容與翻轉(zhuǎn)活動這2個相關(guān)的因素。通過將連線合理地安排在不同的層面上達到降低功耗的目的。這一部分與使用的EDA工具有關(guān)。
  (2)TFSOI設(shè)計技術(shù)
  薄膜SOI器件采用絕緣介質(zhì)作為隔離,與普通的CMOS器件相比,具有良好的特性:沒有自鎖效應(yīng),具有高集成度、低寄生電容和理想的亞閾值漏電流。采用SOI器件,電路的電容可以降低約30%,再加上較低的工作電壓,可以大大降低電路的功耗。
  以上從不同的層面系統(tǒng)地介紹了一些行之有效的低功耗設(shè)計方法。實踐證明,在不同設(shè)計層次上采用不同的措施對功耗的改善程度是不同的,層次越高,改善的程度越大。各層次低功耗設(shè)計方法的效果比較如表1所示。


3  結(jié)束語
  本文對SOC設(shè)計方法和不同層次的低功耗設(shè)計進行了深入探討,給出了目前比較適用的SOC低功耗設(shè)計方法和新的軟硬件協(xié)同設(shè)計流程。隨著SOC技術(shù)的發(fā)展,軟件設(shè)計占據(jù)的地位將會越來越重要,與軟硬件協(xié)同設(shè)計相關(guān)的新的設(shè)計方法和低功耗設(shè)計技術(shù)必將得到快速發(fā)展。
參考文獻
1   Keating M,Bricaud P.片上系統(tǒng)-可重用設(shè)計方法學(xué)(第三版).北京:電子工業(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)與設(shè)計(第二版).北京:電子工業(yè)出版社,2004

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。