UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Observer syedhuqa
Observer
9,236 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
Professor
Professor
9,234 Views
Registered: ‎08-14-2007

Re: Error Indirectly Programming M25P64 using Virtex-5

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
Observer syedhuqa
Observer
9,229 Views
Registered: ‎02-10-2014

Re: Error Indirectly Programming M25P64 using Virtex-5

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
Professor
Professor
9,210 Views
Registered: ‎08-14-2007

Re: Error Indirectly Programming M25P64 using Virtex-5

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
Observer syedhuqa
Observer
9,189 Views
Registered: ‎02-10-2014

Re: Error Indirectly Programming M25P64 using Virtex-5

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
Observer syedhuqa
Observer
9,185 Views
Registered: ‎02-10-2014

Re: Error Indirectly Programming M25P64 using Virtex-5

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
Observer syedhuqa
Observer
9,165 Views
Registered: ‎02-10-2014

Re: Error Indirectly Programming M25P64 using Virtex-5

Anyone know what might be causing the issue ?

0 Kudos
Community Manager
Community Manager
8,915 Views
Registered: ‎07-23-2012

Re: Error Indirectly Programming M25P64 using Virtex-5

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