<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 合理使用JTAG和IMPACT幫助你調(diào)試FPGA不能啟動(dòng)的問(wèn)題

          合理使用JTAG和IMPACT幫助你調(diào)試FPGA不能啟動(dòng)的問(wèn)題

          作者: 時(shí)間:2017-10-11 來(lái)源:網(wǎng)絡(luò) 收藏

          本來(lái)想著把GTX后面兩篇博文找時(shí)間寫(xiě)了,但是最近實(shí)在是忙,一直在搭圖像處理的AXI框架和整-DSP雙平臺(tái)的板子,下面先和大家分享一下調(diào)試心得。

          本文引用地址:http://www.ex-cimer.com/article/201710/365491.htm

          最近調(diào)試一塊新的ArTIx7板子,遇到了一個(gè)很奇怪的問(wèn)題,問(wèn)題是使用口能把程序到,FPGA也能跑得動(dòng),當(dāng)配置模式選擇MASTER SPI時(shí),通過(guò)口下載也可以下載成功,但是問(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í)I提供的信息很有用,這個(gè)工具能方便硬件人員在板卡前期調(diào)試提供大量信息,特別是提供內(nèi)部電壓以及內(nèi)部啟動(dòng)狀態(tài)寄存器情況,具體怎么去看到這些信息,首先,給板卡上電,然后打開(kāi)I-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)題。



          關(guān)鍵詞: JTAG MPACT FPGA

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();