合理使用JTAG和IMPACT幫助你調(diào)試FPGA不能啟動(dòng)的問(wèn)題
本來(lái)想著把GTX后面兩篇博文找時(shí)間寫(xiě)了,但是最近實(shí)在是忙,一直在搭圖像處理的AXI框架和整FPGA-DSP雙平臺(tái)的板子,下面先和大家分享一下調(diào)試心得。
本文引用地址:http://www.ex-cimer.com/article/201710/365491.htm最近調(diào)試一塊新的ArTIx7板子,遇到了一個(gè)很奇怪的問(wèn)題,問(wèn)題是FPGA使用JTAG口能把程序到FPGA,FPGA也能跑得動(dòng),當(dāng)配置模式選擇MASTER SPI時(shí),通過(guò)JTAG口下載也可以下載成功,但是問(wèn)題是重新上電發(fā)現(xiàn)FPGA無(wú)法讀出FLASH的配置文件,導(dǎo)致Master SPI模式下FPGA無(wú)法啟動(dòng),經(jīng)過(guò)長(zhǎng)達(dá)2天的排查,最終定位到在配置電路上M1和M2的模式選擇管腳下拉電阻不對(duì),在硬件上使用的是10K電阻下拉,導(dǎo)致在FPGA啟動(dòng)過(guò)程(xilinx FPGA的啟動(dòng)過(guò)程如圖1所示)中的Sample Mode Pins過(guò)程出錯(cuò),事實(shí)依據(jù)如圖2所示。
圖1
圖2
官方的說(shuō)法是直接接VCC或者GND,如果接上下拉電阻的話,阻值應(yīng)該小于1K,用萬(wàn)用電表測(cè)量M1和M2的電壓值,發(fā)現(xiàn)在10K下拉的情況下伏值大概是1.3V左右,為了深究這個(gè)情況的原因,去翻看官方手冊(cè),終于在UG470里面找到一句話,如圖3所示。
圖3
原來(lái)是MODE PIN有內(nèi)部上拉電阻,這就能解釋為什么用萬(wàn)用表測(cè)量M1和M2會(huì)有1.3V左右的電壓。
那么這類問(wèn)題如何可以快速的找出呢,其實(shí)IMPACT提供的信息很有用,這個(gè)工具能方便硬件人員在板卡前期調(diào)試提供大量信息,特別是提供內(nèi)部電壓以及內(nèi)部啟動(dòng)狀態(tài)寄存器情況,具體怎么去看到這些信息,首先,給板卡上電,然后打開(kāi)IMPACT-Boundary Scan-IniTIalize chain,掃描到器件之后,打開(kāi)菜單欄-Debug-Read Device Status,如圖4所示。
圖4
選擇讀取器件狀態(tài)之后,可以看到控制臺(tái)打印如下信息,如圖5和圖6所示。
圖5
圖6
從控制臺(tái)打印的信息來(lái)看,可以看到芯片的溫度、內(nèi)核VCCINT的電壓值和VCCAUX的電壓值,F(xiàn)PGA的狀態(tài)寄存器值以及配置管腳的值等等,通過(guò)這些信息,可以方便的幫助工程師對(duì)FPGA溫度、內(nèi)部電壓、啟動(dòng)狀態(tài)以及相關(guān)配置管腳進(jìn)行判斷,加速定位問(wèn)題。
評(píng)論