利用以太網(wǎng)硬件在環(huán)路實現(xiàn)高帶寬DSP仿真方案
通常情況下,在設(shè)計基于FPGA的大型信號處理系統(tǒng)的時候,設(shè)計人員往往需要進行費時費力的仿真。以Xilinx System Generator for DSP為代表的FPGA設(shè)計工具,通過提供可靠的硬件在環(huán)接口(該接口可以直接將FPGA硬件置入設(shè)計仿真),來解決這種問題。
通過在硬件上模擬部分設(shè)計,這些接口可以大大提高仿真的速度——通??梢蕴岣咭粋€甚至多個數(shù)量級。使用硬件在環(huán)還可以讓設(shè)計人員實時進行FPGA硬件調(diào)試和驗證。
System Generator for DSP 可以為多類FPGA開發(fā)平臺提供硬件在環(huán)接口。這些平臺通常通過不同的物理接口和PC建立通信。舉例來說,一個JTAG協(xié)仿真接口可以允許任何一個具備JTAG頭和Xilinx FPGA的FPGA板在System Generator for DSP內(nèi)部進行協(xié)仿真。其它類型的板卡,比如XtremeDSPTM開發(fā)工具套件,是通過PCI總線進行通信的。直到最近以來,具有高存儲帶寬和吞吐率要求的系統(tǒng)協(xié)仿真(例如視頻和圖像處理),還只能在那些通過PCI或者是PCMCIA接口直接與PC建立通信的開發(fā)板上進行。
基于以太網(wǎng)的協(xié)仿真
System Generator for DSP 8.1內(nèi)含一個全新的以太網(wǎng)協(xié)仿真接口,該接口首次讓Xilinx ML402 評估平臺具備了高帶寬協(xié)仿真的能力。ML402開發(fā)板將直接通過標(biāo)準(zhǔn)以太網(wǎng)電纜或者通過網(wǎng)絡(luò)遠程連接到計算機上。
接口的核心是Xilinx三態(tài)以太網(wǎng)MAC核,它可以支持10/100/1000 Mbps半雙工和全雙工操作模式。當(dāng)設(shè)計人員通過使用以太網(wǎng)硬件協(xié)仿真接口生成一個設(shè)計的時候,System Generator for DSP將自動在設(shè)計周圍建立必要的邏輯,從而在仿真的過程中,通過以太網(wǎng)連接與FPGA進行通信(圖1)。 你還可以雙擊任意一個設(shè)計的System Generator模塊打開它的參數(shù)配置對話框,從而生成一個用于以太網(wǎng)硬件協(xié)仿真的設(shè)計。在編譯菜單下,從硬件協(xié)仿真菜單中選擇ML402/Ethernet編譯(參見圖2)。你可以在兩種不同的以太網(wǎng)協(xié)仿真模式中進行選擇。
基于網(wǎng)絡(luò)的協(xié)仿真
基于網(wǎng)絡(luò)的接口可以讓開發(fā)人員對那些連至標(biāo)準(zhǔn)IPv4網(wǎng)絡(luò)的FPGA硬件進行協(xié)仿真。由于IPv4這種網(wǎng)絡(luò)幾乎無處不在,基于網(wǎng)絡(luò)的接口,為與連接至有線或者無線網(wǎng)絡(luò)的遠程FPGA開發(fā)板建立通信提供了一條便捷的途徑。該接口在后臺管理著通信細節(jié)和錯誤處理過程(在丟包后重新進行傳送)。System Generator for DSP通過分析ML402板的IP地址來決定在協(xié)仿真過程中與哪個平臺進行通信(圖3)。
點對點協(xié)仿真
第二種以太網(wǎng)協(xié)仿真的模式則是一種點對點接口,該接口使用原始的以太網(wǎng)幀,通過數(shù)據(jù)鏈路層與ML402板建立高帶寬通信。與基于網(wǎng)絡(luò)的模式不同的是,點對點接口側(cè)重于本地網(wǎng)段上的低層通信。協(xié)仿真的數(shù)據(jù)則通過連接ML402板和計算機的標(biāo)準(zhǔn)UTP以太網(wǎng)電纜進行傳送。這意味著,你的計算機必須具備一個空閑的以太網(wǎng)插口以建立連接。
點對點接口可以支持千兆位級以太網(wǎng)標(biāo)準(zhǔn),如果該接口被配置為可以使用巨型幀,數(shù)據(jù)的傳送性能將大大提高。使用這種接口連接方式,你甚至可以對超帶寬應(yīng)用進行協(xié)仿真。
器件配置
上述兩種以太網(wǎng)協(xié)仿真接口都支持一種新的器件配置方法,即利用Xilinx System ACETM解決方案支持給予以太網(wǎng)的配置。這種配置過程可以在相同的用于協(xié)仿真的以太網(wǎng)連接上進行,因此消除了對二次編程電纜(如Xilinx Parallel Cable IV或者Platform Cable USB)的需求。ML402開發(fā)板還搭載了一個Compact Flash卡,它包含一個特殊的啟動加載程序映像,該映像在上電的時候會自動下載至FPGA。該映像可以利用在仿真開始時通過以太網(wǎng)電纜傳輸?shù)男碌腇PGA協(xié)仿真的數(shù)據(jù)位流對FPGA進行重新配置。整個配置過程都由System Generator for DSP以透明方式進行操控。
設(shè)計示例
一個命名為conv5x5_video_ex的5×5濾波器算子設(shè)計模型被包含在System Generator for DSP 8.1軟件工具當(dāng)中。該設(shè)計證明了使用n-抽頭MAC FIR濾波器可以有效地實現(xiàn)二維圖像濾波。圖4顯示了System Generator for DSP的頂層設(shè)計。
另外,該設(shè)計還包含一個硬件協(xié)仿真測試平臺,該平臺用來使循環(huán)視頻序列以實時幀速率流過5×5內(nèi)核。在每個仿真周期,視頻幀將被傳送到FPGA中進行處理。一旦進入FPGA,每個幀都會被5×5內(nèi)核進行濾波,然后傳回計算機用Simulink進行分析。仿真過程中,兩個Simulink矩陣指示器模塊分別顯示未經(jīng)濾波和經(jīng)過濾波后的圖像,圖5所示為通過測試平臺的數(shù)據(jù)流。
基準(zhǔn)測試
對5×5濾波器設(shè)計示例進行了編譯以便實現(xiàn)點對點以太網(wǎng)硬件協(xié)仿真,并利用Xilinx ML402開發(fā)板對其進行了協(xié)仿真。我們對硬件仿真速度與軟件仿真速度進行了比較?;鶞?zhǔn)程序特別考慮了每秒被讀回的已處理幀的數(shù)目,并將結(jié)果同單個幀的濾波操作所耗費的軟件仿真時間進行了比較。
圖6總結(jié)了與純軟件仿真相比,以太網(wǎng)協(xié)仿真所實現(xiàn)的仿真加速。結(jié)果表明,仿真速度提高了大約50到1,000倍。在現(xiàn)實設(shè)計中,速度的提高幅度取決于多種因素,這些因素包括:設(shè)計的復(fù)雜程度、I/O端口的數(shù)目和I/O數(shù)據(jù)的流量等。圖6還顯示,和以太網(wǎng)設(shè)置有關(guān)的另外兩個重要因素——鏈路速度和可允許的最大幀尺寸——也能影響到協(xié)仿真的性能。
隨著鏈路速度的提高,我們發(fā)現(xiàn)仿真所用的時間大大縮短,這是因為有更多的帶寬可用于協(xié)仿真的數(shù)據(jù)。另外,如果開通千兆位級以太網(wǎng)的巨型幀支持功能(為保證突發(fā)數(shù)據(jù)傳輸?shù)男首畲蠡哟罅丝稍试S的最大幀尺寸),協(xié)仿真的性能可得到進一步的提升。
結(jié)論
System Generator for DSP的以太網(wǎng)硬件協(xié)仿真接口,為在Xilinx ML402平臺上進行視頻和圖像處理應(yīng)用仿真提供了一個便捷和高帶寬的解決方案。該類接口為對遠程FPGA平臺進行仿真,或者為了實現(xiàn)更高的性能,對那些直接通過以太網(wǎng)電纜連接主機的開發(fā)板進行仿真創(chuàng)造了條件。借助System ACE解決方案,設(shè)計人員可以通過以太網(wǎng)完成器件配置,消除了對二次編程電纜的需求。正如基準(zhǔn)測試結(jié)果顯示的那樣,該接口能夠大幅度提高仿真速度。
Xilinx System Generator for DSP v8.1軟件工具內(nèi)含以太網(wǎng)協(xié)仿真接口和視頻處理參考設(shè)計。