环境:ISE10.1
FPGA:XC2V1000
PROM:XC18V04
烧写程序时,每次烧写到67%就出错,显示是verify失败,信息出下:
Attempting to identify devices in the boundary-scan chain configuration...// *** BATCH CMD : Identify
PROGRESS_START - Starting Operation.
Identifying chain contents ....'1': : Manufacturer's ID =Xilinx xc18v04, Version : 0
INFO:iMPACT:1777 -
Reading C:/Xilinx/10.1/ISE/xc18v00/data/xc18v04.bsd...
INFO:iMPACT:501 - '1': Added Device xc18v04 successfully.
----------------------------------------------------------------------
----------------------------------------------------------------------
'2': : Manufacturer's ID =Xilinx xc2v1000, Version : 3
INFO:iMPACT:1777 -
Reading C:/Xilinx/10.1/ISE/virtex2/data/xc2v1000.bsd...
INFO:iMPACT:501 - '1': Added Device xc2v1000 successfully.
----------------------------------------------------------------------
----------------------------------------------------------------------
done.
PROGRESS_END - End Operation.
Elapsed time = 0 sec.
// *** BATCH CMD : identifyMPM
// *** BATCH CMD : assignFile -p 1 -file "D:/PulseSimulatexjj/pssmlttop.bit"
'1': Loading file 'D:/PulseSimulatexjj/pssmlttop.bit' ...
done.
INFO:iMPACT:2257 - Startup Clock has been changed to 'JtagClk' in the bitstream stored in memory,
but the original bitstream file remains unchanged.
----------------------------------------------------------------------
INFO:iMPACT:501 - '1': Added Device xc2v1000 successfully.
----------------------------------------------------------------------
----------------------------------------------------------------------
// *** BATCH CMD : assignFile -p 2 -file "D:/PulseSimulatexjj/luck.mcs"
'2': Loading file 'D:/PulseSimulatexjj/luck.mcs' ...
done.
// *** BATCH CMD : setAttribute -position 2 -attr readnextdevice -value "(null)"
// *** BATCH CMD : Program -p 2 -e -v -u FFFFFFFF
Maximum TCK operating frequency for this device chain: 10000000.
Validating chain...
Boundary-scan chain validated successfully.
PROGRESS_START - Starting Operation.
'2': Erasing device...
'2': Erasure completed successfully.
'2': Programming device...
done.
'2': Putting device in ISP mode...done.
'2': Putting device in ISP mode...done.
'2': Verifying device...Failed at address, 64'2': Verification Terminated
'2': Programming of user selected options failed.
PROGRESS_END - End Operation.
Elapsed time = 19 sec.
网上对出错信息进行了搜索,较为有用的信息如下:(http://china.xilinx.com/support/answers/22636.htm)
Keywords: XCF02S, XCF04S, Platform Flash
When I try to run a verify on a Platform Flash PROM in iMPACT 8.1i, it fails as follows:
Command: Program -p 1 -e -v -defaultVersion 0
// *** BATCH CMD : Program -p 2 -e -v -defaultVersion 0
PROGRESS_START - Starting Operation.
Chain TCK freq = 15000000.
Validating chain...
Boundary-scan chain validated successfully.
'2': Erasing device...
Erasure completed successfully.
'2': Programming device...
done.
'2': Putting device in ISP mode...done.
'2': Putting device in ISP mode...done.
'2': Verifying device...Failed at address, 0'2': Verification Terminated
Programming of user selected options failed.
PROGRESS_END - End Operation.
Elapsed time = 10 sec.
This problem is fixed in iMPACT 8.1i Service Pack 1.
以上解决方案的意思是ISE版本的问题,当然也搜到了其它的结果,有的说是PROM芯片的问题……
据前人们说,以前用ISE7.1i可以烧写,于是安装了ISE7.1i,烧写果然成功!
总结:
1)对于这种错误,更换ISE版本是首要解决方案;
2)对于低档的芯片,还是用低版本的ISE比较靠谱,就好像在ISE12.3中,根本就不再支持XC2V系列芯片了……