基于DSP的FPGA配置方法研究與實現(xiàn)
2 硬件實現(xiàn)電路
2.1 硬件結構
本文選用AD公司生產(chǎn)的ADSP-TS101這款芯片作為配置FPGA的主處理器。ADSP-TS101是一款極高性能的靜態(tài)超標量處理器,同時支持浮點和定點處理,最高工作頻率為300 MHz,地址范圍4 GB,最大支持16MB的PROM。從地址的0x08000000~0xFFFFFFFF為外部存儲器空間的一部分,可以訪問獨立的外圍設備,完全可以滿足片外程序的尋址。為了完成配置FPGA的時序,需要DSP有靈活可控的引腳信號。而ADSP-TS101的4個標志引腳信號FLAG3~FLAG0允許在ADSP-TS101和其他的設備之間傳遞位信號。任何一個標志引腳既可以作為輸入也可以作為輸出,且ADSP -TS101的許多指令都可以以標志引腳的輸入作為執(zhí)行條件,可以在多處理器和其他接口之間進行高效的通信和同步。因此,可以將此4個管腳和FPGA進行連接,模擬完成FPGA的配置時序。
存儲芯片選用Spansion公司的高性能FLASH芯片S29JL064H,最小訪問周期為55 ns,其可以配置成8M×8 b的存儲方式。而Virtex-Ⅱ系列FPGA的配置數(shù)據(jù)包括配置數(shù)據(jù)幀和配置寄存器數(shù)據(jù),配置寄存器數(shù)據(jù)都為40×32 b,即1 280 b,配置數(shù)據(jù)幀會因器件不同而有變化,對于XC2V1000器件來說,配置數(shù)據(jù)幀為4 082 592 b,總的配置數(shù)據(jù)不到4 Mb。所以,此存儲芯片完全可以滿足FPGA和DSP程序的存儲。對于FLASH存儲空間的劃分,采用一分為二的方法,DSP和FPGA程序各占一半空間。即,從地址0x00000~0x3FFFFF這4 MB空間用來存儲DSP程序,剩余的
4MB空間0x400000~0x7FFFFF存儲FPGA程序。本文引用地址:http://www.ex-cimer.com/article/149314.htm
系統(tǒng)的硬件結構示意圖如圖1所示。由DSP的RD信號充當FPGA的配置時鐘CCLK,F(xiàn)LAG0信號模擬FPGA的PROG_B信號,F(xiàn)LAG1和FLAG2分別作為FPGA的DONE信號和BUSY信號的輸入。此系統(tǒng)在設計時,采用了DSP,F(xiàn)PGA,F(xiàn)LASH共用數(shù)據(jù)總線的方式,所以當DSP從FLASH芯片中讀取FPGA的加載數(shù)據(jù)并出現(xiàn)在總線上的時候,可以直接被FPGA抓取來完成FPGA程序的正常加載。
2.2 工作時序
系統(tǒng)上電后,DSP啟動DMA通道0,從FLASH地址0開始,把一個256 word的程序塊傳送到內(nèi)部存儲器地址0x00~0xFF。然后,DSP開始從0x00執(zhí)行加載核,加載核將后續(xù)應用代碼和數(shù)據(jù)加載至地址0xFF之后的內(nèi)部存儲器內(nèi)。最后,加載核啟動一個256 word的DMA,使其自身被工作程序代碼覆蓋。至此,DSP即從地址0x00開始執(zhí)行工作程序。在工作程序中首先從FLASH存儲器中讀取FPGA的加載程序,并給出相應的加載時序,完成FPGA程序加載。具體的工作時序,如圖2所示。
3 結語
隨著FPGA+DSP的系統(tǒng)結構在電子設計領域中應用的日益廣泛化,在不增加其它額外器件的前提下,依靠DSP模擬FPGA加載時序,對FPGA使用了被動并行的配置方式。此方法在一定程度減少了設計冗余,實現(xiàn)了小型化和低成本。應用于電路系統(tǒng)中,工作穩(wěn)定可靠,靈活高效。
評論