FPGA Central - World's 1st FPGA / CPLD Portal

FPGA Central

World's 1st FPGA Portal

 

Go Back   FPGA Groups > NewsGroup > FPGA

FPGA comp.arch.fpga newsgroup (usenet)

Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 04-14-2006, 05:47 PM
rickman
Guest
 
Posts: n/a
Default Spartan 3 chips in power up

I have looked at the data sheet and they say very clearly that the
Spartan 3 is held in reset until all three power supplies are fully up.
But the range of voltages is very wide, with reset being released when
the Vcoo on Bank four is as low as 0.4 volts.

I get a lot of grief from the FPGA firmware designers on every little
nit and pic that they don't like about the board design. I need to
know that this will keep the FPGA in reset and all IOs tristated
whether the various power voltages are above or below the internal
reset threshold, up to the point of being configured.

Reply With Quote
  #2 (permalink)  
Old 04-14-2006, 10:39 PM
Guest
 
Posts: n/a
Default Re: Spartan 3 chips in power up

rickman wrote:
> I have looked at the data sheet and they say very clearly that the
> Spartan 3 is held in reset until all three power supplies are fully up.
> But the range of voltages is very wide, with reset being released when
> the Vcoo on Bank four is as low as 0.4 volts.
>
> I get a lot of grief from the FPGA firmware designers on every little
> nit and pic that they don't like about the board design. I need to
> know that this will keep the FPGA in reset and all IOs tristated
> whether the various power voltages are above or below the internal
> reset threshold, up to the point of being configured.


IIRC, the I/O's are inputs (or HiZ) w/ soft pullup until after
configuration.

It should be simple enough to delay the start of configuration until
after the last supply is up.

Reply With Quote
  #3 (permalink)  
Old 04-14-2006, 11:30 PM
Steve Knapp (Xilinx Spartan-3 Generation FPGAs)
Guest
 
Posts: n/a
Default Re: Spartan 3 chips in power up


rickman wrote:
> I have looked at the data sheet and they say very clearly that the
> Spartan 3 is held in reset until all three power supplies are fully up.
> But the range of voltages is very wide, with reset being released when
> the Vcoo on Bank four is as low as 0.4 volts.
>
> I get a lot of grief from the FPGA firmware designers on every little
> nit and pic that they don't like about the board design. I need to
> know that this will keep the FPGA in reset and all IOs tristated
> whether the various power voltages are above or below the internal
> reset threshold, up to the point of being configured.


I assume that you are looking at Table 28 on page 54 in the Spartan-3
data sheet.
http://www.xilinx.com/bvdocs/publications/ds099.pdf

These are essentially the trip points for the power-on reset (POR)
circuit inside the FPGA. The trip voltage range is somewhat wide due
to process variation, etc.

The POR circuit prevents configuration from starting until all three
power rails meet are within the trip-point range. The POR can happen
as early as the minimum voltage levels or as late as the maximum
limits.

Until the POR is released, all I/Os not actively involved in
configuration are high-impedance. The HSWAP_EN pin controls whether or
not internal pull-ups are applied to these I/Os. When HSWAP_EN = High,
the I/Os are turned off. Also, the pull-ups connect to their
associated power rail so you won't see the effect until VCCO ramps up.
---------------------------------
Steven K. Knapp
Applications Manager, Xilinx Inc.
General Products Division
Spartan-3/-3E FPGAs
http://www.xilinx.com/spartan3e
---------------------------------
The Spartan(tm)-3 Generation: The World's Lowest-Cost FPGAs.

Reply With Quote
  #4 (permalink)  
Old 04-15-2006, 04:25 PM
rickman
Guest
 
Posts: n/a
Default Re: Spartan 3 chips in power up

Steve Knapp (Xilinx Spartan-3 Generation FPGAs) wrote:
> rickman wrote:
> > I have looked at the data sheet and they say very clearly that the
> > Spartan 3 is held in reset until all three power supplies are fully up.
> > But the range of voltages is very wide, with reset being released when
> > the Vcoo on Bank four is as low as 0.4 volts.
> >
> > I get a lot of grief from the FPGA firmware designers on every little
> > nit and pic that they don't like about the board design. I need to
> > know that this will keep the FPGA in reset and all IOs tristated
> > whether the various power voltages are above or below the internal
> > reset threshold, up to the point of being configured.

>
> I assume that you are looking at Table 28 on page 54 in the Spartan-3
> data sheet.
> http://www.xilinx.com/bvdocs/publications/ds099.pdf
>
> These are essentially the trip points for the power-on reset (POR)
> circuit inside the FPGA. The trip voltage range is somewhat wide due
> to process variation, etc.
>
> The POR circuit prevents configuration from starting until all three
> power rails meet are within the trip-point range. The POR can happen
> as early as the minimum voltage levels or as late as the maximum
> limits.
>
> Until the POR is released, all I/Os not actively involved in
> configuration are high-impedance. The HSWAP_EN pin controls whether or
> not internal pull-ups are applied to these I/Os. When HSWAP_EN = High,
> the I/Os are turned off. Also, the pull-ups connect to their
> associated power rail so you won't see the effect until VCCO ramps up.


Thanks for the info. Yes, I was looking at that table, plus table 30
on the next page. I am concerned about letting the DSP run before the
FPGA power is fully up and also operating the DSP while the FPGA power
has a momentary glitch for what ever reason. The DSP has a separate
core voltage from the FPGA and shares the Vcco of 3.3 volts. The FPGA
is configured and operated on the DSP external memory bus which also
connects to the program/data flash memory. I just want to make sure I
can defend my power up and power glitch operation of the board. When
the board is powering up, it is clear that the FPGA is held in reset
until the three power rails are somewhere within the trip ranges or
above. Then the DSP can hold the PROG_B signal low to continue holding
the FPGA in reset until the DSP is happy with the power supplies and is
ready to configure the FPGA without concern that the FPGA will mess up
the memory bus. That part seems clear.

But table 30 on page 55 seems to be saying that if Vccint or Vccaux dip
below the minimum values, but still above the reset trip points, the
configuration can be corrupted and the FPGA will not be put in reset.
In this case should I assume that the IOs can then be in any state and
may hang the DSP memory bus? If so, I need to use the PowerOK on the
LDO regulators to either halt the DSP or make sure it gets an NMI and
runs only from internal memory. I would prefer to be able to keep the
DSP running normally and record the power event in memory. I have some
concerns about the system power supply design and would like to be able
to show clear evidence that the power is not stable rather than having
to extrapolate from processor resets.

Reply With Quote
  #5 (permalink)  
Old 04-16-2006, 12:20 AM
Jim Granville
Guest
 
Posts: n/a
Default Re: Spartan 3 chips in power up

rickman wrote:
>
> But table 30 on page 55 seems to be saying that if Vccint or Vccaux dip
> below the minimum values, but still above the reset trip points, the
> configuration can be corrupted and the FPGA will not be put in reset.


Most digital suppliers will only commit to monotonic power supplies.
[and even then, sometimes some pretty tight dV/dT - IIRC, see the
MAX II ? ]

If you have brownout dips, you are pretty much on your own....

> In this case should I assume that the IOs can then be in any state and
> may hang the DSP memory bus? If so, I need to use the PowerOK on the
> LDO regulators to either halt the DSP or make sure it gets an NMI and
> runs only from internal memory. I would prefer to be able to keep the
> DSP running normally and record the power event in memory. I have some
> concerns about the system power supply design and would like to be able
> to show clear evidence that the power is not stable rather than having
> to extrapolate from processor resets.


Well, if you are really worried about the system power, you will need
all the belts and braces at your disposal - even run to a separate small
uC, whose sole job is power integrity and logging ?

-jg



Reply With Quote
  #6 (permalink)  
Old 04-18-2006, 12:21 AM
Jeff Brower
Guest
 
Posts: n/a
Default Re: Spartan 3 chips in power up

Steve-

> Until the POR is released, all I/Os not actively involved in
> configuration are high-impedance. The HSWAP_EN pin controls whether or
> not internal pull-ups are applied to these I/Os. When HSWAP_EN = High,
> the I/Os are turned off. Also, the pull-ups connect to their
> associated power rail so you won't see the effect until VCCO ramps up.


Except for the S3 errata about "if HSWAP_EN input is high, pull-up
resistors are momentarily enabled on User-I/O at end of Configuration"
which I believe only hints at the magnitude of the problem we saw on
Spartan 3s in mid-2005. On one board with ACQ revision XC3S1500-676,
the I/O pins are forced high enough to produce a 1.5V output on lines
with 1k pull-down resistors, and this condition lasted more than 100
msec prior to DONE assertion.

On boards with revision ECQ and later parts, we don't have the problem
so it looks like it has definitely been fixed.

But this brings up a question we've had about S3s for a long time:
what is the actual pull-up R value? I had heard from our local FAE
that the pull-ups are not true Rs, but a "pseudo-transistor" method is
used.

Thanks.

-Jeff

Reply With Quote
  #7 (permalink)  
Old 04-18-2006, 12:26 AM
Jeff Brower
Guest
 
Posts: n/a
Default Re: Spartan 3 chips in power up

Steve-

Sorry, I got corrected here... those revisions should be AFQ (exhibits
pre-DONE outputs) and EGQ (no pre-DONE outputs).

-Jeff

Reply With Quote
  #8 (permalink)  
Old 04-18-2006, 01:23 AM
Peter Alfke
Guest
 
Posts: n/a
Default Re: Spartan 3 chips in power up

There is nothing "pseudo" about the pull-up transistor that functions
as a pull-up resistor.
Almost all so-called resistors on modern CMOS chips are really
transistors (p-channel for pull-up), with their geometries chosen
appropriately for the desired impedance (or resistance if you will).
On-chip resistors are extremely unpopular...
Peter Alfke

Reply With Quote
  #9 (permalink)  
Old 04-18-2006, 02:01 AM
Steve Knapp (Xilinx Spartan-3 Generation FPGAs)
Guest
 
Posts: n/a
Default Re: Spartan 3 chips in power up

Jeff Brower wrote:
> Steve-
>
> > Until the POR is released, all I/Os not actively involved in
> > configuration are high-impedance. The HSWAP_EN pin controls whether or
> > not internal pull-ups are applied to these I/Os. When HSWAP_EN = High,
> > the I/Os are turned off. Also, the pull-ups connect to their
> > associated power rail so you won't see the effect until VCCO ramps up.

>
> Except for the S3 errata about "if HSWAP_EN input is high, pull-up
> resistors are momentarily enabled on User-I/O at end of Configuration"
> which I believe only hints at the magnitude of the problem we saw on
> Spartan 3s in mid-2005. On one board with ACQ revision XC3S1500-676,
> the I/O pins are forced high enough to produce a 1.5V output on lines
> with 1k pull-down resistors, and this condition lasted more than 100
> msec prior to DONE assertion.


Spartan-3 pull-up and pull-down resistors are much stronger than in
previous FPGA families. In previous families, they were on the order
of 20-50k ohms.

>
> On boards with revision ECQ and later parts, we don't have the problem
> so it looks like it has definitely been fixed.


>From the XC3S1500 errata notice ...

http://www.xilinx.com/xlnx/xweb/xil_...egory=-1210888

.... it appears that the "pull-ups active during end of configuration"
issue was fixed on parts marked with either "AGQ" or "EGQ". In other
words, essentially anything built with the "GQ" process/fab code. The
errata also has diagrams indicating how to determine which device you
have. The "EGQ" is the current silicon. Table 3 in the errata notice
describes which issues were in the early and later silicon revisions.

> But this brings up a question we've had about S3s for a long time:
> what is the actual pull-up R value? I had heard from our local FAE
> that the pull-ups are not true Rs, but a "pseudo-transistor" method is
> used.


The equivalent resistance is actually specified in the data sheet. See
Table 32 on page 56 in specific.
http://www.xilinx.com/bvdocs/publications/ds099.pdf

The actual measurement is a current, which equates to a resistance.
The "resistor" is as Peter described in ...
http://groups.google.com/group/comp....2b86b865e6c456

For example, the equivalent pull-up "resistor" when powering a bank for
3.3V, is between 1.27k and 4.11k ohms. The equivalent pull-down
"resistor" is between 1.75k and 9.35k ohms.

---------------------------------
Steven K. Knapp
Applications Manager, Xilinx Inc.
General Products Division
Spartan-3/-3E FPGAs
http://www.xilinx.com/spartan3e
---------------------------------
The Spartan(tm)-3 Generation: The World's Lowest-Cost FPGAs.

Reply With Quote
  #10 (permalink)  
Old 04-18-2006, 03:40 PM
Jeff Brower
Guest
 
Posts: n/a
Default Re: Spartan 3 chips in power up

Steve-

Thanks very much for the detailed explanation. I did not realize S3
has that much variation in pull-up/pull-down values, and the min values
could be under 2k. That does explain some of the things we've seen.
We had got this idea in our heads of "weak pull-ups" from our Spartan
II boards...

I wish S3 Rs were a uniform 10k or so, but it sounds like it's not easy
as the process continues to shrink. Is this what we can expect on
newer devices also? It seems if we used a lot of internal FPGA
pull-ups/downs instead of external ones we could significantly increase
power consumption and heat of the device.

-Jeff

Reply With Quote
  #11 (permalink)  
Old 04-18-2006, 05:07 PM
John_H
Guest
 
Posts: n/a
Default Re: Spartan 3 chips in power up

The Spartan3Es are back to the pre-Spartan3 weak pullups. The values are
superbly easy to find in the DC and Switching Characteristics data sheet.

"Jeff Brower" <[email protected]> wrote in message
news:[email protected] oups.com...
> Steve-
>
> Thanks very much for the detailed explanation. I did not realize S3
> has that much variation in pull-up/pull-down values, and the min values
> could be under 2k. That does explain some of the things we've seen.
> We had got this idea in our heads of "weak pull-ups" from our Spartan
> II boards...
>
> I wish S3 Rs were a uniform 10k or so, but it sounds like it's not easy
> as the process continues to shrink. Is this what we can expect on
> newer devices also? It seems if we used a lot of internal FPGA
> pull-ups/downs instead of external ones we could significantly increase
> power consumption and heat of the device.
>
> -Jeff
>



Reply With Quote
  #12 (permalink)  
Old 04-18-2006, 08:17 PM
Steve Knapp (Xilinx Spartan-3 Generation FPGAs)
Guest
 
Posts: n/a
Default Re: Spartan 3 chips in power up

The Spartan-3 resistor values turned out a bit stronger than originally
expected during design. The Spartan-3E resistors values are weaker,
but still strong enough to be useful. Early FPGA families has
resistors up around 20K to 50K, too weak to be useful.

---------------------------------
Steven K. Knapp
Applications Manager, Xilinx Inc.
General Products Division
Spartan-3/-3E FPGAs
http://www.xilinx.com/spartan3e
---------------------------------
The Spartan(tm)-3 Generation: The World's Lowest-Cost FPGAs.

Reply With Quote
  #13 (permalink)  
Old 04-20-2006, 12:51 PM
rickman
Guest
 
Posts: n/a
Default Re: Spartan 3 chips in power up

Steve Knapp (Xilinx Spartan-3 Generation FPGAs) wrote:
> The Spartan-3 resistor values turned out a bit stronger than originally
> expected during design. The Spartan-3E resistors values are weaker,
> but still strong enough to be useful. Early FPGA families has
> resistors up around 20K to 50K, too weak to be useful.


Thanks for the info. I don't understand why you say a 50K PU is too
weak to be useful. That is more the range that I expect from an
internal PU. I am working the Spartan 3 configuration sequence and
have been getting a lot of coments from one person in particular about
my pull up/down resistors being too weak. He has made a lot of
unsubstantiated claims about a previous design not working until
various PU/PD resistors being replaced with 0 ohm jumpers. I see now
that there may be some truth to this.

I have been searching the data sheet for all info on internal PU/PD and
it is not easy to find. It is rather scattered about and takes a lot
of searching. At first I didn't think any of the configuration pins
had PUs, but I saw the notation in Table 6 that the values of
resistance applied to User I/Os, Dual Purpose and Dedicated pins. So I
searched the document for pull-up and eventually found them all... I
think.

Here is what I think I have found...

HSWAP_EN - PU

PROG_B - PU during configuration, PU optional based on ProgPin config
option

DONE - bit stream configurable for open drain or totem-pole, optional
PU in User mode or external PU required

M0,M1,M2 - I am very confused about this one. Here is what it says
in the detailed pin description...
"In user mode, after configuration successfully completes, any levels
applied to these input are ignored. Each of the bitstream generator
options M0Pin, M1Pin, and M2Pin determines whether a pull-up resistor,
pull-down resistor, or no resistor is present on its respective mode
pin, M0, M1, or M2."

The mode pins have to be held in the appropriate state before any of
the bit stream can be loaded. So external PU/PDs are required.
Further the pins are ignored except for the rising edge of INIT_B.
Then what purpose does it serve to provide PU or PD after
configuration?

I am a bit confused about the setting of the Mode pins. There appears
to be a mode for JTAG configuration and in one place it says the JTAG
port can not be used until the INIT_B pins rises. But in another place
the data sheet says "The JTAG port is always active and available
before, during, and after FPGA configuration." If this is true, do the
Mode pins need to be set to 101 to configure the part using JTAG? I
suppose it could be that the JTAG port is available for other things
like boundary scan, but not configuration unless the correct setting is
applied to the Mode pins. Do I need to provide for different settings
for JTAG configuration and Slave Parallel configuration? That would be
two resistors I need to change...

Reply With Quote
  #14 (permalink)  
Old 04-20-2006, 05:08 PM
rickman
Guest
 
Posts: n/a
Default Re: Spartan 3 chips in power up

rickman wrote:
> Steve Knapp (Xilinx Spartan-3 Generation FPGAs) wrote:
> > The Spartan-3 resistor values turned out a bit stronger than originally
> > expected during design. The Spartan-3E resistors values are weaker,
> > but still strong enough to be useful. Early FPGA families has
> > resistors up around 20K to 50K, too weak to be useful.

>
> Thanks for the info. I don't understand why you say a 50K PU is too
> weak to be useful. That is more the range that I expect from an
> internal PU. I am working the Spartan 3 configuration sequence and
> have been getting a lot of coments from one person in particular about
> my pull up/down resistors being too weak. He has made a lot of
> unsubstantiated claims about a previous design not working until
> various PU/PD resistors being replaced with 0 ohm jumpers. I see now
> that there may be some truth to this.
>
> I have been searching the data sheet for all info on internal PU/PD and
> it is not easy to find. It is rather scattered about and takes a lot
> of searching. At first I didn't think any of the configuration pins
> had PUs, but I saw the notation in Table 6 that the values of
> resistance applied to User I/Os, Dual Purpose and Dedicated pins. So I
> searched the document for pull-up and eventually found them all... I
> think.
>
> Here is what I think I have found...
>
> HSWAP_EN - PU
>
> PROG_B - PU during configuration, PU optional based on ProgPin config
> option
>
> DONE - bit stream configurable for open drain or totem-pole, optional
> PU in User mode or external PU required
>
> M0,M1,M2 - I am very confused about this one. Here is what it says
> in the detailed pin description...
> "In user mode, after configuration successfully completes, any levels
> applied to these input are ignored. Each of the bitstream generator
> options M0Pin, M1Pin, and M2Pin determines whether a pull-up resistor,
> pull-down resistor, or no resistor is present on its respective mode
> pin, M0, M1, or M2."
>
> The mode pins have to be held in the appropriate state before any of
> the bit stream can be loaded. So external PU/PDs are required.
> Further the pins are ignored except for the rising edge of INIT_B.
> Then what purpose does it serve to provide PU or PD after
> configuration?
>
> I am a bit confused about the setting of the Mode pins. There appears
> to be a mode for JTAG configuration and in one place it says the JTAG
> port can not be used until the INIT_B pins rises. But in another place
> the data sheet says "The JTAG port is always active and available
> before, during, and after FPGA configuration." If this is true, do the
> Mode pins need to be set to 101 to configure the part using JTAG? I
> suppose it could be that the JTAG port is available for other things
> like boundary scan, but not configuration unless the correct setting is
> applied to the Mode pins. Do I need to provide for different settings
> for JTAG configuration and Slave Parallel configuration? That would be
> two resistors I need to change...


I don't know whether to feel stupid or to feel Xilinx is stupid. I
found an answer record that answers the part about the Mode pins having
pullups. I could not find anywhere in the data sheet about the mode
pins having pullups. But the answer record says the Mode pins are all
pulled up to 2.5 volts by the equivalent of a 1.15 kohm resistor, worst
case. This means you need no larger than about 470 ohms for your pull
downs!!!

Does the data sheet say these pins are pulled up and I missed it? I
actually did a search on "pull-up" (which is how Xilinx seems to term
them) and did not find any mention of a pullups on the mode pins. The
pin definition, where this info certainly should be, makes no mention
of this. I think Xilinx really dropped the ball on this one!

Reply With Quote
  #15 (permalink)  
Old 04-20-2006, 11:51 PM
Jeff Brower
Guest
 
Posts: n/a
Default Re: Spartan 3 chips in power up

Rick-

If it's any consolation, we went through S3 pull-up/pull-down hell last
summer. We ended up putting a few additional values on the board that
we thought the S3 should have been able to handle internally. We also
found significant variation between S3 devices.

We also found issues with multi-FPGA configuration from platform Flash
vs. temperature that required some undocumented FPGA-related board mods
that my company won't disclose, as it took us nearly 6 weeks to get it
nailed down.

But with that said, I have to add the S3 is otherwise an outstanding
device. Everything we want to do so far in logic we've been able to
find the way. We even ported a chunk of TI/Telogy code they were using
on Altera Flex devices (on a yr 2002 reference design), and with minor
mods it runs perfectly. TI/Telogy guys, who normally stick to Altera
like glue, seem to be impressed.

-Jeff

Reply With Quote
  #16 (permalink)  
Old 04-21-2006, 01:45 PM
rickman
Guest
 
Posts: n/a
Default Re: Spartan 3 chips in power up

Jeff Brower wrote:
> Rick-
>
> If it's any consolation, we went through S3 pull-up/pull-down hell last
> summer. We ended up putting a few additional values on the board that
> we thought the S3 should have been able to handle internally. We also
> found significant variation between S3 devices.
>
> We also found issues with multi-FPGA configuration from platform Flash
> vs. temperature that required some undocumented FPGA-related board mods
> that my company won't disclose, as it took us nearly 6 weeks to get it
> nailed down.


Thanks for the info, but your troubles are never consolation for mine.
Considering that the Spartan 3 pullups are so stiff, I find it
negligent that Xilinx would not document the fact that they put them on
the mode pins. Unless you typically use *very* stiff resistors or just
plain use 0 ohm jumpers for pulldowns, the mode pins will not work.
Xilinx knows this and still has not put it in the data sheet that I can
find. I just downloaded the data sheet and it was just updated this
month. The answer record that describes the pulldown problem is over a
year old! Don't you think a year is enough time to get the facts
straight in a data sheet, especially on such a basic and important
issue???

Reply With Quote
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Spartan 3 Power Supply Design Jakob FPGA 5 03-20-2006 12:58 AM
Spartan 3 power requirements Piotr Wyderski FPGA 8 12-26-2005 11:12 PM
Xilinx Spartan 3 DCI Power Consumption James Morrison FPGA 1 06-17-2005 01:14 PM
Power-on slope :Spartan IIE Ray FPGA 1 09-10-2003 12:18 AM


All times are GMT +1. The time now is 09:59 AM.


Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright 2008 @ FPGA Central. All rights reserved