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