Sign In

Don't have a Xilinx account yet?

  • Choose to receive important news and product information
  • Gain access to special content
  • Personalize your web experience on Xilinx.com

Create Account

Username

Password

Forgot your password?
XClose Panel
Xilinx Home
Reply
Regular Visitor
dspulator
Posts: 31
Registered: ‎09-19-2011
0
Accepted Solution

Flakey indirect SPI programming with Spartan 6

I'm a Xilinx beginner.  I have 5 proto boards with a single XC6SLX16 on them, set up for indirect SPI programming (see attached schem).  The JTAG interface seems to be just fine -- I can configure and run the FPGAs reliably at any TCK speed from iMPACT.  But I can do indirect programming only on a couple boards and the others fail every time.  The good ones fail some operations, but only rarely.

 

My indirect programming circuit comes directly from fig 2-12 of UG380 (/FpgaLoad is an off-sheet open drain signal).  I've read and re-read the SPI Configuration Interface section in UG380.  My SPI PROM is a Numonyx (now Micron) 25P40, which is supported according to Xilinx.  My power supply is clean and I've loaded up with decouplers per UG393.  After assembly the boards were all x-ray inspected for shorts and FPGA BGA connections.

 

On the boards which fail, I can't do any PROM action from iMPACT: erase, program, blank check, device checksum, etc..  The Q output from the PROM stays high.  It's not shorted because I can pull it down with 1k when the board is inactive.  Pulling the D and Q pins at the PROM high with 1k does not affect the problem.

 

I've looked at the PROM signals and they all look reasonable.  /S and D transition on the falling edge of C, and I can even see a 'read 000' message being sent to the PROM from the FPGA by triggering on the first falling edge of /S.  The PROM just stays inert.

 

Has anyone had problems like this?  Any suggestions?

 

Thanks very much,

Gerrit

FPGA Pgming.png
Expert Contributor
eteam00
Posts: 7,505
Registered: ‎07-21-2009
0

Re: Flakey indirect SPI programming with Spartan 6

Suggestions:

 

  • Tie M1 (package pin N12) to GND
  • Tie SPI flash memory W_B pin directly to 3.3V
  • VCCO_2 voltage should be 3.3V.
  • What are the markings on the M25P40 devices?  Do you have the exact PN delivered to you from the distributor?
  • How is SUSPEND (pin R16) connected?  It should be GNDed.

 

-- Bob Elkind

SIGNATURE:
README for newbies is here: http://forums.xilinx.com/t5/New-Users-Forum/README-first-Help-for-new-users/td-p/219369

Summary:
1. Read the manual or user guide. Have you read the manual? Can you find the manual?
2. Search the forums (and search the web) for similar topics.
3. Do not post the same question on multiple forums.
4. Do not post a new topic or question on someone else's thread, start a new thread!
5. Students: Copying code is not the same as learning to design.
6 "It does not work" is not a question which can be answered. Provide useful details (with webpage, datasheet links, please).
7. You are not charged extra fees for comments in your code.
8. I am not paid for forum posts. If I write a good post, then I have been good for nothing.
Expert Contributor
gszakacs
Posts: 5,253
Registered: ‎08-14-2007
0

Re: Flakey indirect SPI programming with Spartan 6

What package is the PROM in?  Some of the DFN style packages are very hard to inspect

for proper soldering.  Are you sure that the part is soldered correctly (note that XRAY is not

very good at showing opens, it's more useful for shorts).

 

I would expect an erased part to keep the Q output high (or floating) if it only sees a read

command.  The fact that it is not responding to an ID command seems to point to a

broken connection (or bad parts).

 

-- Gabor

-- Gabor
Regular Visitor
dspulator
Posts: 31
Registered: ‎09-19-2011
0

Re: Flakey indirect SPI programming with Spartan 6

Well, I'll be darned!  The marking on the bag is the right DigiKey part number, the bag label says Numonyx, but the parts themselves have an ST Microelectronics logo!  It appears something went haywire at the distributor.  I've just ordered more, with explicit instructions to verify the chips themselves.

 

Many thanks for having me check this, Bob.  BTW, I noticed my M0 and M1 straps were switched and fixed them already, but that isn't reflected in the schem yet.  And I do have SUSPEND grounded -- that's in another part of the schem.

 

I will post here again when I've tried actual Numonyx chips, but I imagine that will do it.  Thanks for the help!

 

Gerrit

Expert Contributor
bassman59
Posts: 4,653
Registered: ‎02-25-2008
0

Re: Flakey indirect SPI programming with Spartan 6


dspulator wrote:

Well, I'll be darned!  The marking on the bag is the right DigiKey part number, the bag label says Numonyx, but the parts themselves have an ST Microelectronics logo!  It appears something went haywire at the distributor.  I've just ordered more, with explicit instructions to verify the chips themselves.



DigiKey is usually ultra-reliable, but every once in a while, they put the wrong part in the bag. We had a batch of SOT-23-6 things that were not what was on the DigiKey packaging. And when power was applied to the board, they had the tendency to blow up. We couldn't figure out what the heck was going on, until someone looked at the part marking (the three-character code) and cross-referenced it to discover that it was something else entirely.

 

DigiKey always takes care of these problems; the correct parts are shipped overnight on their nickel and they don't want the wrong parts back. But it's one thing to discover this on a prototype build and quite another for production quantities.

 

(Of course in production quantities they send you the reels; we were buying cut tape of maybe 20 pieces.)


----------------------------------------------------------------
Yes, I do this for a living.
Regular Visitor
dspulator
Posts: 31
Registered: ‎09-19-2011
0

Re: Flakey indirect SPI programming with Spartan 6

Man, what a pain this is turning out to be!  Twice DigiKey has sent replacements, and twice they've been the same ST parts.  The most recent twist is that Numonyx and ST were actually linked at one point (according to a Micron product manager), and Numonyx was selling ST-labeled parts!!  Good grief.  If they're that compatible, I'm wondering if putting Numonyx-labeled parts in will fix my problem.  I'll find out tomorrow I hope -- I ordered Micron parts from Avnet.

Newbie
gilsoriano
Posts: 1
Registered: ‎04-20-2012
0

Re: Flakey indirect SPI programming with Spartan 6

Hi all,

 

dspulator I'm facing the very same problem. In my case it is a Micron M25P32 (with that ST logo and bla, bla, bla..) and it was impossible flashing the SPI memory from my laptop. Indeed, that was kind of a weird problem because I was able to flash the FPGA and test my bitstreams with no problems at all. In my laptop my configuration is the following:

 

- Ubuntu 11.10 32bits

- ISE 13.3 Webpack

- drivers: I used the ones here

- Xilinx Platform Cable USB II

 

With that configuration I was able to:

- Initialize a chain

- Correctly flash the FPGA and read from it.

but not able to:

- Program the SPI memory

 

Then, I had a PC with windows nearby, so I decided to give it a try:

 

- Windows XP

- ISE 13.3

- drivers: no idea

- Xilinx Platform Cable USB II

 

where I'm able to perform all the operations correctly.

 

Then, I have to add that there're times in which the Windows machine gets frozen. So, to be able to reflash the SPI I've just dettached everything, hard-reset the FPGA, restart Windows, attach everything again, reprogram and.... it works!

 

Well, this is obviously not a proper solution for this problem, so I will try to find a proper one. If anyone more knowledgeable is able to give us more insight it will be higly appreciated (I spent around five hours for arriving to this workaround).

 

Cheers,

Carlos

 

P.S.: to sum up, the usb drivers are probably wrong

P.S.2: yes, I've tried all the speeds of the USBII and it was not that the problem

P.S.3: yes, I believe in black magic! :-)

Regular Visitor
dspulator
Posts: 31
Registered: ‎09-19-2011
0

Re: Flakey indirect SPI programming with Spartan 6

Sounds like it's still a mystery, unfortunately, but at least I have company in my misery. My problem is while using Win 7 64-bit, ISE 13.3, platform cable USB II with driver 2.0.0.3. I will try the total hard reboot you describe and see if that helps.

Hmm, checking the platform cable USB 2 page Xilinx doesn't mention Win 7 on it operating system list. I suppose I can try installing ISE/iMPACT on my XP laptop, if it will fit.

Thanks,
Gerrit
Regular Visitor
dspulator
Posts: 31
Registered: ‎09-19-2011
0

Re: Flakey indirect SPI programming with Spartan 6

Still no good after a total hard restart, unplugging the USB 2 and powering down the FPGA circuit and computer.  What's distressing now, also, is that a board which used to be good is now unprogrammable -- totally.  It's like a switch has been flipped.

Regular Visitor
dspulator
Posts: 31
Registered: ‎09-19-2011
0

Re: Flakey indirect SPI programming with Spartan 6

The latest is that Micron/Numonyx SPI PROMs seem to be made of pure unobtainium.  I tried three times with DigiKey, the customer support there was great, and three times they sent parts with the ST logo.  I finally ordered some Microns from Avnet, and between the time I placed the order to when I got the shipment notice from Avnet, the manufacturer changed from Micron to STMicroelectronics!!  I now have four batches of ST PROMs and cannot locate Micron/Numonyx anywhere.

 

I've spent hours on this now.  I'm not even sure if Micron-branded parts will solve the problem, if Numonyx and ST were so similar that Numonyx sold ST-labeled parts as their own.  I'm about out of ideas.

 

Gerrit