打印
[Quartus]

有什么原因导致FPGA能通过JTAG成功下载,但是不能正常运行?

[复制链接]
13191|22
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
aureoleday|  楼主 | 2012-11-12 09:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用的XC6LS9芯片,TQG144封装的。
通过JTAG能正常下载程序,并且下载成功后DONE指示灯也是被拉高点亮的。
但是下载进去的FPGA程序不能正常运行,是个很简单的点亮LED的程序,就是测试用的。
在代码中插入CHIPSCOPE,之后在ANALYSER里也无法看到波形,提示说CORE不能找到?
有朋友遇到过相同的问题么?大家有什么思路提一下吧,谢谢了!
对了,HSWAPEN和SUSPEND都是直接接地的。
电源和时钟都是正常的。

另外,即使在程序中直接ASSIGN 某一引脚,下载后那个引脚的状态仍然不会改变,全部都是IO高电平……

相关帖子

沙发
Backkom80| | 2012-11-12 10:12 | 只看该作者
1,SUSPEND串4.7K电阻下拉到地
2,HSWAPEN串电阻
试试

使用特权

评论回复
板凳
aureoleday|  楼主 | 2012-11-12 10:19 | 只看该作者
这两个引脚都是直接接地的……
SUSPEND采用下拉和直接接地会造成不同的影响么?

使用特权

评论回复
地板
aureoleday|  楼主 | 2012-11-12 11:02 | 只看该作者
刚才看了下数据手册,这两个引脚都是建议直接接地。图中也是没有下拉,直接接地的,估计问题可能不在这里。有可能是器件损坏么?

使用特权

评论回复
5
Backkom80| | 2012-11-12 11:35 | 只看该作者
嘻嘻,Spartan-6 FPGA Configuration User Guide上面是没有,xilinx给的参考板上都有,建意如果可以,加一个试试

xtp067_sp605_schematics.pdf

1.28 MB

使用特权

评论回复
6
aureoleday|  楼主 | 2012-11-12 13:12 | 只看该作者
好的,谢谢BACKKOM80,我试试看。只有翘脚了……

使用特权

评论回复
7
aureoleday|  楼主 | 2012-11-12 16:54 | 只看该作者
试过了,还是一样。
刚才又核对了一次引脚定义,都是对的。
每次program的时候,都是IMPACT都是报的OK,没有任何错误信息
但是下载到SPI就不行,每次失败,但是看调试信息也没有错误提示,都是说将SPI CORE下载到FPGA成功,但是编程FLASH失败……
我没招了,各位还有什么建议么?

使用特权

评论回复
8
laihama| | 2012-11-12 21:27 | 只看该作者
换个板子?

使用特权

评论回复
9
GoldSunMonkey| | 2012-11-12 21:49 | 只看该作者
按照贝壳的建议,进行原理图检查。

使用特权

评论回复
10
梅花望青竹| | 2012-11-12 22:17 | 只看该作者
时钟引脚对吗?

使用特权

评论回复
11
Backkom80| | 2012-11-13 08:15 | 只看该作者
做了几块板子?每板都这个样子吗还是几块中只有一块这个情况?还有一点FPGA的进货是否正规?

使用特权

评论回复
12
aureoleday|  楼主 | 2012-11-13 09:19 | 只看该作者
做了两块板子,现象都一样,症状是下载到板子后完全没反应。
时钟是32M,与GCLK31相连的。
但是在生成下载文件的选项,STARTUP CLOCK选项中选USER CLK,编译的时候会提示没有实例化STARTUP CLOCK模块报错,选择CCLK和JTAG CLK就能通过。但是这两个都没用……
另外,在用CHIPSCOPE的时候也是提示无法找到通过JTAG找到CHIPSCOPE的CORE,总之,就是感觉程序就跟没下进去一样,虽然IMPACT提示下载成功。
还有个现象,就是通过IMPACT读取DNA的时候,刚上电读取的是正常的数据,但是一旦下载程序后读取就全是1了。
芯片的供货渠道应该没问题,但是USB下载线是淘宝上买的……

使用特权

评论回复
13
aureoleday|  楼主 | 2012-11-13 09:27 | 只看该作者
Reading status register contents...
[0] CRC ERROR                                                           :         0
[1] IDCODE ERROR                                                     :         0
[2] DCM LOCK STATUS                                                :         1
[3] GTS_CFG_B STATUS                                              :         0
[4] GWE STATUS                                                         :         0
[5] GHIGH STATUS                                                      :         1
[6] DECRYPTION ERROR                                              :         0
[7] DECRYPTOR ENABLE                                              :         0
[8] HSWAPEN PIN                                                       :         0
[9] MODE PIN M[0]                                                      :         1
[10] MODE PIN M[1]                                                    :         0
[11] RESERVED                                                           :          0
12] INIT_B PIN                                                            :         1
[13] DONE PIN                                                            :         0
[14] SUSPEND STATUS                                                :         0
[15] FALLBACK STATUS                                               :         0
这是JTAG读取的状态寄存器的值

使用特权

评论回复
14
aureoleday|  楼主 | 2012-11-13 09:53 | 只看该作者
补充一下,上面是下载中的JTAG 状态寄存器值,
下面是下载后读取的status:
Reading status register contents...
[0] CRC ERROR                                                           :         0
[1] IDCODE ERROR                                                     :         0
[2] DCM LOCK STATUS                                                :         1
[3] GTS_CFG_B STATUS                                              :         0
[4] GWE STATUS                                                         :         0
[5] GHIGH STATUS                                                      :         1
[6] DECRYPTION ERROR                                              :         0
[7] DECRYPTOR ENABLE                                              :         0
[8] HSWAPEN PIN                                                       :         0
[9] MODE PIN M[0]                                                      :         1
[10] MODE PIN M[1]                                                    :         0
[11] RESERVED                                                           :          0
12] INIT_B PIN                                                            :         0
[13] DONE PIN                                                            :         0
[14] SUSPEND STATUS                                                :         0
[15] FALLBACK STATUS                                               :         1

可以看到INIT_B在下载中是高,下载完成后变低,FALLBACK STATUS则由低变高。

使用特权

评论回复
15
aureoleday|  楼主 | 2012-11-13 10:49 | 只看该作者
问题解决了!
在generate programming file中的startup 选项中勾选JTAG CLK ,并且选择下载后拉高DONE PIN就OK了。
这个是乱试出来的,至今不明原因。下面再继续测试,如果找到原因一定会在该贴中补充的。
谢谢大家的帮忙!这个论坛同志们回复很及时,谢谢啊!

使用特权

评论回复
16
aureoleday|  楼主 | 2012-11-13 11:02 | 只看该作者
刚才测试了一下,关键是要勾选DRIVE DONE PIN HIGH。
原因不明,大家帮忙分析下?

使用特权

评论回复
17
zxjcn| | 2012-11-13 11:21 | 只看该作者
太强大了,给力。菜鸟飞过。帮顶






北京东方丽人医院

使用特权

评论回复
18
GoldSunMonkey| | 2012-11-13 21:31 | 只看该作者
恭喜恭喜

使用特权

评论回复
19
hawksabre| | 2012-11-22 07:03 | 只看该作者
个人觉得还是硬件电路本身的问题   你将原理图好好检查一遍   应该问题不大  多找猴哥  呵呵

使用特权

评论回复
20
GoldSunMonkey| | 2012-11-22 20:48 | 只看该作者
个人觉得还是硬件电路本身的问题   你将原理图好好检查一遍   应该问题不大  多找猴哥  呵呵
hawksabre 发表于 2012-11-22 07:03
Thanks

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

23

帖子

1

粉丝