劉冠男++黃光紅
摘要:介紹了飛越傳輸在多DSP系統(tǒng)中的應(yīng)用,提出一種軟硬件協(xié)同驗(yàn)證平臺(tái)對(duì)多DSP系統(tǒng)中的飛越傳輸功能進(jìn)行驗(yàn)證。該協(xié)同驗(yàn)證平臺(tái)能夠在設(shè)計(jì)早期發(fā)現(xiàn)系統(tǒng)中的硬件錯(cuò)誤和軟件錯(cuò)誤,提高驗(yàn)證效率。在實(shí)際應(yīng)用中該協(xié)同驗(yàn)證平臺(tái)工作穩(wěn)定,高效準(zhǔn)確地完成了設(shè)計(jì)驗(yàn)證。
關(guān)鍵詞:多DSP;軟硬件協(xié)同驗(yàn)證;飛越傳輸
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2014)18-4139-04
A Verification Platform for Flyby Transfer in Multi-DSP System
LIU Guan-nan,HUANG Guang-hong
(CETC No.38 Research Institute, Hefei 230031, China)
Abstract:The function of flyby transfer in multi-DSP system is introduced, and a software-hardware co-verification platform is proposed in this paper. This verification platform can detect both the hardware errors and software errors in the prophase design, and is proved efficient in the practical application.
Key words:Multi-DSP; Co-verification; Flyby transfer
現(xiàn)代數(shù)字技術(shù)的發(fā)展對(duì)運(yùn)算速率、通信實(shí)時(shí)性、數(shù)據(jù)傳輸速率有更高的要求[1],以單個(gè)DSP構(gòu)建的數(shù)字信號(hào)處理系統(tǒng)已經(jīng)難以滿足應(yīng)用需求,需要將多個(gè)DSP組成并行數(shù)據(jù)處理系統(tǒng)進(jìn)行應(yīng)用。特別是在雷達(dá)、視頻監(jiān)控等處理系統(tǒng)中,需要存儲(chǔ)和傳輸大量的實(shí)時(shí)數(shù)據(jù)[2],飛越傳輸成為多DSP處理系統(tǒng)中傳輸大批量數(shù)據(jù)的重要方式[3]。
本文中的多DSP系統(tǒng)采用4片DSP構(gòu)成,每片DSP都有獨(dú)立的DDR2 SDRAM,系統(tǒng)中每?jī)善珼SP之間采用飛越傳輸來實(shí)現(xiàn)大批量數(shù)據(jù)的共享。文章介紹一種軟硬件協(xié)同驗(yàn)證平臺(tái)的設(shè)計(jì)方法,可實(shí)現(xiàn)對(duì)多DSP間通信協(xié)議及數(shù)據(jù)傳輸功能的驗(yàn)證,并能自動(dòng)比較驗(yàn)證結(jié)果,給出結(jié)果報(bào)告。
1 驗(yàn)證平臺(tái)結(jié)構(gòu)
1.1 軟硬件協(xié)同驗(yàn)證系統(tǒng)
多DSP系統(tǒng)結(jié)構(gòu)復(fù)雜,DSP之間的數(shù)據(jù)通信及軟件控制需要協(xié)調(diào)工作才能保證整個(gè)系統(tǒng)正確運(yùn)行。軟硬件協(xié)同驗(yàn)證平臺(tái)[4][5][6]可以通過一個(gè)接口,讓軟件驗(yàn)證器和硬件驗(yàn)證器協(xié)同工作,模擬多DSP系統(tǒng)實(shí)際的工作情況。軟硬件協(xié)同驗(yàn)證可以在設(shè)計(jì)的早期發(fā)現(xiàn)系統(tǒng)功能、軟硬件劃分、軟硬件之間的接口以及設(shè)計(jì)中的其他問題,避免后期系統(tǒng)集成時(shí)出現(xiàn)軟硬件交互錯(cuò)誤,能夠極大提高仿真驗(yàn)證的效率,減少系統(tǒng)設(shè)計(jì)中出現(xiàn)的錯(cuò)誤和設(shè)計(jì)返工造成的損失。
軟硬件協(xié)同驗(yàn)證平臺(tái)的組成部分包括:硬件模擬內(nèi)核、指令集模擬器(Instruction Set Simulation,ISS)、System C模型、軟硬件通信接口、結(jié)果比較器、調(diào)試接口,如圖1所示。硬件模擬內(nèi)核包括RTL模型和Testcase生成器,RTL模型是DSP的RTL級(jí)建模,Testcase生成器產(chǎn)生多DSP系統(tǒng)的初始化程序、運(yùn)行指令、配置參數(shù)。System C模型是多DSP系統(tǒng)的行為級(jí)建模。硬件驗(yàn)證平臺(tái)與軟件驗(yàn)證平臺(tái)之間的通信采用基于TCP/IP協(xié)議的Socket接口技術(shù)。硬件驗(yàn)證平臺(tái)產(chǎn)生的Testcase通過Socket接口送給軟件驗(yàn)證平臺(tái)的ISS進(jìn)行編譯、鏈接,轉(zhuǎn)換成DSP能夠識(shí)別的二進(jìn)制文件,再分別送給RTL模型和System C模型進(jìn)行仿真,仿真的結(jié)果送到結(jié)果比較器中進(jìn)行自動(dòng)比較。對(duì)于結(jié)果異常的仿真,可以通過軟件調(diào)試器和波形分析器對(duì)軟件程序和硬件設(shè)計(jì)進(jìn)行調(diào)試,定位異常原因是軟件程序錯(cuò)誤還是硬件設(shè)計(jì)錯(cuò)誤。
1.2 硬件驗(yàn)證平臺(tái)結(jié)構(gòu)
1.2.1 DSP間的級(jí)聯(lián)方式及外設(shè)接口
本文中的多DSP系統(tǒng)由4片DSP組成,結(jié)構(gòu)如圖2所示,每片DSP都有4個(gè)全雙工的Link通信端口,并外接一個(gè)獨(dú)立的DDR2 SDRAM存儲(chǔ)器,系統(tǒng)中的DSP之間通過Link端口相互連接,DSP間的通信和數(shù)據(jù)傳輸由Link口實(shí)現(xiàn),每片DSP外掛的DDR2 SDRAM都可以通過飛越傳輸與其它DSP實(shí)現(xiàn)數(shù)據(jù)共享。多DSP系統(tǒng)的初始化程序通過并口從外部加載。
圖2 DSP級(jí)連結(jié)構(gòu)圖
1.2.2 多DSP系統(tǒng)的初始化
多DSP系統(tǒng)工作時(shí),要先從外部FLASH加載引導(dǎo)程序,外部FLASH中存有加載核、應(yīng)用程序的程序段和數(shù)據(jù)段。多DSP系統(tǒng)加載結(jié)構(gòu)如圖3所示,F(xiàn)LASH通過并口與其中一個(gè)DSP連接,該DSP定義為主片(DSP1),其余的DSP定義為從片(DSP2、DSP3、DSP4)。主片的程序和數(shù)據(jù)段通過并口加載,從片的加載程序通過與主片相連的鏈路口進(jìn)行加載。程序加載過程如圖4所示,系統(tǒng)復(fù)位后,主片先通過并口從外部FLASH中導(dǎo)入主片加載核,然后主片再通過并口將DSP2的加載核導(dǎo)入主片內(nèi)存中,并通過link口將DSP2的加載核發(fā)送給DSP2 ,主片通過相同的方式完成對(duì)DSP3、DSP4的加載核傳輸。從片加載核傳輸結(jié)束后,主片依次從外部FLASH中讀入從片DSP2~DSP4的應(yīng)用程序,并通過Link口傳輸給從片,完成3個(gè)從片的初始化,之后主片才從FLASH中讀入主片應(yīng)用程序,完成整個(gè)多DSP系統(tǒng)的初始化。
圖3 程序加載結(jié)構(gòu)示意圖
1.2.3 DSP間的飛越傳輸
多DSP系統(tǒng)中的DSP都有一個(gè)獨(dú)立的DDR2 SDRAM,DDR2存儲(chǔ)容量大,可以在高頻率下實(shí)現(xiàn)雙倍數(shù)據(jù)率傳輸,能夠滿足數(shù)字信號(hào)處理系統(tǒng)需要的大數(shù)據(jù)量存儲(chǔ)及高速率數(shù)據(jù)傳輸?shù)囊蟆DR2中的數(shù)據(jù)可以通過飛越傳輸送給其它的DSP使用,實(shí)現(xiàn)多DSP之間的資源共享,提高整體系統(tǒng)的運(yùn)行效率。
文中的DSP在DDR2接口和鏈路口之間設(shè)計(jì)了飛越傳輸?shù)腄MA通道,DDR2接口所連接的DDR2 SDRAM中的數(shù)據(jù),可以不經(jīng)過DSP內(nèi)核,直接通過鏈路口的發(fā)送端發(fā)送出去;或者鏈路口接收端接收到的數(shù)據(jù)可以不通過DSP內(nèi)核,直接經(jīng)過DDR2接口存儲(chǔ)到DDR2 SDRAM中,數(shù)據(jù)傳輸路徑如圖5所示(以DSP1和DSP2之間的飛越傳輸為例)。在測(cè)試中,飛越傳輸?shù)膫鬏斊鹗嫉刂?、目?biāo)起始地址、步進(jìn)長(zhǎng)度、傳輸長(zhǎng)度等可以在獨(dú)立的配置文件中進(jìn)行設(shè)置,實(shí)現(xiàn)不同的飛越傳輸模式。飛越傳輸?shù)牟ㄐ稳鐖D6所示。通過飛越傳輸,不同的DSP之間就能間接地共享DDR2外存,達(dá)到多DSP耦合的目的。
圖6 飛越傳輸波形圖
1.3 軟件驗(yàn)證平臺(tái)結(jié)構(gòu)
軟件驗(yàn)證平臺(tái)主要包括指令集仿真器(ISS)和System C模型。軟件驗(yàn)證平臺(tái)主要功能為:實(shí)現(xiàn)多DSP系統(tǒng)的行為級(jí)建模、監(jiān)測(cè)軟硬件接口交互信號(hào)、協(xié)調(diào)軟硬件平臺(tái)工作、記錄并比較結(jié)果。硬件平臺(tái)與軟件平臺(tái)之間采用收/發(fā)請(qǐng)求和確認(rèn)的方式進(jìn)行交互,通過請(qǐng)求及應(yīng)答信號(hào)協(xié)調(diào)軟、硬件平臺(tái)之間的工作。系統(tǒng)運(yùn)行后,硬件平臺(tái)產(chǎn)生的Testcase需要送到軟件平臺(tái)進(jìn)行編譯、鏈接,產(chǎn)生DSP能夠識(shí)別的格式文件。驗(yàn)證結(jié)束后,比較器分別從軟件/硬件結(jié)果目錄中讀取結(jié)果文件進(jìn)行比較,產(chǎn)生比較報(bào)告。測(cè)試流程如圖7所示。
2 系統(tǒng)運(yùn)行與測(cè)試
整個(gè)軟硬件協(xié)同驗(yàn)證平臺(tái)在Linux環(huán)境下運(yùn)行,硬件驗(yàn)證平臺(tái)使用Synopsys公司的VCS工具,軟件驗(yàn)證平臺(tái)使用高級(jí)編程語(yǔ)言C++編寫。
在測(cè)試時(shí),先對(duì)發(fā)起飛越傳輸操作的DSP的內(nèi)存進(jìn)行初始化,寫入要傳輸?shù)臄?shù)據(jù),隨后發(fā)起DMA對(duì)DDR2的寫操作,將數(shù)據(jù)存入DDR2中,然后依次發(fā)起對(duì)其他三片DSP的飛越傳輸,將數(shù)據(jù)傳給其他三片DSP的DDR2。整個(gè)測(cè)試過程分解為:對(duì)內(nèi)存的初始化操作、DMA對(duì)DDR2的讀/寫操作,Link口的數(shù)據(jù)收/發(fā)操作。每個(gè)操作都有相關(guān)的配置寄存器控制其具體工作方式。通過配置DMA相關(guān)參數(shù),可以實(shí)現(xiàn)DMA一維、二維傳輸模式測(cè)試,以及DMA處理bank仲裁和中斷服務(wù)程序正確性測(cè)試;通過配置DDR2相關(guān)參數(shù),可以實(shí)現(xiàn)DDR2連續(xù)讀寫、跳躍讀寫,以及自動(dòng)刷新時(shí)中斷傳輸并自動(dòng)恢復(fù)傳輸過程中數(shù)據(jù)傳輸連貫性及正確性測(cè)試;通過配置Link口相關(guān)參數(shù),可以測(cè)試Link口讀寫以及數(shù)據(jù)、時(shí)鐘同步功能正確性。在調(diào)試時(shí),根據(jù)出現(xiàn)的錯(cuò)誤信息,主要針對(duì)軟硬件接口交互信號(hào)、DMA與DDR2接口傳輸協(xié)議進(jìn)行修改和完善。
結(jié)果顯示,該驗(yàn)證平臺(tái)中軟件與硬件平臺(tái)能夠穩(wěn)定地進(jìn)行協(xié)同工作,DSP之間可以通過飛越傳輸正確快速地進(jìn)行數(shù)據(jù)共享,驗(yàn)證結(jié)果可以自動(dòng)進(jìn)行比較,提高了驗(yàn)證效率。
3 結(jié)束語(yǔ)
多DSP并行處理系統(tǒng)能夠快速高效地進(jìn)行信息處理,飛越傳輸可以讓DSP之間共享大量數(shù)據(jù),提高了多DSP系統(tǒng)的處理能力。多DSP系統(tǒng)運(yùn)行的正確性與穩(wěn)定性需要進(jìn)行充分驗(yàn)證,該文設(shè)計(jì)的軟硬件協(xié)同驗(yàn)證平臺(tái)能夠很好地模擬多DSP系統(tǒng)實(shí)際的工作方式,可以盡早發(fā)現(xiàn)系統(tǒng)軟件與硬件在設(shè)計(jì)上的缺陷以及軟硬件交互設(shè)計(jì)中的缺陷,通過參數(shù)配置,可以對(duì)系統(tǒng)間的飛越傳輸模式進(jìn)行完備測(cè)試,并能自動(dòng)比較結(jié)果,極大地提高仿真驗(yàn)證的效率。
參考文獻(xiàn):
[1] 李蛟,楊進(jìn),邱兆坤,基于ADSP2TS201S的多DSP并行數(shù)據(jù)處理系統(tǒng)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2010,19(15):42-46.
[2] 張華,胡修林,基于CPCI9656的高速實(shí)時(shí)采集存儲(chǔ)系統(tǒng)[J].計(jì)算機(jī)應(yīng)用,2010,30(11):3130-3134.
[3] 劉書明,羅勇江.ADSP TS201XS系列 DSP原理與應(yīng)用設(shè)計(jì)[M].北京:電子工業(yè)出版社,2007.
[4] Rashinkar P,Paterson P,Singh L. System on a Chip Verification Methodology and Techniques[M]. America Cadence Design Systems,Inc,2001.
[5] 辛強(qiáng).一種基于ISS的軟硬件協(xié)同驗(yàn)證環(huán)境[J]. 現(xiàn)代電子技術(shù),2007,31(8):151-153.
[6] 張齊,曹陽(yáng),李棟娜.基于SystemC的SoC行為級(jí)軟硬件協(xié)同設(shè)計(jì)[J].計(jì)算機(jī)工程,2005,31(19):217-219.
圖3 程序加載結(jié)構(gòu)示意圖
1.2.3 DSP間的飛越傳輸
多DSP系統(tǒng)中的DSP都有一個(gè)獨(dú)立的DDR2 SDRAM,DDR2存儲(chǔ)容量大,可以在高頻率下實(shí)現(xiàn)雙倍數(shù)據(jù)率傳輸,能夠滿足數(shù)字信號(hào)處理系統(tǒng)需要的大數(shù)據(jù)量存儲(chǔ)及高速率數(shù)據(jù)傳輸?shù)囊蟆DR2中的數(shù)據(jù)可以通過飛越傳輸送給其它的DSP使用,實(shí)現(xiàn)多DSP之間的資源共享,提高整體系統(tǒng)的運(yùn)行效率。
文中的DSP在DDR2接口和鏈路口之間設(shè)計(jì)了飛越傳輸?shù)腄MA通道,DDR2接口所連接的DDR2 SDRAM中的數(shù)據(jù),可以不經(jīng)過DSP內(nèi)核,直接通過鏈路口的發(fā)送端發(fā)送出去;或者鏈路口接收端接收到的數(shù)據(jù)可以不通過DSP內(nèi)核,直接經(jīng)過DDR2接口存儲(chǔ)到DDR2 SDRAM中,數(shù)據(jù)傳輸路徑如圖5所示(以DSP1和DSP2之間的飛越傳輸為例)。在測(cè)試中,飛越傳輸?shù)膫鬏斊鹗嫉刂贰⒛繕?biāo)起始地址、步進(jìn)長(zhǎng)度、傳輸長(zhǎng)度等可以在獨(dú)立的配置文件中進(jìn)行設(shè)置,實(shí)現(xiàn)不同的飛越傳輸模式。飛越傳輸?shù)牟ㄐ稳鐖D6所示。通過飛越傳輸,不同的DSP之間就能間接地共享DDR2外存,達(dá)到多DSP耦合的目的。
圖6 飛越傳輸波形圖
1.3 軟件驗(yàn)證平臺(tái)結(jié)構(gòu)
軟件驗(yàn)證平臺(tái)主要包括指令集仿真器(ISS)和System C模型。軟件驗(yàn)證平臺(tái)主要功能為:實(shí)現(xiàn)多DSP系統(tǒng)的行為級(jí)建模、監(jiān)測(cè)軟硬件接口交互信號(hào)、協(xié)調(diào)軟硬件平臺(tái)工作、記錄并比較結(jié)果。硬件平臺(tái)與軟件平臺(tái)之間采用收/發(fā)請(qǐng)求和確認(rèn)的方式進(jìn)行交互,通過請(qǐng)求及應(yīng)答信號(hào)協(xié)調(diào)軟、硬件平臺(tái)之間的工作。系統(tǒng)運(yùn)行后,硬件平臺(tái)產(chǎn)生的Testcase需要送到軟件平臺(tái)進(jìn)行編譯、鏈接,產(chǎn)生DSP能夠識(shí)別的格式文件。驗(yàn)證結(jié)束后,比較器分別從軟件/硬件結(jié)果目錄中讀取結(jié)果文件進(jìn)行比較,產(chǎn)生比較報(bào)告。測(cè)試流程如圖7所示。
2 系統(tǒng)運(yùn)行與測(cè)試
整個(gè)軟硬件協(xié)同驗(yàn)證平臺(tái)在Linux環(huán)境下運(yùn)行,硬件驗(yàn)證平臺(tái)使用Synopsys公司的VCS工具,軟件驗(yàn)證平臺(tái)使用高級(jí)編程語(yǔ)言C++編寫。
在測(cè)試時(shí),先對(duì)發(fā)起飛越傳輸操作的DSP的內(nèi)存進(jìn)行初始化,寫入要傳輸?shù)臄?shù)據(jù),隨后發(fā)起DMA對(duì)DDR2的寫操作,將數(shù)據(jù)存入DDR2中,然后依次發(fā)起對(duì)其他三片DSP的飛越傳輸,將數(shù)據(jù)傳給其他三片DSP的DDR2。整個(gè)測(cè)試過程分解為:對(duì)內(nèi)存的初始化操作、DMA對(duì)DDR2的讀/寫操作,Link口的數(shù)據(jù)收/發(fā)操作。每個(gè)操作都有相關(guān)的配置寄存器控制其具體工作方式。通過配置DMA相關(guān)參數(shù),可以實(shí)現(xiàn)DMA一維、二維傳輸模式測(cè)試,以及DMA處理bank仲裁和中斷服務(wù)程序正確性測(cè)試;通過配置DDR2相關(guān)參數(shù),可以實(shí)現(xiàn)DDR2連續(xù)讀寫、跳躍讀寫,以及自動(dòng)刷新時(shí)中斷傳輸并自動(dòng)恢復(fù)傳輸過程中數(shù)據(jù)傳輸連貫性及正確性測(cè)試;通過配置Link口相關(guān)參數(shù),可以測(cè)試Link口讀寫以及數(shù)據(jù)、時(shí)鐘同步功能正確性。在調(diào)試時(shí),根據(jù)出現(xiàn)的錯(cuò)誤信息,主要針對(duì)軟硬件接口交互信號(hào)、DMA與DDR2接口傳輸協(xié)議進(jìn)行修改和完善。
結(jié)果顯示,該驗(yàn)證平臺(tái)中軟件與硬件平臺(tái)能夠穩(wěn)定地進(jìn)行協(xié)同工作,DSP之間可以通過飛越傳輸正確快速地進(jìn)行數(shù)據(jù)共享,驗(yàn)證結(jié)果可以自動(dòng)進(jìn)行比較,提高了驗(yàn)證效率。
3 結(jié)束語(yǔ)
多DSP并行處理系統(tǒng)能夠快速高效地進(jìn)行信息處理,飛越傳輸可以讓DSP之間共享大量數(shù)據(jù),提高了多DSP系統(tǒng)的處理能力。多DSP系統(tǒng)運(yùn)行的正確性與穩(wěn)定性需要進(jìn)行充分驗(yàn)證,該文設(shè)計(jì)的軟硬件協(xié)同驗(yàn)證平臺(tái)能夠很好地模擬多DSP系統(tǒng)實(shí)際的工作方式,可以盡早發(fā)現(xiàn)系統(tǒng)軟件與硬件在設(shè)計(jì)上的缺陷以及軟硬件交互設(shè)計(jì)中的缺陷,通過參數(shù)配置,可以對(duì)系統(tǒng)間的飛越傳輸模式進(jìn)行完備測(cè)試,并能自動(dòng)比較結(jié)果,極大地提高仿真驗(yàn)證的效率。
參考文獻(xiàn):
[1] 李蛟,楊進(jìn),邱兆坤,基于ADSP2TS201S的多DSP并行數(shù)據(jù)處理系統(tǒng)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2010,19(15):42-46.
[2] 張華,胡修林,基于CPCI9656的高速實(shí)時(shí)采集存儲(chǔ)系統(tǒng)[J].計(jì)算機(jī)應(yīng)用,2010,30(11):3130-3134.
[3] 劉書明,羅勇江.ADSP TS201XS系列 DSP原理與應(yīng)用設(shè)計(jì)[M].北京:電子工業(yè)出版社,2007.
[4] Rashinkar P,Paterson P,Singh L. System on a Chip Verification Methodology and Techniques[M]. America Cadence Design Systems,Inc,2001.
[5] 辛強(qiáng).一種基于ISS的軟硬件協(xié)同驗(yàn)證環(huán)境[J]. 現(xiàn)代電子技術(shù),2007,31(8):151-153.
[6] 張齊,曹陽(yáng),李棟娜.基于SystemC的SoC行為級(jí)軟硬件協(xié)同設(shè)計(jì)[J].計(jì)算機(jī)工程,2005,31(19):217-219.
圖3 程序加載結(jié)構(gòu)示意圖
1.2.3 DSP間的飛越傳輸
多DSP系統(tǒng)中的DSP都有一個(gè)獨(dú)立的DDR2 SDRAM,DDR2存儲(chǔ)容量大,可以在高頻率下實(shí)現(xiàn)雙倍數(shù)據(jù)率傳輸,能夠滿足數(shù)字信號(hào)處理系統(tǒng)需要的大數(shù)據(jù)量存儲(chǔ)及高速率數(shù)據(jù)傳輸?shù)囊蟆DR2中的數(shù)據(jù)可以通過飛越傳輸送給其它的DSP使用,實(shí)現(xiàn)多DSP之間的資源共享,提高整體系統(tǒng)的運(yùn)行效率。
文中的DSP在DDR2接口和鏈路口之間設(shè)計(jì)了飛越傳輸?shù)腄MA通道,DDR2接口所連接的DDR2 SDRAM中的數(shù)據(jù),可以不經(jīng)過DSP內(nèi)核,直接通過鏈路口的發(fā)送端發(fā)送出去;或者鏈路口接收端接收到的數(shù)據(jù)可以不通過DSP內(nèi)核,直接經(jīng)過DDR2接口存儲(chǔ)到DDR2 SDRAM中,數(shù)據(jù)傳輸路徑如圖5所示(以DSP1和DSP2之間的飛越傳輸為例)。在測(cè)試中,飛越傳輸?shù)膫鬏斊鹗嫉刂?、目?biāo)起始地址、步進(jìn)長(zhǎng)度、傳輸長(zhǎng)度等可以在獨(dú)立的配置文件中進(jìn)行設(shè)置,實(shí)現(xiàn)不同的飛越傳輸模式。飛越傳輸?shù)牟ㄐ稳鐖D6所示。通過飛越傳輸,不同的DSP之間就能間接地共享DDR2外存,達(dá)到多DSP耦合的目的。
圖6 飛越傳輸波形圖
1.3 軟件驗(yàn)證平臺(tái)結(jié)構(gòu)
軟件驗(yàn)證平臺(tái)主要包括指令集仿真器(ISS)和System C模型。軟件驗(yàn)證平臺(tái)主要功能為:實(shí)現(xiàn)多DSP系統(tǒng)的行為級(jí)建模、監(jiān)測(cè)軟硬件接口交互信號(hào)、協(xié)調(diào)軟硬件平臺(tái)工作、記錄并比較結(jié)果。硬件平臺(tái)與軟件平臺(tái)之間采用收/發(fā)請(qǐng)求和確認(rèn)的方式進(jìn)行交互,通過請(qǐng)求及應(yīng)答信號(hào)協(xié)調(diào)軟、硬件平臺(tái)之間的工作。系統(tǒng)運(yùn)行后,硬件平臺(tái)產(chǎn)生的Testcase需要送到軟件平臺(tái)進(jìn)行編譯、鏈接,產(chǎn)生DSP能夠識(shí)別的格式文件。驗(yàn)證結(jié)束后,比較器分別從軟件/硬件結(jié)果目錄中讀取結(jié)果文件進(jìn)行比較,產(chǎn)生比較報(bào)告。測(cè)試流程如圖7所示。
2 系統(tǒng)運(yùn)行與測(cè)試
整個(gè)軟硬件協(xié)同驗(yàn)證平臺(tái)在Linux環(huán)境下運(yùn)行,硬件驗(yàn)證平臺(tái)使用Synopsys公司的VCS工具,軟件驗(yàn)證平臺(tái)使用高級(jí)編程語(yǔ)言C++編寫。
在測(cè)試時(shí),先對(duì)發(fā)起飛越傳輸操作的DSP的內(nèi)存進(jìn)行初始化,寫入要傳輸?shù)臄?shù)據(jù),隨后發(fā)起DMA對(duì)DDR2的寫操作,將數(shù)據(jù)存入DDR2中,然后依次發(fā)起對(duì)其他三片DSP的飛越傳輸,將數(shù)據(jù)傳給其他三片DSP的DDR2。整個(gè)測(cè)試過程分解為:對(duì)內(nèi)存的初始化操作、DMA對(duì)DDR2的讀/寫操作,Link口的數(shù)據(jù)收/發(fā)操作。每個(gè)操作都有相關(guān)的配置寄存器控制其具體工作方式。通過配置DMA相關(guān)參數(shù),可以實(shí)現(xiàn)DMA一維、二維傳輸模式測(cè)試,以及DMA處理bank仲裁和中斷服務(wù)程序正確性測(cè)試;通過配置DDR2相關(guān)參數(shù),可以實(shí)現(xiàn)DDR2連續(xù)讀寫、跳躍讀寫,以及自動(dòng)刷新時(shí)中斷傳輸并自動(dòng)恢復(fù)傳輸過程中數(shù)據(jù)傳輸連貫性及正確性測(cè)試;通過配置Link口相關(guān)參數(shù),可以測(cè)試Link口讀寫以及數(shù)據(jù)、時(shí)鐘同步功能正確性。在調(diào)試時(shí),根據(jù)出現(xiàn)的錯(cuò)誤信息,主要針對(duì)軟硬件接口交互信號(hào)、DMA與DDR2接口傳輸協(xié)議進(jìn)行修改和完善。
結(jié)果顯示,該驗(yàn)證平臺(tái)中軟件與硬件平臺(tái)能夠穩(wěn)定地進(jìn)行協(xié)同工作,DSP之間可以通過飛越傳輸正確快速地進(jìn)行數(shù)據(jù)共享,驗(yàn)證結(jié)果可以自動(dòng)進(jìn)行比較,提高了驗(yàn)證效率。
3 結(jié)束語(yǔ)
多DSP并行處理系統(tǒng)能夠快速高效地進(jìn)行信息處理,飛越傳輸可以讓DSP之間共享大量數(shù)據(jù),提高了多DSP系統(tǒng)的處理能力。多DSP系統(tǒng)運(yùn)行的正確性與穩(wěn)定性需要進(jìn)行充分驗(yàn)證,該文設(shè)計(jì)的軟硬件協(xié)同驗(yàn)證平臺(tái)能夠很好地模擬多DSP系統(tǒng)實(shí)際的工作方式,可以盡早發(fā)現(xiàn)系統(tǒng)軟件與硬件在設(shè)計(jì)上的缺陷以及軟硬件交互設(shè)計(jì)中的缺陷,通過參數(shù)配置,可以對(duì)系統(tǒng)間的飛越傳輸模式進(jìn)行完備測(cè)試,并能自動(dòng)比較結(jié)果,極大地提高仿真驗(yàn)證的效率。
參考文獻(xiàn):
[1] 李蛟,楊進(jìn),邱兆坤,基于ADSP2TS201S的多DSP并行數(shù)據(jù)處理系統(tǒng)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2010,19(15):42-46.
[2] 張華,胡修林,基于CPCI9656的高速實(shí)時(shí)采集存儲(chǔ)系統(tǒng)[J].計(jì)算機(jī)應(yīng)用,2010,30(11):3130-3134.
[3] 劉書明,羅勇江.ADSP TS201XS系列 DSP原理與應(yīng)用設(shè)計(jì)[M].北京:電子工業(yè)出版社,2007.
[4] Rashinkar P,Paterson P,Singh L. System on a Chip Verification Methodology and Techniques[M]. America Cadence Design Systems,Inc,2001.
[5] 辛強(qiáng).一種基于ISS的軟硬件協(xié)同驗(yàn)證環(huán)境[J]. 現(xiàn)代電子技術(shù),2007,31(8):151-153.
[6] 張齊,曹陽(yáng),李棟娜.基于SystemC的SoC行為級(jí)軟硬件協(xié)同設(shè)計(jì)[J].計(jì)算機(jī)工程,2005,31(19):217-219.