0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

FPGA高級(jí)設(shè)計(jì)之實(shí)現(xiàn)功耗優(yōu)化

FPGA設(shè)計(jì)論壇 ? 來(lái)源:未知 ? 2023-05-19 13:50 ? 次閱讀


點(diǎn)擊上方藍(lán)字關(guān)注我們






FPGA高級(jí)設(shè)計(jì)之實(shí)現(xiàn)功耗優(yōu)化



ASICs(Application Specific Integrated Circuits)比較,相似的邏輯功能,用FPGA來(lái)實(shí)現(xiàn)需要消耗更多的功耗,而且FPGA通常并不適合超低功耗設(shè)計(jì)技術(shù)。許多FPGA的供應(yīng)商提供一種低功耗邏輯芯片,即CPLD,但是CPLD非常受限于尺寸和能力,因此將無(wú)法總是滿足那些需要數(shù)量可觀的功耗的應(yīng)用。本章將詳細(xì)討論低功耗CPLD和通用FPGA設(shè)計(jì)功率效率最大化技巧。

在CMOS技術(shù)中,動(dòng)態(tài)功耗與門(mén)電路和金屬走線中的寄生電容的充放電有關(guān)。一個(gè)電容的電流損耗的通用公式如下所示:

I=V*C*f

這里I是總電流,V是電壓,C是電容值,而f是指頻率。

那么,為了減小電流,那么我必須減小公式右邊三個(gè)關(guān)鍵參數(shù)中的一個(gè)即可。在FPAG設(shè)計(jì)中,電壓通常是固定的,所以只留下C和f可以用來(lái)改變電流。電容C和給定時(shí)間內(nèi)處于活動(dòng)的門(mén)電路數(shù)量以及連接這些門(mén)電路的走線長(zhǎng)度有直接關(guān)系。而頻率f則和時(shí)鐘頻率直接相關(guān)。所以所有降低功耗的技術(shù)都絕對(duì)針對(duì)于減少這兩種參數(shù)。

本章將主要討論以下一些可以降低功耗的技術(shù):

  • 時(shí)鐘控制對(duì)于動(dòng)態(tài)功耗的影響

  • 使用門(mén)控時(shí)鐘的問(wèn)題

  • 管理門(mén)控時(shí)鐘上的偏斜

  • 輸入控制以最小化功耗

  • 核心供電電壓對(duì)功耗的影響

  • 觸發(fā)器雙沿觸發(fā)指導(dǎo)

  • 終端匹配降低靜態(tài)功耗

通過(guò)減少高翻轉(zhuǎn)率網(wǎng)絡(luò)的布線長(zhǎng)度來(lái)降低動(dòng)態(tài)功耗的討論,需要有了解布局布線的背景,因此這種技術(shù)不在本章介紹范圍內(nèi),將在后面有關(guān)Floorplanning的章節(jié)進(jìn)行詳細(xì)討論。

3.1時(shí)鐘控制

在同步數(shù)據(jù)電路設(shè)計(jì)中,降低動(dòng)態(tài)功耗最有效以及使用最廣的技術(shù)是在某些指定區(qū)域數(shù)據(jù)流的特定階段不需要時(shí)鐘處于活動(dòng)狀態(tài)的時(shí)候禁止時(shí)鐘活動(dòng)。因?yàn)镕PGA的動(dòng)態(tài)功耗大部分時(shí)候是與系統(tǒng)時(shí)鐘的翻轉(zhuǎn)有直接關(guān)系,所以臨時(shí)性地停止設(shè)計(jì)中某些處于非活動(dòng)區(qū)域的時(shí)鐘往往是最小化這類功耗最直接的方法。為了達(dá)成此目的,有兩種推薦方法,一種是在觸發(fā)器中使用時(shí)鐘使能,另外一種是使用全局時(shí)鐘多路選擇器(Xilinx器件中稱為BUFGMUX單元)。如果這些時(shí)鐘控制單元在一些特定技術(shù)中無(wú)法實(shí)現(xiàn),設(shè)計(jì)者此時(shí)往往訴諸于門(mén)控系統(tǒng)時(shí)鐘。需要注意的是,門(mén)控時(shí)鐘在FPGA設(shè)計(jì)中是不被推薦的,而且這一章我們還會(huì)詳細(xì)討論直接門(mén)控系統(tǒng)時(shí)鐘將會(huì)帶來(lái)的一些問(wèn)題。因此,如果有可能盡量使用觸發(fā)器的時(shí)鐘使能輸入或者全局時(shí)鐘多路選擇器來(lái)代替時(shí)鐘門(mén)控。

在進(jìn)行后續(xù)討論之前,我們假定讀者已經(jīng)非常熟悉FPGA的時(shí)鐘設(shè)計(jì)指導(dǎo)。通常,F(xiàn)PGA是同步器件,而且通過(guò)門(mén)控或者異步接口引入多時(shí)鐘域往往會(huì)增加FPGA設(shè)計(jì)的難度。有關(guān)時(shí)鐘的更深層次討論,我們后續(xù)在有關(guān)時(shí)鐘域一章中進(jìn)行詳細(xì)說(shuō)明。

圖3-1顯示了一種包含簡(jiǎn)單門(mén)控時(shí)鐘的蹩腳設(shè)計(jì)。使用這種時(shí)鐘拓?fù)浣Y(jié)構(gòu)時(shí),所有觸發(fā)器以及相應(yīng)的組合邏輯在主時(shí)鐘活動(dòng)的任何時(shí)候都處于活動(dòng)狀態(tài)(即處于翻轉(zhuǎn)中)。然而,處于虛線框中的邏輯只有在時(shí)鐘使能等于1的時(shí)候才處于活動(dòng)狀態(tài)。這里所指的時(shí)鐘使能信號(hào),就是門(mén)控或者使能信號(hào)。通過(guò)像圖3-1那樣門(mén)控部分電路,根據(jù)被門(mén)控的邏輯量(對(duì)應(yīng)于電容C)以及對(duì)應(yīng)門(mén)控的平均頻率(對(duì)應(yīng)于頻率f),設(shè)計(jì)者可以嘗試成比例地減少動(dòng)態(tài)功耗。時(shí)鐘門(mén)控是降低動(dòng)態(tài)功耗的直接手段,但是會(huì)帶來(lái)設(shè)計(jì)實(shí)現(xiàn)以及時(shí)序分析難度的增加。

圖3-1:帶簡(jiǎn)單門(mén)控時(shí)鐘的蹩腳設(shè)計(jì)

在我們接著往下討論之前,需要注意的很重要一點(diǎn)是仔細(xì)規(guī)劃時(shí)鐘在FPGA設(shè)計(jì)中是非常重要的。系統(tǒng)時(shí)鐘是所有同步數(shù)字電路的核心。EDA工具都由系統(tǒng)時(shí)鐘驅(qū)動(dòng)來(lái)優(yōu)化和時(shí)序綜合、布局布線以及靜態(tài)時(shí)序分析等等。所以,要認(rèn)真對(duì)待系統(tǒng)時(shí)鐘或者其它時(shí)鐘,并在設(shè)計(jì)實(shí)現(xiàn)整個(gè)過(guò)程中必須被賦予最大優(yōu)先級(jí)考慮的特性。在FPGA設(shè)計(jì)中,時(shí)鐘要比在ASIC設(shè)計(jì)中更嚴(yán)肅地對(duì)待,因此相比ASIC設(shè)計(jì)相應(yīng)創(chuàng)建時(shí)鐘結(jié)構(gòu)的靈活性就更小。

時(shí)鐘被門(mén)控后,這個(gè)被門(mén)控的新網(wǎng)絡(luò)所驅(qū)動(dòng)的所有時(shí)鐘端口都應(yīng)該至少被認(rèn)為是一個(gè)新的時(shí)鐘域。同系統(tǒng)時(shí)鐘一樣,這個(gè)新的時(shí)鐘網(wǎng)絡(luò)到該時(shí)鐘域的所有觸發(fā)器都需要一個(gè)低偏斜的路徑。對(duì)于ASIC設(shè)計(jì)者來(lái)說(shuō),這些低偏斜時(shí)鐘走線可能已經(jīng)內(nèi)置在用戶時(shí)鐘樹(shù)中,但是對(duì)于FPGA設(shè)計(jì)者來(lái)說(shuō)這將成為問(wèn)題,因?yàn)镕PG**內(nèi)低偏斜走線資源不但數(shù)量有限,而且分布固定。因此,我們說(shuō)門(mén)控時(shí)鐘在給設(shè)計(jì)引入新的時(shí)鐘域同時(shí),還給FPGA設(shè)計(jì)者增加了設(shè)計(jì)上的難度。本節(jié)后面我們來(lái)介紹由門(mén)控時(shí)鐘引入的這些問(wèn)題。

3.11時(shí)鐘偏斜

時(shí)鐘偏斜是時(shí)序邏輯設(shè)計(jì)中一個(gè)很重要的概念。在直接談?wù)撻T(mén)控時(shí)鐘相關(guān)問(wèn)題之前,我們必須首先有必要簡(jiǎn)要回顧一下時(shí)鐘偏斜(skew)的定義。

如圖3-2所示,假定第一個(gè)觸發(fā)器和第二個(gè)觸發(fā)器之間的時(shí)鐘信號(hào)傳播延遲為零。如果通過(guò)“云朵”中的組合邏輯的延時(shí)是正的,那么設(shè)計(jì)時(shí)序?qū)?huì)得到符合,時(shí)序是否符合將由時(shí)鐘周期相對(duì)于組合邏輯延時(shí)加上邏輯布線延時(shí)再加上觸發(fā)器建立時(shí)間來(lái)確定。每個(gè)時(shí)鐘周期,一個(gè)信號(hào)只能在一組觸發(fā)器對(duì)之間傳輸。不過(guò),圖3-2中第二個(gè)和第三個(gè)觸發(fā)器之間的情況與前一級(jí)有所區(qū)別。因?yàn)闀r(shí)鐘走線到第二和第三個(gè)觸發(fā)器的延時(shí)不一樣,即時(shí)鐘正沿不是同時(shí)到達(dá)這兩個(gè)觸發(fā)器。如圖所示,時(shí)鐘正沿是經(jīng)過(guò)了一個(gè)延時(shí)為dC后才到達(dá)第三個(gè)觸發(fā)器的。

圖3-2:時(shí)鐘偏斜

如果通過(guò)邏輯的延時(shí)(定義為dL)小于時(shí)鐘線上的延時(shí)(dC),那么就會(huì)發(fā)生一種情況,即從第二個(gè)觸發(fā)器傳輸?shù)降谌齻€(gè)觸發(fā)器的信號(hào)將會(huì)早于時(shí)鐘正沿到達(dá)第三個(gè)觸發(fā)器。所以當(dāng)時(shí)鐘正沿到達(dá)第三級(jí)時(shí),相同信號(hào)有可能也由該觸發(fā)器輸出。那么,就會(huì)造成一個(gè)信號(hào)在第二級(jí)和第三級(jí)上在同一個(gè)時(shí)鐘上升沿時(shí)被送出。這個(gè)情況將導(dǎo)致電路出現(xiàn)災(zāi)難性錯(cuò)誤,所以時(shí)鐘偏斜在時(shí)序分析的時(shí)候必須要考慮到。需要注意的是時(shí)鐘偏斜與時(shí)鐘速度并無(wú)關(guān)系,這一點(diǎn)很重要。所以,上面描述的信號(hào)“飛越”兩級(jí)觸發(fā)器的問(wèn)題發(fā)生的時(shí)候,是完全無(wú)視當(dāng)前時(shí)鐘的頻率。謹(jǐn)記這個(gè)觀點(diǎn),處理時(shí)鐘偏斜不當(dāng),將會(huì)給FPGA設(shè)計(jì)帶來(lái)災(zāi)難性的錯(cuò)誤。

3.1.2時(shí)鐘偏斜管理

FPGA內(nèi)提供一種低偏斜的資源,這種資源可以確保時(shí)鐘信號(hào)到所有時(shí)鐘端口的延時(shí)都盡可能的一致(皮秒級(jí))。舉例來(lái)說(shuō),我們來(lái)看這樣一種情況,即一個(gè)門(mén)被引入到了時(shí)鐘網(wǎng)絡(luò),如圖3-3所示。

圖3-3:蹩腳設(shè)計(jì)之時(shí)鐘門(mén)控引入時(shí)鐘偏斜

這時(shí)候時(shí)鐘線必然要離開(kāi)低偏斜的全局資源并被布線到邏輯門(mén),這里是一個(gè)與門(mén)。如此時(shí)鐘線上增加了偏斜,增加偏斜帶來(lái)的基本問(wèn)題和我們上一節(jié)描述的一樣??梢韵胂?,經(jīng)過(guò)與門(mén)的延時(shí)(dG)再加上走線延時(shí),那么時(shí)鐘到最后一級(jí)觸發(fā)器的延時(shí)將會(huì)大于信號(hào)的邏輯延時(shí)(dL)。為了解決這個(gè)潛在的問(wèn)題,必須給邏輯實(shí)現(xiàn)和時(shí)序分析工具施加一系列約束,這樣任何與由邏輯門(mén)引入的偏斜有關(guān)的時(shí)序問(wèn)題將會(huì)得到解決,而且實(shí)現(xiàn)也能在實(shí)現(xiàn)后得到正確地分析。

下面我們來(lái)看一個(gè)具體的例子,下述代碼是一個(gè)使用了門(mén)控時(shí)鐘的蹩腳設(shè)計(jì)。

以下是代碼片段:

module clockgating(

output dataout,

input clk,datain,

input clockgate1);

reg ff0,ff1,ff2;

wire clk1;

//當(dāng)邏輯門(mén)為低時(shí)時(shí)鐘被禁止

assign clk1=clk&clockgate1;

assign dataout=ff2;

always @ (posedge clk)

ff0<=datain;

always @ (posedge clk)

ff1<=ff0;

always @ (posedge clk1)

ff2<=ff1;

endmodule

上例中,數(shù)據(jù)路徑上沒(méi)有任何組合邏輯,但是時(shí)鐘路徑上有組合邏輯,如圖3-4所示。

圖3-4:時(shí)鐘歪斜主導(dǎo)的延時(shí)

不同的工具,將會(huì)采樣不同的方式來(lái)處理這種情況。有些工具,比如Synplify,默認(rèn)會(huì)將時(shí)鐘門(mén)控邏輯移除,從而創(chuàng)建一個(gè)純同步設(shè)計(jì)。而其它一些工具會(huì)在時(shí)鐘缺乏約束的時(shí)候忽略掉時(shí)鐘歪斜問(wèn)題,但是,一旦時(shí)鐘被正確約束的時(shí)候會(huì)人為地在數(shù)據(jù)上加入延時(shí)。

和ASIC設(shè)計(jì)不同,由于邏輯塊和布線資源中內(nèi)置有延時(shí),所以FPGA設(shè)計(jì)中發(fā)生保持時(shí)間違規(guī)是非常罕見(jiàn)的。但是,如前所述,如果在時(shí)鐘線上進(jìn)行過(guò)渡的延時(shí),就有可能導(dǎo)致保持時(shí)間違規(guī)。比如,我們可能面臨這樣一個(gè)事實(shí),即數(shù)據(jù)傳輸延時(shí)小于1ns,而時(shí)鐘延時(shí)幾乎達(dá)到了2ns,這樣數(shù)據(jù)幾乎比時(shí)鐘提前1ns到達(dá),從而導(dǎo)致了一個(gè)嚴(yán)重時(shí)序違規(guī)。根據(jù)綜合工具的差異,有時(shí),這個(gè)問(wèn)題可以通過(guò)添加時(shí)鐘約束來(lái)得到解決。所以,后續(xù)的時(shí)序分析也許會(huì)或者不會(huì)(完全依據(jù)技術(shù))展現(xiàn)在數(shù)據(jù)路徑上人為地添加的布線延時(shí)來(lái)消除保持時(shí)間違規(guī)的問(wèn)題。因此,因門(mén)控時(shí)鐘導(dǎo)致的保持時(shí)間違規(guī)可能會(huì)被工具解決,也可能不會(huì)。

這里值得再次重申的是,大部分供應(yīng)商都能提供高級(jí)時(shí)鐘緩沖技術(shù)。這種技術(shù)使得器件可以建立全局時(shí)鐘樹(shù)。我們總是建議大家采用這類時(shí)鐘控制,而不是上述通過(guò)邏輯單元實(shí)現(xiàn)的時(shí)鐘門(mén)控。

3.2輸入控制

有一種可以降低功耗的技術(shù)通常都容易被大家忽略,即可以通過(guò)降低輸入的上升沿斜率降低功耗。在上下兩側(cè)晶體管同時(shí)導(dǎo)通的時(shí)候,CMOS的輸入緩沖會(huì)產(chǎn)生持續(xù)的吸電流。為了描述方便,我們來(lái)看一個(gè)CMOS晶體管基本階模型,如圖3-5所示,為Ids-Vds曲線圖。

圖3-5:CMOS晶體管簡(jiǎn)單的I-V曲線

圖3-5中,Vgs是柵源電壓,Vth是器件門(mén)限電壓,Vds是漏源電壓。各段曲線區(qū)域分布被定義為:

截止區(qū):Vgs

線性區(qū):0

飽和區(qū):0 < Vgs – Vth < Vds

那么管子在理想情況下的開(kāi)關(guān)動(dòng)作應(yīng)該是這樣的,N溝道MOS管當(dāng)輸入到柵極時(shí)管子從截止區(qū)瞬間切換到線性區(qū),而P溝道MOS管應(yīng)該瞬間執(zhí)行上述相反的切換動(dòng)作。不管N溝道還是P溝道MOS管,假如管子一直是處于截止?fàn)顟B(tài),那么管子中就不會(huì)有電流(也即電壓和地之間阻抗很大)。以一個(gè)反相器舉例來(lái)說(shuō),如果由NMOS(N溝道MOSFET)來(lái)實(shí)現(xiàn)的話,從0跳轉(zhuǎn)到VDD(正電壓軌)意味著NMOS從截止區(qū)瞬間切換到線性區(qū),而如果是PMOS(N溝道MOSFET)則是從線性區(qū)瞬間切換到截止區(qū)。相反,如果Vgs從VDD跳變到0,那么NMOS從線性區(qū)瞬間切換到截止區(qū),而PMOS是從截止區(qū)瞬間切換到線性區(qū)。

然而在實(shí)際系統(tǒng)中,我們必須要考慮MOS管中晶體管的切換時(shí)間以及導(dǎo)通特性。還是以以一個(gè)CMOS反相器為例,反相器輸入一個(gè)0伏,那么輸出一個(gè)VDD。當(dāng)輸入從0變化到VDD時(shí),一旦輸入達(dá)到門(mén)限電壓Vth后NMOS晶體管就會(huì)離開(kāi)截止區(qū),并進(jìn)入飽和區(qū)。對(duì)于PMOS來(lái)說(shuō),在上述變化前期還一直處于線性區(qū),所以在VDD和地之間會(huì)有電流。隨著輸入的增大,輸出下降。當(dāng)NMOS的漏極電壓低于柵極電壓的門(mén)限電壓時(shí),NMOS進(jìn)入線性區(qū),而PMOS進(jìn)入飽和區(qū)隨后進(jìn)入截止區(qū)。為了最小化功耗,有必要最大限度減小飽和區(qū)的時(shí)間,也就是說(shuō)最大限度減小輸入的跳變時(shí)間??偨Y(jié)來(lái)說(shuō),就是最大限度減小輸入信號(hào)的上升和下降時(shí)間可以最大限度地降低器件輸入引腳的功耗。

根據(jù)前面劃分曲線各個(gè)分區(qū)的公式,我們還可以得出另外一個(gè)重要的結(jié)論。即如果驅(qū)動(dòng)信號(hào)在沒(méi)有開(kāi)關(guān)切換的時(shí)候未處于穩(wěn)定狀態(tài),比如超出0或者Vdd規(guī)定的限值范圍,那么晶體管就將會(huì)從之前的截止區(qū)進(jìn)入飽和區(qū),并且開(kāi)始消耗小部分的電流。這在小擺幅信號(hào)驅(qū)動(dòng)高電壓供電的輸入時(shí),將會(huì)給系統(tǒng)帶來(lái)問(wèn)題。

和上面描述的原則類似,在FPGA設(shè)計(jì)中,一個(gè)懸空的輸入引腳要比一個(gè)有驅(qū)動(dòng)的輸入引腳更糟糕。FPGA的引腳懸空,一般都被認(rèn)為帶驅(qū)動(dòng)的輸入,但是由于其懸空,所以無(wú)法得知它到底是如何被驅(qū)動(dòng)的。那樣懸空有可能被認(rèn)作亞穩(wěn)態(tài),那樣兩種晶體管都將會(huì)處于飽和區(qū)。如此將會(huì)給功耗帶來(lái)災(zāi)難性的影響。同樣糟糕的是,這是個(gè)無(wú)法復(fù)現(xiàn)的問(wèn)題。因?yàn)榇蟛糠諪PGA器件都能提供阻抗匹配,所以一個(gè)好的設(shè)計(jì)應(yīng)該將那些未用到的輸入引腳定義一個(gè)可知的狀態(tài),這樣可以避免由于引腳懸空帶來(lái)的不可預(yù)知的影響。

3.3降低供電電壓

雖然降低器件的供電電壓通常不是一個(gè)值得嘗試的選項(xiàng),但是這里還是有必要提一下其對(duì)于功耗的戲劇性影響。我們知道,一個(gè)簡(jiǎn)單電阻上功耗即功率與加載其上的電壓的平方成正比。那么,通過(guò)將FPGA的供電電壓降低到電壓要求的最低值,可以顯著地降低FPGA的功耗。然而,需要特別注意的是,降低供電電壓也會(huì)降低系統(tǒng)的性能。如果需要采取這種方式來(lái)降低功耗,那么就需要確保時(shí)序分析最快時(shí)序時(shí)已經(jīng)考慮到在供電電壓處于最低要求時(shí)這種最壞的情況。所以,我們可以得出這樣的結(jié)論,F(xiàn)PGA的動(dòng)態(tài)功耗會(huì)隨著核心電壓的平方成比例降低,但是降低電壓對(duì)于FPGA的性能會(huì)造成負(fù)面的影響。

因?yàn)橐话鉌PGA都規(guī)定電壓的正常工作范圍為工作值的5%到10%,所以千萬(wàn)要注意從系統(tǒng)設(shè)計(jì)方面綜合考慮。通常來(lái)說(shuō),為了很好地保持核心電壓在一個(gè)指定的范圍內(nèi),電源問(wèn)題可以通過(guò)其它技術(shù)解決。

3.4觸發(fā)器雙沿觸發(fā)

由于事實(shí)上功耗部分地和信號(hào)翻轉(zhuǎn)頻率相關(guān),所以對(duì)于那些高扇出網(wǎng)絡(luò),最好盡可能地?cái)U(kuò)展其每次翻轉(zhuǎn)的功能。大部分時(shí)候,一個(gè)系統(tǒng)的最大扇出網(wǎng)絡(luò)通常是系統(tǒng)時(shí)鐘,那么任何降低該時(shí)鐘頻率的技術(shù)都會(huì)對(duì)動(dòng)態(tài)功耗產(chǎn)生戲劇性影響。所謂的雙沿觸發(fā)觸發(fā)器,是提供了一種在時(shí)鐘的上下沿傳播數(shù)據(jù)的機(jī)制,而不只是單單使用時(shí)鐘的單個(gè)沿。如此就使得設(shè)計(jì)者可以在時(shí)鐘速度減半的情況下獲得之前全速時(shí)鐘下一樣的功能和性能。

在代碼中可以非常直接地設(shè)計(jì)雙沿觸發(fā)的觸發(fā)器,下面這個(gè)代碼示例就通過(guò)一個(gè)簡(jiǎn)單的移位寄存器對(duì)此進(jìn)行了展示。注意這個(gè)例子中的輸入信號(hào)在時(shí)鐘的上升沿被采集,接著被送入雙沿觸發(fā)器。

以下是代碼片段:

module dualedge(

output reg dataout,

input clk,datain);

reg ff0,ff1;

always @ (posedge clk)

ff0<=datain;

always @ (posedge clk or negedge clk) begin

ff1<=ff0;

dataout<=ff1;

end

endmodule

需要注意的是,當(dāng)器件中沒(méi)有雙沿觸發(fā)器資源時(shí),將會(huì)由一些冗長(zhǎng)的觸發(fā)器以及門(mén)控邏輯來(lái)模擬上述對(duì)應(yīng)的功能。這將完全違反了我們采取雙沿策略的最初意圖,而且功能實(shí)現(xiàn)以后應(yīng)當(dāng)?shù)玫酵咨频胤治?。?duì)于一個(gè)好的綜合工具,在發(fā)現(xiàn)器件沒(méi)有雙沿觸發(fā)器的情況,應(yīng)當(dāng)至少會(huì)給出一個(gè)警告信息。所以這種雙沿觸發(fā)器來(lái)降低功耗的策略,應(yīng)該只適用于那些能提供這種資源的器件。

Xilinx的Coolrunner-II家族中的器件就包含有一種名為CoolClock的特性,這種特性可以將輸入時(shí)鐘進(jìn)行二分頻后讓觸發(fā)器工作于上述討論的雙沿狀態(tài)。從器件外部看來(lái),器件仍然無(wú)異于工作在單沿觸發(fā)的系統(tǒng),區(qū)別在于全局時(shí)鐘線上的動(dòng)態(tài)功耗減少了一半。

3.5修改阻抗匹配

帶總線信號(hào)、開(kāi)漏或者傳輸線輸出的系統(tǒng),其輸出引腳上通常都連接電阻負(fù)載,需要進(jìn)行終端匹配。上述所有這些例子中,F(xiàn)PGA輸出驅(qū)動(dòng)中的一個(gè)CMOS晶體管需要通過(guò)其中一個(gè)電阻負(fù)載源出或者吸入電流。因?yàn)檩敵龆夹枰侠娮?,可以通過(guò)最小可接受的上升時(shí)間計(jì)算出最大可能的電阻。如果總線上同時(shí)存在主從驅(qū)動(dòng)器,那么要確??偩€競(jìng)爭(zhēng)的情況不好發(fā)生,因?yàn)橐坏┌l(fā)生,即使只有幾納秒的時(shí)間,也會(huì)產(chǎn)生過(guò)大的電流。對(duì)于傳輸線來(lái)說(shuō),通常需要在負(fù)載處需要分流端接,根據(jù)系統(tǒng)的要求也可以使用串行端接替代。如圖3-6所示,使用串行端接時(shí),沒(méi)有穩(wěn)定的電流耗散。

圖3-6:端接類型

使用串行端接的不利在于:

  • 從負(fù)載到端接電阻有一個(gè)初始信號(hào)反射

  • 串聯(lián)電阻在信號(hào)傳輸?shù)臅r(shí)候會(huì)造成一部分衰減

如果一個(gè)系統(tǒng)可以接受上述這些不利的性能特性,那么串聯(lián)端接方案可以通過(guò)端接電阻來(lái)減少靜態(tài)功耗。

3.5優(yōu)化要點(diǎn)總結(jié)

  • 如果有可能盡量使用觸發(fā)器的時(shí)鐘使能輸入或者全局時(shí)鐘多路選擇器來(lái)代替時(shí)鐘門(mén)控。

  • 時(shí)鐘門(mén)控是降低動(dòng)態(tài)功耗的直接手段,但是會(huì)增加設(shè)計(jì)實(shí)現(xiàn)以及時(shí)序分析的難度。

  • 時(shí)鐘歪斜處理不當(dāng)將會(huì)給FPGA設(shè)計(jì)造成災(zāi)難性的錯(cuò)誤。

  • 時(shí)鐘門(mén)控會(huì)導(dǎo)致保持時(shí)間違規(guī),實(shí)現(xiàn)工具可能會(huì)也可能不會(huì)糾正。

  • 為了最大限度減少器件輸入帶來(lái)的功耗,可以最大限度減小驅(qū)動(dòng)輸入信號(hào)的上升和下降時(shí)間。

  • 對(duì)于未使用到的輸入緩沖總是進(jìn)行端接處理,不要讓FPGA的輸入緩沖處于懸空狀態(tài)。

  • 動(dòng)態(tài)功耗會(huì)隨著核心電壓的平方成比例變化,但是通過(guò)降低電壓達(dá)到減少功耗的同時(shí),會(huì)給設(shè)計(jì)性能帶來(lái)負(fù)面的影響。

  • 雙沿觸發(fā)的觸發(fā)器只有在器件可以提供這類資源的時(shí)候才應(yīng)該被使用。

  • 串聯(lián)端接上沒(méi)有穩(wěn)定的電流耗散。






往期推薦
  • 至芯科技-FPGA就業(yè)培訓(xùn)來(lái)襲!你的選擇開(kāi)啟你的高薪之路!5月6號(hào)北京中心開(kāi)課、歡迎咨詢!

  • 求職納賢、博微太赫茲信息科技有限公司招聘FPGA工程師

  • 一文解讀IIC總線的FPGA實(shí)現(xiàn)原理及過(guò)程



掃碼二維碼

獲取更多精彩

FPGA設(shè)計(jì)論壇


喜歡就點(diǎn)個(gè)在看再走吧






原文標(biāo)題:FPGA高級(jí)設(shè)計(jì)之實(shí)現(xiàn)功耗優(yōu)化

文章出處:【微信公眾號(hào):FPGA設(shè)計(jì)論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1625

    文章

    21620

    瀏覽量

    601238

原文標(biāo)題:FPGA高級(jí)設(shè)計(jì)之實(shí)現(xiàn)功耗優(yōu)化

文章出處:【微信號(hào):gh_9d70b445f494,微信公眾號(hào):FPGA設(shè)計(jì)論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何優(yōu)化單片機(jī)項(xiàng)目的功耗

    在現(xiàn)代電子設(shè)計(jì)中,功耗優(yōu)化已成為一個(gè)不可忽視的重要議題。對(duì)于單片機(jī)(MCU)項(xiàng)目而言,功耗不僅關(guān)系到產(chǎn)品的能效比,還直接影響到電池壽命和熱管理。 硬件層面的功耗
    的頭像 發(fā)表于 11-01 14:16 ?136次閱讀

    如何優(yōu)化FPGA設(shè)計(jì)的性能

    優(yōu)化FPGA(現(xiàn)場(chǎng)可編程門(mén)陣列)設(shè)計(jì)的性能是一個(gè)復(fù)雜而多維的任務(wù),涉及多個(gè)方面和步驟。以下是一些關(guān)鍵的優(yōu)化策略: 一、明確性能指標(biāo) 確定需求 :首先,需要明確FPGA設(shè)計(jì)的性能指標(biāo),包
    的頭像 發(fā)表于 10-25 09:23 ?132次閱讀

    FPGA應(yīng)用于人工智能的趨勢(shì)

    高速和低功耗FPGA通過(guò)優(yōu)化硬件結(jié)構(gòu)和算法實(shí)現(xiàn),能夠在處理復(fù)雜的人工智能任務(wù)時(shí)保持高速和低功耗,這對(duì)于資源有限的嵌入式系統(tǒng)和移動(dòng)設(shè)備
    的頭像 發(fā)表于 10-25 09:20 ?293次閱讀

    安達(dá)發(fā)|APS高級(jí)排程高級(jí)物料需求計(jì)劃

    中的應(yīng)用。我們來(lái)了解一下APS高級(jí)排程系統(tǒng),APS高級(jí)排程軟件可以幫助企業(yè)實(shí)現(xiàn)生產(chǎn)過(guò)程的優(yōu)化,提高生產(chǎn)效率,降低庫(kù)存成本,縮短交貨周期,從而提高企業(yè)的競(jìng)爭(zhēng)力。APS
    的頭像 發(fā)表于 09-25 17:49 ?221次閱讀
    安達(dá)發(fā)|APS<b class='flag-5'>高級(jí)</b>排程<b class='flag-5'>高級(jí)</b>物料需求計(jì)劃

    xWR6843功耗優(yōu)化

    電子發(fā)燒友網(wǎng)站提供《xWR6843功耗優(yōu)化.pdf》資料免費(fèi)下載
    發(fā)表于 09-04 10:51 ?0次下載
    xWR6843<b class='flag-5'>功耗</b><b class='flag-5'>優(yōu)化</b>

    xWRL6432低功耗雷達(dá)-功耗優(yōu)化技術(shù)

    電子發(fā)燒友網(wǎng)站提供《xWRL6432低功耗雷達(dá)-功耗優(yōu)化技術(shù).pdf》資料免費(fèi)下載
    發(fā)表于 08-23 09:17 ?0次下載
    xWRL6432低<b class='flag-5'>功耗</b>雷達(dá)-<b class='flag-5'>功耗</b><b class='flag-5'>優(yōu)化</b>技術(shù)

    優(yōu)化 FPGA HLS 設(shè)計(jì)

    優(yōu)化 FPGA HLS 設(shè)計(jì) 用工具用 C 生成 RTL 的代碼基本不可讀。以下是如何在不更改任何 RTL 的情況下提高設(shè)計(jì)性能。 介紹 高級(jí)設(shè)計(jì)能夠以簡(jiǎn)潔的方式捕獲設(shè)計(jì),從而
    發(fā)表于 08-16 19:56

    談一談FPGA設(shè)計(jì)中的功率計(jì)算

    優(yōu)化編碼 優(yōu)化熱模型 依據(jù)設(shè)計(jì)中所用器件資源的全部數(shù)據(jù)、所有對(duì)建立熱模型至關(guān)重要的環(huán)境變量、以及在設(shè)計(jì)過(guò)程中自由地使用和修改各點(diǎn)參數(shù),就可以可靠地實(shí)現(xiàn)FPGA設(shè)計(jì),使其滿足系統(tǒng)性能指
    發(fā)表于 07-31 22:37

    在多FPGA集群上實(shí)現(xiàn)高級(jí)并行編程

    今天我們看的這篇論文介紹了在多FPGA集群上實(shí)現(xiàn)高級(jí)并行編程的研究,其主要目標(biāo)是為非FPGA專家提供一個(gè)成熟且易于使用的環(huán)境,以便在多個(gè)并行運(yùn)行的設(shè)備上擴(kuò)展高性能計(jì)算(HPC)應(yīng)用。
    的頭像 發(fā)表于 07-24 14:54 ?1035次閱讀

    FPGA如何估算分析功耗

    FPGA功耗由4部分組成:上電功耗、配置功耗、靜態(tài)功耗和動(dòng)態(tài)功耗。一般的
    的頭像 發(fā)表于 07-18 11:11 ?1745次閱讀
    <b class='flag-5'>FPGA</b>如何估算分析<b class='flag-5'>功耗</b>

    FPGA實(shí)現(xiàn)LeNet-5卷積神經(jīng)網(wǎng)絡(luò)

    ,利用 FPGA 實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)成為了一種高效、低功耗的解決方案,特別適合于邊緣計(jì)算和嵌入式系統(tǒng)。本文將詳細(xì)介紹如何使用 FPGA 實(shí)現(xiàn) Le
    的頭像 發(fā)表于 07-11 10:27 ?1942次閱讀

    藍(lán)牙模塊功耗優(yōu)化技術(shù)研究

    優(yōu)化技術(shù)的研究具有重要意義。 藍(lán)牙版本迭代與功耗改進(jìn) 藍(lán)牙技術(shù)的不斷發(fā)展為功耗優(yōu)化提供了有力支持。從藍(lán)牙1.0到藍(lán)牙5.0,每個(gè)版本的迭代都在不斷降低
    的頭像 發(fā)表于 07-05 17:57 ?664次閱讀

    功耗藍(lán)牙技術(shù)的特點(diǎn) 低功耗藍(lán)牙如何實(shí)現(xiàn)功耗?

    功耗藍(lán)牙技術(shù)是一種優(yōu)化的藍(lán)牙技術(shù),專為滿足低功耗需求而設(shè)計(jì)。它通過(guò)采用一系列節(jié)能措施和技術(shù),實(shí)現(xiàn)了更低的功耗消耗,延長(zhǎng)了設(shè)備的續(xù)航時(shí)間。
    的頭像 發(fā)表于 02-07 16:49 ?1833次閱讀

    FPGA設(shè)計(jì)高級(jí)技巧 Xilinx篇

    FPGA設(shè)計(jì)高級(jí)技巧 Xilinx篇
    發(fā)表于 01-08 22:15

    AMD -Xilinx FPGA功耗優(yōu)化設(shè)計(jì)簡(jiǎn)介

    仔細(xì)檢查一下設(shè)計(jì)中的PLL,是不是可以把兩個(gè)PLL整合為一個(gè);或者是否可以對(duì)時(shí)鐘頻率做一些“整合”,盡量減少時(shí)鐘頻率數(shù)量,從而省去一個(gè)PLL。如果可以,恭喜你,你將收獲的是幾十mW的功耗降低,這個(gè)數(shù)值很可能是整個(gè)功耗優(yōu)化項(xiàng)目中的
    的頭像 發(fā)表于 11-12 10:41 ?748次閱讀