基于DSP的SoC芯片的FPGA驗證方法
3.1 DSP 核的驗證
通過(guò)CCS界面對DSP內部寄存器進(jìn)行讀寫(xiě)操作并在CCS界面觀(guān)測DSP內部寄存器的變化實(shí)現驗證DSP的功能。分別對DSP內部 的Timer、GPIO、中斷寄存器等進(jìn)行讀寫(xiě)及功能驗證,并通過(guò)DSP控制其他各類(lèi)寄存器以驗證DSP核的正確性。
3.2 EMIF及片上儲存設備的驗證
利用DSP能夠正確讀寫(xiě)片上存儲器設備及支持各類(lèi)讀寫(xiě)操作,對片上存儲設備進(jìn)行驗證。為了驗證EMIF接口,在FPGA工程里對EMIF I/O 口進(jìn)行綁定約束使其與SRAM存儲器子板進(jìn)行正確的連接,通過(guò)DSP對EMIF空間寄存器的控制,使DSP能夠正確地對連接在EMIF外的SRAM進(jìn)行各類(lèi)型的讀寫(xiě)操作,可驗證EMIF接口設計。
本SoC系統中設計的EMFI接口模塊可以連接4個(gè)外部存儲空間CE0~CE3。通過(guò)ISE工具使用 XILINX V6芯片的FPGA IP core例化4個(gè)寬度為32bit、深度為64的SRAM,并且將它們連接到CE0~CE3空間接口上。在CCS中,初始化CE0~CE3空間接口,對各空間前16個(gè)地址寫(xiě)數據,之后對這些地址進(jìn)行讀操作。執行單步調試命令,可以成功讀取CE0~CE3空間地址里面寫(xiě)入的數據。DSP核指令代碼,首先配置全局控制寄存器,選擇DSP提供的系統時(shí)鐘,指令代碼寫(xiě)全局控制寄存器:*(int*)0x4000a000 = 0x00000000;配置CE0~CE3時(shí)鐘寄存器和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個(gè)地址寫(xiě)數據,之后對這些地址進(jìn)行讀操作的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核指令代碼,觀(guān)察CE0~CE3寄存器的值,能夠成功進(jìn)行讀寫(xiě),驗證EMIF正確。
3.3 事件捕獲、看門(mén)狗等功能模塊的驗證
通過(guò)DSP操作控制看門(mén)狗邏輯模塊寄存器,看門(mén)狗能夠正確運行,并能夠正確影響復位模塊以驗證看門(mén)狗IP模塊。通過(guò)DSP正確操作CPI等寄存器,使CPI模塊產(chǎn)生中斷送至DSP,并且DSP能夠正確響應中斷信號進(jìn)行及時(shí)處理。為了可方便驗證CPI功能,此SoC驗證CPI模塊把PWM產(chǎn)生波輸入到CPI模塊,配置CPI捕獲模式,當CPI模塊輸入有變化時(shí),進(jìn)行捕獲產(chǎn)生中斷。當發(fā)生中斷時(shí)CPI_INT為高電平,當DSP處理后會(huì )變?yōu)榈碗娖叫盘?。驗證方法原理如圖4

圖4 驗證CPI模塊原理框圖
在ChipScope中正確設置觸發(fā)條件并可以通過(guò)FPGA編程器及JTAG傳送到PC主機,可觀(guān)察其邏輯波形的正確性。下圖5可以看車(chē)CPI_INT6從高電平到低電平的轉化,可說(shuō)明DSP對CPI中斷事件進(jìn)行了處理,并正確相應外部中斷??沈炞C正確設置CCS配置IP模塊寄存器后,IP硬件模塊能夠正常運行。

圖5 CPI中斷事件
3.4 PWM、SPI、CAN、UART等外設模塊
通過(guò)控制內部寄存器,能夠產(chǎn)生正確的PWM波,分別在示波器及ChipScope上對一些信號進(jìn)行采取及觀(guān)測分析,驗證其正確性。驗證方法和如上驗證CPI、EMIF相同。測試驗證結果表明其功能正確。其中結合示波器測試PWM波,驗證PWM設計正確性。另外使用相同方法驗證SPI、CAN、UART等各IP功能。
4 結論
本文基于一個(gè)DSP處理器控制的SOC芯片的開(kāi)發(fā)與驗證項目為基礎。介紹了關(guān)于FPGA的軟硬件協(xié)同驗證方法及過(guò)程,搭建FPGA驗證硬件平臺及軟件平臺環(huán)境, 并通過(guò)軟硬件協(xié)同驗證, 在線(xiàn)驗證調試SOC系統中邏輯及功能設計, 并對每個(gè)功能模塊進(jìn)行了驗證分析。通過(guò)CCS輸入控制DSP程序進(jìn)而控制SOC系統及內部IP模塊,具有可觀(guān)測性及實(shí)時(shí)性,結果表明通過(guò)FPGA軟硬件協(xié)同驗證系統可以對目標SOC芯片進(jìn)行功能驗證及性能評估??s短了基于SoC芯片的應用系統的開(kāi)發(fā)時(shí)間,提高流片成功率。整個(gè)驗證平臺及方法具有較高的可靠性。
評論