利用以太網硬件在環(huán)路實現(xiàn)高帶寬DSP仿真
在設計大型FPGA信號處理系統(tǒng)時,設計師往往需要很長的仿真時間。FPGA設計工具(例如賽靈思的System Generator for DSP)通過提供穩(wěn)固的硬件在環(huán)路(hardware-in-the-loop)接口,允許用戶直接利用FPGA硬件進行設計仿真,從而解決仿真時間過長的問題。這些接口允許用戶利用硬件進行部分設計仿真,從而在相當程度上加快了仿真速度(通??蛇_一個數(shù)量級或更多)。同時,利用硬件在環(huán)接口還使系統(tǒng)具備了實時FPGA硬件調試和驗證功能。
System Generator for DSP提供適用于多種FPGA開發(fā)平臺的硬件在環(huán)路接口,這些平臺所提供的供PC機與FPGA硬件通訊的物理接口往往不同。例如,一個JTAG協(xié)同仿真接口就允許任何帶JTAG接頭的FPGA與賽靈思的FPGA在System Generator for DSP中進行協(xié)同仿真。有些其它板卡(例如XtremeDSP開發(fā)套件)則通過PCI總線與計算機進行通訊。到目前為止,仍然只有那些直接通過PCI或PCMCIA接口與PC機連接的開發(fā)板,能夠進行存儲帶寬和數(shù)據吞吐量要求較高(例如視頻和圖像處理)的系統(tǒng)協(xié)同仿真。
通過以太網進行協(xié)同仿真
System Generator for DSP 8.1中包含一個新的以太網協(xié)同仿真接口,這個接口首次使賽靈思的ML402開發(fā)平臺具備了高帶寬協(xié)同仿真能力。ML402開發(fā)板可通過一根標準以太網電纜直接與PC機連接,或通過網絡與PC機遠程連接。
該接口的核心是賽靈思的三模以太網MAC核,支持10/100/1,000Mbps的半雙工和全雙工工作模式。當設計人員通過使用以太網硬件協(xié)同仿真接口生成一個設計時,System Generator for DSP將自動在設計周圍建立必要的邏輯,從而在仿真的過程中通過以太網連接與FPGA進行通信(如圖1所示)。
你還可以雙擊任意一個設計的System Generator模塊打開它的參數(shù)配置對話框,從而生成一個用于以太網硬件協(xié)同仿真的設計。在編譯菜單下,選擇硬件協(xié)同仿真菜單下的ML402/以太網編譯選項。此時,我們可以在以太網協(xié)同仿真的兩種模式中選擇一種。
圖1:采用以太網硬件協(xié)同仿真接口的FPGA結構框圖。
1. 基于網絡的協(xié)同仿真
第一種模式是通過基于網絡的接口進行協(xié)同仿真。有了基于網絡的接口,我們就可以對一個連接到標準IPv4網絡下的FPGA硬件進行協(xié)同仿真。標準IPv4網絡如今幾乎無所不在,因此,基于網絡的接口就為我們提供了一種十分方便的方式,與一個連接到有線或無線網絡的遠程FPGA開發(fā)板進行通訊。這種接口在后臺管理通訊和錯誤處理(丟包重傳)的細節(jié)問題。System Generator for DSP則根據ML402開發(fā)板的IP地址決定在協(xié)同仿真時應該與哪一個平臺通訊。
2. 點對點的協(xié)同仿真
第二種以太網協(xié)同仿真模式是一種點對點的接口,該接口使用原始的以太網幀來實現(xiàn)通過數(shù)據鏈路層與ML402板進行高帶寬通訊。與基于網絡的接口相比,點對點接口注重的是一個本地以太網段上的底層通訊。協(xié)同仿真的數(shù)據通過一根直接將ML402板卡連接到PC的標準UTP以太網電纜傳輸,因此要求PC機上必須具備可用的以太網插口。
點對點接口支持千兆位以太網標準,因而在配置成巨型幀(Jumbo Frame)時能夠充分支撐大數(shù)據量傳輸?shù)男阅?。采用這種接口之后,即便是對帶寬最密集的應用也能進行協(xié)同仿真。
器件配置
以上兩種以太網協(xié)同仿真接口均支持一種新的器件配置方法,即利用賽靈思的System ACE方案通過一根以太網電纜實現(xiàn)器件配置。配置過程與協(xié)同仿真采用相同的以太網連接,因而無需第二根編程電纜(例如賽靈思的Parallel Cable IV或Platform Cable USB)。ML402開發(fā)板上安裝了一塊CF卡,其中包含專用的引導載入程序(Boot-loader)鏡像,在上電時會自動載入FPGA中。該鏡像允許在仿真開始時,利用由以太網電纜送來的新FPGA協(xié)同仿真位流重新配置FPGA。整個配置過程均由System Generator for DSP透明處理。
設計舉例
System Generator for DSP 8.1軟件工具中包含一個名為conv5×5_video_ex的5×5濾波器算子設計模型。該設計向我們展示了如何利用n抽頭的MAC FIR濾波器高效地實現(xiàn)一個二維圖像濾波器。
圖4:用于DSP5×5濾波器運算的系統(tǒng)發(fā)生器。
圖5:System Generator for DSP5×5中濾波器視頻流測試平臺
圖6:System Generator for DSP 5×5濾波器測試平臺的結果
該設計中還包含一個硬件協(xié)同仿真測試平臺,用于以實時幀速率通過其5×5內核傳送一個循環(huán)視頻序列(Looped Video Sequence)。在每個仿真周期都有一個視頻幀被發(fā)送給FPGA進行處理,每個視頻幀進入FPGA后都會由一個5x5的內核對其進行濾波,然后將其送回PC,由Simulink分析。仿真過程中,兩個Simulink Matrix Viewer模塊顯示出未經濾波和已經濾波后的圖像,通過測試平臺的數(shù)據如圖2所示。
圖2:選用以太硬件協(xié)仿真作為系統(tǒng)發(fā)生器編輯類型。
基準測試
以上這個5×5濾波器設計的例子是針對點對點以太網硬件協(xié)同仿真進行編譯的,并利用ML402開發(fā)板進行協(xié)同仿真。我們對硬件仿真速度與軟件仿真速度進行了比較。測試基準特別考慮了每秒被讀回的已處理的幀數(shù)目,并將得到的結果與對單個幀進行濾波操作所需的軟件仿真時間進行比較。
圖3總結了與純軟件仿真相比,以太網協(xié)同仿真所實現(xiàn)的仿真加速。結果表明,仿真速度提高了大約50~1,000倍。在現(xiàn)實設計中,仿真速度能夠提高的程度會隨設計復雜度、I/O口的個數(shù)以及I/O數(shù)據量等因素的不同而有所變化。圖3還反映了與以太網設置相關的另外兩個重要因素-鏈接速度與最大幀尺寸,這兩個因素也會影響協(xié)同仿真的性能。
圖3:指定ML402板的IP地址用于以太硬件協(xié)仿真。
隨著網絡連接速度不斷增快,仿真時間會急劇縮短,因為可用于傳送協(xié)同仿真數(shù)據的帶寬將越來越大。由于千兆位連接允許出現(xiàn)巨型幀,因此通過增大最大幀尺寸還能進一步提升協(xié)同仿真的性能,從而保證實現(xiàn)最高效率的突發(fā)數(shù)據傳輸。
本文小結
System Generator for DSP的以太網硬件協(xié)同仿真接口為在ML402平臺上仿真視頻和圖像處理應用提供了一個方便的高帶寬方案。有了這些接口,我們就可以仿真遠程FPGA平臺,或者仿真一個通過以太網電纜直接連接到主PC機的開發(fā)板,從而提高仿真性能。利用SystemACE方案,還可以通過以太網連接進行器件配置,省去了第二根編程電纜。從測試結果中我們可以看出,這類接口可將仿真速度提升幾個數(shù)量級。
作者:
Ben Chan
軟件工程師
ben.chan@xilinx.com
Nabeel Shirazi
高級軟件工程師
nabeel.shirazi@xilinx.com
Jonathan Ballagh
軟件工程師
jonathan.ballagh@xilinx.com
賽靈思公司