In general, the process of using SpectreRF to predict the input-referred noise of a switched-capacitor circuit involves performing a PSS analysis to compute the periodic operating point of the circuit and then using PNoise analysis to calculate the noise. You would perform the PSS analysis with only the clock applied. When running the PNoise analysis, if you specify the input source it will automatically calculate the input-referred noise.
When applying SpectreRF to switch-capacitor filters, there is one important thing to keep in mind. When SpectreRF outputs the transfer functions (using PAC of PXF), the noise (using PNoise), or the distortion (using PDisto or QPSS) it assumes that you are interested in the continuous-time output, whereas most SC filter designers are interested in a discrete-time output. Typically a SC filter will have at least two sets of switch states per clock cycle. Each will have different performance characteristics (transfer function, noise, and distortion). In addition, between the switch states there are transitions that also have different, generally much worse, performance. By default, SpectreRF looks at the output over the entire clock cycle and reports on the time-average of all these performance characteristics. This is generally appropriate when the SC filter is followed by a continuous-time (anti-alias) filter. However, in most cases the SC filter is followed by a sampling circuit, in which case using the time-average performance characteristics is not appropriate and would generally result in an overly pessimistic result.
This problem can be overcome by following the SC filter with an ideal sample-and-hold circuit. It would sample the output of the SC filter at the desired point, and ignore any signals at the output at other times. One can use Verilog-A to describe such a sample-and-hold, but because the sample-and-hold must work in SpectreRF, it must not contain hidden state. See “Hidden state in SpectreRF” in
www.designers-guide.com/Analysis for more information on hidden state and for a Verilog-A model of a sample-and-hold that works in SpectreRF. This approach works for all performance characteristics, but colors the result with a sin(
x)/
x filter characteristic. Another approach that is available only for noise is to use the time domain noise option. To use this, go to the PNoise analysis form and set the “Noise Type” (at the bottom of the form) to “timedomain”. Then click on “Add specific points” to specify the time point where you want to sample the noise. You also should set “skipcount” to something very high to avoid the noise analysis being performed at unnecessary time points. The time-domain noise feature uses a true sampler rather than a zero-order hold, and so does not result in sin(
x)/
x coloring.
When you specify the PNoise analysis, if you specify the input source then it will naturally produce the input-referred noise (as long as the input source is either a voltage or current source and not a port). If you have added a sample-and-hold, be sure to specify the output of the circuit as the output of the sample-and-hold. When computing the input-referred noise in this manner, the PNoise analysis will properly use the sampled output noise and the sampled gain (properly accounting for either the external sample-and-hold or the internal sampler in the time-domain noise feature). When using the external sample-and-hold, the sin(
x)/
x coloring that results from zero-order hold nature of the sample-and-hold does not affect the input-referred noise, because both the output noise and the gain are equally affected, and since the input-referred noise is the ratio of the output noise to the gain, the effect of the sin(
x)/
x coloring cancels.