基于DSP的SoC芯片的FPGA驗證方法
3.1 DSP 核的驗證
通過CCS界面對DSP內(nèi)部寄存器進行讀寫操作并在CCS界面觀測DSP內(nèi)部寄存器的變化實現(xiàn)驗證DSP的功能。分別對DSP內(nèi)部 的Timer、GPIO、中斷寄存器等進行讀寫及功能驗證,并通過DSP控制其他各類寄存器以驗證DSP核的正確性。
3.2 EMIF及片上儲存設備的驗證
利用DSP能夠正確讀寫片上存儲器設備及支持各類讀寫操作,對片上存儲設備進行驗證。為了驗證EMIF接口,在FPGA工程里對EMIF I/O 口進行綁定約束使其與SRAM存儲器子板進行正確的連接,通過DSP對EMIF空間寄存器的控制,使DSP能夠正確地對連接在EMIF外的SRAM進行各類型的讀寫操作,可驗證EMIF接口設計。
本SoC系統(tǒng)中設計的EMFI接口模塊可以連接4個外部存儲空間CE0~CE3。通過ISE工具使用 XILINX V6芯片的FPGA IP core例化4個寬度為32bit、深度為64的SRAM,并且將它們連接到CE0~CE3空間接口上。在CCS中,初始化CE0~CE3空間接口,對各空間前16個地址寫數(shù)據(jù),之后對這些地址進行讀操作。執(zhí)行單步調(diào)試命令,可以成功讀取CE0~CE3空間地址里面寫入的數(shù)據(jù)。DSP核指令代碼,首先配置全局控制寄存器,選擇DSP提供的系統(tǒng)時鐘,指令代碼寫全局控制寄存器:*(int*)0x4000a000 = 0x00000000;配置CE0~CE3時鐘寄存器和CE0~CE3空間寄存器:
*(int*)0x4000a004=0x00000004;*(int*)0x4000a008=0x00000006;
*(int*)0x4000a00C=0x00000008;*(int*)0x4000a010=0x0000000a;
*(int*)0x4000a014=0xffffffe6;*(int*)0x4000a018=0x1091c226;
*(int*)0x4000a01c=0x30d5c846;*(int*)0x4000a020=0x2251c736;
對各空間前16個地址寫數(shù)據(jù),之后對這些地址進行讀操作的DSP核指令代碼:
for(i=0;i16;i++)
{
*(int*)(0xC0060000+4*i) = (0x00000600+i);
*(int*)(0xD0060000+4*i) = (0x00000700+i);
*(int*)(0xE0060000+4*i) = (0x00000800+i);
*(int*)(0xF0060000+4*i) = (0x00000900+i);
}
for(i=0;i16;i++)
{
temp_data = *(int*)(0xC0060000+4*i);
temp_data = *(int*)(0xD0060000+4*i);
temp_data = *(int*)(0xE0060000+4*i);
temp_data = *(int*)(0xF0060000+4*i);
}
運行DSP核指令代碼,觀察CE0~CE3寄存器的值,能夠成功進行讀寫,驗證EMIF正確。
3.3 事件捕獲、看門狗等功能模塊的驗證
通過DSP操作控制看門狗邏輯模塊寄存器,看門狗能夠正確運行,并能夠正確影響復位模塊以驗證看門狗IP模塊。通過DSP正確操作CPI等寄存器,使CPI模塊產(chǎn)生中斷送至DSP,并且DSP能夠正確響應中斷信號進行及時處理。為了可方便驗證CPI功能,此SoC驗證CPI模塊把PWM產(chǎn)生波輸入到CPI模塊,配置CPI捕獲模式,當CPI模塊輸入有變化時,進行捕獲產(chǎn)生中斷。當發(fā)生中斷時CPI_INT為高電平,當DSP處理后會變?yōu)榈碗娖叫盘?。驗證方法原理如圖4
圖4 驗證CPI模塊原理框圖
在ChipScope中正確設置觸發(fā)條件并可以通過FPGA編程器及JTAG傳送到PC主機,可觀察其邏輯波形的正確性。下圖5可以看車CPI_INT6從高電平到低電平的轉(zhuǎn)化,可說明DSP對CPI中斷事件進行了處理,并正確相應外部中斷。可驗證正確設置CCS配置IP模塊寄存器后,IP硬件模塊能夠正常運行。
圖5 CPI中斷事件
3.4 PWM、SPI、CAN、UART等外設模塊
通過控制內(nèi)部寄存器,能夠產(chǎn)生正確的PWM波,分別在示波器及ChipScope上對一些信號進行采取及觀測分析,驗證其正確性。驗證方法和如上驗證CPI、EMIF相同。測試驗證結(jié)果表明其功能正確。其中結(jié)合示波器測試PWM波,驗證PWM設計正確性。另外使用相同方法驗證SPI、CAN、UART等各IP功能。
4 結(jié)論
本文基于一個DSP處理器控制的SOC芯片的開發(fā)與驗證項目為基礎。介紹了關于FPGA的軟硬件協(xié)同驗證方法及過程,搭建FPGA驗證硬件平臺及軟件平臺環(huán)境, 并通過軟硬件協(xié)同驗證, 在線驗證調(diào)試SOC系統(tǒng)中邏輯及功能設計, 并對每個功能模塊進行了驗證分析。通過CCS輸入控制DSP程序進而控制SOC系統(tǒng)及內(nèi)部IP模塊,具有可觀測性及實時性,結(jié)果表明通過FPGA軟硬件協(xié)同驗證系統(tǒng)可以對目標SOC芯片進行功能驗證及性能評估??s短了基于SoC芯片的應用系統(tǒng)的開發(fā)時間,提高流片成功率。整個驗證平臺及方法具有較高的可靠性。
評論