cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
syedhuqa
Observer
Observer
9,490 Views
Registered: ‎02-10-2014

Error Indirectly Programming M25P64 using Virtex-5

Hi guys,

 

I am able to program my Virtex-5 FPGA using JTAG and I am able to do that successfully now. However, I'm also using a M25P64 on the custom board and I tried using the Indirect SPI Method of Programming the Flash Memory but I'm getting an error when programming it. I've pasted the errors below:

 

// *** BATCH CMD : Program -p 1 -spionly -e -v -loadfpga
PROGRESS_START - Starting Operation.
Maximum TCK operating frequency for this device chain: 33000000.
Validating chain...
Boundary-scan chain validated successfully.
1: Device Temperature: Current Reading: -273.00 C
1: VCCINT Supply: Current Reading: 0.000 V
1: VCCAUX Supply: Current Reading: 0.000 V
'1': IDCODE is '202017' (in hex).
'1': ID Check passed.
'1': IDCODE is '202017' (in hex).
'1': ID Check passed.
'1': Erasing Device.
'1': Using Sector Erase.
'1': Programming Flash.
'1': Reading device contents...
Failed at address, 0
'1': Verification Terminated
INFO:iMPACT - '1': Flash was not programmed successfully.
PROGRESS_END - End Operation.
Elapsed time = 147 sec.

 

I did a Readback and it did that without any issues.

 

INFO:iMPACT - Current time: 10/16/14 3:19 PM
// *** BATCH CMD : ReadbackToFile -p 1 -file ".mcs" -spionly
PROGRESS_START - Starting Operation.
Maximum TCK operating frequency for this device chain: 33000000.
Validating chain...
Boundary-scan chain validated successfully.
1: Device Temperature: Current Reading: -273.00 C
1: VCCINT Supply: Current Reading: 0.000 V
1: VCCAUX Supply: Current Reading: 0.000 V
'1': IDCODE is '202017' (in hex).
'1': ID Check passed.
'1': IDCODE is '202017' (in hex).
'1': ID Check passed.
'1': Performing readback on device...
'1': Readback completed successfully.
PROGRESS_END - End Operation.
Elapsed time = 590 sec.

 

Is there an specific Application Note for Indirectly Programming using SPI for the Virtex-5 ? I only found an application note for the Spartan series FPGA. Let me know if any more information is needed. 

0 Kudos
7 Replies
gszakacs
Professor
Professor
9,488 Views
Registered: ‎08-14-2007

You say "I did a Readback and it did that without any issues," but what was in the data that got read back?  Did it actually match the data you wrote?  If not, I would start to suspect that the device erasure isn't working.  There could be a number of reasons for that, but you could start by trying to erase and blank check the device using Impact.  If you can't get that to work, then there is an erasure issue.

-- Gabor
0 Kudos
syedhuqa
Observer
Observer
9,483 Views
Registered: ‎02-10-2014

Actually, I haven't written any data to it at all. This is the first time I'm programming it and it hasn't been programmed yet. Its just the Programming which fails. But I'm able to perform the other checks such as Erase and Blank Check

 

INFO:iMPACT - Current time: 10/16/14 4:35 PM
// *** BATCH CMD : Erase -p 1 -spionly
PROGRESS_START - Starting Operation.
Maximum TCK operating frequency for this device chain: 33000000.
Validating chain...
Boundary-scan chain validated successfully.
1: Device Temperature: Current Reading: -273.00 C
1: VCCINT Supply: Current Reading: 0.000 V
1: VCCAUX Supply: Current Reading: 0.000 V
'1': SPI access core not detected. SPI access core will be downloaded to the device to enable operations.
INFO:iMPACT - Downloading core file /opt/Xilinx/14.4/ISE_DS/ISE/virtex5/data/xc5vfx70t_spi.cor.
'1': Downloading core...
Match_cycle = 0.
LCK_cycle = NoWait.
LCK cycle: NoWait
done.
INFO:iMPACT:2219 - Status register values:
INFO:iMPACT - 0011 1111 1011 1110 0000 1010 1000 0000
INFO:iMPACT:2492 - '1': Completed downloading core to device.
'1': IDCODE is '202017' (in hex).
'1': ID Check passed.
'1': IDCODE is '202017' (in hex).
'1': ID Check passed.
'1': IDCODE is '202017' (in hex).
'1': ID Check passed.
'1': Erasing Device.
'1': Using Sector Erase.
PROGRESS_END - End Operation.
Elapsed time = 67 sec.
INFO:iMPACT - Current time: 10/16/14 4:36 PM
// *** BATCH CMD : BlankCheck -p 1 -spionly
PROGRESS_START - Starting Operation.
Maximum TCK operating frequency for this device chain: 33000000.
Validating chain...
Boundary-scan chain validated successfully.
1: Device Temperature: Current Reading: -273.00 C
1: VCCINT Supply: Current Reading: 0.000 V
1: VCCAUX Supply: Current Reading: 0.000 V
'1': IDCODE is '202017' (in hex).
'1': ID Check passed.
'1': IDCODE is '202017' (in hex).
'1': ID Check passed.
'1': Performing blank check on device...
'1': Part is blank.
PROGRESS_END - End Operation.
Elapsed time = 234 sec.

0 Kudos
gszakacs
Professor
Professor
9,464 Views
Registered: ‎08-14-2007

Your original post seems to say that you've tried to program the flash:

 

'1': Erasing Device.
'1': Using Sector Erase.
'1': Programming Flash.
'1': Reading device contents...
Failed at address, 0
'1': Verification Terminated
INFO:iMPACT - '1': Flash was not programmed successfully.

 

So the question is what ended up in the readback file?  Was it all 0xFF indicating that the flash was still blank after the attempt to program?  And what version of the ISE lab tools are you using?

-- Gabor
0 Kudos
syedhuqa
Observer
Observer
9,443 Views
Registered: ‎02-10-2014

I tried reprogramming the Flash without the Verify step and this is what I get:

 

INFO:iMPACT - Current time: 10/23/14 11:53 AM
// *** BATCH CMD : Program -p 1 -spionly -e -loadfpga
PROGRESS_START - Starting Operation.
Maximum TCK operating frequency for this device chain: 33000000.
Validating chain...
Boundary-scan chain validated successfully.
1: Device Temperature: Current Reading: -273.00 C
1: VCCINT Supply: Current Reading: 0.000 V
1: VCCAUX Supply: Current Reading: 0.000 V
'1': SPI access core not detected. SPI access core will be downloaded to the device to enable operations.
INFO:iMPACT - Downloading core file /opt/Xilinx/14.4/ISE_DS/ISE/virtex5/data/xc5vfx70t_spi.cor.
'1': Downloading core...
Match_cycle = 0.
LCK_cycle = NoWait.
LCK cycle: NoWait
done.
INFO:iMPACT:2219 - Status register values:
INFO:iMPACT - 0011 1111 1011 1110 0000 1010 1000 0000
INFO:iMPACT:2492 - '1': Completed downloading core to device.
'1': IDCODE is '202017' (in hex).
'1': ID Check passed.
'1': IDCODE is '202017' (in hex).
'1': ID Check passed.
'1': Erasing Device.
'1': Using Sector Erase.
'1': Programming Flash.
'1':Programming in x1 mode.
'1': Configuration data download to FPGA was not successful. DONE did not go high, please check your configuration setup and mode settings.
INFO:iMPACT - '1': Flash was not programmed successfully.
PROGRESS_END - End Operation.
Elapsed time = 240 sec.

 

I'm not sure how to do a comparison between the file I loaded and what I read back from it. I'm using ISE 14.3

0 Kudos
syedhuqa
Observer
Observer
9,439 Views
Registered: ‎02-10-2014

I'm not sure if the bit file is being correctly loaded onto the Flash Memory. I've pasted the first few lines of the simple_flash_1.mcs (PROM file loaded) and the simple_flash_1_readback.mcs (Readback file)

 

simple_flash_1.mcs

----------------------------

:020000040000FA
:10000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
:10001000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0
:10002000000000BB11220044FFFFFFFFFFFFFFFFA6
:10003000AA9955662000000030020001000000006F
:10004000300080010000000020000000300080012E
:100050000000000720000000200000003002200106
:1000600000000000300260010000000030012001AB
:1000700002003FE53001C0010000000030018001B6
:10008000032C609330008001000000092000000074
:100090003000C001004000003000A001004000001E
:1000A0003000C0010000000030030001000000002B
:1000B00020000000200000002000000020000000C0
:1000C00020000000200000002000000020000000B0
:1000D000300020010000000030008001000000011D
:1000E0002000000030004000500CE1F00000000053

 

 

simple_flash_1_readback.mcs

-----------------------------------

:020000040000FA
:10000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
:10001000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0
:10002000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
:10003000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0
:10004000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0
:10005000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0
:10006000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0
:10007000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90
:10008000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80
:10009000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70
:1000A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60
:1000B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50
:1000C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40
:1000D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30

 

0 Kudos
syedhuqa
Observer
Observer
9,419 Views
Registered: ‎02-10-2014

Anyone know what might be causing the issue ?

0 Kudos
smarell
Community Manager
Community Manager
9,169 Views
Registered: ‎07-23-2012

The flash is not programmed with correct image. Try to reduce the cable speed and see if the programming is successful or not.
-----------------------------------------------------------------------------------------------
Please mark the post as "Accept as solution" if the information provided answers your query/resolves your issue.

Give Kudos to a post which you think is helpful.
0 Kudos