24小時服務(wù)熱線:18630368904
24小時技術(shù)支持:18833556690
郵 箱:ddcs0335@163.com
網(wǎng) 址:m.thesoulofourcountry.com
工作QQ:1935169373
2766546071
如果有一種工具能像單片機開發(fā)那樣,通過調(diào)試器JTAG接口實時獲取運行過程中寄存器的數(shù)值就好了。有需求就有市場,F(xiàn)PGA廠商也考慮到了開發(fā)者的這種需求,都在自家產(chǎn)品上加上了這個功能,那就是片上邏輯分析儀,就像在芯片內(nèi)裝了一個邏輯分析儀ELA(Embedded Logic Analyzer),可以實時監(jiān)測數(shù)據(jù)的變化,還可以設(shè)置觸發(fā)條件等!
FPGA領(lǐng)域幾大廠家提供嵌入式邏輯分析儀:工具都是嵌入式邏輯分析儀,大大提高了Debug速度。這類工具的原理通常是以預(yù)先設(shè)定的時鐘速率實時采樣FPGA的內(nèi)部信號,并暫存于FPGA的內(nèi)部RAM中,當(dāng)滿足預(yù)設(shè)的觸發(fā)條件后,通過JTAG將存儲在片內(nèi)RAM中的數(shù)據(jù)傳輸至PC上,PC接收到數(shù)據(jù)后,通過上位機把數(shù)據(jù)展現(xiàn)出來。
以下是使用ChipScope工具抓取的鐵電存儲器FM25V05的SPI寫時序:
FM25V05寫時序
從FPGA學(xué)習(xí)流程來看,當(dāng)了解了流水燈、按鍵、UART等基本例程后,再學(xué)習(xí)I2C,SPI之前,就需要掌握片上邏輯分析儀的使用,非常有利于代碼的調(diào)試。
ChipScopePro
我個人使用過Xilinx和Microsemi的工具,還是挺好用的。
Microsemi的identify使用方法可以到CSDN文章查看:
https://blog.csdn.net/whik1194/article/details/107074187
本文主要介紹Xilinx ISE開發(fā)環(huán)境下ChipScope工具的使用。
Xilinx的FPGA片內(nèi)邏輯分析儀被稱為ChipScope,通過插入IP核的方式實現(xiàn),主要包括3大IP核。
ICON(integrated controller),主要負(fù)責(zé)與JTAG口的通訊,最大支持連接15個Core,這里的Core可以是ILA或VIO。
ILA(integrated logic analyzer),嵌入式邏輯分析儀,可以抓取內(nèi)部的任何信號,通過設(shè)置觸發(fā)條件的方式,抓取一段時間的波形,時間長度取決于FPGA RAM資源大小。
VIO(virtual input/output),即輸入輸出,可以實時監(jiān)控FPGA內(nèi)部信號,并提供驅(qū)動信號給FPGA模塊,類似于單片機調(diào)試中的變量值查看。
ATC2(Agilent trace core),是屬于特殊定制的調(diào)試IP核,需要配合新一代的Agilent邏輯分析儀一起使用,這個很少使用。
下面這張圖是來自Xilinx官方文檔:chipscope_pro_sw_cores_ug029.pdf的一張圖片,關(guān)于ChipScope官方的使用指南可以查看這篇文檔,介紹了ChipScope工具的整體框圖。
ChipScope系統(tǒng)框圖
既然是邏輯分析儀,就要涉及到邏輯分析儀最重要的兩個參數(shù):采樣頻率和采樣深度,ILA的采樣頻率取決于輸入時鐘信號的頻率,采樣深度取決于FPGA的RAM大小