對于通信、軍事、醫療等應用中的很多復雜系統,首先要使用浮點數據處理算法,利用 C或者 MATLAB軟件進行仿真和建模。而最終實現幾乎都采用定點或者整數算法。算法被仔細映射到有限動態范圍內,調整數據通路中的每一功能。這就需要很多取整和飽和步驟,如果處理的不合適,就會對算法性能有不利的影響。在集成過程中一般還需要進行大量的驗證工作,以確保系統工作符合仿真結果。 以前,由于缺乏 FPGA工具包的支持, FPGA設計人員一般不選擇浮點算法。使用很多浮點 FPGA運算符時,由于需要大量邏輯和布線資源,因此,它的另一個缺點是性能太差。 FPGA高效實現復數浮點函數的關鍵是使用基于乘法器的算法,利用大量集成在 FPGA器件中的硬件乘法器資源。用于實現這些非線性函數的乘法器必須有很高的精度,以保證乘法迭代過程中的精度要求。而且,高精度乘法器不需要在每一次乘法迭代中進行歸一化和逆歸一化處理,大大降低了對邏輯和布線的要求。 FPGA采用硬件數字信號處理 (DSP)模塊,能夠實現高效的 36位x36位乘法器,對于單精度浮點算法,提供足夠的位數,滿足一般的單精度 24位尾數要求。這些乘法器還能夠用于構建更大的乘法器,實現高達 72位 x72位的雙精度浮點算法。 由于浮點算法動態范圍較大,相對于浮點仿真,大大簡化了系統性能驗證任務,因此,對于設計人員而言,這種算法通常能夠提高性能。在某些應用中,定點算法是不可行的。動態范圍要求使用浮點算法的一個常見的例子是矩陣求逆運算。 浮點 IP內核 Altera現在提供業界最全面的單精度和雙精度浮點 IP內核,其性能非常高。目前提供的浮點 IP內核包括:
基本功能 圖1詳細列出了基本浮點功能及其性能。對比浮點除法與加減法所需要的資源及其性能,表明系統設計人員不需要在算法中避開除法運算以簡化硬件實現。 矩陣乘法 Altera在提供基于 FPGA的參數賦值浮點矩陣IP內核方面有其獨到之處。這些運算符集成了數十甚至上百個浮點運算符,保持了較高的性能。矩陣乘法內核還可以用于完成標準測試或者 GFLOP/S和 GFLOP/W。 SGEMM矩陣乘法內核的性能結果如表1所示,它實際是后編譯時序逼近結果,與確定 GFLOP/S通常使用的 Altera公司充分發揮 FPGA浮點 IP內核的優勢 紙筆浮點計算方法不同。任何其他 FPGA供應商都不支持這類基準測試,用戶使用 Altera Quartus. II軟件中提供的參數賦值矩陣乘法 IP內核,很容易自己進行測試。 表 1. 單精度矩陣乘法性能結果 注釋: (1) 自適應邏輯模塊 (2) 18x18 DSP模塊 使用 Quartus II功耗估算器,很容易計算得到實際的每瓦每秒 giga浮點結果 (GFLOPS/W)。使用 Altera. Stratix. IV EP4SE230 FPGA部分資源時,結果達到了 5 GFLOPS/W。使用 Stratix IV EP4SE530器件中更大的矩陣乘法內核,結果大約為 7 GFLOPS/W,計算密度為 200 GFLOPS。利用整個器件實現大規模浮點算法時,分散了 FPGA靜態功耗,效率非常高。 Altera開發的浮點技術大大降低了實現大規模浮點數據通路的邏輯和布線資源要求。使用浮點數據通路優化工具非常關鍵,對資源要求的降低使得單位浮點邏輯/布線運算比達到了高端 FPGA的水平。這反映在工具能夠實現接近 300 MHz的 fMAX,與例化的矩陣乘法規模無關。通過這種方式,在大規模浮點設計中,用戶能夠可靠的使用 FPGA 80%以上的資源,實現大于 200-MHz的 fMAX性能。 矩陣求逆 FPGA中浮點算法最常見的應用是矩陣求逆。大部分無線多輸入多輸出 (MIMO)算法、雷達 STAP系統、醫療成像聚束和很多高性能計算應用都需要進行矩陣求逆。參數賦值矩陣求逆浮點 IP內核的實例性能 (表2)顯示了非常高的矩陣吞吐量。 4x4矩陣求逆內核能夠進行每秒 2千萬次矩陣求逆運算,速度足以支持 LTE無線 MIMO應用。 表 2. 單精度浮點矩陣求逆 (Cholesky算法)性能 快速傅立葉變換 FFT是另一種大動態范圍應用實例。由于 FFT算法的內在特性,位精度一般會隨著 FFT長度增加而增大。某些應用使用級聯 FFT,需要更大的動態范圍。很多雷達應用使用 FFT進行定點算法,裝入測距數據。這一般還需要第二次 FFT,裝入多普勒測距數據,動態范圍足夠高,需要采用浮點算法。如圖3和圖4所示,相對于定點算法,需要增加邏輯以實現單精度浮點算法,而電路 fMAX、存儲器和乘法器基本相似。 結論 Altera新的浮點電路優化技術集成到浮點 IP內核中,同時提高了密度,并提供更多的邏輯資源,實現了優異的 FPGA浮點性能。其他供應商提供專用浮點處理器解決方案,但是,大部分都達不到 Altera FPGA解決方案的 GFLOPS高性能水平,而且沒有一個能夠實現 Stratix IV FPGA解決方案的 GFLOP/W性能。國家科學基金會 (NSF)高性能配置計算中心 (CHREC)的獨立基準測試證明了這一點,認為 Stratix IV EP4SE530雙精度浮點處理的性能最好。 Altera FPGA的其他優點包括業界領先的外部存儲器帶寬資源以及性能達到 12.5 Gbps的SERDES收發器等。 FPGA平臺還提供性能最好的定點數據通路,實現了非常靈活的 I/O和存儲器接口。通過這些功能, Stratix IV FPGA成為構建高性能浮點數據通路的理想平臺,可以用在多種應用中,從高性能計算到雷達和電子戰,直至基于 MIMO的 SDR/無線系統,以及無線聚束應用等。 |