cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
jtravers
Visitor
Visitor
9,986 Views
Registered: ‎10-22-2009

Spartan 3A 5V fix

Jump to solution

 

Hi,

 

I have just received a batch of PCBs with Spartan 3AN devices on board, with some I/Os interfacing 5V signals.  At design time I was looking for an easy way to implement 5V tolerance and followed the guideline given here:

 

http://www.xilinx.com/support/answers/19146.htm

 

This was the only reference I could find and I assumed that all Spartan 3X devices would have a common I/O structure - wrong!  So, now I know that there are no clamp diodes in the 3A parts, the current-limiting resistors on the input lines will have no effect and the input gates will still see the full 5V when powered. 

 

A possible fix I have come up with is as follows and I wanted to see if this is a runner - note, I am not looking for anyone to endorse this as good practice, just a solution to get out of a tight spot.  I propose to replace the series resistor feeding into the I/O with a forward-biased silicon diode to drop the voltage - I can get them with the same footprint.  Then, upon configuration, I will enable the internal pulldown of the I/O to bias the diode and discharge the node when the input goes low.  I have simulated this in Spice as follows (values from DS557 datasheet):

 

5V source -> diode -> (10pF input capacitance || 5.5-20.8k pulldown) -> GND

 

and it seems to do the trick.  Note that these few signals are very low frequency so no SI implication.  Is there any reason why the pulldown or I/O would not behave in this way due to the internal I/O structure?

 

Also if anyone knows, what is the life expectancy of a 3.3V I/O seeing a constant 5V input, and is the failure mode local only to the I/O?

 

Thanks in advance for any help,

Jamie

 

0 Kudos
1 Solution

Accepted Solutions
eteam00
Professor
Professor
12,630 Views
Registered: ‎07-21-2009

So, now I know that there are no clamp diodes in the 3A parts, the current-limiting resistors on the input lines will have no effect and the input gates will still see the full 5V when powered.

When specifying a PCI IOSTANDARD, the clamp diodes to VCCO are enabled in Spartan 3a devices.  These clamp diodes are a requirement for PCI compliance.  See UG331 (v1.7) section titled Clamp Diodes beginning on page 336.

 

You are correct that the IO clamp diodes are always enabled in Spartan 3/3e family devices, and the diodes are NOT always enabled in Spartan 3a family devices.  The ability to disable the clamp diodes in the S3a devices is what makes the S3a family devices hot-swap compliant (connected IO pins aren't shorted when the device is unpowered).  The S3a IBIS models are available here.

 

- 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.

View solution in original post

13 Replies
eteam00
Professor
Professor
12,631 Views
Registered: ‎07-21-2009

So, now I know that there are no clamp diodes in the 3A parts, the current-limiting resistors on the input lines will have no effect and the input gates will still see the full 5V when powered.

When specifying a PCI IOSTANDARD, the clamp diodes to VCCO are enabled in Spartan 3a devices.  These clamp diodes are a requirement for PCI compliance.  See UG331 (v1.7) section titled Clamp Diodes beginning on page 336.

 

You are correct that the IO clamp diodes are always enabled in Spartan 3/3e family devices, and the diodes are NOT always enabled in Spartan 3a family devices.  The ability to disable the clamp diodes in the S3a devices is what makes the S3a family devices hot-swap compliant (connected IO pins aren't shorted when the device is unpowered).  The S3a IBIS models are available here.

 

- 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.

View solution in original post

jtravers
Visitor
Visitor
9,970 Views
Registered: ‎10-22-2009

 

Bob, you're a lifesaver!  At the very least you've saved me scraping 0805 sized components off 20 boards and implementing my dodgy "fix".  Funny, I had actually skimmed over the PCI diode thing in the datasheet but without realising that it was actually compatible with LVTTL - a case of not seeing the woods for the trees.

 

Thanks again,

Jamie

0 Kudos
barriet
Xilinx Employee
Xilinx Employee
9,940 Views
Registered: ‎08-13-2007

As you noticed, the I/O approach between S3/S3E is different than S3A/S3AN/S3A DSP.

 

You may also find this useful background:

http://www.xilinx.com/support/documentation/application_notes/xapp459.pdf (Eliminating I/O Coupling Effects when Interfacing Large-Swing Single-Ended Signals to User I/O Pins on Spartan-3 Generation FPGAs)
http://www.xilinx.com/support/answers/9048.htm (Virtex/-E/-II/-II Pro/-4/-5/-6, Spartan-II/-IIE/-3/-3A/-3AN/-6 - Which pins do not have clamp diodes?)

Cheers,

bt

 

jtravers
Visitor
Visitor
9,892 Views
Registered: ‎10-22-2009

Thanks for that,

 

One limitation with the PCI approach is that it doesn't apply to Input only pins on the 3A devices.  These pins do not support PCI, so have no clamp diodes.  In the case of my design there was only one of these which was a spare input, so the solution was to disconnect it from any 5V input by removing the associated series resistor.

 

Regards,

Jamie

alphalas
Visitor
Visitor
9,429 Views
Registered: ‎12-22-2009

 


@eteam00 wrote:

So, now I know that there are no clamp diodes in the 3A parts, the current-limiting resistors on the input lines will have no effect and the input gates will still see the full 5V when powered.

When specifying a PCI IOSTANDARD, the clamp diodes to VCCO are enabled in Spartan 3a devices.


Very interesting discussion, but does this mean that those guys are destroying the FPGA on the Spartan-3A/3AN
FPGA Starter Kit Board? Here is a link to the UG:

http://www.xilinx.com/support/documentation/boards_and_kits/ug334.pdf

On page 43/44 they describe the 390 Ohm resistors but on page 45 they define the IO standard as LVCMOS33...

 

Regards,

Anguel

0 Kudos
eteam00
Professor
Professor
9,418 Views
Registered: ‎07-21-2009

Very interesting discussion, but does this mean that those guys are destroying the FPGA on the Spartan-3A/3AN FPGA Starter Kit Board?

Likely not, but I cannot offer an explanation based on the datasheet.  This sounds like a job for Austin or McGett.

 

For those readers who are too busy to download UG334 and search through it, here is the important excerpt:

The character LCD is power by +5V. The FPGA I/O signals are powered by 3.3V. However,
the FPGA’s output levels are recognized as valid Low or High logic levels by the LCD. The
LCD controller accepts 5V TTL signal levels and the 3.3V LVCMOS outputs provided by
the FPGA meet the 5V TTL voltage level requirements.


The 390Ω series resistors on the data lines prevent overstressing on the FPGA and
StrataFlash I/O pins when the character LCD drives a High logic value. The character LCD
drives the data lines when LCD_RW is High. Most applications treat the LCD as a writeonly
peripheral and never read from the display.

-- 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.
0 Kudos
alphalas
Visitor
Visitor
9,365 Views
Registered: ‎12-22-2009

 


@eteam00 wrote:

Very interesting discussion, but does this mean that those guys are destroying the FPGA on the Spartan-3A/3AN FPGA Starter Kit Board?

Likely not, but I cannot offer an explanation based on the datasheet.  This sounds like a job for Austin or McGett.



 

Likely yes. Looks like some amateurs have just copied and pasted the information, e.g. from the Spartan 3E Starter Board UG, whithout even having a clue that the Spartan 3A is different! Unfortunately UCF is not software but defines hardware behavior and can damage the board! IMHO the FPGA on this board is operated outside the specs and this is a very bad thing. Please correct me if I'm wrong.

 

Regards,

Anguel

0 Kudos
eteam00
Professor
Professor
9,362 Views
Registered: ‎07-21-2009

Likely yes. Looks like some amateurs have just copied and pasted the information, e.g. from the Spartan 3E Starter Board UG, whithout even having a clue that the Spartan 3A is different!

Or possibly you don't know what you are talking about, and you've gratuitously insulted Xilinx designers based on your ignorance and bad manners.

 

There are better ways to help each other and add to our collective understanding.  Hopefully you are simply having a rough day, and tomorrow will be better.

 

-- 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.
0 Kudos
alphalas
Visitor
Visitor
9,355 Views
Registered: ‎12-22-2009

 


@eteam00 wrote:

Or possibly you don't know what you are talking about, and you've gratuitously insulted Xilinx designers based on your ignorance and bad manners.

 


 

Oh, I am really sorry. Am I expected to accept everything as 100% correct if it comes from Xilinx? Probably I have just suffered too much from bad "reference" designs from the "big" companies in the past  (just an example: the bad memory design on the Spartan 3E starter board). As I said: Please correct me if I am wrong with my assumptions.

 

Regards,

Anguel

0 Kudos
eteam00
Professor
Professor
4,315 Views
Registered: ‎07-21-2009

Oh, I am really sorry. Am I expected to accept everything as 100% correct if it comes from Xilinx? Probably I have just suffered too much from bad "reference" designs from the "big" companies in the past  (just an example: the bad memory design on the Spartan 3E starter board). As I said: Please correct me if I am wrong with my assumptions.

I'm sorry for how you've been hurt.  As for myself, shortcuts taken by Xilinx (corrected long ago) -- which sank an entire project -- led to my leaving a company after 8 great years with them.  So I have no illusions that Xilinx is perfect.

 

Mistakes and bad things happen.  I've made my own mistakes which have affected other peoples' careers.  Everyone has, if they live long enough.  I can't afford to wallow over past injuries and mistakes, including my own.  There aren't enough good people in the world to dismiss them, one at a time, after each bad mistake.  And there isn't enough time or energy to continually re-live past disasters -- including ones which are our own creations.  Forgiveness is a wonderful thing.

 

I wish you well.

 

-- 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.
0 Kudos
alphalas
Visitor
Visitor
4,308 Views
Registered: ‎12-22-2009

 


@eteam00 wrote:
Mistakes and bad things happen.  I've made my own mistakes which have affected other peoples' careers.  Everyone has, if they live long enough.  I can't afford to wallow over past injuries and mistakes, including my own.  There aren't enough good people in the world to dismiss them, one at a time, after each bad mistake.  And there isn't enough time or energy to continually re-live past disasters -- including ones which are our own creations.  Forgiveness is a wonderful thing.

 

There is no excuse for selling a non-working reference board for years and overlooking simple design rules stated in Xilinx' own guides. I regard this as an act of gross negligence. People from small companies rely on such data, they are learning from reference designs and are reusing them and finally end up deliverying non-working or self-destroying products to their customers. This is a real problem, because they do not have thousands of other customers which will still buy the bad product. They don't have the lawyers big companies can afford if the product damages something. Students also use those designs to learn basic rules from them. It's a shame!

 

And unfortunately this is where the trend goes with the big companies: Releasing new products without looking a second time, without testing. Is this too much to afford? Hey, I am talking about one of the few reference boards. Just hiring some students with a bit of experience to check the board guide and have a look at the Spartan 3 generation guide would do the job. But this is too much to afford...

0 Kudos
eteam00
Professor
Professor
4,302 Views
Registered: ‎07-21-2009

There is no excuse for selling a non-working reference board for years and overlooking simple design rules stated in Xilinx' own guides. I regard this as an act of gross negligence. People from small companies rely on such data, they are learning from reference designs and are reusing them and finally end up deliverying non-working or self-destroying products to their customers.

Are you saying there is a reliability problem with the Spartan-3A Starter Kit?  Or are you flogging at Xilinx based on speculation or supposition?

 

The S-3A Starter Kit has been sold for a long time (more than 4 years), certainly long enough for reliability problems to catch Xilinx' attention.  I haven't seen any "Product Advisory" notices for such an issue as you describe.  If anything, this suggests there is no unusual reliability problem in the design.

 

If you are ranting and raving based on speculation rather than affirmative statements from Xilinx acknowledging a problem, you are well past the point at which you need to take a 'time out'.

 

By the way, series resistors is a commonly used approach for extending VIN input voltage tolerance range without device damage.  It has been included in application notes and design guides for numerous Xilinx and Altera device families.  If you are specifically referencing the 5V LCD signal interface (through 390 ohm Rs) in the S-3a Starter Kits, your outrage is most likely premature and overstated (to say the least).

 

-- 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.
0 Kudos
alphalas
Visitor
Visitor
4,247 Views
Registered: ‎12-22-2009

 


@eteam00 wrote:

If you are ranting and raving based on speculation rather than affirmative statements from Xilinx acknowledging a problem, you are well past the point at which you need to take a 'time out'.

 

By the way, series resistors is a commonly used approach for extending VIN input voltage tolerance range without device damage.  It has been included in application notes and design guides for numerous Xilinx and Altera device families.  If you are specifically referencing the 5V LCD signal interface (through 390 ohm Rs) in the S-3a Starter Kits, your outrage is most likely premature and overstated (to say the least).


As long as the wrong IO standard defined in the UG is used, the current-limiting resistors have no effect, so 5V instead of 3.3V are applied to the FPGA which is well OUTSIDE the specs (see Spartan 3A UG). I say it for the 3rd time: If I am wrong, please correct me. Otherwise I can just regard this as a big mistake in the reference design. It seems that the 5V are still tolerated by the HW, but this does not mean that overstressing the FPGA is OK. At least if you are not interested in damaging your HW. An I don't care how the company selling the board thinks about that.

 

 

I am not speculating, I am just telling some truths. It is offtopic, but in order to defend myself against your attacs and to underline my statements I will give another short example regarding my experience with my other Spartan 3E starter board: It is ridiculous to buy a reference design board with a lot of expensive memory on it, just to find some small textfile somewhere in a zip file, that states that "unfortunately" the board has been routed incorrectly so you cannot use the MIG to generate a proper memory design directly, but the design had to be hacked and presented in a zip file in order to make it work at all. Additionally, this hacked reference design cannot be driven by the onboard oscillator but is designed to work only with an expensive external frequency generator I unfortunetly do not carry around in my pocket. Such things describe the attitude towards customers very percisely.

 

Regards,

Anguel

0 Kudos