新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > 充分發揮FPGA浮點IP內核的優勢

        充分發揮FPGA浮點IP內核的優勢

        作者: 時間:2009-12-07 來源:網絡 收藏

        最近出現的 設計工具和 IP有效減少了計算占用的資源,大大簡化了數據通路的實現。而且,與數字信號處理器不同, 能夠支持和定點混合工作的 DSP數據通路,實現的性能超過了 100 GFLOPS。在所有信號處理算法中,對于只需要動態范圍算法的很多高性能 DSP應用,這是非常重要的優點。選擇 并結合浮點工具和 IP,設計人員能夠靈活的處理定點數據寬度、浮點數據精度和達到的性能等級,而這是處理器體系結構所無法實現的。

        本文引用地址:http://www.104case.com/article/191867.htm

        引言

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

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

        FPGA采用硬件數字信號處理 (DSP)模塊,能夠實現高效的 36位x36位乘法器,對于單精度浮點算法,提供足夠的位數,滿足一般的單精度 24位尾數要求。這些乘法器還能夠用于構建更大的乘法器,實現高達 72位 x72位的雙精度浮點算法。

        由于浮點算法動態范圍較大,相對于浮點仿真,大大簡化了系統性能驗證任務,因此,對于設計人員而言,這種算法通常能夠提高性能。在某些應用中,定點算法是不可行的。動態范圍要求使用浮點算法的一個常見的例子是矩陣求逆運算。

        浮點
        Altera現在提供業界最全面的單精度和雙精度浮點 ,其性能非常高。目前提供的浮點 包括:


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

        WP-01116-1.0

        2009年 10月, 1.0版


        充分發揮 FPGA浮點 IP內核的優勢 Altera公司

        基本功能
        圖1詳細列出了基本浮點功能及其性能。對比浮點除法與加減法所需要的資源及其性能,表明系統設計人
        員不需要在算法中避開除法運算以簡化硬件實現。

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

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


        上一頁 1 2 下一頁

        關鍵詞: FPGA 浮點 IP內核

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 岳阳县| 电白县| 天镇县| 张掖市| 石景山区| 德格县| 红桥区| 贵州省| 德江县| 黔西| 抚顺县| 新野县| 昆明市| 诸暨市| 襄城县| 南充市| 祁连县| 安国市| 怀安县| 乌兰浩特市| 大英县| 兖州市| 沈丘县| 明水县| 友谊县| 九台市| 易门县| 修武县| 北安市| 苗栗县| 恩施市| 清流县| 永年县| 梁河县| 本溪市| 当阳市| 海原县| 海宁市| 象州县| 汶川县| 堆龙德庆县|