The Designer's Guide Community Forum
https://designers-guide.org/forum/YaBB.pl
Simulators >> RF Simulators >> SC Filters in SpectreRF
https://designers-guide.org/forum/YaBB.pl?num=1052760373

Message started by Martin_Anderson on May 12th, 2003, 10:26am

Title: SC Filters in SpectreRF
Post by Martin_Anderson on May 12th, 2003, 10:26am

I am trying to verify the work by K. Kundert: "Simulating SC Filters with SpectreRF". I manage to get exactly the same results through calculations, and I am also able to reproduce the results with a pnoise analysis using exactly the same transistor sizes as in the example. However, as soon as I change the W/L ratio to something different than 4, the resuls vary a lot. Sc(0) does for example vary as much as a factor two in the simulation. Since St is dependent on Ron, St(0) will vary a little with the W/L ratio. This should not affect Sc(0)
much though, since St(0) is typically a factor 100 smaller than Sh(0).

The question is, is this the expected results or have
I done something wrong? Isn't it so that Sc(0) should be quite independent of Ron, at least for moderate values of Ron?

I would be very glad for an answer, or a comment on what I might do wrong in the simulator.

Title: Re: SC Filters in SpectreRF
Post by Ken Kundert on May 12th, 2003, 11:26am

Changing the width of the switches changes the bandwidth of the switch-capacitor system, affecting the number of sidebands that must be included to get accurate results. If you double the W/L ratio, you must double the number of sidebands you request in order to maintain the same level of accuracy.

-Ken

Title: Re: SC Filters in SpectreRF
Post by karno on May 14th, 2003, 1:53am

There is an error in equation (29) in "Simulating SC Filters with SpectreRF". The unit of the answer of Eq (29) should be V^2, NOT V^2/Hz as in the article. The same error is in the text following Eq (29).

/Karl

Title: Re: SC Filters in SpectreRF
Post by Ken Kundert on May 15th, 2003, 10:08am

Karl,
I appreciate you pointing out my mistake. I have corrected it and updated the document (version 3c).

-Ken

Title: Re: SC Filters in SpectreRF
Post by karno on May 21st, 2003, 9:03am

In "Simulating SC Filters with SpectreRF" the transfer function of the simple S/H circuit is simulated, Figure 6.

The absolute value of the gain transfer function should be one for input frequencies from 0 Hz to fsample/2 Hz for the simple S/H circuit. Input frequencies from fsample/2 to fsample will be down converted but will still have a absolute value of the gain transfer function equal to one, assuming that the -3 dB point for the switch is much larger than fsample.

But since the transfer function is coloured by a sinc function the absolute value of the gain transfer function will not be one for "every" frequencies far from the -3 dB point for the switch. Therefore a bode plot of the switch transfer function will look like the one in Figure 8.

How should I do to get a plot of the switch bode plot with PXF or PAC without the colouring by the sinc function?

/Karl

Title: Re: SC Filters in SpectreRF
Post by August West on May 21st, 2003, 10:39am

If you do not like the scalloped shape to the curves, you could either
  • Modify the ideal sample-and-hold so that it does not hold for the entire period, but releases to 0 after a short while. This would serve to widen the sin(x)/x.
  • Use the calculator to multiply the results by x/sin(x).
Because of the nulls in result, if you use the second approach you will also want to use the first.

-August

Title: Re: SC Filters in SpectreRF
Post by Martin_Anderson on May 21st, 2003, 11:06am

Hi Ken,
thanks for your quick answer. It was helpful, I think I'm starting to get a grip on how to use some of the SpectreRF tools.

I'm working with pipelined ADCs where the amplification of residue voltages are the most critical part. This residue amplification is done using one SC amplifier in every stage of the pipeline. This circuit is clocked with two phases, one sampling and one amplification phase. The output is sampled by the next pipeline stage at the end of the amplification phase of the first stage, so one can think of it as more or less a time discrete output (since the actual information is only valid at discrete time points)

I'm currently trying to analyze the contribution of the amplifier noise to the output. Thanks to the used switching scheme the amplifier DC offset is removed and also the 1/f noise should be attenuated. During the sampling phase, the input reffered noise of the amplifier is sampled onto the sampling capacitors, and in the amplification phase the low frequency noise (which has a value close to the sampled noise value) should be cancelled.

I would like to think of it like this: At the sampling instant, the instantaneous input reffered amplifier noise voltage is sampled onto the capacitors, its time discrete, simply a number (like the vs waveform on page 4). If the noise voltage at the end of the amplification phase has not moved a lot, a large part of the noise will be cancelled (like the DC offset is cancelled) and the error that is actually transferred onto the next pipeline stage is small.

I'm wondering, how can I simulate this discrete-like transfer to see this cancelling effect for low frequencies? Using another sampling circuit at the end of the SC amplifier together with the PAC does not seem correct since the PAC seems to consider the continous sampled and held signal waveform at the output, which is actually of little interest.
In figure 8 you have used a PXF to see the 3dB bandwidth of the simple S/H circuit. Do you think that something similar could be used in this case?
We have thought about putting the duty cycle m in the perfect sampler that samples the amplifier output very short to get a continous time output that looks like the vs waveform on page 4. What do you think about this approach? Do you have any suggestions?      

Once again, we're grateful for your help.
Martin.

Title: Re: SC Filters in SpectreRF
Post by Ken Kundert on May 21st, 2003, 11:41am

If I boil down your question to its essence, it is how does one truely sample the output of the switched-capacitor filter, as opposed to sample-and-hold. Is that right?

You seem most interested in the noise performance and so you're in luck. SpectreRF's PNoise analysis has the built-in ability to sample the noise before calculating the output noise density. This ability is used in the smpledNoise analysis of Listing 1 (also described in section 2.2.2). If you use a sampled noise analysis, you will get your noise results without the sin(x)/x coloring.

Concerning the noise canceling you are interested in, it is naturally handled by the PNoise analysis. You should notice a null in the noise produced by the circuit at DC.

-Ken

Title: Re: SC Filters in SpectreRF
Post by Martin_Anderson on May 22nd, 2003, 9:42am

Hi,
once again thank you for a good answer.  You boiled the question down correct. However, I'm doing an analysis of the noise origin and how its colored by the application on its way to the output, and are therefore not only interested in knowing the actual amount of noise transferred to the output, but alsoe the origin of the noise and what the coloring of the noise is like. This is to verify my calculations from MATLAB.

So, I'll try to be more clear: Is there a good way to simulate the transfer function of a signal with varying frequencies at the input of the amplifier to the output during the amplification phase? Maybe I'm asking to much, I'm not sure...  

Title: Re: SC Filters in SpectreRF
Post by Ken Kundert on May 22nd, 2003, 2:38pm

Martin,
I believe that the noise summary capability of SpectreRF works with the sampled noise analysis. That will give you the list of the various noise contributors and how much noise they contribute to the output.

Another option is to use the PXF analysis. It calculates the gain from anywhere in the circuit to the output. You might want to set stimuli=nodes_and_terminals in order to calculate the transfer function from all nodes and terminals to the output. Otherwise it would only compute the transfer function from sources.

If you just look at the bare output, you will get the continuous time transfer function. You can add the idealized track-and-hold, and that of course adds sin(x)/x coloring. You can use the calculator to remove it after the fact, or you can modify the sample-and-hold so that it returns to zero after a short interval, which reduces the coloring.

-Ken

Title: Re: SC Filters in SpectreRF
Post by Martin_Anderson on May 24th, 2003, 4:02am

Thanks Ken,

these suggestions were very helpful!   :D

-Martin

Title: Re: SC Filters in SpectreRF
Post by Benoit on Feb 21st, 2005, 12:10pm

Hi,

 I have a very basic question concerning the simulation of noise in SC circuits.

 I need to simulate the flicker (1/f) noise in a SC circuit. I started reading Ken Kundert's document on simulating SC circuits in SpectreRF, and it seems to be exactly what I need. However, I use the GUI interface of the Spectre simulator in Cadence, not the netlist interface. I could find all the required analyses in the GUI (although I am not sure if I can make the correct correlation between the command-line options for each analysis and the options in the GUI). The problem is that I cannot find anything that looks equivalent to the "alter" statement. I would guess it would need to be inserted in the list of analyses, but I could not find anyway of inserting such a "special" analysis.

 Therefore I have two questions:
 1- Is it possible to perform the same analysis with the GUI?
 2- If it is, where can I find some information on setting it correctly in the GUI?

 Thank you,
 Benoit

Title: Re: SC Filters in SpectreRF
Post by Andrew Beckett on Feb 21st, 2005, 9:43pm

There is no direct interface to "alter" in ADE. However, this should not be a major obstacle. All it means is that you'll need to set up multiple Artist "states" to simulate the different simulations you need. Unfortunately there's a long-standing limitation with ADE that you can only simulate one spectre analysis of each type at once (which is not a restriction in spectre) - so you need to do the analyses in several runs if you're trying to replicate what Ken's paper does.

It's just a matter of organising things a little differently, but the end result should be the same.

(Note, you can always include a file containing the analyses, rather than setting up the analyses from the GUI, but I'd say it is more convenient to do from the GUI for most people).

Regards,

Andrew.

The Designer's Guide Community Forum » Powered by YaBB 2.2.2!
YaBB © 2000-2008. All Rights Reserved.