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

將DSP設(shè)計(jì)擴(kuò)展為異構(gòu)硬件平臺(tái)

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

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

??? 據(jù)市場(chǎng)研究公司 Forward Concepts 2005 年發(fā)表的一則調(diào)查報(bào)告稱(chēng),選擇處理器和 FPGA 的主要標(biāo)準(zhǔn)不是器件本身而是開(kāi)發(fā)它們的工具。這一概念對(duì)于包含 FPGA DSP 處理器的平臺(tái)亦應(yīng)成立。

??? 在 DSP 處理器和 FPGA 之間,傳統(tǒng)的 DSP 開(kāi)發(fā)者通常選擇前者,因?yàn)?a class="cblue" href="http://ihrv.cn/search/?q=設(shè)計(jì)流程" title="設(shè)計(jì)流程">設(shè)計(jì)流程是已知的而異構(gòu)系統(tǒng)的優(yōu)點(diǎn)則難于評(píng)價(jià)。可重新配置的硬件平臺(tái)限制了硬件自由度,設(shè)計(jì)流程因此而具有較高的自動(dòng)化程度。這種自動(dòng)化排除了設(shè)計(jì)的復(fù)雜性,從而在 DSP 設(shè)計(jì)界進(jìn)一步推廣了硬件解決方案的優(yōu)勢(shì)。

?

DSP 硬件平臺(tái)的優(yōu)點(diǎn)?

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

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

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

?

基于異構(gòu)平臺(tái)的設(shè)計(jì)流程的優(yōu)點(diǎn)?

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

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

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

?

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

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

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

??? 像德州儀器公司 DSP Code Composer Studio 這類(lèi)工具包含代碼分析器,用來(lái)識(shí)別可以下載到 FPGA 的軟件“熱點(diǎn)”。20% 應(yīng)用代碼占用 80% 可用處理器 MIPS 的情況并不罕見(jiàn)。

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

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

?

Xilinx 解決方案?

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

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

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

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

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

?

結(jié)論?

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

?

【jenny】

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