The Designer's Guide Community
Forum
Welcome, Guest. Please Login or Register. Please follow the Forum guidelines.
May 3rd, 2024, 1:26am
Pages: 1
Send Topic Print
capacitor matching (Read 6311 times)
aaron_do
Senior Fellow
******
Offline



Posts: 1398

capacitor matching
Mar 12th, 2014, 2:12am
 
Hi all,


according to my foundry data, the standard deviation for the capacitor mismatch can easily be better than 0.1% even for a rather small MOM capacitor...lets just say its less than 100 fF. So suppose I have a DAC array made up of 2N capacitors. Normalized to an LSB value of 1, the standard deviation is 1m, and the variance is 1u. So the total error is 2N*1u. In order for this number to be less than the quantization noise, I need

2N*1u*Δ2 < 1/12*Δ2
Nlog2 - 6 < -1.08
N = 16.3

So even with a rather small capacitor, I can get 16.3 bit matching??? So is this because I have interpreted the data wrongly, my calculation is wrong, there have been major improvements in capacitor matching in the latest technologies, or some other reason?


thanks,
Aaron
Back to top
 
 

there is no energy in matter other than that received from the environment - Nikola Tesla
View Profile   IP Logged
RobG
Community Fellow
*****
Offline



Posts: 569
Bozeman, MT
Re: capacitor matching
Reply #1 - Mar 12th, 2014, 4:12pm
 
I've never seen it analyzed that way - but I suspect it's the wrong way to look at it given your result with a 10 bit "accurate" capacitor. The noise from a mismatch will be a tone, not white like thermal noise.

The capacitor mismatch to check out is the major transition - usually when the MSB turns on. e.g. 0111 1111 => 1000 0000 but you can relax the matching if the first few MSBs are thermometer coded.
Back to top
 
 
View Profile   IP Logged
aaron_do
Senior Fellow
******
Offline



Posts: 1398

Re: capacitor matching
Reply #2 - Mar 12th, 2014, 6:31pm
 
Hi RobG,


the person who showed me the calculation had me confused too, but he couldn't really be blamed since this is not his field.

I think the problem arises because the dC/C we normally design for is not based on the unit capacitance. i.e if your total cap is 1 pF, and the MSB cap is 0.5 pF, then maybe the mismatch for the MSB is 0.1 %, but the mismatch for the LSB cap might be significantly larger. That said, I'm using a 40 nm process, and I suspect that the matching attainable is much better than what was achievable in older technologies.


thanks,
Aaron
Back to top
 
 

there is no energy in matter other than that received from the environment - Nikola Tesla
View Profile   IP Logged
RobG
Community Fellow
*****
Offline



Posts: 569
Bozeman, MT
Re: capacitor matching
Reply #3 - Mar 14th, 2014, 11:51am
 
I reran the numbers - disclaimer, it has been a long while since I've done this... easier to run in Matlab if someone was so inclined...

Let's say we have a 16 bit dac with LSB=100 fF (σ=0.1%) and an MSB = 2^15*100fF = 3.2768 nF (σ=5.5e-6). The σ of the MSB (8000) will be 18 fF. Also, the σ of the 7FFF code will be essentially 18 fF since the cap for that code is only 100 fF less. Thus the σ of the difference will be sqrt(2)*18 fF = 25 fF, or a quarter LSB. This will give you the DNL σ so if you are only interested in DNL (or monotonicity) it is better than 16 bits (one σ). I think this is how your formula analyzes it (but perhaps it should be 2N-1*1u for looking at the quantization noise at the major transition).

In hindsight that isn't so surprising since 100 fF is a rather large LSB cap resulting in a total cap of 6.4 nF.

But INL is what causes the big tones/intermodulation. INL σ isn't straight forward - I forgot the formula (which is only an approximation anyway) but I think the worst case is on the order of sqrt(2^16)*σLSB which is 256 LSBs. INL will give you tones depending on the shape so figuring the tone σ isn't straightforward, but it is going to be closer to 8-10 bits than 16 bits. However, I believe that formula overestimated the INL so you really have to run a Monte Carlo or find someone with a better memory than me Smiley.
Back to top
 
 
View Profile   IP Logged
RobG
Community Fellow
*****
Offline



Posts: 569
Bozeman, MT
Re: capacitor matching
Reply #4 - Mar 14th, 2014, 11:53am
 
...
Back to top
 
 
View Profile   IP Logged
wave
Senior Member
****
Offline



Posts: 117
Silicon Valley
Re: capacitor matching
Reply #5 - Mar 14th, 2014, 4:17pm
 
from Rob:  "Let's say we have a 16 bit dac with LSB=100 fF (σ=0.1%) and an MSB = 2^15*100fF = 3.2768 nF (σ=5.5e-6). The σ of the MSB (8000) will be 18 fF. Also, the σ of the 7FFF code will be essentially 18 fF since the cap for that code is only 100 fF less."

Where do you get:  (σ=5.5e-6) ?
Where do you get: 18 fF ?

To me, you gate the X sigma of the MSB transition banks (ex, code 1000..., code 0111... cap values).  
(Where X >= 3, since 1σ is not going to get you great yield either.)
Back to top
 
 
View Profile   IP Logged
RobG
Community Fellow
*****
Offline



Posts: 569
Bozeman, MT
Re: capacitor matching
Reply #6 - Mar 14th, 2014, 4:44pm
 
wave wrote on Mar 14th, 2014, 4:17pm:
from Rob:  "Let's say we have a 16 bit dac with LSB=100 fF (σ=0.1%) and an MSB = 2^15*100fF = 3.2768 nF (σ=5.5e-6). The σ of the MSB (8000) will be 18 fF. Also, the σ of the 7FFF code will be essentially 18 fF since the cap for that code is only 100 fF less."

Where do you get:  (σ=5.5e-6) ?
Where do you get: 18 fF ?

To me, you gate the X sigma of the MSB transition banks (ex, code 1000..., code 0111... cap values).  
(Where X >= 3, since 1σ is not going to get you great yield either.)


5.5e-6 = 0.1%/sqrt(2^15)  (σ expressed as a ratio)

18 fF = 5.5e-6*3.2768 nF (σ expressed as an actual cap value)

I guess I named two different quantities σ.
Back to top
 
 
View Profile   IP Logged
aaron_do
Senior Fellow
******
Offline



Posts: 1398

Re: capacitor matching
Reply #7 - Mar 16th, 2014, 6:05pm
 
Hi RobG and wave,


actually my formula is simply measuring the worst case deviation from the ideal code. So it isn't INL or DNL. As you you seem to be saying, if you want to be scientific, you could check the DNL by checking the variance of the 0111 code and the 1000 code, and then adding them together (multiply by X for X-sigma). But I don't think the answer is going to go from 16-bit to 10-bit. I think the real issue with the formula is that I assumed the 0.1% variation was in the LSB. Since the LSB cap is quite small, I don't think it will have such a small variation.


regards,
Aaron
Back to top
 
 

there is no energy in matter other than that received from the environment - Nikola Tesla
View Profile   IP Logged
Pages: 1
Send Topic Print
Copyright 2002-2024 Designer’s Guide Consulting, Inc. Designer’s Guide® is a registered trademark of Designer’s Guide Consulting, Inc. All rights reserved. Send comments or questions to editor@designers-guide.org. Consider submitting a paper or model.