91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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)注

    1660

    文章

    22415

    瀏覽量

    636543

原文標(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)推薦
    熱點(diǎn)推薦

    從算法到部署:Enclustra如何用DSP+FPGA/SoC專長(zhǎng),實(shí)現(xiàn)功耗與成本雙優(yōu)化

    DSP技術(shù)數(shù)字信號(hào)處理(DSP)是FPGA和SoC的常見(jiàn)應(yīng)用領(lǐng)域。為了在此領(lǐng)域?yàn)榭蛻籼峁┳顑?yōu)服務(wù),Enclustra積累了深厚的DSP專業(yè)知識(shí),不僅能提供純粹的實(shí)現(xiàn)服務(wù),更能從零開(kāi)始支持架構(gòu)與算法
    的頭像 發(fā)表于 02-27 08:34 ?320次閱讀
    從算法到部署:Enclustra如何用DSP+<b class='flag-5'>FPGA</b>/SoC專長(zhǎng),<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>功耗</b>與成本雙<b class='flag-5'>優(yōu)化</b>?

    智多晶重磅發(fā)布HQPEP功耗評(píng)估工具

    FPGA功耗受工藝、電壓、溫度、資源占用等多重因素影響,傳統(tǒng)評(píng)估依賴后期板級(jí)實(shí)測(cè),易引發(fā)電源重構(gòu)、散熱返工等風(fēng)險(xiǎn)。為此,智多晶重磅發(fā)布HQPEP(HqFpga Power Estimation Platform)
    的頭像 發(fā)表于 01-23 16:01 ?1082次閱讀
    智多晶重磅發(fā)布HQPEP<b class='flag-5'>功耗</b>評(píng)估工具

    內(nèi)置 Capless LDO會(huì)將功耗優(yōu)化的更好嗎?

    話說(shuō),F(xiàn)030有內(nèi)置的 Capless LDO,那么內(nèi)置 Capless LDO會(huì)將功耗優(yōu)化的更好么?
    發(fā)表于 01-16 07:31

    請(qǐng)問(wèn)如何優(yōu)化芯片的功耗管理?

    在汽車電子系統(tǒng)中,功耗管理是一個(gè)關(guān)鍵問(wèn)題。如何優(yōu)化芯源車規(guī)級(jí)CW32A030C8T7芯片的功耗管理,實(shí)現(xiàn)更高效的能源利用,延長(zhǎng)汽車電池壽命?
    發(fā)表于 12-16 07:15

    在進(jìn)行低功耗設(shè)計(jì)時(shí)如何優(yōu)化CW32L083系列微控制器的功耗?

    在進(jìn)行低功耗設(shè)計(jì)時(shí),如何優(yōu)化CW32L083系列微控制器的功耗?
    發(fā)表于 12-16 06:03

    功耗系統(tǒng)設(shè)計(jì)核心:VDD_EXT原理與優(yōu)化策略詳解!

    在低功耗電子系統(tǒng)開(kāi)發(fā)中,VDD_EXT作為關(guān)鍵的外部供電節(jié)點(diǎn),其工作原理與設(shè)計(jì)優(yōu)化直接決定系統(tǒng)的能效表現(xiàn)與穩(wěn)定性。深入理解其電壓生成機(jī)制、負(fù)載特性及功耗影響因素,是實(shí)現(xiàn)高效電源管理的基
    的頭像 發(fā)表于 12-12 16:30 ?748次閱讀
    低<b class='flag-5'>功耗</b>系統(tǒng)設(shè)計(jì)核心:VDD_EXT原理與<b class='flag-5'>優(yōu)化</b>策略詳解!

    數(shù)字IC/FPGA設(shè)計(jì)中的時(shí)序優(yōu)化方法

    在數(shù)字IC/FPGA設(shè)計(jì)的過(guò)程中,對(duì)PPA的優(yōu)化是無(wú)處不在的,也是芯片設(shè)計(jì)工程師的使命所在。此節(jié)主要將介紹performance性能的優(yōu)化,如何對(duì)時(shí)序路徑進(jìn)行優(yōu)化,提高工作時(shí)鐘頻率。
    的頭像 發(fā)表于 12-09 10:33 ?3289次閱讀
    數(shù)字IC/<b class='flag-5'>FPGA</b>設(shè)計(jì)中的時(shí)序<b class='flag-5'>優(yōu)化</b>方法

    武漢芯源MCU的功耗如何優(yōu)化?有哪些低功耗模式和節(jié)能技術(shù)?

    武漢芯源MCU的功耗如何優(yōu)化,有哪些低功耗模式和節(jié)能技術(shù)?
    發(fā)表于 12-08 07:44

    MCU時(shí)鐘管理對(duì)功耗優(yōu)化方向

    (1) 降低主頻 適用場(chǎng)景:任務(wù)無(wú)需高性能時(shí)(如傳感器輪詢、簡(jiǎn)單邏輯控制)。 實(shí)現(xiàn)方式: 動(dòng)態(tài)調(diào)整CPU頻率(DVFS技術(shù)),例如從48MHz切換至4MHz。 使用低功耗模式下的低頻時(shí)鐘源(如內(nèi)部
    發(fā)表于 11-24 06:16

    如何優(yōu)化設(shè)備功耗以保障外接備用電源時(shí)的數(shù)據(jù)實(shí)時(shí)傳輸?

    優(yōu)化設(shè)備功耗以保障外接備用電源時(shí)的數(shù)據(jù)實(shí)時(shí)傳輸,核心是“分級(jí)功耗管理 + 關(guān)鍵功能優(yōu)先供電”—— 在降低非核心功耗的同時(shí),確保數(shù)據(jù)采集、傳輸、同步等實(shí)時(shí)性相關(guān)模塊的穩(wěn)定運(yùn)行,
    的頭像 發(fā)表于 11-12 14:56 ?1047次閱讀

    如何通過(guò)優(yōu)化電能質(zhì)量在線監(jiān)測(cè)裝置的散熱系統(tǒng)來(lái)降低功耗?

    通過(guò)優(yōu)化電能質(zhì)量在線監(jiān)測(cè)裝置的散熱系統(tǒng)降低功耗,核心邏輯是 “ 提升散熱效率,減少風(fēng)扇等散熱部件的無(wú)效能耗 ”—— 既要避免硬件因高溫被迫滿負(fù)荷運(yùn)行(如 CPU 降頻前的高功耗),又要降低散熱
    的頭像 發(fā)表于 11-05 11:54 ?393次閱讀

    MDD 邏輯IC的功耗管理與優(yōu)化策略

    之一。對(duì)于MDD辰達(dá)半導(dǎo)體邏輯IC(集成電路)而言,合理的功耗管理不僅能提升系統(tǒng)性能,還能有效延長(zhǎng)設(shè)備的使用壽命。因此,作為FAE,在客戶的設(shè)計(jì)過(guò)程中,協(xié)助優(yōu)化功耗
    的頭像 發(fā)表于 10-30 09:49 ?382次閱讀
    MDD 邏輯IC的<b class='flag-5'>功耗</b>管理與<b class='flag-5'>優(yōu)化</b>策略

    基于FPGA的壓縮算法加速實(shí)現(xiàn)

    本設(shè)計(jì)中,計(jì)劃實(shí)現(xiàn)對(duì)文件的壓縮及解壓,同時(shí)優(yōu)化壓縮中所涉及的信號(hào)處理和計(jì)算密集型功能,實(shí)現(xiàn)對(duì)其的加速處理。本設(shè)計(jì)的最終目標(biāo)是證明在充分并行化的硬件體系結(jié)構(gòu) FPGA
    的頭像 發(fā)表于 07-10 11:09 ?2407次閱讀
    基于<b class='flag-5'>FPGA</b>的壓縮算法加速<b class='flag-5'>實(shí)現(xiàn)</b>

    適用于Versal的AMD Vivado 加快FPGA開(kāi)發(fā)完成Versal自適應(yīng)SoC設(shè)計(jì)

    ? - 頂層 RTL 流程 - 通過(guò)使用頂層 RTL,用戶能夠像配置片上網(wǎng)絡(luò)和收發(fā)器一樣配置關(guān)鍵的硬核 IP,從而獲得類似于傳統(tǒng) FPGA 設(shè)計(jì)的體驗(yàn)。 - 快速編譯 - 全新“高級(jí)流程”實(shí)現(xiàn)算法融合了分層設(shè)計(jì)
    的頭像 發(fā)表于 05-07 15:15 ?1337次閱讀
    適用于Versal的AMD Vivado  加快<b class='flag-5'>FPGA</b>開(kāi)發(fā)完成Versal自適應(yīng)SoC設(shè)計(jì)

    英諾達(dá)推出RTL功耗優(yōu)化工具

    英諾達(dá)(成都)電子科技有限公司隆重推出芯片設(shè)計(jì)早期RTL級(jí)功耗優(yōu)化工具—EnFortius RTL Power Explorer(ERPE),該工具可以高效、全面地在RTL設(shè)計(jì)階段進(jìn)行功耗優(yōu)化
    的頭像 發(fā)表于 03-20 17:06 ?1180次閱讀