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: 
Visitor etbrandes
Visitor
4,292 Views
Registered: ‎07-17-2017

Spartan 3AN-50 can't program

After trying the instructions laid out in answer record 59572, I still cannot get a programmer to recognize the internal flash, using either of the two spi.acd files provided. Any ideas why neither one would work?

 

So far I've tried:

Uninstalling all xilinx tools on my machine and reinstalling only 14.7.

Applying the patch in a separate folder and setting a MYXILINX environment variable, as instructed in the AR.

Directly replacing the original file with the patched one.

 

None of these solutions have worked. Any ideas?

 

0 Kudos
15 Replies
Scholar pratham
Scholar
4,271 Views
Registered: ‎06-05-2013

Re: Spartan 3AN-50 can't program

@etbrandes impact.log, please.

-Pratham

----------------------------------------------------------------------------------------------
Kindly note- Please mark the Answer as "Accept as solution" if information provided is helpful.

Give Kudos to a post which you think is helpful and reply oriented.
----------------------------------------------------------------------------------------------
0 Kudos
Visitor etbrandes
Visitor
4,243 Views
Registered: ‎07-17-2017

Re: Spartan 3AN-50 can't program

iMPACT Version: 14.7

iMPACT log file Started on Mon Jul 17 18:39:01 2017

Welcome to iMPACT
iMPACT Version: 14.7
// *** BATCH CMD : setMode -bs
GUI --- Auto connect to cable...
// *** BATCH CMD : setCable -port auto
INFO:iMPACT - Digilent Plugin: Plugin Version: 2.4.4
INFO:iMPACT - Digilent Plugin: no JTAG device was found.
AutoDetecting cable. Please wait.
*** WARNING ***: When port is set to auto detect mode, cable speed is set todefault 6 MHz regardless of explicit arguments supplied for setting the baudrates
PROGRESS_START - Starting Operation.
Connecting to cable (Usb Port - USB21).
Checking cable driver.
 Driver file xusb_emb.sys found.
 Driver version: src=1029, dest=1029.
 Driver windrvr6.sys version = 10.2.1.0. WinDriver v10.21 Jungo (c) 1997 - 2010 Build Date: Aug 31 2010 X86 32bit SYS14:35:41, version = 1021.
Cable connection failed.
Connecting to cable (Parallel Port - LPT1).
Checking cable driver.
 Driver windrvr6.sys version = 10.2.1.0. WinDriver v10.21 Jungo (c) 1997 - 2010 Build Date: Aug 31 2010 X86 32bit SYS14:35:41, version = 1021.
 LPT base address = 0378h.
 ECP base address = 0778h.
 ECP hardware is detected.
Cable connection established.
Connecting to cable (Parallel Port - LPT1) in ECP mode.
Checking cable driver.
Installing XilinxPC4Driver...Successful.
 LPT base address = 0378h.
 Cable Type = 1, Revision = 3.
 Setting cable speed to 5 MHz.
Cable connection established.
PROGRESS_END - End Operation.
Elapsed time =      6 sec.
Attempting to identify devices in the boundary-scan chain configuration...
INFO:iMPACT - Current time: 7/17/2017 6:39:13 PM
// *** BATCH CMD : Identify -inferir 
PROGRESS_START - Starting Operation.
Identifying chain contents...'0': : Manufacturer's ID = Xilinx xc3s50an, Version : 0
INFO:iMPACT:1777 - 
   Reading C:/Xilinx/14.7/ISE_DS/ISE/spartan3a/data/xc3s50an.bsd...
INFO:iMPACT:501 - '1': Added Device xc3s50an successfully.
----------------------------------------------------------------------
done.
PROGRESS_END - End Operation.
Elapsed time =      0 sec.
// *** BATCH CMD : identifyMPM 
// *** BATCH CMD : assignFile -p 1 -file"C:/Xilinx/projects/32831310W_REV_A/REV_EB/main_top.bit"
'1': Loading file 'C:/Xilinx/projects/32831310W_REV_A/REV_EB/main_top.bit' ...
done.
Found sync word in bitstream.
UserID read from the bitstream file = 0xFFFFFFFF.
INFO:iMPACT:501 - '1': Added Device xc3s50an successfully.
----------------------------------------------------------------------
INFO:iMPACT - Current time: 7/17/2017 6:39:38 PM
// *** BATCH CMD : Program -p 1 -e -v 
Maximum TCK operating frequency for this device chain: 10000000.
Validating chain...
Boundary-scan chain validated successfully.
'1': SPI access core not detected. SPI access core will be downloaded to thedevice to enable operations.
INFO:iMPACT - Downloading core file   C:/Xilinx/14.7/ISE_DS/ISE/spartan3a/data/xc3s50an_spi.cor.
PROGRESS_START - Starting Operation.
'1': Downloading core...
 LCK_cycle = NoWait.
LCK cycle: NoWait
done.
'1': Reading status register contents...
INFO:iMPACT:2219 - Status register values:
INFO:iMPACT - 0000 0000 0000 0000 
INFO:iMPACT:2492 - '1': Completed downloading core to device.
'1': Configuration data download to FPGA was not successful. DONE did not gohigh, please check your configuration setup and spi mode settings.
PROGRESS_END - End Operation.
Elapsed time =     61 sec.
// *** BATCH CMD : setMode -bs
INFO:iMPACT - Launching WebTalk, please refer to the webtalk log at C:\Documents   and Settings/webtalk.log for details.
INFO:iMPACT - Running wbtc successfully.
// *** BATCH CMD : setMode -bs
// *** BATCH CMD : deleteDevice -position 1
// *** BATCH CMD : setMode -bs
// *** BATCH CMD : setMode -ss
// *** BATCH CMD : setMode -sm
// *** BATCH CMD : setMode -hw140
// *** BATCH CMD : setMode -spi
// *** BATCH CMD : setMode -acecf
// *** BATCH CMD : setMode -acempm
// *** BATCH CMD : setMode -pff

looking at this log, it seems like impact is wanting to use xc3s50an_spi.cor instead of spi.acd? Or is that unrelated to the spi.acd file?

0 Kudos
Visitor etbrandes
Visitor
4,241 Views
Registered: ‎07-17-2017

Re: Spartan 3AN-50 can't program

I think I replied to myself instead of to you. Log file in post above.

0 Kudos
Moderator
Moderator
4,221 Views
Registered: ‎05-02-2017

Re: Spartan 3AN-50 can't program

hi @etbrandes,

 

it seem you have Cable connection failed from the log we can decode it , so i suggest to read the following AR 

 

https://www.xilinx.com/support/answers/30184.html

 

https://www.xilinx.com/support/answers/35924.html

 

https://forums.xilinx.com/t5/Spartan-Family-FPGAs/Cable-connection-failed-WARNING-iMPACT-923-Can-not-find-cable/td-p/105243

 

 

Thanks & Regards

 

S.chandra sekhar 

 

 

----------------------------------------------------------------------------------------------
Kindly note- Please mark the Answer as "Accept as solution" if information provided is helpful.

Give Kudos to a post which you think is helpful and reply oriented.
----------------------------------------------------------------------------------------------

Regards
Chandra sekhar
----------------------------------------------------------------------------------------------
Kindly note- Please mark the Answer as "Accept as solution" if solution provided is helpful.

Give Kudos to a post which you think is helpful and reply oriented.
----------------------------------------------------------------------------------------------
0 Kudos
Moderator
Moderator
4,208 Views
Registered: ‎01-15-2008

Re: Spartan 3AN-50 can't program

what is the mode pin settings? also let us know the Variant select pins settings VS{2:0]

After the programming failure read the status registers of the fpga and attach it to this thread

0 Kudos
Scholar pratham
Scholar
4,203 Views
Registered: ‎06-05-2013

Re: Spartan 3AN-50 can't program

@etbrandes Which one is correct out of these two?

 

Applying the patch in a separate folder and setting a MYXILINX environment variable, as instructed in the AR.

Directly replacing the original file with the patched one.

 

If you have replaced cor then Its fine but if not usually log contains information that it is reading a patch from MYXILINX which in your case it's not there. Please make sure patch is installed correctly.

 

Status register shows all zeroes which worry me.Check this AR

https://www.xilinx.com/support/answers/34599.html

 

-Pratham

----------------------------------------------------------------------------------------------
Kindly note- Please mark the Answer as "Accept as solution" if information provided is helpful.

Give Kudos to a post which you think is helpful and reply oriented.
----------------------------------------------------------------------------------------------
0 Kudos
Visitor etbrandes
Visitor
4,188 Views
Registered: ‎07-17-2017

Re: Spartan 3AN-50 can't program

I tried it both ways. In my previous testing, I had replaced the file directly. In the most recent test below, I tried using the environment variable solution, by opening a command prompt, setting both environment variables, and then launching impact. I see no mention of that MYXILINX environment variable in impact's log.

 

 

Welcome to iMPACT
iMPACT Version: 14.7
// *** BATCH CMD : setMode -bs
// *** BATCH CMD : setMode -bs
// *** BATCH CMD : setMode -bs
// *** BATCH CMD : setMode -bs
GUI --- Auto connect to cable...
// *** BATCH CMD : setCable -port auto
INFO:iMPACT - Digilent Plugin: Plugin Version: 2.4.4
INFO:iMPACT - Digilent Plugin: no JTAG device was found.
AutoDetecting cable. Please wait.
*** WARNING ***: When port is set to auto detect mode, cable speed is set to default 6 MHz regardless of explicit arguments supplied for setting the baud rates
PROGRESS_START - Starting Operation.
Connecting to cable (Usb Port - USB21).
Checking cable driver.
 Driver file xusb_emb.sys found.
 Driver version: src=1029, dest=1029.
 Driver windrvr6.sys version = 10.2.1.0. WinDriver v10.21 Jungo (c) 1997 - 2010 Build Date: Aug 31 2010 X86 32bit SYS 14:35:41, version = 1021.
Cable connection failed.
Connecting to cable (Parallel Port - LPT1).
Checking cable driver.
 Driver windrvr6.sys version = 10.2.1.0. WinDriver v10.21 Jungo (c) 1997 - 2010 Build Date: Aug 31 2010 X86 32bit SYS 14:35:41, version = 1021.
 LPT base address = 0378h.
 ECP base address = 0778h.
 ECP hardware is detected.
Cable connection established.
Connecting to cable (Parallel Port - LPT1) in ECP mode.
Checking cable driver.
 Driver xpc4drvr.sys version = 1.0.4.0. LPT base address = 0378h.
 Cable Type = 1, Revision = 3.
 Setting cable speed to 5 MHz.
Cable connection established.
PROGRESS_END - End Operation.
Elapsed time =      4 sec.
Attempting to identify devices in the boundary-scan chain configuration...
INFO:iMPACT - Current time: 7/19/2017 5:00:04 PM
// *** BATCH CMD : Identify -inferir 
PROGRESS_START - Starting Operation.
Identifying chain contents...'0': : Manufacturer's ID = Xilinx xc3s50an, Version : 0
INFO:iMPACT:1777 - 
Reading C:/Xilinx/14.7/ISE_DS/ISE/spartan3a/data/xc3s50an.bsd...
INFO:iMPACT:501 - '1': Added Device xc3s50an successfully.
----------------------------------------------------------------------
----------------------------------------------------------------------
done.
PROGRESS_END - End Operation.
Elapsed time =      1 sec.
// *** BATCH CMD : identifyMPM 
// *** BATCH CMD : assignFile -p 1 -file "C:/Xilinx/projects/32831310W_REV_A/REV_EB/main_top.bit"
'1': Loading file 'C:/Xilinx/projects/32831310W_REV_A/REV_EB/main_top.bit' ...
done.
Found sync word in bitstream.
UserID read from the bitstream file = 0xFFFFFFFF.
INFO:iMPACT:501 - '1': Added Device xc3s50an successfully.
----------------------------------------------------------------------
----------------------------------------------------------------------
INFO:iMPACT - Current time: 7/19/2017 5:00:50 PM
// *** BATCH CMD : ReadStatusRegister -p 1 
PROGRESS_START - Starting Operation.
Maximum TCK operating frequency for this device chain: 10000000.
Validating chain...
Boundary-scan chain validated successfully.
'1': Reading status register contents...
CRC error                                                                  :         0
IDCODE not validated while writing FDRI                                    :         0
DCM Locked                                                                 :         1
status of GTS_CFG_B                                                        :         0
status of GWE                                                              :         0
status of GHIGH                                                            :         0
value of VSEL pin 0                                                        :         1
value of VSEL pin 1                                                        :         1
value of VSEL pin 2                                                        :         1
value of MODE pin M0                                                       :         1
value of MODE pin M1                                                       :         1
value of MODE pin M2                                                       :         0
value of CFG_RDY (INIT_B)                                                  :         0
DONEIN input from Done Pin                                                 :         0
SYNC word not found                                                        :         1
'1': SPI access core not detected. SPI access core will be downloaded to the device to enable ope rations.
INFO:iMPACT - Downloading core file C:/Xilinx/14.7/ISE_DS/ISE/spartan3a/data/xc3s50an_spi.cor.
'1': Downloading core...
 LCK_cycle = NoWait.
LCK cycle: NoWait
done.
'1': Reading status register contents...
INFO:iMPACT:2219 - Status register values:
INFO:iMPACT - 0000 0000 0000 0000 
INFO:iMPACT:2492 - '1': Completed downloading core to device.
Ready/Busy Bit: 1
Result of Main Memory Page to Buffer Compare: 1
Device Density Bits: 1111
Sector Protection enabled: 1
Power of 2 binary page size enabled: 1
INFO:iMPACT - Address 0x00000000 is in sector 0.
INFO:iMPACT - Address 0x0000D587 is not located at the start of a sector boundary. The whole sector will be erased.
INFO:iMPACT - Address 0x0000D587 is in sector 2.
The security register values are:
Sector[0]: NOT SECURED (0)
Sector[1]: NOT SECURED (0)
Sector[2]: NOT SECURED (0)
Sector[3]: NOT SECURED (0)
Sector[4]: NOT SECURED (0)
INFO:iMPACT - Address 0x00000000 is in sector 0.
INFO:iMPACT - Address 0x0000D587 is not located at the start of a sector boundary. The whole sector will be erased.
INFO:iMPACT - Address 0x0000D587 is in sector 2.
The lockdown register values are:
Sector[0]: NOT LOCKED DOWN (0)
Sector[1]: NOT LOCKED DOWN (0)
Sector[2]: NOT LOCKED DOWN (0)
Sector[3]: NOT LOCKED DOWN (0)
Sector[4]: NOT LOCKED DOWN (0)
'1': Reading security register...
Factory ID
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 

done.
'1': Reading security register...
One-time User Programmable
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 

done.
PROGRESS_END - End Operation.
Elapsed time =     61 sec.
INFO:iMPACT - Current time: 7/19/2017 5:02:56 PM
// *** BATCH CMD : ReadUsercode -p 1 
PROGRESS_START - Starting Operation.
Maximum TCK operating frequency for this device chain: 10000000.
Validating chain...
Boundary-scan chain validated successfully.
'1': Usercode is 'ffffffff'
PROGRESS_END - End Operation.
Elapsed time =      0 sec.

 

0 Kudos
Visitor etbrandes
Visitor
4,187 Views
Registered: ‎07-17-2017

Re: Spartan 3AN-50 can't program

VSEL[2:0] <= b'111

M[2:0] <= b'011

0 Kudos
Visitor etbrandes
Visitor
4,185 Views
Registered: ‎07-17-2017

Re: Spartan 3AN-50 can't program

Program cycle (which failed), followed by "read device status":

 

INFO:iMPACT - Current time: 7/19/2017 5:08:28 PM
// *** BATCH CMD : Program -p 1 -e -v 
PROGRESS_START - Starting Operation.
Maximum TCK operating frequency for this device chain: 10000000.
Validating chain...
Boundary-scan chain validated successfully.
'1': SPI access core not detected. SPI access core will be downloaded to the device to enable operations.
INFO:iMPACT - Downloading core file C:/Xilinx/14.7/ISE_DS/ISE/spartan3a/data/xc3s50an_spi.cor.
'1': Downloading core...
 LCK_cycle = NoWait.
LCK cycle: NoWait
done.
'1': Reading status register contents...
INFO:iMPACT:2219 - Status register values:
INFO:iMPACT - 0011 1111 1110 1100 
INFO:iMPACT:2492 - '1': Completed downloading core to device.
INFO:iMPACT - SPI Device not found.
INFO:iMPACT:2488 - The operation did not complete successfully.
'1': Configuration data download to FPGA was not successful. DONE did not go high, please check your configuration setup and spi mode settings.
PROGRESS_END - End Operation.
Elapsed time =     61 sec.
INFO:iMPACT - Current time: 7/19/2017 5:10:49 PM
// *** BATCH CMD : ReadStatusRegister -p 1 
Maximum TCK operating frequency for this device chain: 10000000.
Validating chain...
Boundary-scan chain validated successfully.
'1': Reading status register contents...
CRC error                                                                  :         0
IDCODE not validated while writing FDRI                                    :         0
DCM Locked                                                                 :         1
status of GTS_CFG_B                                                        :         0
status of GWE                                                              :         0
status of GHIGH                                                            :         0
value of VSEL pin 0                                                        :         1
value of VSEL pin 1                                                        :         1
value of VSEL pin 2                                                        :         1
value of MODE pin M0                                                       :         1
value of MODE pin M1                                                       :         1
value of MODE pin M2                                                       :         0
value of CFG_RDY (INIT_B)                                                  :         1
DONEIN input from Done Pin                                                 :         0
SYNC word not found                                                        :         0
'1': SPI access core not detected. SPI access core will be downloaded to the device to enable ope rations.
INFO:iMPACT - Downloading core file C:/Xilinx/14.7/ISE_DS/ISE/spartan3a/data/xc3s50an_spi.cor.
'1': Downloading core...
 LCK_cycle = NoWait.
LCK cycle: NoWait
done.
'1': Reading status register contents...
INFO:iMPACT:2219 - Status register values:
INFO:iMPACT - 0011 1111 1110 1100 
INFO:iMPACT:2492 - '1': Completed downloading core to device.
Ready/Busy Bit: 1
Result of Main Memory Page to Buffer Compare: 0
Device Density Bits: 0011
Sector Protection enabled: 0
Power of 2 binary page size enabled: 0
INFO:iMPACT - Address 0x00000000 is in sector 0.
INFO:iMPACT - Address 0x0000D587 is not located at the start of a sector boundary. The whole sector will be erased.
INFO:iMPACT - Address 0x0000D587 is in sector 2.
The security register values are:
Sector[0]: NOT SECURED (0)
Sector[1]: NOT SECURED (0)
Sector[2]: NOT SECURED (0)
Sector[3]: NOT SECURED (0)
Sector[4]: NOT SECURED (0)
INFO:iMPACT - Address 0x00000000 is in sector 0.
INFO:iMPACT - Address 0x0000D587 is not located at the start of a sector boundary. The whole sector will be erased.
INFO:iMPACT - Address 0x0000D587 is in sector 2.
The lockdown register values are:
Sector[0]: NOT LOCKED DOWN (0)
Sector[1]: NOT LOCKED DOWN (0)
Sector[2]: NOT LOCKED DOWN (0)
Sector[3]: NOT LOCKED DOWN (0)
Sector[4]: NOT LOCKED DOWN (0)
'1': Reading security register...
Factory ID
0A 0B 03 00 0B 09 1F 22 00 00 27 0F FF FF F4 FF 
30 30 30 53 34 32 39 39 06 26 61 FF FF FF FF FF 
3B FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 

done.
'1': Reading security register...
One-time User Programmable
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 

done.
0 Kudos
Xilinx Employee
Xilinx Employee
3,363 Views
Registered: ‎08-01-2012

Re: Spartan 3AN-50 can't program

Did you check FPGA voltages especially VCCINT, VCCAUX and VCCO_2? If not please scope once. 

 

The voltages should be within the range specified in Table 10: General Recommended Operating Conditions  of SP-3AN data sheet DS557 (https://www.xilinx.com/support/documentation/data_sheets/ds557.pdf)

________________________________________________

Please mark this post as an "Accept as solution" in case if it helped to resolve your query. So that it will help to other forum users to directly refer to the answer.

Give kudos to this post in case if you think the information is useful and reply oriented.

0 Kudos
Moderator
Moderator
3,358 Views
Registered: ‎01-15-2008

Re: Spartan 3AN-50 can't program

what is the date code on the spartan-3an fpga? is the log file of impact porgrammer has patch installed in or not?

0 Kudos
Visitor etbrandes
Visitor
3,343 Views
Registered: ‎07-17-2017

Re: Spartan 3AN-50 can't program

It looks like the 2013 date code on my test board predates the design change (AR59572 is dated 2015). However, the new production boards have date code 1645, presumably after the design change.
Regardless, my test board does not respond to programming with either spi.acd file loaded in. Both methods result in the same "unable to find internal SPI device" error.

0 Kudos
Visitor etbrandes
Visitor
3,336 Views
Registered: ‎07-17-2017

Re: Spartan 3AN-50 can't program

All voltages check out. (I wish it was that easy ;)

0 Kudos
Visitor etbrandes
Visitor
3,290 Views
Registered: ‎07-17-2017

Re: Spartan 3AN-50 can't program

I'm still lost on this problem, and completely line-down as a result.

 

I've followed all the instructions provided in AR 59572.

I've tried both 12.1 (the original version the design was built in), and the current 14.7.

I've tried with the patched spi.acd file and without.

I've checked voltage rails.

I've checked the spi config pins and the variant select pins.

Cable works fine. The FPGA itself will program, but the internal flash will not.

 

What more is there to try?

0 Kudos
Visitor etbrandes
Visitor
3,021 Views
Registered: ‎07-17-2017

Re: Spartan 3AN-50 can't program

I've checked all the operating conditions, and gotten nowhere. I'm still line-down, and I don't have the ability to try to program the chip out-of-circuit. Is there anything else I can try?

0 Kudos