一種ARM+DSP協(xié)作架構(gòu)的FPGA驗證實現(xiàn)
3.4 軟硬件協(xié)同驗證
本文引用地址:http://m.butianyuan.cn/article/83026.htm軟硬件協(xié)同驗證是較好的驗證方式(或調(diào)試方式),二者都是為了保證系統(tǒng)功能和結(jié)構(gòu)正確的有效手段。在整個FPGA系統(tǒng)實現(xiàn)過程中,非常有必要結(jié)合前端軟件仿真波形來參照調(diào)試系統(tǒng)各個環(huán)節(jié)的功能運行情況,這樣可以大大簡化研發(fā)進程,有效地縮短調(diào)試周期??梢哉f,如果不結(jié)合前端軟件仿真波形來協(xié)同驗證的話,要想實現(xiàn)一個較為復(fù)雜的體系結(jié)構(gòu)是非常困難的。
一般而言,對于這樣一個較為復(fù)雜的體系結(jié)構(gòu)需要先進行前端RTL代碼的軟件仿真,因為前端仿真對于糾正RTL級代碼以及功能方面的錯誤是非常方便的,而且它所需要的驗證周期和糾錯難度比硬件的FPGA驗證要有利得多。但是FPGA硬件驗證,其真實性又是非常可靠的。所以驗證波形完全調(diào)試通過之后,可以非常有效地指導(dǎo)FPGA的實現(xiàn)。當(dāng)FPGA在調(diào)試某項功能時出現(xiàn)了問題,可以通過邏輯分析儀將可疑端口節(jié)點出來的觀測點波形導(dǎo)出來對照軟件仿真波形來查找問題,這是一種非常有效的手段。
3.5 Demo演示速度的調(diào)整
目前,開發(fā)板選用的晶振頻率為24MHz,穩(wěn)定的演示版本速度能夠達到28幀/秒,為人眼所能接受的連續(xù)視頻速度,效果已經(jīng)相當(dāng)好。這是經(jīng)過了各種調(diào)試才達到的效果。主要原因在于考慮比較周全:DMA在傳輸圖像序列的時候,所用到的FIFO在設(shè)計之初就考慮到了FPGA的容量和利用率,認識到其容量有限,在現(xiàn)有的FIFO容量下,要想調(diào)整到一個DMA與PC機雙方網(wǎng)口傳輸速度的精確狀態(tài)不太容易,如果運行速度太快,交互同步不準確,就會有丟包的現(xiàn)象發(fā)生;如果為了更方便的調(diào)試和達到更好的速度性能,可以選用更大容量的FPGA,設(shè)計更大容量的FIFO,這樣每一次圖像傳輸就可以傳送更多的圖像數(shù)據(jù),減少DMA搬運的次數(shù),傳輸雙方的交互過程較為容易控制。表1給出了從開始演示速度不理想到較為理想所做的調(diào)整過程。從表1中可以看出,單獨調(diào)整晶振頻率,速度提升并不明顯。這說明了速度瓶頸不在硬件代碼性能上,關(guān)鍵在于演示界面的軟件代碼、ARM的Cache打開與否以及圖像搬運的速度三方面。同時還可以看出Cache的打開對于速度影響很大,說明ARM的取指速度受到影響。目前ARM的運行指令是放在Flash中,如果改成從SRAM中取指,估計效果會更加理想。
從以上分析可見,ARM在整個設(shè)計中所起的主要作用是控制圖像的輸入輸出,以及循環(huán)控制DSP Core的運行停止等狀態(tài);DSP Core的主要作用是處理運算應(yīng)用程序,計算小目標識別程序。這樣既分工又合作,能夠充分發(fā)揮ARM的控制功能以及DSP Core的數(shù)字運算處理功能。
與此同時,由于ARM在整個設(shè)計當(dāng)中主要起到一些輔助的控制作用,ARM922T的一些擴展DSP運算功能沒有用到,如果綜合考慮到成本和性價比等因素,可以考慮采用ARM7硬核、NIOS 或其他形式的軟核替代。
參考文獻
[1] FURBER S,田澤,于敦山.ARM SOC體系結(jié)構(gòu).盛世敏,譯.北京:北京航空航天大學(xué)出版社,2002.
[2] CSCHWIND M. FPGA prototyping of a RISC processor core for embedded applications. IEEE Transactions on Very Large Scale Integration(VLSI)Systems,2001,9(2).
[3] Hardware Reference Manual Version 3.1. www.altera.com 2002-11.
評論