赛灵思
直播中

周静

7年用户 595经验值
私信 关注
[问答]

iMPACT表示配置数据下载到FPGA并不成功怎么回事

伙计们,
我对SPI Flash进行间接编程(如XAPP974中所述)。
在下载结束时,iMPACT表示程序失败。
DONE线很低。
M [1:0] = 01(M0绑定到VCC,M1连接到GND)。
这应该在配置期间将FPGA设置为主SPI。
(UG380第23页)
这是奇怪的部分。
当我循环上电时,FPGA从SPI Flash下载配置,DONE线变为高电平。
正如所料。
那么,当我通过iMPACT下载配置时,为什么不会发生这种情况呢?
为什么我会收到难看的“程序失败”消息?
任何建议,见解或参考都非常感谢!
干杯,
- 尼克
这是iMPACT的完整日志。
信息:iMPACT - 当前时间:2017/7/19 1:54:50
// *** BATCH CMD:程序-p 1 -dataWidth 1 -spionly -e -v -loadfpga
PROGRESS_START - 开始操作。
此器件链的最大TCK工作频率:25000000。
验证链......
边界扫描链成功验证。
'1':未检测到SPI访问核心。
SPI访问核心将下载到设备以启用操作。
信息:iMPACT - 下载核心文件C:/Xilinx/14.7/ISE_DS/ISE/spartan6/data/xc6slx25_spi.cor。
'1':正在下载核心......
LCK_cycle = NoWait。
LCK周期:NoWait
完成。
'1':读取状态寄存器内容......
信息:iMPACT:2219 - 状态寄存器值:
信息:iMPACT - 0011 1100 1110 1100
信息:iMPACT:2492 - '1':已完成将核心下载到设备。
'1':IDCODE为'20ba18'(十六进制)。
'1':ID检查通过。
'1':IDCODE为'20ba18'(十六进制)。
'1':ID检查通过。
'1':擦除设备。
'1':使用扇区擦除。
'1':编程Flash。
'1':读取设备内容......
完成。
'1':验证完成。
'1':在x1模式下编程。
'1':下载到FPGA的配置数据不成功。
DONE没有变高,请检查配置设置和模式设置。
信息:iMPACT - '1':Flash未成功编程。
PROGRESS_END - 结束操作。
经过时间= 248秒。

回帖(3)

赵天湖

2020-6-9 07:10:03
伙计们,我已经使用iMPACT从Spartan-6读取了状态寄存器(找到指令AR#24024)。
这是内容:
信息:iMPACT - 当前时间:10/9/2017 12:12:40 PM
// *** BATCH CMD:ReadStatusRegister -p 1
此器件链的最大TCK工作频率:25000000。
验证链......
边界扫描链成功验证。
'1':读取引导寄存器内容......
[0] VALID_0 - 错误或启动结束(EOS)检测:0
[1] FALLBACK_0 - FALLBACK RECONFIGURATION ATTEMPT检测:0
[2]保留:0
[3] WTO_ERROR_0 - 看门狗超时错误:0
[4] ID_ERROR_0 - FPGA器件IDCODE错误:0
[5] CRC_ERROR_0 - 循环冗余校验(CRC)错误:0
[6] VALID_1 - 错误或启动结束(EOS)检测:0
[7] FALLBACK_1 - FALLBACK RECONFIGURATION ATTEMPT检测到:0
[8]保留:0
[9] WTO_ERROR_1 - 观看时间错误:0
[10] ID_ERROR_1 - FPGA器件IDCODE错误:0
[11] CRC_ERROR_1 - 循环冗余校验(CRC)错误:0
[12] STRIKE CNT - 反击击败的罢工数:0
[13] STRIKE_CNT - 反击尝试的罢工数:0
[14] STRIKE_CNT - 反击尝试的罢工数:0
[15] STRIKE_CNT - 反击尝试的罢工数:0
'1':读取状态寄存器内容......
[0] CRC错误:0
[1] IDCODE错误:0
[2] DCM LOCK状态:1
[3] GTS_CFG_B状态:0
[4] GWE状态:0
[5] GHIGH状态:0
[6]解密错误:0
[7] DECRYPTOR ENABLE:0
[8] HSWAPEN PIN:0
[9] MODE PIN M [0]:1 //预期M [1:0] = 0b01
[10] MODE PIN M [1]:1
[11]保留:0
[12] INIT_B PIN码:1
[13]完成密码:0
[14]暂停状态:0
[15] FALLBACK STATUS:0
在我的电路板上,M [1:0]被绑定为0b01,但FPGA在某种程度上看到了0b11。
更奇怪的是,当电源循环时,FPGA会选择正确的M [1:0]设置,但在通过iMPACT和平台电缆进行编程时则不会。
什么可能导致这种行为?
举报

马丽

2020-6-9 07:22:13
嗨,正如您所见,FPGA看到错误的模式引脚设置。
这就是它无法从编程闪存中加载的原因。
用电路板上的电压表仔细检查引脚的电压电平,应该发生一些连接问题。
如果使用上拉/下拉电阻,请确保电阻值足够小,以使S6读取正确的值,例如
使用0欧姆电阻。在电源循环后,错误的模式引脚设置有时会起作用,我看到了类似的报告。
无论如何,如果模式引脚设置不正确,它在某些情况下总是很有可能失败。
谢谢,常春藤
--------------------------------------------------
--------------------------------------------------
--------不要忘记回复,kudo,并接受为解决方案.----------------------------
--------------------------------------------------
---------------------------
举报

h1654155275.6260

2020-6-9 07:38:25
嗨,
如果模式设置正确,请将配置选项中的模式配置设置验证为x1,x2和x4。
当您生成.mcs时,您选择的模式和配置模式也应相同。
最诚挚的问候, - Ashok --------------------------------------------
--------------------------------------------------
请注意 - 如果提供的信息有用,请将答案标记为“接受为解决方案”。
将Kudos发送给您认为有用且回复的帖子.------------------------------------
--------------------------------------------------
--------
举报

更多回帖

发帖
×
20
完善资料,
赚取积分