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