• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. RF Design
  3. How to plot Noise Modulating Function for VCOs in Cadence...

Stats

  • Locked Locked
  • Replies 31
  • Subscribers 64
  • Views 19392
  • 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

How to plot Noise Modulating Function for VCOs in Cadence Virtuoso?

Srayan
Srayan over 2 years ago

Hello,

I would like to plot the the Noise Modulating Function (NMF) for the oscillating nodes in any VCO. What are the steps for the same?

Regards,

Srayan Sankar Chatterjee

  • Cancel
Parents
  • Tawna
    Tawna over 2 years ago

    Hi Srayan,  

    We don't have a specific "NMF" button in the Direct Plot form.  If you wanted that specifically, you'd need to file a Case on https://support.cadence.com so an Enhancement request CCR could be filed.

    However...

    In spectre standalone:  You can use the option separatenoise=yes in the pnoise (or hbnoise) line of the netlist.  It will give more info about the device noise sources and transfer functions.   

    In ADE:  look in the "Spectre Circuit Simulator and Accelerated Parallel Simulator RF Analysis in ADE Explorer User Guide 21.1" and search for "Noise Separation".  It will talk about the implementation in ADE.

    I hope that helps some!

    best regards,

    Tawna

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

    Thank you.

    I'll get back to you if necessary, I hope that's alright.

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

    Dear Srayan,

    Srayan said:
    I plotted the ISF for my oscillating nodes.

    Great!  A good start - but I assume you meant to write you plotted the ppv of the oscillating nodes.

    Srayan said:

    I would like to superimpose the transient waveform and the ISF plot of the oscillating node for a better understanding. 

    How do I do that?

    One way to do this is to copy your transient waveform to the Calculator and use the functions lshift() and rshift(). You can shift the time axis of your transient waveform by an amount such that you have a near steady-state waveform starting at time 0. You can use the clip() function with the start time set to 0 and the stop time set to 1 period of your waveform. This will display a single period of your steady-state waveform starting at 0.

    With ViVA displaying the ppv of the oscillating nodes as the front most waveform, from the Calculator with the clipped transient waveform at the top of its stack, append this waveform to the waveform in ViVA.

    A second way it is to export both the clipped transient waveform and the ppv of the oscillating nodes to separate files and then import each as waveforms and plot the two.

    Srayan said:
    Finally, for plotting NMF you suggested "create a probe for the bias current of your VCO to use an output" and then plot the PPV data for this probe. What I understood is that I plot the PPV data for the node connected to the bias current (like the source node for a cross coupled NMOS LC VCO) to get the NMF of the VCO.

    Yes. I was thinking you might also be interested in the current itself - not just the source node.

    I hope I understood and answered your questions.

    Shawn

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

    Thank you.

    I would like to clarify a few things.

    1. Aren't the PPV data plot and ISF plot the same thing? Or are they different but convey the same message (sensitivity of transient waveforms to charge injection)?

    2. So plotting the PPV data for the node connected to the bias current will give me NMF of the VCO? This can be multiplied with the ISF of the oscillating node to get the effective ISF of the VCO?

    3. Can you please elaborate on this:" I was thinking you might also be interested in the current itself - not just the source node."

    Best Regards,

    Srayan Sankar Chatterjee

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

    Thank you.

    I would like to clarify a few things.

    1. Aren't the PPV data plot and ISF plot the same thing? Or are they different but convey the same message (sensitivity of transient waveforms to charge injection)?

    2. So plotting the PPV data for the node connected to the bias current will give me NMF of the VCO? This can be multiplied with the ISF of the oscillating node to get the effective ISF of the VCO?

    3. Can you please elaborate on this:" I was thinking you might also be interested in the current itself - not just the source node."

    Best Regards,

    Srayan Sankar Chatterjee

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

    Dear Srayan,

    Srayan said:
    I would like to clarify a few things.

    Let me try to answer your questions as best I can. I hope my comments will be helpful to you.

    Srayan said:

    1. Aren't the PPV data plot and ISF plot the same thing? Or are they different but convey the same message (sensitivity of transient waveforms to charge injection)?

    The two are slightly different in that an ISF plot (referred to as  ) is computed as follows:

    where To is the period of the steady-state solution, ∆q is the injected charge in a series of time-domain simulations, qmax is the maximum charge displacement between the nodes you are measuring the phase perturbation. As such, it is a unitless quantity.

    A ppv plot of the same oscillator (referred to as   ) can be obtained by a similar set of simulations, but the phase change measured at each simulation is normalized to the injected charge. Therefore, it is not a unitless quantity. Hence, as you state, the two convey similar information, but are not identical.

    Srayan said:
    2. So plotting the PPV data for the node connected to the bias current will give me NMF of the VCO? This can be multiplied with the ISF of the oscillating node to get the effective ISF of the VCO?

    I do not believe plotting the PPV data for the node connected to the bias current will give you the NMF of the VCO. I believe the plot is the effective  . Why do I suggest this? The noise modulation function is a unitless entity since it is a transfer function. However, if you plot the PPV data for your source node, it is not unitless. Therefore, to estimate the noise modulation function you need to compute it from the effective   measured at the source node and the   measured at the output of the VCO. Dos this make sense Srayan?

    Srayan said:
    3. Can you please elaborate on this:" I was thinking you might also be interested in the current itself - not just the source node."

    It was not clear to me what specifically you were looking to obtain and hence I suggested examining the PPV plot of the current itself and not the node corresponding to the source of the differential pair. Hence, I suggested saving the current.

    Shawn

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

    Dear Srayan,

    My response to your questions was flagged as spam - perhaps because of the equations I included? In any case, I am including it as a Portable Document Format in order that you might see the comments and understand them - I hope!

    Shawnisf_ppv_equivalence_sml_120322.pdf

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

    Thank you.

    So to get the NMF i have to do something as simple as A*B=C.

    Where A is the PPV plot for the node connected to the bias current

    C is the PPV plot for the oscillating nodes

    and B is the required NMF

    If my understanding is correct, then can you please tell me how to divide 2 graphs in cadence virtuoso? Do i send them to the calculator and use some divide function?

    Best Regards,

    Srayan Sankar Chatterjee

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

    Dear Srayan,

    Srayan said:

    So to get the NMF i have to do something as simple as A*B=C.

    Where A is the PPV plot for the node connected to the bias current

    C is the PPV plot for the oscillating nodes

    and B is the required NMF

    Theoretically, yes. However, the accuracy of your estimate will be limited by the precision of gamma and gamma effective. I extracted data for gamma and gamma effective from a reference paper (page 1 of attached) and curve fit each characteristic (page 2 of attached) and using the same phase axis for both computed the alpha. As is evident on page 3, when gamma effective approaches 0,the accuracy of the estimate will be severely impacted. I used a window of +/0.08 in this plot to avoid plotting points when gamma effective is very close to 0. Page 4 compares the computed alpha to that in the reference on page 1.

    You can try it using both waveforms in the calculaor - but be aware of this limitation in the computation.

    Shawn

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

    Thank you for the response.

    How did you get radians in X axis? In cadence i am getting in pico seconds.

    Do i need to extract data and plot separately?

    Best Regards,

    Srayan Sankar Chatterjee

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

    Dear Srayan,

    Srayan said:
    How did you get radians in X axis? In cadence i am getting in pico seconds.

    The plots I displayed were not made using ViVA. However, you can change your axis from a time scale to radians by dividing the time axis by the period of your waveform and multiplying it by 2pi.

    In ViVA, you can use the ocean script provided in the following Troubleshooting Article to scale and/or shift the x-axis:

    https://support.cadence.com/apex/ArticleAttachmentPortal?id=a1Od00000004wCJEAY&pageName=ArticleContent

    Shawn

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

    Thank you.

    I will get back to you if I have other queries. I hope that's fine.

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

    Dear Srayan.

    Good luck!

    Shawn

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

    Hello

    I would like to plot the NMF for ring oscillators as shown in Fig. 15 of the paper, "Hajimiri, Ali, and Thomas H. Lee. "A general theory of phase noise in electrical oscillators." IEEE journal of solid-state circuits 33.2 (1998)"

    Can you suggest a suitable method for the same?

    Furthermore, could you please confirm whether the modulation function m(t) described in the paper, "S. Galeone and M. P. Kennedy, "A comparison of simulation strategies for estimating phase noise in oscillators," 2017 13th Conference on Ph.D. Research in Microelectronics and Electronics (PRIME), 2017, pp. 213-216" is the same thing as NMF (you can find m(t) on page 4 just below equation 9).

    If that's the case then have we been plotting the effective ISF as described in equation 9 of the same paper by saving the PPV data?

    Best Regards,

    Srayan Sankar Chatterjee

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

    Dear Srayan,

    Srayan said:

    I would like to plot the NMF for ring oscillators as shown in Fig. 15 of the paper, "Hajimiri, Ali, and Thomas H. Lee. "A general theory of phase noise in electrical oscillators." IEEE journal of solid-state circuits 33.2 (1998)"

    Can you suggest a suitable method for the same?

    Please excuse my misunderstanding, but how is this question different from the question you posed in your initial Forum post :

    Srayan said:
    I would like to plot the the Noise Modulating Function (NMF) for the oscillating nodes in any VCO. What are the steps for the same?

    If so, I can not add anything new to the methodology I proposed. Excuse my misunderstanding if I am not interpreting your latest question correctly.

    Srayan said:
    Furthermore, could you please confirm whether the modulation function m(t) described in the paper, "S. Galeone and M. P. Kennedy, "A comparison of simulation strategies for estimating phase noise in oscillators," 2017 13th Conference on Ph.D. Research in Microelectronics and Electronics (PRIME), 2017, pp. 213-216" is the same thing as NMF (you can find m(t) on page 4 just below equation 9).

    Yes, to my knowledge.

    Srayan said:
    If that's the case then have we been plotting the effective ISF as described in equation 9 of the same paper by saving the PPV data?

    I mentioned earlier that the ISF and PPV differ - they are not the same . Please refer to Equation 6 of the second paper you are referencing. 

    Shawn

    ShawnLogan said:
    Srayan said:

    1. Aren't the PPV data plot and ISF plot the same thing? Or are they different but convey the same message (sensitivity of transient waveforms to charge injection)?

    The two are slightly different in that an ISF plot (referred to as  ) is computed as follows:

    where To is the period of the steady-state solution, ∆q is the injected charge in a series of time-domain simulations, qmax is the maximum charge displacement between the nodes you are measuring the phase perturbation. As such, it is a unitless quantity.

    A ppv plot of the same oscillator (referred to as   ) can be obtained by a similar set of simulations, but the phase change measured at each simulation is normalized to the injected charge. Therefore, it is not a unitless quantity. Hence, as you state, the two convey similar information, but are not identical.

    • 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