最近出現(xiàn)的 FPGA設(shè)計(jì)工具和 IP有效減少了計(jì)算占用的資源,大大簡(jiǎn)化了浮點(diǎn)數(shù)據(jù)通路的實(shí)現(xiàn)。而且,與數(shù)字信號(hào)處理器不同, FPGA能夠支持浮點(diǎn)和定點(diǎn)混合工作的 DSP數(shù)據(jù)通路,實(shí)現(xiàn)的性能超過(guò)了 100 GFLOPS。在所有信號(hào)處理算法中,對(duì)于只需要?jiǎng)討B(tài)范圍浮點(diǎn)算法的很多高性能 DSP應(yīng)用,這是非常重要的優(yōu)點(diǎn)。選擇 FPGA并結(jié)合浮點(diǎn)工具和 IP,設(shè)計(jì)人員能夠靈活的處理定點(diǎn)數(shù)據(jù)寬度、浮點(diǎn)數(shù)據(jù)精度和達(dá)到的性能等級(jí),而這是處理器體系結(jié)構(gòu)所無(wú)法實(shí)現(xiàn)的。
引言
對(duì)于通信、軍事、醫(yī)療等應(yīng)用中的很多復(fù)雜系統(tǒng),首先要使用浮點(diǎn)數(shù)據(jù)處理算法,利用 C或者 MATLAB軟件進(jìn)行仿真和建模。而最終實(shí)現(xiàn)幾乎都采用定點(diǎn)或者整數(shù)算法。算法被仔細(xì)映射到有限動(dòng)態(tài)范圍內(nèi),調(diào)整數(shù)據(jù)通路中的每一功能。這就需要很多取整和飽和步驟,如果處理的不合適,就會(huì)對(duì)算法性能有不利的影響。在集成過(guò)程中一般還需要進(jìn)行大量的驗(yàn)證工作,以確保系統(tǒng)工作符合仿真結(jié)果。
以前,由于缺乏 FPGA工具包的支持, FPGA設(shè)計(jì)人員一般不選擇浮點(diǎn)算法。使用很多浮點(diǎn) FPGA運(yùn)算符時(shí),由于需要大量邏輯和布線資源,因此,它的另一個(gè)缺點(diǎn)是性能太差。 FPGA高效實(shí)現(xiàn)復(fù)數(shù)浮點(diǎn)函數(shù)的關(guān)鍵是使用基于乘法器的算法,利用大量集成在 FPGA器件中的硬件乘法器資源。用于實(shí)現(xiàn)這些非線性函數(shù)的乘法器必須有很高的精度,以保證乘法迭代過(guò)程中的精度要求。而且,高精度乘法器不需要在每一次乘法迭代中進(jìn)行歸一化和逆歸一化處理,大大降低了對(duì)邏輯和布線的要求。
FPGA采用硬件數(shù)字信號(hào)處理 (DSP)模塊,能夠?qū)崿F(xiàn)高效的 36位x36位乘法器,對(duì)于單精度浮點(diǎn)算法,提供足夠的位數(shù),滿(mǎn)足一般的單精度 24位尾數(shù)要求。這些乘法器還能夠用于構(gòu)建更大的乘法器,實(shí)現(xiàn)高達(dá) 72位 x72位的雙精度浮點(diǎn)算法。
由于浮點(diǎn)算法動(dòng)態(tài)范圍較大,相對(duì)于浮點(diǎn)仿真,大大簡(jiǎn)化了系統(tǒng)性能驗(yàn)證任務(wù),因此,對(duì)于設(shè)計(jì)人員而言,這種算法通常能夠提高性能。在某些應(yīng)用中,定點(diǎn)算法是不可行的。動(dòng)態(tài)范圍要求使用浮點(diǎn)算法的一個(gè)常見(jiàn)的例子是矩陣求逆運(yùn)算。
浮點(diǎn) IP內(nèi)核
Altera現(xiàn)在提供業(yè)界最全面的單精度和雙精度浮點(diǎn) IP內(nèi)核,其性能非常高。目前提供的浮點(diǎn) IP內(nèi)核包括:
■加法 /減法
■乘法
■除法
■倒數(shù)
■指數(shù)
■對(duì)數(shù)
■平方根
■逆平方根
■矩陣乘法
■矩陣求逆
■快速傅立葉變換 (FFT)
■對(duì)比
■整數(shù)和分?jǐn)?shù)轉(zhuǎn)換
f本白皮書(shū)只提供單精度指標(biāo)。對(duì)于雙精度指標(biāo),請(qǐng)參考浮點(diǎn)宏功能用戶(hù)指南。
WP-01116-1.0
2009年 10月, 1.0版
充分發(fā)揮 FPGA浮點(diǎn) IP內(nèi)核的優(yōu)勢(shì) Altera公司
基本功能
圖1詳細(xì)列出了基本浮點(diǎn)功能及其性能。對(duì)比浮點(diǎn)除法與加減法所需要的資源及其性能,表明系統(tǒng)設(shè)計(jì)人
員不需要在算法中避開(kāi)除法運(yùn)算以簡(jiǎn)化硬件實(shí)現(xiàn)。
圖1. 邏輯和寄存器使用對(duì)比(左側(cè)),以及乘法器和 fMAX對(duì)比(右側(cè))
矩陣乘法
Altera在提供基于 FPGA的參數(shù)賦值浮點(diǎn)矩陣IP內(nèi)核方面有其獨(dú)到之處。這些運(yùn)算符集成了數(shù)十甚至上百個(gè)
浮點(diǎn)運(yùn)算符,保持了較高的性能。矩陣乘法內(nèi)核還可以用于完成標(biāo)準(zhǔn)測(cè)試或者 GFLOP/S和 GFLOP/W。
SGEMM矩陣乘法內(nèi)核的性能結(jié)果如表1所示,它實(shí)際是后編譯時(shí)序逼近結(jié)果,與確定 GFLOP/S通常使用的 Altera公司充分發(fā)揮 FPGA浮點(diǎn) IP內(nèi)核的優(yōu)勢(shì) 紙筆浮點(diǎn)計(jì)算方法不同。任何其他 FPGA供應(yīng)商都不支持這類(lèi)基準(zhǔn)測(cè)試,用戶(hù)使用 Altera Quartus. II軟件中提供的參數(shù)賦值矩陣乘法 IP內(nèi)核,很容易自己進(jìn)行測(cè)試。[!--empirenews.page--]
表 1. 單精度矩陣乘法性能結(jié)果
MatrixAA大小
MatrixBB大小
Vectorsize
使用的邏輯
GFLOPSf MAX (MHz)
功耗 (mW)
ALM (1)
DSP使用 (2)
M9KM144K
存儲(chǔ)器 (bits)
靜態(tài)
動(dòng)態(tài)
I/O
總計(jì)
36x112 112x36 8 4,604 32 43 2 576,200 4 291 2,008 1,063 300 3,334
36x224 224x36 16 7,882 64 77 4 1,101,920 9 291 2,045 1,821 300 4,165
36x448 448x36 32 14,257 128 137 8 2,153,040 18 291 2,110 3,448 300 5,858
64x64 64x64 32 13,154 128 41 8 1,333,233 18 292 2,112 2,604 306 5,023
128x128 128x128 64 25,636 256 141 16 3,173,189 37 293 2,244 5,384 306 7,934
注釋?zhuān)?
(1) 自適應(yīng)邏輯模塊
(2) 18x18 DSP模塊
使用 Quartus II功耗估算器,很容易計(jì)算得到實(shí)際的每瓦每秒 giga浮點(diǎn)結(jié)果 (GFLOPS/W)。使用 Altera.
Stratix. IV EP4SE230 FPGA部分資源時(shí),結(jié)果達(dá)到了 5 GFLOPS/W。使用 Stratix IV EP4SE530器件中更大的
矩陣乘法內(nèi)核,結(jié)果大約為 7 GFLOPS/W,計(jì)算密度為 200 GFLOPS。利用整個(gè)器件實(shí)現(xiàn)大規(guī)模浮點(diǎn)算法
時(shí),分散了 FPGA靜態(tài)功耗,效率非常高。
Altera開(kāi)發(fā)的浮點(diǎn)技術(shù)大大降低了實(shí)現(xiàn)大規(guī)模浮點(diǎn)數(shù)據(jù)通路的邏輯和布線資源要求。使用浮點(diǎn)數(shù)據(jù)通路優(yōu)化
工具非常關(guān)鍵,對(duì)資源要求的降低使得單位浮點(diǎn)邏輯/布線運(yùn)算比達(dá)到了高端 FPGA的水平。這反映在工
具能夠?qū)崿F(xiàn)接近 300 MHz的 fMAX,與例化的矩陣乘法規(guī)模無(wú)關(guān)。通過(guò)這種方式,在大規(guī)模浮點(diǎn)設(shè)計(jì)中,用
戶(hù)能夠可靠的使用 FPGA 80%以上的資源,實(shí)現(xiàn)大于 200-MHz的 fMAX性能。
矩陣求逆
FPGA中浮點(diǎn)算法最常見(jiàn)的應(yīng)用是矩陣求逆。大部分無(wú)線多輸入多輸出 (MIMO)算法、雷達(dá) STAP系統(tǒng)、醫(yī)療
成像聚束和很多高性能計(jì)算應(yīng)用都需要進(jìn)行矩陣求逆。參數(shù)賦值矩陣求逆浮點(diǎn) IP內(nèi)核的實(shí)例性能 (表2)
顯示了非常高的矩陣吞吐量。 4x4矩陣求逆內(nèi)核能夠進(jìn)行每秒 2千萬(wàn)次矩陣求逆運(yùn)算,速度足以支持 LTE
無(wú)線 MIMO應(yīng)用。
表 2. 單精度浮點(diǎn)矩陣求逆 (Cholesky算法 )性能
快速傅立葉變換
FFT是另一種大動(dòng)態(tài)范圍應(yīng)用實(shí)例。由于 FFT算法的內(nèi)在特性,位精度一般會(huì)隨著 FFT長(zhǎng)度增加而增大。某些應(yīng)用使用級(jí)聯(lián) FFT,需要更大的動(dòng)態(tài)范圍。很多雷達(dá)應(yīng)用使用 FFT進(jìn)行定點(diǎn)算法,裝入測(cè)距數(shù)據(jù)。這一般還需要第二次 FFT,裝入多普勒測(cè)距數(shù)據(jù),動(dòng)態(tài)范圍足夠高,需要采用浮點(diǎn)算法。如圖3和圖4所示,相對(duì)于定點(diǎn)算法,需要增加邏輯以實(shí)現(xiàn)單精度浮點(diǎn)算法,而電路 fMAX、存儲(chǔ)器和乘法器基本相似。
充分發(fā)揮 FPGA浮點(diǎn) IP內(nèi)核的優(yōu)勢(shì) Altera公司
圖3. FFT邏輯和寄存器使用對(duì)比
結(jié)論
Altera新的浮點(diǎn)電路優(yōu)化技術(shù)集成到浮點(diǎn) IP內(nèi)核中,同時(shí)提高了密度,并提供更多的邏輯資源,實(shí)現(xiàn)了優(yōu)異
的 FPGA浮點(diǎn)性能。其他供應(yīng)商提供專(zhuān)用浮點(diǎn)處理器解決方案,但是,大部分都達(dá)不到 Altera FPGA解決
方案的 GFLOPS高性能水平,而且沒(méi)有一個(gè)能夠?qū)崿F(xiàn) Stratix IV FPGA解決方案的 GFLOP/W性能。國(guó)家科
學(xué)基金會(huì) (NSF)高性能配置計(jì)算中心 (CHREC)的獨(dú)立基準(zhǔn)測(cè)試證明了這一點(diǎn),認(rèn)為 Stratix IV EP4SE530雙
精度浮點(diǎn)處理的性能最好。
Altera FPGA的其他優(yōu)點(diǎn)包括業(yè)界領(lǐng)先的外部存儲(chǔ)器帶寬資源以及性能達(dá)到 12.5 Gbps的SERDES收發(fā)器等。
FPGA平臺(tái)還提供性能最好的定點(diǎn)數(shù)據(jù)通路,實(shí)現(xiàn)了非常靈活的 I/O和存儲(chǔ)器接口。通過(guò)這些功能, Stratix
IV FPGA成為構(gòu)建高性能浮點(diǎn)數(shù)據(jù)通路的理想平臺(tái),可以用在多種應(yīng)用中,從高性能計(jì)算到雷達(dá)和電子戰(zhàn),
直至基于 MIMO的 SDR/無(wú)線系統(tǒng),以及無(wú)線聚束應(yīng)用等。
FPGA的應(yīng)用領(lǐng)域包羅萬(wàn)象,我們今天來(lái)看看在音樂(lè)科技領(lǐng)域及醫(yī)療照護(hù)的智能巧思。
關(guān)鍵字: FPGA 科技領(lǐng)域 智能強(qiáng)大的產(chǎn)品可降低信號(hào)噪音并提高分辨率與動(dòng)態(tài)
關(guān)鍵字: Spectrum儀器 數(shù)字化儀 FPGA北京2022年10月11日 /美通社/ -- 在四川大涼山深處,有一只"涼山黑鷹"少年籃球隊(duì):隊(duì)員平均年齡12歲,平均身高1米3,球隊(duì)剛成立時(shí),連個(gè)像樣的球場(chǎng)都沒(méi)有。然而,憑著一腔熱情和驚人天賦,這只...
關(guān)鍵字: 網(wǎng)絡(luò) BSP 內(nèi)核 騰訊