Home
  • Products
  • Solutions
  • Support
  • Company

This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  • Products
  • Solutions
  • Support
  • Company
Community Custom IC Design VCO phase noise modeling using a transient noise simula...

Stats

  • Locked Locked
  • Replies 32
  • Subscribers 126
  • Views 18390
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

VCO phase noise modeling using a transient noise simulation

asrf
asrf over 2 years ago

Hi all,

I am trying to model VCO phase noise (for PLL) as shown in picture below:

I am using an integrator with gain of KVCO to integrate voltage noise to get excessive phase which is VCO phase noise.

--------------------------------------------------------

I started with transient noise simulation of diode connected transistor voltage (Vn or Vnoise)

this is the results of noise simulation 

      

however when I run transient noise simulation and use PSD calculator I dont get a proper result

integrator output is even worse Disappointed

  • Cancel
Parents
  • ShawnLogan
    ShawnLogan over 2 years ago

    Dear asrf,

    asrf said:
    however when I run transient noise simulation and use PSD calculator I dont get a proper result

    Achieving reasonable correlation in phase noise between a transient noise simulation and pss/pnoise simulation is absolutely possible. However, it requires a significant amount of care in your choice of transient noise simulation settings, PSD analysis, and pss/pnoise simulator settings. The amount of information your Forum post provides does not include enough for me to give you concrete suggestions as your PSD GUI settings are not relevant without knowing the details of your transient noise and pss/pnoise analysis.

    However, I might suggest you study a similar question and the notes I assembled for each in the Forum posts at URL:

    https://community.cadence.com/cadence_technology_forums/f/rf-design/51484/comparing-transient-noise-pnoise-and-pnoise-with-lorentian-approximation-of-a-ring-oscillator

    There is a link to a set of notes that details considerations for comparing phase noise results for a transient noise simulation and pss/pnoise simulations.

    https://www.dropbox.com/s/5zalilay6sqa06b/phase_noise_response_081422v1p0.pdf?dl=0 

    https://community.cadence.com/cadence_technology_forums/f/custom-ic-design/51696/snr-calculation-wrong-by-3-db/1383427?focus=true

    There is a link in this post to a set of notes describing some subtleties of using the Spectrum Assistant it produce PSD results from a transient noise simulation and a means to set your transient noise simulation parameters to produce valid Spectrum Assistant PSD results.

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • asrf
    asrf over 2 years ago in reply to ShawnLogan

    Thank you for your time and effort.

    These are my transient noise simulation setup

    Thank you for the links you have provided. I will study them.

    Some of these links are about phase noise. Here I am basically looking at voltage noise. (or integrated voltage noise)

    I am not running pss/pnoise since my circuit has verilogA code and it does not work. 

    I use noise simulation to check Vnoise of diode connected transistor

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • asrf
    asrf over 2 years ago in reply to asrf

    This is with 3 tran-noise simulations and taking average 

    Fnoise - max is 5GHz here

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ShawnLogan
    ShawnLogan over 2 years ago in reply to asrf

    Dear asrf,

    I think my response was not sufficiently clear and I apologize for not being more precise!

    asrf said:

    Its actual simulation data:

    I defined a noise source and ran noise simulation:

    My apologies! I thought you were simulating the small-signal noise of your diode connected transistor as you noted in your initial Forum post:

    asrf said:
    I started with transient noise simulation of diode connected transistor voltage (Vn or Vnoise)

    I now understand  you are now simulating a component with a user supplied noise function.

    asrf said:
    My BWres is around 1k so at 100k I have 100 freq points isnt that enough ?

    I should have been more clear. I was referring to the frequencies between 1 kHz and 10 kHz where there are only ten points.

    asrf said:
    Yes, I can run at least 3 simulation and take average PSD (My next plan)

    Great! I would consider running more than 3 if that is possible.

    asrf said:
    If I dont take moving average how am I supposed to see the exact PSD number ?

    As you noted above, you take the average of the PSD results (in linear power domain) at a given frequency. Actual spectrum and phase noise analyzers take multiple measurements and average the results to reduce the variance of the measurement (for example, the phase noise analyzer E5052A). 

    Taking a moving average applies a first-order lowpass filter over a range of frequencies and really does not have a theoretical basis for its use in this application.

    Finally, with respect to our statistical discussion and your final figure in this response, I noted you elected to choose two maximum values (shown as +8 dB and +10 dB) suggesting the PSD result is far in excess of your expected response. However, you could just as well choose the two minimum values suggesting the response was far below your expected response. This is why the use of multiple transient noise analyses is recommended to reduce the statistical noise to a level where the the average provides a reasonable estimate of performance.

    There are other ways to attack this issue that avoid the need to perform a lot of transient noise analyses to estimate the average noise response, but I think their discussion is a bit too off topic.

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ShawnLogan
    ShawnLogan over 2 years ago in reply to asrf

    Dear asrf,

    My response was just flagged as spam again...hopefully it will be allowed to post.

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ShawnLogan
    ShawnLogan over 2 years ago in reply to ShawnLogan

    Dear asrf.

    asrf said:
    This is with 3 tran-noise simulations and taking average 

    Are you averaging the linear data and not the logarithmic data?

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • asrf
    asrf over 2 years ago in reply to ShawnLogan

    Thank you for your explanations:

    yes in linear domain

    10*log10((psd(leafValue( vtime('tran "/VNOISE") "FNOISE_MAX" 5e+09 "Iteration" 1 )  0.0 1.342m 67108864 ?windowName "Rectangular" ?windowSize 67108864)+psd(leafValue( vtime('tran "/VNOISE") "FNOISE_MAX" 5e+09 "Iteration" 2 )  0.0 1.342m 67108864 ?windowName "Rectangular" ?windowSize 67108864)+psd(leafValue( vtime('tran "/VNOISE") "FNOISE_MAX" 5e+09 "Iteration" 3 )  0.0 1.342m 67108864 ?windowName "Rectangular" ?windowSize 67108864))/3)

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • asrf
    asrf over 2 years ago in reply to asrf

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • asrf
    asrf over 2 years ago in reply to asrf

    What if it is because my ResBw is a weird number ?  745.1 ?

    This is out of control though we cannot make it a round number unless NFFT is not equal to 2^N

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ShawnLogan
    ShawnLogan over 2 years ago in reply to asrf

    Dear asrf,

    I studied your expressions and that is exactly the type of averaging I was suggesting - great!

    asrf said:
    What if it is because my ResBw is a weird number ?  745.1 ?

    The only time the frequency bin width is considered important in a DFT/FFT/PSD analysis is if you are applying discrete tones at some frequency and are interesting in preventing leakage of the spectral components of the tone into adjacent frequency bins. In that case, the sampling rate relative to the frequency of the tone of interest and size of the DFT/FFT/PSD can be chosen to prevent spectral leakage using a conventional rectangular window. In your case, your noise is a wideband signal and one cannot choose a sample rate and DFT/FFT/PSD size to accommodate all the frequencies in your signal.

    What I might suggest is you reduce your window size. At present, my understanding of your choice of window size is the length of your DFT (2^26). This will provide a maximum frequency resolution, but also maximum statistical error. If you reduce this value, multiple DFT are performed which will reduce the statistical noise.

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • asrf
    asrf over 2 years ago in reply to ShawnLogan

    Dear ShawnLogan,

    Thank you for your guidance.

    I ran 5 simulations and took average. I reduced my window size this time.

    It looks like I have less error this time. However, there is error below 1MHz. I think this is because we reduce resolution.

    There is a trade off here unfortunately. 

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • asrf
    asrf over 2 years ago in reply to asrf

    Another strange problem is the integrator output noise is totally wrong !

    Noise simulation results are precisely correct  but tran-noise is totally wrong. It does not even capture 1/f^3 region

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • asrf
    asrf over 2 years ago in reply to asrf

    Another strange problem is the integrator output noise is totally wrong !

    Noise simulation results are precisely correct  but tran-noise is totally wrong. It does not even capture 1/f^3 region

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
  • ShawnLogan
    ShawnLogan over 2 years ago in reply to asrf

    Dear asrf,

    asrf said:
    Noise simulation results are precisely correct  but tran-noise is totally wrong. It does not even capture 1/f^3 region

    I cannot comment as you really have not given me any information about your simulation settings nor your integrator.

    Sorry,

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • asrf
    asrf over 2 years ago in reply to ShawnLogan

    Dear Shawn,

    I apologize for not explaining my circuit enough.

    Perhaps this figure helps:

    gain is a variable and equal to KVCO=2*pi*0.2GHz

    *****My goal is to run all these using tran-noise so I can use it on PLL

    since:

    1) PSS PNOISE does not work with VCO verilogA model

    2) PSS PNOISE most probably wont converge with whole PLL (with Delta sigma modulator in it)

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ShawnLogan
    ShawnLogan over 2 years ago in reply to asrf

    Dear asrf,

    I read your post earlier today and was thinking about what the issue might be. I am concerned the veriloga integrator may not be properly integrating the noise source in a transient noise simulation. Clearly, the code works as desired in a small-signal noise simulation as the results appear as you expect. In other veriloga VCO models where noise sources are included, the use of the idt function is not used but the code includes the integration algorithm desired based on the noise source.

    What came to mind is to replace your veriloga integrator with an integrator based on analogLib components. As an example, you might consider the circuit shown in Figure 1 to provide the integration function. These components should work properly in a transient noise simulation. If you deem it worthy, you might re-run your transient noise simulation using this version of an integrator and post-process the resulting integrated noise at node vc.

    Shawn

    Figure 1

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • asrf
    asrf over 2 years ago in reply to ShawnLogan

    I did this before. I am doing again to show the results. It works exactly like my integrator

    similar results

    yellow: noise sim

    red: 5 iteration tran-noise, with rectangular window 2^22

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 2 years ago in reply to asrf

    I would suggest you contact customer support. That's what it's for.

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ShawnLogan
    ShawnLogan over 2 years ago in reply to Andrew Beckett

    Dear asrf,

    To reply to your latest question:

    asrf said:
    It seems like its shifter by 3 dB. What if noise simulation shows a double side noise spectrum and transient returns single side ? (2*Power)

    Both the PSD and small-signal noise simulations are one-sided. From one of the prior set of notes I referred to, I computed the rms value of deterministic signal in the time domain and in the frequency domain using its PSD (not DFT). I also verified the correlation between the thermal noise of a resistor in a small-signal and its power spectral density from a transient noise simulation. I also noted you are comparing the peak value of the PSD result to the small-signal result (-257.9 dB to -260 dB). I think I already noted that the average PSD is what you should  use to compare with the small-signal noise result. It appears to me as the average value of the PSD for frequencies over 1 MHz correlates well with the small signal value up to your value of noisefmax. Do you agree?

    As for the difference between the small-signal noise and PSD characteristics at low frequencies of about 3 dB, recall that there will be the fewest number of these frequency components in your time domain simulation. Hence, the magnitude of those frequency components will show the greatest amount of statistical variation. My only thought is that the use of an even longer time domain simulation where more noise components at the lower frequency are included will more accurately capture their magnitude and the resulting PSD characteristic will more accurately reflect that of the small-signal noise characteristic.

    asrf said:
    I did this before. I am doing again to show the results. It works exactly like my integrator

    Thank you for trying (actually repeating!) the analogLib integrator in lieu of the veriloga integrator and updating your results asrf!  Andrew is suggesting you contact customer support - which I take to be a request that I take a pause from providing my thoughts in this Forum.

    Hopefully,  Andrew's patience will allow me to make one additional suggestion....

    A thought that comes to mind is the desired low frequency PSD behavior is being masked by the DC term in the integrated output of your transient noise simulation. In other words, since your simulation has a finite time length and there is an integrator in the path, there may be some DC term in the integrated noise. Depending on its magnitude, it can mask the low frequency content.

    1. Have you examined the time domain output of the integrator to determine how large its DC term may be?

    2. Have you tried taking the PSD of the transient noise integrator output after removing the average of the transient noise output? This removes the DC term prior to taking the PSD. The DC term you remove should be computed using the samples you choose to compute the PSD.

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • asrf
    asrf over 2 years ago in reply to ShawnLogan
    ShawnLogan said:
    It appears to me as the average value of the PSD for frequencies over 1 MHz correlates well with the small signal value up to your value of noisefmax. Do you agree?

    Thank you for your reply.

    Yes, I agree with this. I actually mentioned in one of replies that noise above 1MHz looks good. But we have error below 1MHz.

    ShawnLogan said:
    recall that there will be the fewest number of these frequency components in your time domain simulation. Hence, the magnitude of those frequency components will show the greatest amount of statistical variation. My only thought is that the use of an even longer time domain simulation where more noise components at the lower frequency are included will more accurately capture their magnitude and the resulting PSD characteristic will more accurately reflect that of the small-signal noise characteristic.

    Agreed. It seems that this is the only way 

    ShawnLogan said:
    Andrew is suggesting you contact customer support - which I take to be a request that I take a pause from providing my thoughts in this Forum

    Yes I understand.  you helped me a lot. I really appreciate your help.

    I am not sure what does he mean by contacting customer support. Isn't it that for software or license issue ?

    ShawnLogan said:
    In other words, since your simulation has a finite time length and there is an integrator in the path, there may be some DC term in the integrated noise. Depending on its magnitude, it can mask the low frequency content.

    good point ! That's why in PLL I want to observe phase noise using this method. If I take VCO output signal PSD main tone will mask everything.

    ShawnLogan said:
    there may be some DC term in the integrated noise

    makes sence. since I can see the -20dBc/dec but not -30 and shifted by a large amount

    ShawnLogan said:
    Have you tried taking the PSD of the transient noise integrator output after removing the average of the transient noise output? This removes the DC term prior to taking the PSD. The DC term you remove should be computed using the samples you choose to compute the PSD.

    I will try this. Thanks alot !

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 2 years ago in reply to ShawnLogan
    ShawnLogan said:

    Andrew is suggesting you contact customer support - which I take to be a request that I take a pause from providing my thoughts in this Forum.

    Hopefully,  Andrew's patience will allow me to make one additional suggestion....

    Shawn,

    My concern was that this is a big ask of your time as somebody who is responding in their own time, and would almost certainly be more efficient and effective if this was done through customer support where we stand a chance of being able to see the data. Given that customer support is part of the contract you get with Cadence, it seems a little odd not to take advantage of it for a bigger question like this and rely on the time of volunteers (even me responding here is not part of my job at Cadence; I respond in my spare time).

    I've no problem with you responding - I just didn't want others to abuse your generosity!

    Thanks for your assistance here - it's really appreciated (especially as I've been rather busy the last couple of weeks with other commitments and travel).

    Regards,

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ShawnLogan
    ShawnLogan over 2 years ago in reply to Andrew Beckett

    Dear Andrew,

    Andrew Beckett said:
    Given that customer support is part of the contract you get with Cadence, it seems a little odd not to take advantage of it for a bigger question like this and rely on the time of volunteers (even me responding here is not part of my job at Cadence; I respond in my spare time).

    I full understand and will comply with your request.  I am sorry you had to respond to my response as I know your time is very limited and you are responding to this in what little leisure time you have. The only reason I added the follow-up after your request to contact customer support  was to provide my "final" thoughts to asrf. 

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 2 years ago in reply to asrf
    asrf said:
    I am not sure what does he mean by contacting customer support. Isn't it that for software or license issue ?

    No, customer support is for many things - it can be asking for advice as to how best to use the tools to achieve your goals. It might to report a bug, and it might be related to the software installation or licensing, but many things we deal with in support are usage-related - how to get an accurate answer, or how best to use the tools for a particular measurement. It's generally a better approach for dealing with bigger questions, when we need to see the data you're using, or need access to some confidential information.

    As I've said to Shawn separately, I'm not asking him to pause - I'm just asking you to remember that everyone who responds in these forums (including those of us that work for Cadence) do so in our spare time as volunteers who want to help the community; for bigger questions with a lot of back-and-forth, it's generally best to do that through a support case because then we can bring in the appropriate experts as needed, and can ensure that we spend the time needed to do any necessary debug.

    Regards,

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information