你的位置:首頁 > 測試測量 > 正文

設(shè)計低功耗、高性能FPGA的技術(shù)

發(fā)布時間:2014-04-28 責(zé)任編輯:xiongjianhua

【導(dǎo)讀】Actel公司的抗熔斷型FPGA提供低功耗且高性能應(yīng)用的理想解決方案。本文涵蓋Actel eX系列以及SX/SX-A系列器件,詳細描述了器件的結(jié)構(gòu)特點與設(shè)計技巧。

一、前言

隨著系統(tǒng)功率預(yù)算的不斷緊縮,迫切需要新型低功率元器件。對通信基礎(chǔ)設(shè)施而言,電路板冷卻、機箱體積小型化以及系統(tǒng)可靠性在系統(tǒng)設(shè)計中都起著重要的作用。對 e-應(yīng)用,電池壽命、熱耗散和小體積尺寸是主要的設(shè)計難點。選用智能器件,輔以正確的設(shè)計技巧增加了符合功率預(yù)算的可能性。盡管可編程邏輯器件(PLD) 有很好的性能,然而卻以犧牲功耗為代價。Actel公司的抗熔斷型FPGA提供低功耗且高性能應(yīng)用的理想解決方案。

二、抗熔斷型FPGA的結(jié)構(gòu)與特點

Actel 公司的抗熔斷型FPGA是用先進的CMOS工藝制作的,內(nèi)部采用專利的金屬-金屬抗熔斷元件。抗熔斷互連就象純金屬互連一樣,而與用晶體管開關(guān)的SRAM 互連截然不同??谷蹟嘟Y(jié)構(gòu)消除了CRAM互連開關(guān)中圖騰柱結(jié)構(gòu)的功耗,并且縮小了器件的尺寸,使全部連線資源都位于硅片的頂部。這種結(jié)構(gòu)可以更形象地用掩 埋在金屬層上的“模塊海洋”來描述,極大地減少了芯片的尺寸以及開關(guān)的電阻與電容,從而降低了功耗(圖1)。



分段式連線資源


該 類器件采用分段式連線資源,其容量是連線的長度,寬度和負載的函數(shù)。分段式連線較全長式短,因而電容也較小。分段結(jié)構(gòu)還允許切斷未使用連線,進一步減小了 電容。當(dāng)信號需要傳輸較長距離時,可將多個線段連接在一起,這是通過連線開關(guān)完成的。由于這類開關(guān)是快速且低功耗的,因此不會增加功耗與延時。eX以及 SX/SX-A結(jié)構(gòu)采用稱為Fastconnet與Directconnect兩種創(chuàng)新的局部連線資源將邏輯塊連接在一起。此外,器件還具有由不同段長度 組成的其它連線資源,以備需要較長距離的連線信號連接使用。

低功耗模式引腳

eX器件提供一個專用的低功耗引腳,這是降低功耗的又一種手段。它能關(guān)閉所有的內(nèi)部電荷泵,將靜態(tài)電流降低至幾乎為0。當(dāng)然用戶必須細心地處理某些邊緣效應(yīng),這將在下文詳細討論。

細晶粒結(jié)構(gòu)


粗 晶粒PLD與FPGA邏輯的效率比Actel細晶粒邏輯塊低,因而浪費了很多邏輯功能。Actel eX,SX/SX-A系列是在細晶粒4輸入MUX基本結(jié)構(gòu)上構(gòu)建的,且備有多個控制輸入。一個單元能實現(xiàn)多達5個輸入的邏輯功能,使邏輯映射功能更有效。 這種細晶粒結(jié)構(gòu)與大量的且分段的連線資源相結(jié)合,有助于在不犧牲性能的前提下降低功耗。

非易失性與通電時即時工作

由于 Actel FPGA采用抗熔斷技術(shù),本質(zhì)上是非易失性的,在通電時能即時工作,器件在通電序列中無需進行重構(gòu),信息是永久性編程的,信息的存儲與保持不消耗電流,從 而減小靜態(tài)電流,降低功耗。器件不必攜帶通電系統(tǒng)引導(dǎo)程序的PROM,因而是一種高性能的單片解決方案。
[page]
三、降低功耗的設(shè)計技巧

基 于CMOS的設(shè)計主要消耗三類切率:內(nèi)部的(短路)、漏電的(靜態(tài)的)以及開關(guān)的(電容)。當(dāng)門電路瞬變時,VDD與地之間短路連接消耗內(nèi)部功率。漏電功 耗是CMOS工藝普遍存在的寄生效應(yīng)引起的。而開關(guān)功耗則是自負載電容,放電造成的。開關(guān)功耗與短路功耗合在一起稱為動態(tài)功耗。下面介紹降低靜態(tài)功耗和動 態(tài)功耗的設(shè)計技巧。

降低靜態(tài)功耗


雖然靜態(tài)電流與動態(tài)電流相比可以忽略不計,然而對電池供電的手持設(shè)備就顯得十分重要,在 設(shè)備通電而不工作時更是如此。靜態(tài)電流的因素眾多,包括處于沒有完全關(guān)斷或接通的狀態(tài)下的I/O以及內(nèi)部晶體管的工作電流、內(nèi)部連線的電阻、輸入與三態(tài)電 驅(qū)動器上的拉或下拉電阻。在易失性技術(shù)中,保持編程信息也需一定的靜態(tài)功率??谷蹟嗍且环N非易失性技術(shù),因此信息存儲不消耗靜態(tài)電流。

下面介紹幾種降低靜態(tài)功耗的設(shè)計方法:

·驅(qū)動輸入應(yīng)有充分的電壓電平,因而所有晶體管都是完全通導(dǎo)或關(guān)閉的。

·由于I/O線上的上拉或下拉電阻要消耗一定的電流,因此盡量避免使用這些電阻。

·少用驅(qū)動電阻或雙極晶體管,這些器件需維持一個恒定電流,從而增加了靜態(tài)電流。

·將時鐘引腳按參數(shù)表推薦條件連接至低電平。懸空的時鐘輸入會大大增加靜態(tài)電流。

·在將設(shè)計劃分為多個器件時,減少器件間I/O的使用。

eX器件LP方式引腳的使用
Actel eX系列設(shè)計了特殊的低功率“休眠”模式。在該引腳驅(qū)動至高電平800ns后,器件進入極低功率待機模式,待機電流小于100μA。在低功率模式下,所有 I/O(除時鐘輸入外)都處于三態(tài),而內(nèi)核全部斷電。由于內(nèi)核被斷電,觸發(fā)器中存儲的信息會丟失,在進入工作模式(在引腳驅(qū)動至低平200ms后)時,用 戶需再次對器件初始化。同樣,用戶也應(yīng)關(guān)閉所有通過CLKA、CLKB以及HCLK輸入的時鐘。然而這些時鐘并不處于三態(tài),時鐘就可進入器件,從而增加功 耗,因此在低功率模式下,時鐘輸入必須處于邏輯0或邏輯1。

有時用戶很難阻止時鐘進入器件。在此場合,用戶可使用與CLKA或CLKA相鄰的正常輸入引腳并在設(shè)計中加進CLKINT。這樣,時鐘將通過靠近時鐘引腳的正常輸入進入器件,再通過CLKINT向器件提供時鐘資源。

采用這種輸入電路后,由于常規(guī)I/O是三態(tài)的,因此用戶不必擔(dān)心時鐘進入器件。當(dāng)然,增加一級門電路會產(chǎn)生0.6ns的較大時鐘延時,幸好這在多數(shù)低功率設(shè)計中是可以接受的。注意應(yīng)將與CLKINT緩沖器相關(guān)的CLKA或CLKB引腳接地。

此外還要注意,CLKINT只可用作連線時鐘,HCLK并不具備將內(nèi)部走線網(wǎng)連接到HCLK的能力,因而HCLK資源不能被常規(guī)輸入驅(qū)動。換句話說,如果使用LP引腳就不能使用HCLK;使用HCLK時就應(yīng)在外部截斷時鐘信號。

降低動態(tài)功耗

動 態(tài)功耗是在時鐘工作且輸入正在開關(guān)時的功耗。對CMOS電路,動態(tài)功耗基本上確定了總功耗。動態(tài)功耗包括幾個成分,主要是電容負載充電與放電(內(nèi)部與 I/O)以及短路電流。多數(shù)動態(tài)功率是內(nèi)部或外部電容向器件充、放電消耗的。如果器件驅(qū)動多個I/O負載,大量的動態(tài)電流構(gòu)成總功耗的主要部分。

對設(shè)計中給定的驅(qū)動器,動態(tài)功耗由下式計算

p=CL×V 2 DD×f

式中,CL是電容負載,VDD是電源電壓,f則是開關(guān)頻率。總功耗是每個驅(qū)動器功耗之總和。

由于VDD是固定的,降低內(nèi)部功耗就要降低平均邏輯開關(guān)頻率,減少每個時鐘沿處的邏輯開關(guān)總數(shù)、減少連線網(wǎng)絡(luò),特別是高頻信號連線網(wǎng)絡(luò)中的電容值。對低功率設(shè)計,需要從系統(tǒng)至工藝的每個設(shè)計級別中采取相應(yīng)預(yù)防措施,級別越高,效果越好。
[page]
四、減少開關(guān)活動量的設(shè)計方法

減少開關(guān)動作可在設(shè)計流程中的各個級別加以控制。當(dāng)然,在設(shè)計周期最初階段的結(jié)構(gòu)確定影響最大。設(shè)計者應(yīng)統(tǒng)盤考慮時鐘門控、總線時分復(fù)用、減少毛刺、使用功率低的數(shù)據(jù)通路元件、減少高開關(guān)信號的邏輯電平等。下面敘述某些常用的技巧。

時鐘門控

這 是最廣泛使用的方法,即在器件末使用時截斷時鐘來降低功耗。然而正確地截斷時鐘十分重要。門控信號與門控邏輯應(yīng)正確地設(shè)計,以消除時鐘線上的任何毛刺。再 者,門控邏輯會增加時鐘的延時,影響建立時間與保持時間。由于抗熔斷是一種極快速的技術(shù),引入的延時很小且容易控制。在使用時鐘門控時,用戶應(yīng)仔細地安置 門控邏輯,將時鐘網(wǎng)絡(luò)的延時降低到最小限度。典型的門控邏輯如圖3所示。
 

防護技巧


這 是一種在塊輸出不用時防止輸入信號使塊開關(guān)工作的技巧。例如考慮一個乘法器,它的輸出僅在某些特定條件下才使用。在此場合可增添一個鎖存器,這樣每當(dāng)輸出 不用時,乘法器的輸入將阻止不必要的開關(guān)動作帶入乘法器(圖4)。一個鎖存器只需一個組合單元,并不占用過多芯片面積。
 

總線復(fù)用

高 密度設(shè)計的布局必須留有空地并相當(dāng)?shù)卣归_,才可完成,這便導(dǎo)致連線長,每個線上開關(guān)多,這些因素產(chǎn)生不良的時序結(jié)果并增加了功耗。此外,塊中的邏輯趨向于 分類集結(jié)在一起,總線跨越不同塊時需走過較長的距離。在一個設(shè)計中采用時分復(fù)用寬總線技術(shù),可減少總線的數(shù)量,有利于時序和功耗。再者,在DSP設(shè)計中, 數(shù)據(jù)是相關(guān)的,這表明大多數(shù)數(shù)據(jù)位并未改變狀態(tài)。攜帶相關(guān)數(shù)據(jù)的總線應(yīng)盡量復(fù)用在一起,進一步減少MUX、DEMUX邏輯中的開關(guān)活動(圖5)。


減少毛刺與流水作業(yè)


毛 刺是信號趨于穩(wěn)定前不必要的開關(guān)動作。每個時鐘沿改變了寄存器間組合邏輯的輸入。對每個節(jié)點而言,不同的輸入路徑有不同的延時,它將多次改變狀態(tài)。節(jié)點上 的毛刺與該節(jié)點的邏輯深度,也就是節(jié)點至最初輸入的邏輯門個數(shù)有關(guān)。到達節(jié)點的邏輯錐體越深、越寬,毛刺也越多。降低邏輯深度,減少邏輯錐體的開關(guān)輸入可 減少這類毛剌。流水線、時序驅(qū)動合成以及邏輯單元的合理映射能減少邏輯級的數(shù)量。

流水線是又一種技巧,它在很長組合路徑的中點引入寄存 器。寄存器會增加等待時間,卻能增加速度,減少邏輯級。引入附加寄存器增加了一定的功耗,然而能極大地減少毛剌。例如,一個用ACTGEN生成的流水線 16×16位不帶符號乘法器所消耗的功率比未使用流水線的同樣器件少。

降低頻繁開關(guān)轉(zhuǎn)換信號的邏輯深度


重新安排“if-else”表達式,用戶可將毛刺或快變化信號移至邏輯錐體的后部。這樣既減少開關(guān)動作的傳播,又降低了功耗。在合成時,合成工具總是試圖降低高開關(guān)概率輸入信號的邏輯級,當(dāng)輸入具有同等開關(guān)概率時,最好采用平衡樹來合成邏輯。

選擇功率低的數(shù)據(jù)通路元件

不 同的數(shù)據(jù)通路元件對功耗產(chǎn)生不同的影響。例如,脈動進位具有少扇出,從而減少了邏輯面積,降低了功耗;然而它又使用了深開關(guān)傳播,因此就有一個利弊權(quán)衡, 折衷考慮。譯碼器通常是重負荷的,向它提供一個使能信號可在譯碼器不使用時防止輸出的不必要開關(guān)動作。對計數(shù)器,Gray計數(shù)器具有最低開關(guān)率,應(yīng)經(jīng)常使 用。對內(nèi)部存儲器尋址,也應(yīng)使用Gray尋址。

狀態(tài)機編碼

狀態(tài)機在傳統(tǒng)上是按二進制 編碼的。然而采用Gray編碼,相鄰狀態(tài)可減少瞬變的次數(shù)。有時不可能在所有狀態(tài)中使用Gray編碼,則應(yīng)在狀態(tài)矢量中增加觸發(fā)器的數(shù)量以減少開關(guān)的次 數(shù)。另一種方法是使用one-hot編碼,雖然該編碼使用的觸發(fā)器較多,即可減少組合邏輯的使用,在帶多個輸出且每個輸出是幾個狀態(tài)的函數(shù)的狀態(tài)機中更是 如此。根據(jù)狀態(tài)機的形式,設(shè)計者可在Gray、One-hot或二進制間進行選擇。

使用異步邏輯


雖 然并不經(jīng)常推薦使用異步邏輯,有時它也能降低功耗。一個例子是前文已提及的時鐘門控。時鐘大約消耗30%的總動態(tài)功率。在eX、SX/SX-A系列中,每 個序列元件具有連線時鐘的時鐘選擇邏輯、一個硬連時鐘(HCLK)或常規(guī)連線資源。對每個已使用的觸發(fā)器,它的時鐘選擇邏輯以時鐘速率開關(guān)。減少時鐘輸入 開關(guān)有助于降低功耗。例如一個異步二進制計數(shù)器的功耗僅為同步計數(shù)器的一半。當(dāng)然,異步邏輯會帶來諸如競爭狀態(tài),保持時間出錯的時序問題。因此使用異步邏 輯時特別推薦運行極小-極大條件下的時序模擬法。

降低時鐘速率

雖然時鐘速率是固定 的,有時也可采用低速并行而不是高速串行的方案。上文已提及,每個觸發(fā)器都有相應(yīng)的時鐘選擇邏輯,時鐘切耗占總功耗的很大一部分。任何旨在減少時鐘開關(guān)動 作的措施都有助于降低功耗。由于Actel的模塊和連線結(jié)構(gòu)具有低功率特片,使用附加邏輯模塊來補償較低時鐘速率還是能節(jié)省功率的。

相關(guān)閱讀:

【原創(chuàng)】初學(xué)者實用:數(shù)電和FPGA中常用觸發(fā)器的介紹
專家教你如何設(shè)計高級FPGA時鐘域 
實用技術(shù):利用FPGA技術(shù)設(shè)計設(shè)計步進電機系統(tǒng)

要采購開關(guān)么,點這里了解一下價格!
特別推薦
技術(shù)文章更多>>
技術(shù)白皮書下載更多>>
熱門搜索
壓控振蕩器 壓力傳感器 壓力開關(guān) 壓敏電阻 揚聲器 遙控開關(guān) 醫(yī)療電子 醫(yī)用成像 移動電源 音頻IC 音頻SoC 音頻變壓器 引線電感 語音控制 元件符號 元器件選型 云電視 云計算 云母電容 真空三極管 振蕩器 振蕩線圈 振動器 振動設(shè)備 震動馬達 整流變壓器 整流二極管 整流濾波 直流電機 智能抄表
?

關(guān)閉

?

關(guān)閉