《電子技術(shù)應用》
您所在的位置:首頁 > 可編程邏輯 > 業(yè)界動態(tài) > 將DSP設(shè)計擴展為異構(gòu)硬件平臺

將DSP設(shè)計擴展為異構(gòu)硬件平臺

在自動流程中將一個FPGA 協(xié)處理器添加到DSP系統(tǒng)中
2008-07-24
作者:Tom Hill
?

??? 視頻、影像和電信市場的標準推動了異構(gòu)" title="異構(gòu)">異構(gòu)可重配置 DSP 硬件平臺" title="硬件平臺">硬件平臺的使用。就本文而言,這些平臺包括 DSP 處理器和 FPGA,它們提供的現(xiàn)成硬件解決方案可以解決視頻、影像和電信設(shè)計中的重大難題,但仍不失產(chǎn)品差異化所需的足夠的可定制性。

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

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

?

DSP 硬件平臺的優(yōu)點?

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

??? 盡管 FPGA 在處理大量并行數(shù)據(jù)方面出類拔萃,但對于定期系數(shù)更新、決策控制任務或高速串行數(shù)學運算這類任務來說它們的優(yōu)化程度比不上處理器。正是 FPGA DSP 處理器的結(jié)合為廣泛的應用提供了制勝的解決方案。

??? 例如對于采用模式識別技術(shù)的智能攝像機來說,異構(gòu)可重配置 DSP 平臺可以作為理想的選擇。FPGA 的并行處理能力非常適用于圖像分割和特征提取,而視頻和影像 DSP 處理器則更適合統(tǒng)計模式分類等數(shù)學密集型任務。異構(gòu)系統(tǒng)可以更好地利用流水線和并行處理,這對于獲得高幀速率和低延遲來說至關(guān)重要。

?

基于異構(gòu)平臺的設(shè)計流程的優(yōu)點?

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

??? 基于平臺的設(shè)計流程應能自動生成內(nèi)存映射、軟件接口的頭文件和驅(qū)動程序文件以及硬件的接口和中斷邏輯。整體系統(tǒng)的改動對單個軟件和硬件組件的影響有限。

通過這種自動化,開發(fā)者個人不必再掌握設(shè)計 FPGA 硬件、DSP 處理器應用代碼以及接口邏輯和軟件所需的龐雜技術(shù)。

?

設(shè)計 FPGA 協(xié)處理器?

??? 任何給定的技術(shù)中都有多種方法可以實現(xiàn)信號處理算法。算法步驟常常受到目標硬件的影響。當目標是異構(gòu) DSP 硬件平臺時,實現(xiàn)方法的選擇就成了一個二步過程。您必須首先選擇最合適的硬件器件,然后再確定哪種實現(xiàn)方法適合該器件。

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

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

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

??? 系統(tǒng)中加入 FPGA 協(xié)處理器后,軟件實現(xiàn)就將由算法描述轉(zhuǎn)變?yōu)閿?shù)據(jù)傳遞與函數(shù)控制。對于應用軟件開發(fā)者來說,FPGA 協(xié)處理器將顯示為一個硬件加速器,可以通過函數(shù)調(diào)用對其進行訪問。

?

Xilinx 解決方案?

??? 在MathWorks Simulink MATLAB 建模環(huán)境的基礎(chǔ)上,Xilinx FPGA 提供了一個完整的 DSP 開發(fā)環(huán)境。浮點 MATLAB 中所描述的算法可以用 AccelDSP 合成到 Xilinx? FPGA DSP 功能模塊中。System Generator 允許用 Simulink 將這些模塊與一個由 90 多個經(jīng) Xilinx 優(yōu)化的 DSP 模塊組成的庫結(jié)合起來,從而形成完整的基于 FPGA DSP 系統(tǒng)。

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

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

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

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

?

結(jié)論?

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

?

【jenny】

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。