新聞中心

EEPW首頁 > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 充分發(fā)揮FPGA浮點(diǎn)IP內(nèi)核的優(yōu)勢

充分發(fā)揮FPGA浮點(diǎn)IP內(nèi)核的優(yōu)勢

作者: 時間:2009-12-07 來源:網(wǎng)絡(luò) 收藏

最近出現(xiàn)的 設(shè)計(jì)工具和 IP有效減少了計(jì)算占用的資源,大大簡化了數(shù)據(jù)通路的實(shí)現(xiàn)。而且,與數(shù)字信號處理器不同, 能夠支持和定點(diǎn)混合工作的 DSP數(shù)據(jù)通路,實(shí)現(xiàn)的性能超過了 100 GFLOPS。在所有信號處理算法中,對于只需要動態(tài)范圍算法的很多高性能 DSP應(yīng)用,這是非常重要的優(yōu)點(diǎn)。選擇 并結(jié)合浮點(diǎn)工具和 IP,設(shè)計(jì)人員能夠靈活的處理定點(diǎn)數(shù)據(jù)寬度、浮點(diǎn)數(shù)據(jù)精度和達(dá)到的性能等級,而這是處理器體系結(jié)構(gòu)所無法實(shí)現(xiàn)的。

本文引用地址:http://butianyuan.cn/article/191867.htm

引言

對于通信、軍事、醫(yī)療等應(yīng)用中的很多復(fù)雜系統(tǒng),首先要使用浮點(diǎn)數(shù)據(jù)處理算法,利用 C或者 MATLAB軟件進(jìn)行仿真和建模。而最終實(shí)現(xiàn)幾乎都采用定點(diǎn)或者整數(shù)算法。算法被仔細(xì)映射到有限動態(tài)范圍內(nèi),調(diào)整數(shù)據(jù)通路中的每一功能。這就需要很多取整和飽和步驟,如果處理的不合適,就會對算法性能有不利的影響。在集成過程中一般還需要進(jìn)行大量的驗(yàn)證工作,以確保系統(tǒng)工作符合仿真結(jié)果。

以前,由于缺乏 FPGA工具包的支持, FPGA設(shè)計(jì)人員一般不選擇浮點(diǎn)算法。使用很多浮點(diǎn) FPGA運(yùn)算符時,由于需要大量邏輯和布線資源,因此,它的另一個缺點(diǎn)是性能太差。 FPGA高效實(shí)現(xiàn)復(fù)數(shù)浮點(diǎn)函數(shù)的關(guān)鍵是使用基于乘法器的算法,利用大量集成在 FPGA器件中的硬件乘法器資源。用于實(shí)現(xiàn)這些非線性函數(shù)的乘法器必須有很高的精度,以保證乘法迭代過程中的精度要求。而且,高精度乘法器不需要在每一次乘法迭代中進(jìn)行歸一化和逆歸一化處理,大大降低了對邏輯和布線的要求。

FPGA采用硬件數(shù)字信號處理 (DSP)模塊,能夠?qū)崿F(xiàn)高效的 36位x36位乘法器,對于單精度浮點(diǎn)算法,提供足夠的位數(shù),滿足一般的單精度 24位尾數(shù)要求。這些乘法器還能夠用于構(gòu)建更大的乘法器,實(shí)現(xiàn)高達(dá) 72位 x72位的雙精度浮點(diǎn)算法。

由于浮點(diǎn)算法動態(tài)范圍較大,相對于浮點(diǎn)仿真,大大簡化了系統(tǒng)性能驗(yàn)證任務(wù),因此,對于設(shè)計(jì)人員而言,這種算法通常能夠提高性能。在某些應(yīng)用中,定點(diǎn)算法是不可行的。動態(tài)范圍要求使用浮點(diǎn)算法的一個常見的例子是矩陣求逆運(yùn)算。

浮點(diǎn)
Altera現(xiàn)在提供業(yè)界最全面的單精度和雙精度浮點(diǎn) ,其性能非常高。目前提供的浮點(diǎn) 包括:


■加法 /減法
■乘法
■除法
■倒數(shù)
■指數(shù)
■對數(shù)
■平方根
■逆平方根
■矩陣乘法
■矩陣求逆
■快速傅立葉變換 (FFT)
■對比
■整數(shù)和分?jǐn)?shù)轉(zhuǎn)換
f本白皮書只提供單精度指標(biāo)。對于雙精度指標(biāo),請參考浮點(diǎn)宏功能用戶指南。

WP-01116-1.0

2009年 10月, 1.0版


充分發(fā)揮 FPGA浮點(diǎn) IP內(nèi)核的優(yōu)勢 Altera公司

基本功能
圖1詳細(xì)列出了基本浮點(diǎn)功能及其性能。對比浮點(diǎn)除法與加減法所需要的資源及其性能,表明系統(tǒng)設(shè)計(jì)人
員不需要在算法中避開除法運(yùn)算以簡化硬件實(shí)現(xiàn)。

圖1. 邏輯和寄存器使用對比(左側(cè)),以及乘法器和 fMAX對比(右側(cè))

矩陣乘法
Altera在提供基于 FPGA的參數(shù)賦值浮點(diǎn)矩陣IP內(nèi)核方面有其獨(dú)到之處。這些運(yùn)算符集成了數(shù)十甚至上百個
浮點(diǎn)運(yùn)算符,保持了較高的性能。矩陣乘法內(nèi)核還可以用于完成標(biāo)準(zhǔn)測試或者 GFLOP/S和 GFLOP/W。
SGEMM矩陣乘法內(nèi)核的性能結(jié)果如表1所示,它實(shí)際是后編譯時序逼近結(jié)果,與確定 GFLOP/S通常使用的 Altera公司充分發(fā)揮 FPGA浮點(diǎn) IP內(nèi)核的優(yōu)勢 紙筆浮點(diǎn)計(jì)算方法不同。任何其他 FPGA供應(yīng)商都不支持這類基準(zhǔn)測試,用戶使用 Altera Quartus. II軟件中提供的參數(shù)賦值矩陣乘法 IP內(nèi)核,很容易自己進(jìn)行測試。


上一頁 1 2 下一頁

關(guān)鍵詞: FPGA 浮點(diǎn) IP內(nèi)核

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉