FPGA decoupling calculation

Hi, i am currently trying to figure out the number and values of a decoupling network for a spartan3e 500k (powered by the triple power supply from texas instruments TPS75003) .. i dont have the luxury of a software tool to help me simulate and analyse, but i just want a good estimate which can be supported by theoretic statements. I have read xapp623 (Power Distribution System (PDS) Design), and calculated the number and values of capacitors using the method in the application node. This is the results: Vccint - 1.2V 8 supply pins 1 - 4,7uF 2 - 0.47uF 5 - 0.047uF

Vccaux - 2.5V 8 supply pins 1 - 4,7uF 2 - 0.47uF 5 - 0.047uF

Vcco - 3.3V 14 supply pins 1 - 10uF 2 - 4.7uF 4 - 0.47uF 8 - 0.047uF

So here i start wondering ... the application node method is to have one capacitor per vcc/gnd pin ... according to my knowledge (probably bad), the decoupling capacitors should be determined from the (frequency dependent)dynamic current requirement of the fpga. Since im designing the decoupling network for a unknown fpga utialization i am only interrested in the worst case scenario. If we take Vccint for example:

1.2V 5% tolerance - 2A max - 0.5ns risetimes

Inorder for the voltage ripple to be under 5% for the bandwidth of

0.35/0.5ns = 700Mhz, the impedance of the PDS must be below : (1.2V*0.05)/2A = 0.03R Inorder for this to be realised i need INSANLY many decoupling capacitors. By placing 14 0.0047uF, 10 0.047uF, 2 0.47uF I can stay below 0.03R for a 80Mhz bandwith .... that means i still need to cover up to 700Mhz :/ .. but this result is far from what result i got from the xilinx application note ..

I know that the previous calculations assumed that the current demand for the harmonics were 2A for the entire bandwidth, but how does the current relate to the harmonics of a signal transitions? if i got

50Mhz swiching frequency will the current drop with 20db/decade, just as the amplitude of the harmonics?

regards kim

Reply to
kislo
Loading thread data ...

Hi Kim, I've not got much time so here's a few pointers:-

IMO, Xilinx publish excessive requirements which covers their arse if anything should go wrong. Fair enough. However, you should know that it's fairly difficult to get this wrong, indeed, some folks (not me!) on this newsgroup apparently use very few bypass caps.

Free capacitor parameter stuff.:-

formatting link

Above a few 10's of MHz, all same sized caps have the same impedance. (See murata thing above) Just use 0402 1uF for everything. One per pin is more than enough. Make sure your board has a ground plane, try to use two vias for each cap terminal.

Here's some stuff on where to place your caps.

formatting link

Or, ignore that stuff, sooo 20th C. Better bypass here:-

formatting link

Finally, there are caps hidden in the FPGAs themselves. Go to your university's chemistry dept. and ask for some HF to find them!

Also, STFW ! ;-)

HTH, Syms.

Reply to
Symon

If you route the Xilinx recommended number of CAPs, you either have no room for signal breakout or the bypass caps end up far away from the FPGA. The calculation also seems to forget about the interinsic C and L of the supply layers.

My rule is: - try to implement a good ground plain, no swiss cheese - try to place one 0603/0402 cap in X5/7R near each supply pin with the traces to the FPGA as short as possible

--
Uwe Bonnes                bon@elektron.ikp.physik.tu-darmstadt.de

Institut fuer Kernphysik  Schlossgartenstrasse 9  64289 Darmstadt
--------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------
Reply to
Uwe Bonnes

Hi Uwe, Indeed. I notice their own dev. boards don't follow the XAPP recomendation. Hmmm. Cheers, Syms.

Reply to
Symon

The headers in your post suggest you are using Windows. That's good, because you can download LTSpice and use that.

formatting link

Like all simulations, the results are only as good as your models. In particular, you'll end up with lumped approximations which may result in resonances that don't appear on the real board. (The real board will have distributed capacitance, and also dielectric loss (which gets rid of a lot of the impedance peaks).)

Regards, Allan

Reply to
Allan Herriman

's

s
e
.

yea i noticed that too, the Spartan3E starter board dosent follow the XAPP recommendation

Reply to
kislo

A spreadsheet can give a rough estimate as well...more later

Look up the specs on the caps for the parasitic L and R. Now you can build a spreadsheet that calculates the complex impedance Z as a function of frequency of each cap type (i.e. 10uF, 4.7uF, etc.). Knowing that, you can now compute the impedance of your PDS as a function of frequency as well. Then graph it and you'll see your expected impedance profile. You'll also want to factor in your PCB impedance as well, but start with the caps.

I'm not sure where you're getting the 20dB/decade assumption since the drop would depend entirely on the characteristics of the functions being generated. If you could build a really good pseudo random generator set of outputs from the FPGA, then one would expect a roughly flat frequency response across the entire frequency band. Most real designs though are not terribly random and would have some rolloff but trying to take advantage of that in designing the power delivery for an unknown FPGA design might not be the best approach.

By the way, going about figuring out the number and values of caps to use based on current demand and voltage ripple over a frequency range as you're doing is exactly the right approach. Don't forget about the PCB stackup though, closely spaced power/ground plane pairs supply the low impedance path that you'll need to connect up the caps (which are the source of charge for the load) with the load itself. This PCB impedance can be factored into that same spreadsheet model.

Kevin Jennings

Reply to
KJ

Using LTSpice with wine on linux many times :-)

--
Uwe Bonnes                bon@elektron.ikp.physik.tu-darmstadt.de

Institut fuer Kernphysik  Schlossgartenstrasse 9  64289 Darmstadt
--------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------
Reply to
Uwe Bonnes

"Symon" wrote

I don't know what you mean by very few but, for the 1.2V VCCINT, I used 12 caps in my last big FPGA board ;-)

For a Stratix II 180 1.2V decoupling, I have:

5 x 2.2µF LLM21 (under the FPGA) 4 x 10µF LLL31 (under the FPGA too) 2 x 100µF 1210 caps nearby 1 x 1500µF Tantalum cap farther.

I'm pretty happy with that stuff. I have a glitch less than 30mV when the FPGA current goes from 2A to 25A in a few µs.

formatting link

formatting link

I also put small coax connectors to be able to monitor the power rails at least for the prototypes:

formatting link

I use that too.

IMHO the LLM21 are better ;-)

Marc

Reply to
Marc Battyani

Hi Marc,

25 amps? You madman!

Anyway, if you get a spare moment, I'd appreciate you opinion of:-

formatting link
pg. 16. They talk about "X2Y vs. Reverse Aspect Ratio Capacitors". I'm planning on going for X2Y on my next design, but I'd be interested in your analysis...

Cheers, Syms.

Reply to
Symon

Hi Allan, I second that. I thought I'd mention that there's also a Yahoo group for LTSpice users.

formatting link
HTH., Syms.

Reply to
Symon

The L depends strongly on how you connect the cap to the power/ground planes. How many vias are you using? Where are they placed? What is the via diameter? Is there a trace from the cap pad to the via? ...

--
These are my opinions, not necessarily my employer's.  I hate spam.
Reply to
Hal Murray

What we'd do is make sure each voltage has a pretty hunky copper pour that's separated from the ground plane by a thin dielectric layer. Then bypass each pour to ground with maybe four to six 0.33 uF, 0603 ceramic caps.

That's it.

John

Reply to
John Larkin

well, im looking for a more theoretic answer for determing the decoupling capacitors ... if i switch 2A with a risetime of 0.5ns how can i determine the current vs frequency or the impedance vs frequency for the harmonics of 50Mhz switching frequency ... the impedance requirement cant be constant over the complete frequency spectrum

Reply to
kislo

"Symon" wrote

I was surprised too and I had to redesign my power supply. :( It's a Stratix II 180 full at 86% and running at 200MHz.

They compared to an 8 pins IDC connector which has an ESL of 100pH. The LLM21 has a 45pH ESL. The 2 added pins make a big difference as they are placed on the short sides of the caps.

Some people even prefer 0402s to X2Y:

formatting link

For decoupling the other supply rails, I used one 2.2µF 0402 per pin + 2 x

100µF 1210 and 1 x 1500µF Tantalum.

There are also other low ESL caps like the LGA and LICA:

formatting link
formatting link

Marc

Reply to
Marc Battyani

Hi Kim,

There lies the problem. You're not going to get a proper answer without considering the physical layout of the system. As Hal says, the layout and attachment of the caps is as important as their own characteristics. Also, remember that you're trying to bypass the IC die, not the pads for the BGA on the PCB. So, the BGA package and its balls must be part of the calculation, indeed it can have a significant effect. IC manufacturers embed bypass caps in the package for good reason. All this must be taken into account.

You should consider the design loaded into the FPGA. If you can reduce the number of simultaneously switching circuits, the PDS requirement is easier to meet.

The only way I know of to get an accurate answer to your question is to model the whole lot in a 3-D field solver like HFSS. As you're a student (I guess) maybe Ansoft will lend you a seat? You also need to talk to your FPGA vendor to get models of their package. If you do this, we'd all be grateful to see the results!

John's solution is a good one; I would maybe consider substituting the X2Y parts for his 0603 parts. Try googling puddle site:x2y.com to read how a copper 'puddle', like John's pours, can 'pool' vias.

Lastly, these days the capacitors are often cheaper than the cost to attach them. Fewer more expensive parts can be a cost saver.

HTH., Syms.

Reply to
Symon

Hi Marc, Many thanks, that's very interesting. I misread the Murata datasheet and got the LLMs mixed up with LLLs. (I must stop posting late after returning from the pub!) The AVX parts are neat too. That gives me plenty to think about. Much appreciated, Syms.

Reply to
Symon

Did you click 'Thread Next'? Ouch! Syms.

Reply to
Symon

Why?

John

Reply to
John Larkin

The Fourier transform of the (current) waveform will give you the current vs. frequency spectrum. The actual problem comes with the capacitor itself which, including its leads, will turn inductive as the frequency increases.

-- glen

Reply to
glen herrmannsfeldt

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.