Here is the basic circuit ...
![](http://www.designers-guide.com/Images/diff-amp.gif)
There is nothing in this circuit that sets the DC differential input level. Only capacitors are connected to the inputs of the opamp, and so DC input level is free to drift. And because the opamp is a high-gain amplifier, and offset on the input will cause the output to drift much faster. The drift on the input is often so small as to be unnoticeable, but the drift on the output can be substantial. Soon the amplifier drifts out of its proper operating region.
Having switched-capacitor common-mode feedback (SC-CMFB) aggravates this situation by injecting charge into the system that can cause the drift. This problem can be made even worse by the simulator itself, because it does not completely conserve charge (there is a section in my book about this). HSpice is notoriously bad at this. With Spectre you can dramatically reduce the charge error without slowing down the simulations much be tightening
reltol by a factor of 10-100 while simultaneously loosening
lteratio by the same factor. (
reltol is a global simulator options,
lteratio is an option of the transient and PSS analyses).
Tightening the tolerance acts to reduce the problem, but it does not eliminate it. The basic issue is that this circuit is not viable. If it were placed on chip as is, it would not take very long before charge would build up on the inputs and the amplifier would stop working. To eliminate the problem completely means that some way must be provided to properly fix the DC operating conditions at the input of the amplifier. Clearly this amplifier is sitting in a test bench consisting of capacitors and voltage sources that is meant to "represent" the rest of the circuit. Well, an important piece was left out, the DC biasing. Somehow that aspect of the circuit must be included in the test bench.
There are a two basic ways of performing these simulations. The first is to simply force the circuit to the right operating point using switches, initial conditions, etc. and then hope it stays there long enough for you to make your measurements. For example, you can use the "switch" component in Spectre and configure it so that it forces the DC operating point in the DC analysis but opens up in AC or transient. Or you can set the operating point using initial conditions, perform a brief transient analysis, and then follow it up with an AC analysis with "prevoppoint=yes" set so that it performs the analysis using the last transient point as the operating point.
The other way is to include the DC biasing aspect of the larger circuit into the test bench. Presumably this involves more switches and clocks. Then you can use SpectreRF to perform the small-signal analyses and transient to predict slew rate and settling time.
-Ken