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