如何讓7系列FPGA的功耗減半
降低動態(tài)功耗
本文引用地址:http://butianyuan.cn/article/127295.htm賽靈思功耗專家兼杰出工程師 Matt Klein 一直參與賽靈思 FPGA 的降耗工作。他說 FPGA邏輯的動態(tài)功耗可根據(jù)標(biāo)準(zhǔn)“CV平方f”等式計(jì)算得出:
動態(tài)功耗 = μ xfclk x CL x VDD2
等式中的“C”即電容。賽靈思 FPGA 中眾多模塊的架構(gòu)經(jīng)過精心設(shè)計(jì),可大幅降低電容,從而能夠?qū)崿F(xiàn)較低的動態(tài)功耗。賽靈思還對部分模塊的架構(gòu)進(jìn)行了重新設(shè)計(jì),使之更緊湊,電容得到了進(jìn)一步降低。Klein 說:“賽靈思 FPGA 中部分模塊(包括 DSP48 模塊)的動態(tài)功耗均低于其他 28nm FPGA 中的模塊,即使是工作在高于 0.85V 的標(biāo)準(zhǔn) 1V 電壓下。使用賽靈思提供的電壓調(diào)節(jié)功能,還可以進(jìn)一步降低動態(tài)功耗。”另外他還提到,fclk,即頻率,會呈“線性方式”影響動態(tài)功耗。
Klein 說,用戶也可以放大“阿爾法”,即他們的設(shè)計(jì)的活動因數(shù),采用智能時(shí)鐘門控技術(shù)來降低動態(tài)功耗。運(yùn)用這種方法,設(shè)計(jì)人員可以控制給定模塊的活動。但是,這種技術(shù)的實(shí)現(xiàn)需要花費(fèi)相當(dāng)長的時(shí)間,特別是在大型 FPGA 設(shè)計(jì)中,所以大多數(shù) FPGA 用戶一般不會使用。
但是 Klein 表示還有其他的辦法。他說所有的 7 系列 FPGA 都有時(shí)鐘分層結(jié)構(gòu),可以讓設(shè)計(jì)人員在蓋頂設(shè)計(jì)中編程,只啟用需要的時(shí)鐘資源。這樣可以大幅地降低時(shí)鐘負(fù)載功耗。另外,設(shè)計(jì)人員還可以分三級進(jìn)行時(shí)鐘門控:全局時(shí)鐘門控、區(qū)域時(shí)鐘門控,以及借助本地資源(比如觸發(fā)器)上的時(shí)鐘使能 (CE) 信號實(shí)現(xiàn)的時(shí)鐘門控。
Klein 說:“在賽靈思 FPGA 中,每個 slice 上基本有 8 個觸發(fā)器,它們共享一個通用的時(shí)鐘使能端信號,不過與以往的架構(gòu)不同,這個時(shí)鐘使能端信號用于在本地門控時(shí)鐘,同時(shí)阻止觸發(fā)器翻轉(zhuǎn)。現(xiàn)在采用這種硬件,ISE 設(shè)計(jì)工具會尋找觸發(fā)器輸出未被下游目標(biāo)使用的情況,自動抑制不必要的開關(guān)操作。這可通過邏輯檢查和后綜合來完成。隨后 ISE 設(shè)計(jì)工具生成本地時(shí)鐘使能端信號。用戶可以在映射階段使用 -power high 或者 -power XE 選項(xiàng)來激活這些功能。
Klein 表示,這種自動智能時(shí)鐘門控技術(shù)可將邏輯動態(tài)功耗降低多達(dá) 30%(平均達(dá)到18%)。他說:“用于生成智能邏輯門控的邏輯門數(shù)不到總邏輯門數(shù)的 1%,所以對降低動態(tài)功耗來說是個福音。”
用戶還可對 block RAM 模塊采用智能時(shí)鐘門控技術(shù)。大多數(shù)設(shè)計(jì)人員和綜合工具會把 block RAM 模塊的時(shí)鐘使能端置于靜態(tài)的“1”。Klein 建議考慮一下有地址輸入和數(shù)據(jù)輸出的 block RAM 模塊。輸出的數(shù)據(jù)可能會被下游使用,但有時(shí)是通過被稱為“sel”的多路復(fù)用器控制信號選中。首先,如果沒有發(fā)生寫入或者讀取地址自上一個周期以來沒有變動,就不必啟用 block RAM 模塊。其次,如果在給定周期內(nèi)系統(tǒng)沒有使用 block RAM 模塊的輸出,就不必為讀取而啟用 block RAM 模塊。
與生成觸發(fā)器時(shí)鐘使能信號的方法類似,ISE 會自動逐周期地生成時(shí)鐘使能 (CE) 信號。Klein 說:“對 block RAM 模塊來說,降耗水平更為明顯。我們發(fā)現(xiàn) block RAM 模塊最高降耗幅度達(dá) 70%,平均也有 30%,同時(shí)邏輯開銷微乎其微。賽靈思還提供 CORE GeneratorTM 和 XST 供用戶選擇,用于構(gòu)建高能效 block RAM 模塊陣列,可將陣列中 block RAM 模塊的功耗降低多達(dá) 75%。”
降低 I/O 功耗
當(dāng)然,總體系統(tǒng)功耗的范疇不局限于靜態(tài)功耗和動態(tài)功耗,還包括另外兩種類型的功耗,即I/O 功耗和收發(fā)器功耗。
為降低高速 I/O 的功耗,賽靈思新增了多模 I/O 控制功能,并對其收發(fā)器的架構(gòu)進(jìn)行了重新設(shè)計(jì)。Klein 表示,多模 I/O 控制功能能夠顯著降低 I/O 耗電,尤其是對存儲器接口而言。在存儲器寫入狀態(tài)下最高可節(jié)電 50%,而在存儲器閑置狀態(tài)下最高則可節(jié)電 75%。
這些新的 I/O 降耗功能中第一種功能在存儲器寫操作過程中很有價(jià)值:在寫入到諸如 DDR2 和 DDR3等外部存儲器器件過程中,I/O 硬件會自動禁用 IBUF(輸入緩存)。Klein 說:“由于輸入緩存是一個參考接收器,不管翻轉(zhuǎn)率是多少,它都會消耗直流電。所以現(xiàn)在在存儲器寫操作過程中,直流電被切斷,節(jié)電幅度與寫入比例成比例。與僅禁用終端相比,在存儲器寫操作過程中,多模 I/O 控制功能可讓總體功耗多節(jié)省一半。”
所有 7 系列 FPGA 采用的第二個 I/O 降耗功能是用戶能夠在存儲器總線閑置時(shí)禁用 IBUF和終端。Klein 說:“一般來說,在總線閑置期間應(yīng)離開存儲器總線,但這樣看上去像存儲器讀操作。如果沒有這種[禁用]功能,終端和 IBUF 都會消耗電力。禁用比啟用終端和輸入接收器時(shí),7 系列 FPGA 的 I/O 功耗可降低 75%。”
賽靈思還把 VCCAUX 電壓從 2.5V 降至 1.8V,這樣可以將 PLL、IDELAY、輸入/輸出緩存和配置邏輯等所有用 VCCAUX 供電的模塊的功耗降低近 30%。
對高性能存儲器接口而言,7 系列 FPGA 相對 Virtex-6 及其它 FPGA 新增的這些功能帶來了巨大優(yōu)勢。
降低收發(fā)器功耗
在器件總體功耗中,收發(fā)器的功耗也占著較大的比例。Myron 表示,賽靈思首次宣布用其 XPower Estimator (XPE) 工具測得的 7 系列功耗估計(jì)值時(shí),最初提供的收發(fā)器功耗值相當(dāng)保守。自那時(shí)起,賽靈思又對 GTP 和 GTH 收發(fā)器的功耗進(jìn)行了進(jìn)一步優(yōu)化,并將其工具與芯片結(jié)果相關(guān)聯(lián)。最新版本的 XPE(13.2 版)能夠更加準(zhǔn)確地反映新的功耗值。
Myron 說:“在相同性能水平下,Artix-7 GTP(性能高達(dá) 6.75Gbps)收發(fā)器的總體功耗比 Spartan-6 GTP 的低 60%。我們這樣做的目的,是為了滿足要求絕對最低功耗和最低成本的低端市場的需求。我們還大幅降低了 Virtex-7 GTH 的功耗。”7 系列 FPGA 這個器件集成有多達(dá) 96 個收發(fā)器,用于高帶寬應(yīng)用。他說:“在收發(fā)器功耗成為總體功耗的主要組成部分的情況下,這項(xiàng)性能讓我們與同類 28nm 競爭產(chǎn)品的收發(fā)器功耗不相伯仲。”
fpga相關(guān)文章:fpga是什么
評論