將DSP設(shè)計(jì)擴(kuò)展為異構(gòu)硬件平臺(tái)
您可以在自動(dòng)流程中將一個(gè) FPGA 協(xié)處理器添加到 DSP 系統(tǒng)中。
本文引用地址:http://butianyuan.cn/article/80516.htm視頻、影像和電信市場(chǎng)的標(biāo)準(zhǔn)推動(dòng)了異構(gòu)可重配置 DSP 硬件平臺(tái)的使用。就本文而言,這些平臺(tái)包括 DSP 處理器和 FPGA,它們提供的現(xiàn)成硬件解決方案可以解決視頻、影像和電信設(shè)計(jì)中的重大難題,但仍不失產(chǎn)品差異化所需的足夠的可定制性。
據(jù)市場(chǎng)研究公司 Forward Concepts 于 2005 年發(fā)表的一則調(diào)查報(bào)告(圖 1)稱,選擇處理器和 FPGA 的主要標(biāo)準(zhǔn)不是器件本身,而是開(kāi)發(fā)它們的工具。這一概念對(duì)于包含 FPGA 和 DSP 處理器的平臺(tái)亦應(yīng)成立。
圖 1 – 2005 年 Forward Concepts 市場(chǎng)調(diào)查
在 DSP 處理器和 FPGA 之間,傳統(tǒng)的 DSP 開(kāi)發(fā)者通常選擇前者,因?yàn)樵O(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)用要求大量的并行處理或最大的多通道流量,那么單純基于 DSP 處理器的硬件系統(tǒng)就可能需要更大的面積、成本或功耗。一個(gè) FPGA 協(xié)處理器僅在一個(gè)器件上就能提供多達(dá) 550 個(gè)并行乘法和累加運(yùn)算,從而以較少的器件和較低的功耗為許多應(yīng)用提供同樣的性能(圖 2)。
圖 2 – 基于 FPGA 的 DSP – 并行
盡管 FPGA 在處理大量并行數(shù)據(jù)方面出類拔萃,但對(duì)于定期系數(shù)更新、決策控制任務(wù)或高速串行數(shù)學(xué)運(yùn)算這類任務(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ì)模式分類等數(shù)學(xué)密集型任務(wù)。異構(gòu)系統(tǒng)可以更好地利用流水線和并行處理,這對(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ì)。
基于平臺(tái)的設(shè)計(jì)流程應(yīng)能自動(dòng)生成內(nèi)存映射、軟件接口的頭文件和驅(qū)動(dòng)程序文件以及硬件的接口和中斷邏輯。整體系統(tǒng)的改動(dòng)對(duì)單個(gè)軟件和硬件組件的影響有限(圖 3)。
圖 3 – 軟硬件接口生成
通過(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)識(shí)別可以下載到 FPGA 的軟件“熱點(diǎn)”。20% 應(yīng)用代碼占用 80% 可用處理器 MIPS 的情況并不罕見(jiàn)。
需要一個(gè)接口將 FPGA 連接到硬件平臺(tái)上獨(dú)立的 DSP 處理器。可重新配置的 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ō),F(xiàn)PGA 協(xié)處理器將顯示為一個(gè)硬件加速器,可以通過(guò)函數(shù)調(diào)用對(duì)其進(jìn)行訪問(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è)端口(圖 4)。
圖 4 – 共享 System Generator 的 FIFO
數(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)的好處。
存儲(chǔ)器相關(guān)文章:存儲(chǔ)器原理
評(píng)論