使用jtag和impact帮助你调试FPGA不能启动的问题 - 创龙小识堂 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3621|回复: 0
打印 上一主题 下一主题

使用jtag和impact帮助你调试FPGA不能启动的问题

[复制链接]

12

主题

169

帖子

731

积分

QQ游客

积分
731
跳转到指定楼层
楼主
发表于 2016-12-29 15:07:30 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
合理使用JTAG和IMPACT帮助你调试FPGA不能启动的问题
最近调试一块新的Artix7板子,遇到了一个很奇怪的问题,问题是FPGA使用JTAG口能把程序下载到FPGA,FPGA也能跑得动,当配置模式选择MASTER SPI时,通过JTAG口下载也可以下载成功,但是问题是重新上电发现FPGA无法读出FLASH的配置文件,导致Master SPI模式下FPGA无法启动,经过长达2天的排查,最终定位到在配置电路上M1和M2的模式选择管脚下拉电阻不对,在硬件上使用的是10K电阻下拉,导致在FPGA启动过程(xilinx FPGA的启动过程如图1所示)中的Sample Mode Pins过程出错,事实依据如图2所示。
1
2
官方的说法是直接接VCC或者GND,如果接上下拉电阻的话,阻值应该小于1K,用万用电表测量M1和M2的电压值,发现在10K下拉的情况下伏值大概是1.3V左右,为了深究这个情况的原因,去翻看官方手册,终于在UG470里面找到一句话,如图3所示。
3
原来是MODE PIN有内部上拉电阻,这就能解释为什么用万用表测量M1和M2会有1.3V左右的电压。后面偶然听到说ISE的工具IMPACT能提供很多的启动信息,然后自己尝试一下,发现IMPACT提供的信息很有用,这个工具能方便硬件人员在板卡前期调试提供大量信息,特别是提供内部电压以及内部启动状态寄存器情况,具体怎么去看到这些信息,首先,给板卡上电,然后打开IMPACT-Boundary Scan-Initializechain,扫描到器件之后,打开菜单栏-Debug-Read Device Status,如图4所示。
图4
选择读取器件状态之后,可以看到控制台打印如下信息,如图5和图6所示。
图5
6
从控制台打印的信息来看,可以看到芯片的温度、内核VCCINT的电压值和VCCAUX的电压值,FPGA的状态寄存器值以及配置管脚的值等等,通过这些信息,可以方便的帮助工程师对FPGA温度、内部电压、启动状态以及相关配置管脚进行判断,加速定位问题。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|嵌入式开发者社区 ( 粤ICP备15055271号

GMT+8, 2024-5-3 12:59 , Processed in 0.051473 second(s), 30 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

快速回复 返回顶部 返回列表