一種基于SoPC的FPGA在線測試方法
摘要:針對Altera公司現(xiàn)有FPGA在線測試方法無法適應(yīng)大批量測試/激勵數(shù)據(jù)自動傳輸?shù)那闆r,論文提出了一種基于SoPC的FPGA在線測試方法,該方法采用Nios II控制數(shù)據(jù)傳輸過程、DMA協(xié)助數(shù)據(jù)傳輸、FIFO作為數(shù)據(jù)暫存,采用自定義外設(shè)完成了DMA模塊與FIFO的接口設(shè)計,從而DMA可以直接操作FIFO,測試結(jié)果表明該方法是一種可行且高效的FPGA在線測試方法。創(chuàng)新性在于充分利用JTAG接口完成FPGA的在線測試,同時測試數(shù)據(jù)能夠?qū)懭隤C中的文件/激勵數(shù)據(jù)從文件讀出。
關(guān)鍵詞:在線測試:SoPC;DMA;Host-Base File System
可編程邏輯器件供應(yīng)商Altera公司針對FPGA的開發(fā)推出了6種系統(tǒng)在線測試方法:SignalTapⅡ、SignalProbe、Logic Analyzer Inter-face、In-System Sources and Probes、In-System Memory Content Editor以及Virtual JTAG。上述各種在線測試方法中,只有最后兩種方法允許PC和FPGA進(jìn)行基于文件的數(shù)據(jù)交互。而In-System Memory Content Editor只允許用戶手動更新FPGA片上RAM的內(nèi)容,不利于測試數(shù)據(jù)的大規(guī)模自動采集和傳輸。Virtual JTAG雖然可以實現(xiàn)測試數(shù)據(jù)采集和傳輸?shù)淖詣涌刂?,但是需要利用TCL接口函數(shù)編寫代碼,而且要求用戶對JTAG有深入的了解,增大了開發(fā)難度。本文提出了一種基于SoPC的FPGA在線測試方法,是對現(xiàn)有FPGA在線測試方法的一種有效的補充。
1 在線測試數(shù)據(jù)操作流程
基于SoPC的FPGA在線測試方法的數(shù)據(jù)操作流程如圖1所示。如果用戶需要采集FPGA的測試數(shù)據(jù)并且上傳至PC機,則用戶首先要將被測試數(shù)據(jù)寫入DMA讀從外設(shè),然后系統(tǒng)自動啟動DMA控制器,將數(shù)據(jù)送入Nios II的數(shù)據(jù)存儲器。再由JTAG UART控制器經(jīng)JTAG接口上傳至Nios II IDE(NiosⅡIntegrated Development Environment,Nios II開發(fā)環(huán)境),Nios II IDE將接收到的數(shù)據(jù)寫入測量數(shù)據(jù)存儲文件,從而完成了FPGA測試數(shù)據(jù)的上傳。如果用戶需要將PC機中的激勵數(shù)據(jù)文件下載至FPGA,則系統(tǒng)首先在Nios II IDE中通過Host-Based File System讀出激勵文件數(shù)據(jù),然后由JTAG接口經(jīng)JTAG UART控制器下載至Nios II處理器的數(shù)據(jù)存儲器,Nios II發(fā)起DMA寫傳輸把數(shù)據(jù)從數(shù)據(jù)存儲器搬運至DMA寫從外設(shè)并寫入FPGA片上FIFO,從而完成了激勵數(shù)據(jù)的下載。
評論