雷達信號處理:FPGA還是GPU?
為降低桶形移位頻率,綜合過(guò)程盡可能使用較大的尾數寬度,從而不需要頻率歸一化和去歸一化。27 × 27和36 × 36硬核乘法器支持比單精度實(shí)現所要求的23位更大的乘法計算,54 × 54和72 × 72結構的乘法器支持比52位更大的雙精度計算,這通常是雙精度實(shí)現所要求的。FPGA邏輯已經(jīng)針對大規模定點(diǎn)加法器電路進(jìn)行了優(yōu)化,包括了內置進(jìn)位超前電路。
本文引用地址:http://dyxdggzs.com/article/221498.htm當需要進(jìn)行歸一化和去歸一化時(shí),另一種可以避免低性能和過(guò)度布線(xiàn)的方法是使用乘法器。對于一個(gè)24位單精度尾數(包括符號位),24 × 24乘法器通過(guò)乘以2n對輸入移位。27 × 27和36 × 36硬核乘法器支持單精度擴展尾數,可以用于構建雙精度乘法器。
在很多線(xiàn)性代數算法中,矢量點(diǎn)乘是占用大量FLOP的底層運算。單精度實(shí)現長(cháng)度是64的長(cháng)矢量點(diǎn)乘需要64個(gè)浮點(diǎn)乘法器,以及隨后由63個(gè)浮點(diǎn)加法器構成的加法樹(shù)。這類(lèi)實(shí)現需要很多桶形移位電路。
相反,可以對64個(gè)乘法器的輸出進(jìn)行去歸一化,成為公共指數,最大是64位指數??梢允褂枚c(diǎn)加法器電路對這些64路輸出求和,在加法樹(shù)的最后進(jìn)行最終的歸一化。如圖4所示,這一本地模塊浮點(diǎn)處理過(guò)程省掉了每一加法器所需要的中間歸一化和去歸一化。即使是IEEE 754浮點(diǎn)處理,最大指數決定了最終的指數,因此,這種改變只是在計算早期進(jìn)行指數調整。

圖4.矢量點(diǎn)乘優(yōu)化
但進(jìn)行信號處理時(shí),在計算最后盡可能以高精度來(lái)截斷結果才能獲得最佳結果。這種方法傳遞除單精度浮點(diǎn)處理所需要尾數位寬之外的額外的尾數位寬,一般從27位到36位補償了單精度浮點(diǎn)處理所需要的早期去歸一化這種次優(yōu)方法,。采用浮點(diǎn)乘法器進(jìn)行尾數擴展,因此,在每一步消除了對乘積進(jìn)行歸一化的要求。
這一方法每個(gè)時(shí)鐘周期也會(huì )產(chǎn)生一個(gè)結果。GPU體系結構可以并行產(chǎn)生所有浮點(diǎn)乘法,但不能高效并行進(jìn)行加法。原因是因為不同的內核必須通過(guò)本地存儲器傳輸數據實(shí)現通信,因此缺乏FPGA架構的連接的靈活特性。
融合數據通路方法產(chǎn)生的結果比傳統IEEE 754浮點(diǎn)結果更加精確,如表3所示。
表3.Cholesky分解準確性(單精度)

使用Cholesky分解算法,實(shí)現大規模矩陣求逆,獲得了這些結果。相同的算法以三種不同的方法實(shí)現:
♦ 在MATLAB/Simulink中,采用IEEE 754單精度浮點(diǎn)處理。
♦ 在RTL單精度浮點(diǎn)處理中,使用融合數據通路方法。
♦ 在MATLAB中,采用雙精度浮點(diǎn)處理。
雙精度實(shí)現要比單精度實(shí)現精度高十億倍(109)。
MATLAB單精度誤差、RTL單精度誤差和MATLAB雙精度誤差對比確認了融合數據通路方法的完整性。采用了這一方法來(lái)獲得輸出矩陣中所有復數元素的歸一化誤差以及矩陣元素的最大誤差。使用Frobenius范數計算了總誤差:

由于范數包括了所有元素的誤差,因此比單一誤差大很多。
此外,DSP Builder高級模塊庫和OpenCL工具流程都針對下一代FPGA體系結構,支持并優(yōu)化目前的設計。由于體系結構創(chuàng )新和工藝技術(shù)創(chuàng )新,性能可以達到100峰值GFLOPs/W。
結論
高性能雷達系統現在有新的處理平臺選擇。除了更好的SWaP,與基于處理器的解決方案相比,FPGA能提供低延時(shí)和高GFLOP。隨著(zhù)下一代高性能計算優(yōu)化FPGA的推出,這種優(yōu)勢會(huì )更明顯。
Altera的OpenCL編譯器為GPU編程人員提供了幾乎無(wú)縫的通路來(lái)評估這一新處理體系結構的指標。Altera OpenCL符合1.2規范,提供全面的數學(xué)庫支持。它解決了傳統FPGA遇到的時(shí)序收斂、DDR存儲器管理以及PCIe主處理器接口等難題。
對于非GPU開(kāi)發(fā)人員,Altera提供DSP Builder高級模塊庫工具流程,支持開(kāi)發(fā)人員開(kāi)發(fā)高fMAX定點(diǎn)或浮點(diǎn)DSP設計,同時(shí)保持基于Mathworks的仿真和開(kāi)發(fā)環(huán)境的優(yōu)點(diǎn)。使用FPGA的雷達開(kāi)發(fā)人員多年以來(lái)一直使用該產(chǎn)品,實(shí)現更高效的工作流程和仿真,其fMAX性能與手動(dòng)編碼HDL相同。
fpga相關(guān)文章:fpga是什么
鎖相環(huán)相關(guān)文章:鎖相環(huán)原理
評論