Density aside, this created an issue with parasitic capacitances since, at those dimensions, the parasitics can be a non-negligible fraction of the explicitly drawn capacitance. So I made an attempt to create a generic formula to calculate the effective capacitance for any arbitrary number of series capacitors. I failed at this.
What I did come up with was a series of equations for different numbers of capacitors. For example, assuming a drawn capactiance of and a parasitic capacitance of I generated the following equation for three series capacitors (generic diagram for “N” caps below):
I did this for a few other variations and saw a semblance of a pattern but just couldn’t quite generate that ubiquitous general expression I wanted. Unfortunately, schedule pressure forced me to abandon the idea…until now.
For some reason I decided to dust off the ol’ notebook to take another crack at the problem and believe I solved it. My problem was treating the parasitic capacitance as a unique variable rather than as a multiple of . This, in retrospect, is obvious when looking at my equation above since only ever appears ratiometrically with . So I plugged away in octave and created the following program to generate my desired sequence:
This is a very brute-force method to figure out the effective capacitance. But it works.
My next step was I took my hand calculations from before and looked them up on the Online Encyclopedia of Integer Sequences to see if I had a match…and eureka! I did! The first hit was sequence A030528 which looked promising, but not quite what I was hoping for. After some further searching, I found the result for the Riordan array: A128908 which seemed to have the structure I wanted. It is a binomial function and my formula should look like this:
Alternatively, without the binomial notation:
This result is not really intuitive, but it’s complete. And this makes me happy. Below is a plot of what I call the Error Coefficient (). Basically, this just condenses the equation above into
And for posterity, here’s the Octave code I used to generate this plot:
Now, how do I prove that this is actually a closed-form solution? Well…I don’t really have a formal proof. BUT! I can simulate this for a bunch of different values of and compare it to our result. I did this for two different values of up to . The solid blue line indicates the calculated series, while the red circles are values from a SPICE simulation.
So…yeah. Kinda neat, eh?
There’s a pretty neat outcome when you set C=Cp, which reduces our to the following:
If you start to plug in various values of (and keep the result in fractional form) you start to see a familiar pattern emerge:
Anyone even cursorily familiar with the Fibonacci sequence will notice that the denomiator of that result is just the Fibonnaci number! So for the special case of , the equation reduces to a very simple:
Which is, as I mentioned previously, pretty darn neat!