新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于FPGA的異構可重配置DSP平臺

        基于FPGA的異構可重配置DSP平臺

        作者: 時間:2008-03-09 來源:網絡 收藏
        視頻、影像和電信市場的標準推動了異構可重配置DSP硬件平臺的使用。在本文中這些平臺包括DSP處理器和FPGA,它們提供的現成硬件解決方案可以解決視頻、影像和電信設計中的重大難題,同時又不失差異化設計所需的足夠的可定制性。

        市場研究公司Forward Concepts 2005年發表的一則調查報告稱,選擇處理器和FPGA的主要標準不是器件本身,而是開發它們的工具。這一概念對于包含FPGA和DSP處理器的平臺亦應成立。

        在DSP處理器和FPGA之間,傳統的DSP開發者通常選擇前者,因為設計流程是已知的,而異構系統的優勢則難于評價??芍匦屡渲玫挠布脚_限制了硬件自由度,設計流程因此而具有較高的自動化程度。這種自動化消除了設計的復雜性,從而在DSP設計界進一步推廣了硬件解決方案的優勢。

        DSP硬件平臺的優點

        FPGA和DSP處理器具有截然不同的架構。在一種器件上非常有效的算法,放在另一種器件上卻可能效率非常低。如果目標應用要求大量的并行處理或最大的多通道流量,那么單純基于DSP處理器的硬件系統就可能需要更大的面積、成本或功耗。一個FPGA協處理器僅在一個器件上就能提供多達550個并行乘法和累加運算,從而以較少的器件和較低的功耗為許多應用提供同樣的性能(如圖1所示)。



        圖1:基于FPGA的DSP。

        盡管FPGA在處理大量并行數據方面出類拔萃,但對于定期系數更新、決策控制任務或高速串行數學運算這類任務來說,它們的優化程度比不上處理器。此時FPGA和DSP處理器的結合為許多應用提供了制勝的解決方案。
        例如,對于采用模式識別技術的智能攝像機來說,異構可重配置DSP平臺就是理想的選擇。FPGA的并行處理能力非常適用于圖像分割和特征提取,而視頻和影像DSP處理器則更適合統計模式分類等數學密集型任務。異構系統可以更好地利用流水線和并行處理,這對于獲得高幀速率和低延遲來說至關重要。

        基于異構平臺的設計流程的優點

        基于異構平臺的設計流程把單獨處理器和FPGA設計流程采用的設計自動化概念擴展到整個平臺?;谄脚_設計的基本原則是剔除基于硬件系統和基于軟件系統的“中間件”。這樣就可以讓缺乏或完全沒有FPGA設計經驗的DSP設計者能夠評估和利用FPGA協處理器的性能、成本和功耗優勢。

        基于平臺的設計流程應能自動生成內存映射、軟件接口的頭文件和驅動程序文件以及硬件的接口和中斷邏輯。整體系統的改動對單個軟件和硬件組件的影響有限(見圖2)。通過這種自動化,開發者個人不必再掌握設計FPGA硬件、DSP處理器應用代碼以及接口邏輯和軟件所需的龐雜技術。



        圖2:軟硬件接口生成

        設計FPGA協處理器

        任何給定的技術中都有多種方法可以實現信號處理算法。算法步驟常常受到目標硬件的影響。當目標是異構DSP硬件平臺時,需要分兩步選擇實現方法。你必須首先選擇最合適的硬件器件,然后再確定哪種實現方法適合該器件。

        在可重新配置的DSP硬件平臺上,處理器將作為主處理單元并且控制FPGA。而FPGA則用作協處理器(數據傳入DSP處理器進行同步,然后傳出),或者用作預處理器或后處理器(數據從高速接口傳入)。FPGA的最佳用法取決于系統數據速率、格式和運行參數。

        像德州儀器公司的DSP工具包Code Composer Studio就含代碼分析器,用來識別可以下載到FPGA的軟件“熱點”。20%應用代碼占用80%可用處理器MIPS的情況并不罕見。

        在將FPGA與硬件平臺上獨立的DSP處理器連接時需要一個接口??芍匦屡渲玫腄SP平臺通常能支持較多通用接口(如德州儀器公司的16/32/64位Tic6x DSP擴展存儲器接口,適用于系統控制和協處理任務)和較多高速串行接口(如SRIO或視頻接口,用于預處理和后處理操作)。

        系統中加入FPGA協處理器后,軟件實現就將由算法描述轉變為數據傳遞與函數控制。對于應用軟件開發者來說,FPGA協處理器將顯示為一個硬件加速器,可以通過函數調用對其進行訪問。

        Xilinx解決方案

        在MathWorks的Simulink和MATLAB建模環境的基礎上,Xilinx為FPGA提供了一個完整的DSP開發環境。浮點MATLAB中所描述的算法可以用AccelDSP合成到Xilinx FPGA的DSP功能模塊中。System Generator允許用Simulink將這些模塊與一個由90多個經Xilinx優化的DSP模塊組成的模塊庫結合,形成完整的基于FPGA的DSP系統。

        System Generator支持硬件協同驗證,用硬件上運行的實現過程取代部分軟件模擬。這樣,您就可以驗證硬件中的實現過程并且加速Simulink的模擬。

        現在的System Generator在FPGA協處理器與德州儀器的DSP處理器之間自動生成基礎架構,以這種方式支持基于平臺的設計。這種支持針對平臺,最初是為Xilinx視頻協處理套件提供的。System Generator將來的版本將包括對其他平臺的支持。

        用這種新型的自動方法,System Generator通過一些叫做“共享存儲器”的特殊模塊在軟硬件之間提供一個抽象層。對于硬件開發者來說,這種共享存儲器的作用相當于FIFO、RAM或寄存器的一個端口。

        數據傳入和傳出FPGA的操作是通過對應用軟件中的一個共享寄存器執行一個簡單函數調用來完成的,此函數調用在System Generator自動生成的驅動程序文件中予以定義。這個流程還支持中斷生成,以實現處理器和協處理器之間的有效執行。

        本文小結

        FPGA的并行處理能力可大大改善視頻、影像和電信應用的性能、成本效率和功耗,這些應用或者已經受益于并行DSP處理,或者受益于需要優化的多通道處理。依托基于平臺設計方法的異構可重配置DSP平臺使不熟悉FPGA設計的傳統DSP設計者能夠快速評估FPGA協處理器為其特定應用帶來的好處。


        評論


        技術專區

        關閉
        主站蜘蛛池模板: 乡宁县| 盐山县| 白城市| 吴川市| 清镇市| 磐安县| 松阳县| 靖远县| 盱眙县| 错那县| 河北省| 长宁区| 亳州市| 永泰县| 雷波县| 龙陵县| 贺兰县| 贵州省| 合川市| 安福县| 赣州市| 沈阳市| 榆中县| 弥勒县| 新乡县| 巴彦淖尔市| 黄龙县| 罗江县| 营口市| 达尔| 民权县| 浮山县| 新安县| 沈阳市| 金平| 新余市| 武宣县| 屏东市| 平乡县| 巴彦县| 克山县|