Hello Sid and Vivek,
Thank you very much for spending so much time to explain that to me ! I think I did not prescribe my project clearly.
I am targeting at 12 bit INL, 12bit SNDR, and 14bit SFDR. I am going to use a digital calibration, which can calibrate the static error but cannot handle the dynamic error. Therefore, I am trying to push the dynamic performance as much as possible.
(If I do not use calibration, then SFDR is limited by INL, am I right? )
VDD is 1.8V, the output swing is 2Vpp, Vref=1V, gain is 4 (One cap is 1.5 pF, and the other is 0.5 pF) . The PM is around 65, and the frequency of closed-loop OTA at gain of 4 is around 200MHz, so the GB around 800MHz. The current of the first stage is 0.5mA and for the second stage, it is 3mA.
The residue vs. the input is 2.5bit/stage architecture, so it has six transitions at +/-0.625, +/-0.375,+/-0.125.
I do not have S/H. The input signal is applied to the MDAC directly. During phase one, the input are charging the sampling capacitors, the differential output of the OTA are shorted with a transmission gate (should I use two switches to short two output terminals to common mode voltage?) and at the same time the comparator are making decisions. During phase two, one of the caps is flipped and connected to the output. One plate of the other cap is connected to a reference voltage (a DAC output).
I applied a ramp signal to one stage MDAC, and measured the output (the residue). After I compared the output with the ideal MDAC output values (assume gain is 4), I see large discontinuity. Then I went back to adjust the capacitor ratio( the nominal ratio is larger than 4, I think this may be caused by finite gain of OTA), and then compared to the ideal MDAC output values, the large discontinuity then disappeared, just like Vivek suggested. However, there is still 6 spikes around six transitions points. For example, if the ramp sweep through -0.625V. Before it reaches-0.625V, the output is closed to 0.5, after it pass -0.625, the first point should be -0.5, and the second point should be one LSB larger. After I corrected the gain, if compared to the ideal MDAC output values, the differences at these three positions should be the same (if offset exists). However, the reality is the 1st and the 3rd have similar differences but the difference at 2nd points is about one LSB larger or smaller than 1st and 3rd depending on up or down ramp. I guess this is caused by previous error dependence (may be insufficient settling?), but I could not figure out where it comes from.
As Sid said, I only did FFT (using matlab after export the data) to the “settled value” (here I took the output value of the MDAC at the end of Phase 2 clock). And I found out that the SFDR is only around 82 dB. Even after I changed to ideal OTA( VCVS), it is still about the same. I am not sure this is limited by the bootstrapped switches (which only have 90dB at very low frequency) or because I have bad static INL performance.
I hope I made it clear so that you can help me without wasting too much time.
Thanks again, Rain