由於功耗過高可能導致元件故障或系統的可靠度降低,因此,控制系統電力預算是維持系統可靠度的必要條件。為了獲得效能與成本優勢,半導體產業正快速朝向90奈米矽元件製程前進,同時也面臨電力預算方面的沉重壓力,FPGA元件亦是...
由於功耗過高可能導致元件故障或系統的可靠度降低,因此,控制系統電力預算是維持系統可靠度的必要條件。為了獲得效能與成本優勢,半導體產業正快速朝向90奈米矽元件製程前進,同時也面臨電力預算方面的沉重壓力,FPGA元件亦是。隨著電晶體尺寸縮小,靜態電力的漏電情況會呈現指數性增加;而當系統速度與設計密度的提升,動態電力則會以線性的型態隨之提高。
在現今許多設計中,靜態電力(Static Power)與動態電力(Dynamic Power)各占一半。根據半導體國際技術發展藍圖(International Technology Roadmap for Semiconductors, ITRS)的預測,隨著每個世代製程節點的演進,其靜態電力將會呈現指數性的倍增,因此運用創新的製程技術便成為無法避免的策略。
效能與密度的提高以及價格的降低等因素讓現場可編程邏輯閘陣列(Field Programmable Gate Array, FPGA)元件於市場與系統的接受度逐年提高。因此,FPGA元件在整體系統所需的功耗就變得非常重要,而全球FPGA元件的領導廠商也已採用各種新技術,來降低靜態與動態功耗量。
功耗量的多寡對系統而言相當重要,而通常用來整合系統功能的FPGA元件在這些系統的總耗電量中占有相當高的比重。
一個特定系統或指定元件通常都包含兩種電力預算,第一種是藉由調整供應的電源容量,以符合系統的電力需求﹔第二種是有關溫度考量,即如何讓系統在各種元件的溫度規格下保持運作。為了達到這個目標,業者必須了解FPGA元件的耗電來源,以及如何發揮電力的最大效益。
如先前所述,功耗與溫度會造成電力預算上升。以下是一個典型的例子:一個機板的電力預算為20瓦,其正常運作環境溫度為10~40℃。在散熱風扇故障時,某些特定元件的周圍溫度會上升到70℃。
許多元件製造商把連接溫度的運作條件設定為商業等級的85℃與工業等級的100℃。運用電力估算工具,業者可以掌握功耗降低之處,以及是否須要最佳化FPGA元件的耗電設定。另外,了解FPGA元件的耗電部分,以及哪些設計最佳化的方法能協助降低功耗也很重要。
掌握FPGA耗電源
FPGA元件主要有兩大耗電區塊,一是源自電晶體漏電的靜態功耗,二是因電壓擺幅、切換率(Toggle Rate)以及電容等因素所產生的動態功耗。這兩項因素對於業者達成電力預算與功耗最佳化目標時扮演非常重要的角色。因此掌握這兩種功耗因素,並了解在各種不同運作狀況下所可能產生的變化是很重要的。
電晶體漏電導致靜態功耗
靜態功耗是因電晶體漏電所消耗的電力,在現今90奈米元件中,這類漏電的情況相當明顯。為了要讓電晶體達到更高效能,業者通常必須降低電晶體的電壓閥值(Voltage Threshold, VT),但卻因此而增加漏電情形。
根據90奈米電晶體製程技術的不同,其漏電狀況也有相當大的差異。例如電晶體的VT會因摻雜濃度(Doping)不同而改變,微影製程則會影響閘極長度(Gate Length)。這些情況使電晶體的速度與漏電產生顯著改變。降低VT或閘極長度都會提高漏電與速度,反之亦然。漏電與靜態功耗的變動在最糟狀況與一般狀況下,會有約1~2的差距。
此外,核心電壓(VCCINT)也會對漏電與靜態功耗產生相當大的影響,變化的幅度分別高達VCCINT的二次方與三次方。VCCINT只要增加5%,靜態功耗就會增加15%。連接(或晶粒)溫度(Junction Temperature, TJ)則會對漏電產生相當大的影響。
由於製程技術、電壓以及溫度均會對FPGA元件的漏電與靜態功耗產生顯著的影響,因此,了解它們如何影響FPGA元件或ASIC元件的總功耗量相當重要(圖1)。另外,閘極至基板的漏電也是總漏電量的一部分,但比較不受溫度的影響。
當業者採用具備高效能的90奈米FPGA元件時,電晶體的漏電情形也愈來愈嚴重。市面上的FPGA元件與ASIC元件只使用二層氧化物(雙氧化物)厚度,核心電晶體用一層較薄的氧化物,而I/O電晶體則使用一層較厚的氧化物。若使用三層氧化物的FPAG元件,運用第三層中等厚度的氧化物(三層氧化物),及讓部分電晶體使用較高的VT,可大幅降低整體漏電量與靜態功耗。
切換電晶體與跡線形成動態功耗
動態功耗是電晶體與跡線(Traces)切換時所消耗的電力,也就是將內部電壓從邏輯0切換成邏輯1(或從邏輯1切換成邏輯0),以及將電容充電至目標電壓值時,所造成的功耗。這種程序進行得愈頻繁,消耗的電力就愈多。在FPGA元件中,電晶體是被當成金屬跡線(Metal Traces)之間的邏輯與可編程互連元件使用。在此談到的電容是電晶體的寄生電容(Parasitic Capacitance)以及金屬互連電容(Interconnect Capacitance)。動態功耗的計算公式為:
PDYNAMIC=nCV2f
n=連接節點的數目,C=電容,
V=電壓擺幅,f=頻率
FPGA元件中所有節點的電力消耗都是針對電晶體的寄生電容與金屬互連電容一同進行充電所產生。金屬互連電容會受FPGA元件中電路長度所影響,而節點電容的淨值是取決於所有進行切換的電晶體數量而定。較緊密的邏輯封裝能減少切換電晶體的數量,並縮短路由(Routing)的長度,進而降低動態功耗。
表1顯示動態功耗隨著電壓擺幅與VCCINT產生的變化,製程技術與溫度對動態功耗並沒有太大的影響,其兩者合起來產生的效應少於5~10%。
改變FPGA環境以降低設計功耗
為了最佳化設計功耗,業者可在不受FPGA的設計內容所限制的情況下,從許多方面著手,因此了解FPGA的環境是很重要的。
降低連接溫度
控制溫度有助於降低靜態功耗。將連接溫度從100℃降到85℃,則靜態功耗就能降低20%(表1)。在某些設計中,FPGA元件的靜態功耗通常占了電力預算30~40%的比重。增加散熱氣流以及加大散熱片可轉移FPGA元件的溫度,進而降低連接溫度。此外,降低連接溫度亦可同時提升運作可靠度。
控制核心電壓額定值
將核心電壓維持在額定(Nominal)值或壓低在額定值以下,將能降低靜態與動態功耗。於VCCINT消耗的靜態與動態電力,通常是FPGA元件中最耗電的部分。FPGA電力供應的電壓通常被設定在額定值±5%的範圍內運作,並同時能達到預期效能。表1顯示VCCINT在±5%的變動範圍內,靜態與動態功耗會分別會產生±15%與±10%的變動。VCCINT電力供應範圍的設定可縮小,因此業者可將其設定在額定值,或稍低於額定值,而不必設定成高於額定值的5%,造成最糟的情況。
利用設計工具預估所需功耗
由於與設計FPGA元件相關的功耗考量因素有非常多種,因此,業者可利用多種設計工具,提前獲知或詳細預估設計所需的功耗。
根據設計尺寸(邏輯與正反器)、運作頻率、切換率、嵌入區塊使用率以及溫度等環境條件的估算,可協助業者在不需邏輯配置與使用率等有關設計的詳細資訊情況下,就能夠對於設計專案的功耗提出初估值。
運用FPGA設計技術降低功耗
許多設計技術亦能降低功耗,包括盡可能限制邏輯元件的區域、設定合成旗標來減少使用空間,以及減少邏輯的層數。流水線(Pipelining)也是有效的技術,藉由設定更高的時序限制,以減少電容,進而降低動態功耗。
設定配置與時序限制
妥善規畫設計電路圖有助於降低動態功耗,運用配置與群組的限制條件來降低實體面積,能協助業者在達到更高效能的同時,也降低路由的電容以及動態功耗。
此外,還有設定設計時序限制等其他技術。合成工具以及ISE邏輯配置(Routing-and Placement)工具都能讓業者輸入各種時序限制條件。若業者提高目標時序的限制門檻(尤其是時脈目標),路由器(Router)就會運用更積極的邏輯配置策略以達到目標,進而降低路由數量與功耗。
關閉部分區域或重新編程
另外,也有其他常用的設計技術能協助降低動態功耗,其中之一便是運用時脈多工方法,關閉部分的FPGA元件區域。在某些設計中,尤其是使用電池的應用產品,僅在特定時段才會消耗電力。在這類應用產品上,業者可以關閉時脈並將核心電壓降至能保存FPGA元件資料的最低程度。
要縮小特定作業所需的FPGA元件大小,其中一種方法是運用動態重設埠(Dynamic Reconfigurability Port, DRP)。對於不需同時存在的功能,DRP可藉由只重新載入一部分的FPGA,讓業者可使用更小的FPGA,以降低靜態功耗。
運用嵌入式區塊
另一種降低功耗的方法是運用嵌入式區塊,雖然建立特殊區塊的方法在某些設計專案中較花費時間,但可採用具備許多可當成特殊應用積體電路(Application Specific Integrated Circuit, ASIC)閘極的硬體IP之FPGA元件,其部分功能可由現今某些合成工具自動合成。新區塊的功耗比可編程邏輯元件以及可編程互連元件低5~20倍。嵌入式區塊不須要額外的電晶體(於可編程邏輯元件中),也不需使用可編程互連電晶體,所以能降低靜態功耗。另外,藉由運用金屬互連元件(非金屬與可編程互連元件),減少線路長度,降低額外節點電容(因為缺少被動電晶體),以及減少邏輯層數,嵌入式區塊也能夠降低動態功耗。
了解系統電力預算以及運作環境是非常重要的,透過了解各種形態的耗電來自何處,可讓業者調整FPGA環境及各種設計特性,進而降低功耗並成功達到電力預算的目標。
(本文作者為賽靈思先進產品部門應用工程資深工程師)
(詳細圖表請見新通訊62期4月號)