專利名稱:Sram型fpga的低功耗設(shè)計方法
技術(shù)領(lǐng)域:
本發(fā)明涉及FPGA (現(xiàn)場可編程邏輯門陣列)電路的低功耗設(shè)計技術(shù)領(lǐng)域,具體地說,本發(fā)明涉及一種當(dāng)前廣泛應(yīng)用的SRAM(靜態(tài)隨機(jī)存儲單元)型FPGA的低功耗設(shè)計方法。
背景技術(shù):
一直以來,F(xiàn)PGA電路由于其設(shè)計周期短,開發(fā)成本低等特點(diǎn)而受到電路設(shè)計者的廣泛關(guān)注。伴隨著芯片性能的不斷提升,基于SRAM型FPGA的電路設(shè)計廣泛應(yīng)用于通信工程、工業(yè)控制、嵌入式開發(fā)等領(lǐng)域。但是,由于晶體管特征尺寸的縮小、閾值電壓的不斷降低,SRAM型FPGA的漏電功耗迅速增加,成為制約SRAM型FPGA進(jìn)一步應(yīng)用的瓶頸。功耗不但直接影響到芯片的封裝形式與成本,而且過高的功耗導(dǎo)致了溫度的增加,與此同時帶來電流過大等一系列問題使得芯片的穩(wěn)定性進(jìn)一步惡化,反過來會給芯片的可靠性等諸多方面帶來困難。SRAM型FPGA的漏電功耗主要由兩部分組成,包括亞閾值漏電功耗和柵極漏電功耗。其中,亞閾值漏電功耗是由于在晶體管處于關(guān)斷的狀態(tài)下,晶體管的源極和漏極之間仍然存在一定的電流而產(chǎn)生的功耗。隨著工藝的不斷進(jìn)步,F(xiàn)PGA芯片的電源電壓不斷降低, 為了在較低電壓條件下保持晶體管的開關(guān)特性,晶體管的閾值電壓也隨著電源電壓不斷降低,導(dǎo)致亞閾值漏電功耗隨著閾值電壓的降低而呈指數(shù)級增長。柵極漏電功耗是由于晶體管氧化層溝道效應(yīng)導(dǎo)致柵極到襯底之間存在微小電流而產(chǎn)生的功耗。為了提高晶體管的驅(qū)動能力,晶體管氧化層厚度不斷減少,導(dǎo)致柵極漏電功耗急劇上升。資料顯示,在當(dāng)前主流 SRAM型FPGA中,大約60 % 70 %的漏電功耗發(fā)生在連線資源中。因此,針對SRAM型FPGA 連線資源的功耗優(yōu)化變得越來越重要。當(dāng)前國內(nèi)外針對SRAM型FPGA的漏電功耗優(yōu)化主要分為兩類(I)修改SRAM型 FPGA的結(jié)構(gòu),和(2)修改FPGA內(nèi)實(shí)現(xiàn)的電路設(shè)計。對于(I)類方法即進(jìn)行SRAM型FPGA的結(jié)構(gòu)優(yōu)化,主要采用晶體管可編程電源電壓,高閾值電壓晶體管設(shè)計等等。晶體管可編程電源電壓對電路設(shè)計的關(guān)鍵路徑采用高電壓設(shè)計,保證電路運(yùn)行性能;對電路設(shè)計的非關(guān)鍵路徑采用低電壓設(shè)計,對電路漏電功耗和性能進(jìn)行折衷JtFPGA芯片中未使用的部分,不提供電源電壓,降低電路漏電功耗。對于高閾值電壓晶體管設(shè)計,由于亞閾值漏電功耗與晶體管閾值電壓呈指數(shù)增長關(guān)系,因此,高閾值電壓晶體管電路設(shè)計能夠有效降低電路漏電功耗。對于(2)類方法即修改FPGA上實(shí)現(xiàn)的電路設(shè)計,主要修改設(shè)計內(nèi)查找表的配置比特。對 FPGA 內(nèi)連線資源的 MUX 結(jié)構(gòu)進(jìn)行 SPICE (Simu lation Program with Integrated Circuit Emphasis,集成電路信號仿真程序)模擬發(fā)現(xiàn),當(dāng)MUX輸出邏輯為I時的平均漏電功耗比輸出邏輯為O時的平均漏電功耗低。因此,通過翻轉(zhuǎn)設(shè)計中查找表內(nèi)的配置比特,盡可能地從查找表輸出邏輯I到連線MUX,可以降低連線資源中MUX的漏電功耗。但是,以上兩類低功耗設(shè)計方案均存在一些不足,主要表現(xiàn)在以下四個方面
I、時序影響較大。第(I)類低功耗設(shè)計方法配置電路電源電壓及晶體管閾值電壓,會影響晶體管開關(guān)特性,進(jìn)而影響電路時序性能。2、應(yīng)用范圍受到局限。第(I)類低功耗設(shè)計方法從FPGA芯片結(jié)構(gòu)角度進(jìn)行優(yōu)化, 會對FPGA芯片的工藝制造過程產(chǎn)生影響,對現(xiàn)有FPGA芯片不適用。3、存在額外面積開銷。第(I)類低功耗設(shè)計方法會引入額外的電源電壓控制結(jié)構(gòu),高閾值電壓晶體管設(shè)計需要修改晶體管尺寸,均會引入額外的面積開銷。4、優(yōu)化粒度較粗。第⑵類低功耗設(shè)計方法僅考慮了 MUX結(jié)構(gòu)輸出邏輯值與平均漏電功耗的關(guān)系,未進(jìn)一步細(xì)化考慮MUX結(jié)構(gòu)中漏電功耗與通路邏輯和旁路邏輯之間的關(guān)系,低功耗優(yōu)化空間受限。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提供一種SRAM型FPGA的低功耗設(shè)計方法,在有效降低電路漏電功耗的同時減少對電路時序性能產(chǎn)生影響。本發(fā)明一個實(shí)施例中,首先,在FPGA電路實(shí)現(xiàn)的布線階段,提取電路漏電功耗的相關(guān)信息,抽象出電路漏電功耗信息圖。所述漏電功耗信息圖是指提取出FPGA內(nèi)各線段之間的連接關(guān)系,并包含用于漏電功耗分析的連線邏輯概率信息的抽象圖。然后,根據(jù)漏電功耗信息圖,對電路布線過程的漏電功耗進(jìn)行評估。最后,將評估得到的漏電功耗引入FPGA 的布線代價函數(shù),最終得到綜合考慮電路時延、連線擁塞和漏電功耗的電路設(shè)計。FPGA布線代價函數(shù)是指在布線過程的每一階段,計算按該布線方式實(shí)現(xiàn)后的電路相應(yīng)的開銷。傳統(tǒng)的布線過程考慮電路實(shí)現(xiàn)的時延開銷和連線擁塞開銷,因此代價函數(shù)也由這兩部分組成。 在本實(shí)施例中,引入漏電功耗開銷,因此布線代價函數(shù)同時包含電路時延、連線資源擁塞和漏電功耗三個因素,最終的FPGA電路實(shí)現(xiàn)也是綜合考慮這三個因素后得到的最優(yōu)實(shí)現(xiàn)方式。根據(jù)本發(fā)明的一個方面,提供一種SRAM型FPGA的低功耗設(shè)計方法,包括步驟一、 根據(jù)FPGA結(jié)構(gòu)及電路信息,建立漏電功耗信息圖;步驟二、在布線階段對各MUX所對應(yīng)的漏電功耗進(jìn)行評估,得到漏電功耗;步驟三、將所述漏電功耗引入布線代價函數(shù),從而在布線過程中降低電路漏電功耗??蛇x的,步驟一中的漏電功耗信息圖包含兩類信息第一類信息是電路布線實(shí)現(xiàn)過程中各線段之間的連接關(guān)系;第二類信息是電路網(wǎng)表中各連線的邏輯概率??蛇x的,步驟二包括根據(jù)MUX所有可能的輸入向量,通過下述方式計算其對應(yīng)的狀態(tài)漢明距離SHD
權(quán)利要求
1.一種SRAM型FPGA的低功耗設(shè)計方法,包括步驟一、根據(jù)FPGA結(jié)構(gòu)及電路信息,建立漏電功耗信息圖;步驟二、在布線階段對各MUX所對應(yīng)的漏電功耗進(jìn)行評估,得到漏電功耗;步驟三、將所述漏電功耗引入布線代價函數(shù),從而在布線過程中降低電路漏電功耗。
2.根據(jù)權(quán)利要求I所述的低功耗設(shè)計方法,其中,步驟一中的漏電功耗信息圖包含兩類信息第一類信息是電路布線實(shí)現(xiàn)過程中各線段之間的連接關(guān)系;第二類信息是電路網(wǎng)表中各連線的邏輯概率。
3.根據(jù)權(quán)利要求I所述的低功耗設(shè)計方法,其中,步驟二包括根據(jù)MUX所有可能的輸入向量,通過下述方式計算其對應(yīng)的狀態(tài)漢明距離SHD SHDv= H{Stateon_path, Stateioff^ath)i=0其中,SHDv表示在MUX的輸入為V的情況下,通路輸入的邏輯值Statem_path與各旁路輸入i的邏輯值Stateit^path之間的漢明距離H的和At^path表示該MUX中旁路輸入的數(shù)量; 漢明距離# _,表示當(dāng)兩個參數(shù)&表示為字符串時對應(yīng)位置的不同字符的個數(shù);通過分析每一個可能的狀態(tài)漢明距離值所對應(yīng)的MUX漏電功耗,并對MUX輸入端所有可能的狀態(tài)漢明距離取值i進(jìn)行遍歷,通過下述方式計算該MUX的漏電功耗Lmwc=YdPiSHD = IrL(SHD = I)1=0其中,Nsm為MUX輸入端所有可能的SHD值的數(shù)量,P (SHD = i)為該MUX輸入端狀態(tài)漢明距離為SHD = i的概率,L(SHD = i)為MUX輸入端狀態(tài)漢明距離為i時所對應(yīng)的漏電功耗。
4.根據(jù)權(quán)利要求3所述的低功耗設(shè)計方法,其中,P (SHD = i)為所有滿足狀態(tài)漢明距離為i的輸入端向量V出現(xiàn)的概率的和,MUX輸入端輸入向量V出現(xiàn)的概率為MUX各輸入端同時出現(xiàn)輸入向量V所對應(yīng)分量的聯(lián)合概率; 對于各SHD值下所對應(yīng)的漏電功耗L (SHD = i),通過建立MUX電路所對應(yīng)的SPICE模型,進(jìn)而對該模型在滿足各SHD值的輸入向量條件下進(jìn)行SPICE模擬得到。
5.根據(jù)權(quán)利要求3所述的低功耗設(shè)計方法,其中,步驟三中使用的漏電相關(guān)布線函數(shù)為Cost (Sn) = Crit (i, j) *delay (Sn) +(1-Crit (i,j)) *b (Sn) *h (Sn) *p (Sn) *L (Sn)其中,線段Cost(Sn)包含時延開銷和連線擁塞開銷兩部分;Crit (i,j)表示該線段所在連線時延與關(guān)鍵路徑時延的相對關(guān)系;b(Sn)是該線段的基礎(chǔ)開銷,h(Sn)是歷史擁塞開銷,P(Sn)是當(dāng)前線段擁塞開銷;L(Sn)是漏電功耗開銷。
6.根據(jù)權(quán)利要求5所述的低功耗設(shè)計方法,其中,線段Sn的漏電功耗的計算方法為 L(Sn) = Lmux (source-Sj+Lmux (Sn-Sink)當(dāng)選擇線段Sn進(jìn)行布線時,連接已有連線和Sn的輸入端的MUX上的漏電功耗記為Lmux(source-Sn);連接Sn的輸出端到已有連線的MUX上的漏電功耗記為Lmux (Sn_sink)。
7.根據(jù)權(quán)利要求I所述的低功耗設(shè)計方法,步驟一之前還包括根據(jù)電路的概率偏移量,決定是否需要優(yōu)化;其中,所述概率偏移量為電路中各個連線邏輯概率與O. 5之間平均距離。
全文摘要
本發(fā)明提供一種SRAM型FPGA的低功耗設(shè)計方法,包括步驟一、根據(jù)FPGA結(jié)構(gòu)及電路信息,建立漏電功耗信息圖;步驟二、在布線階段對各MUX所對應(yīng)的漏電功耗進(jìn)行評估,得到漏電功耗;步驟三、將所述漏電功耗引入布線代價函數(shù),從而在布線過程中降低電路漏電功耗。上述方法在布線階段對電路進(jìn)行低功耗設(shè)計,在布線過程中綜合考慮電路時延開銷、擁塞開銷和漏電功耗開銷,幾乎不會對電路時序性能產(chǎn)生影響。通過修改電路連線實(shí)現(xiàn)方式進(jìn)行低功耗設(shè)計,與FPGA芯片結(jié)構(gòu)無關(guān),不會對FPGA芯片的工藝制造產(chǎn)生影響,對當(dāng)前主流FPGA均適用,而且不會引入額外的面積開銷。
文檔編號G06F17/50GK102609563SQ20121000736
公開日2012年7月25日 申請日期2012年1月11日 優(yōu)先權(quán)日2012年1月11日
發(fā)明者李曉維, 胡瑜, 黃柯衡 申請人:中國科學(xué)院計算技術(shù)研究所