• 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. Mixed-Signal Design
  3. PLL Phase noise simulation in Cadence Virtuoso

Stats

  • Locked Locked
  • Replies 3
  • Subscribers 64
  • Views 25119
  • 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

PLL Phase noise simulation in Cadence Virtuoso

asrf
asrf over 5 years ago

Hi all,

I am new in PLL field. I have some basic questions.

How can I make a behavioral model (not phase domain) using verilog AMS to observe everything before going to circuit level.

I want to be able to see PLL phase noise using noisy blocks (behavioral) in my system.

I know Verilog AMS, but most of the noisy blocks are written with jitter definition and I cannot get a phase noise plot with a jitter noise defined VCO in verilog AMS.

I do pss simulation and I guess it is only made for small signal noise. So available VCO verilog AMS codes dont work with pss and pnoise simulation.

Lets say If I have a PLL schematic and it works properly. How can I observe the closed loop phase noise ?

What kind of simulation I need to run ?

Thank you for your time and effort.

  • Cancel
Parents
  • Andrew Beckett
    Andrew Beckett over 5 years ago

    You've asked the same thing in the Designer's Guide forum and been given an answer there. You need to use the flicker_noise/white_noise functions in your Verilog-A rather than having random time-domain variation of your timing edges, and then you can run PSS of the whole PLL (once it's locked) and then run PNOISE. This is assuming that the PLL is an integer PLL, as otherwise it would not be periodic. The alternative is that you run a transient (if using your time-domain-jittery models) or transient noise (if there's small-signal noise functions) and you'd have to do a power-spectral-density measurement afterwards to convert the output into the frequency domain so you could observer the noise.

    You might also find this Rapid Adoption Kit useful: PLL Verification

    This application note might also be useful: Virtuoso Spectre Transient Noise Analysis and also another RAK on running transient noise: Spectre Transient Noise Simulation from ADE - Advanced

    My colleague Tawna's excellent overview Demystifying Noise Simulation in RF Circuits Spectre APS and RF Option might also come in useful.

    Andrew.

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • asrf
    asrf over 5 years ago in reply to Andrew Beckett

    Thank you for your time and reply.

     flicker_noise and white_noise functions are used in phase domain simulations. There is no available VCO code with those functions. All available codes are written with jitter.

    I dont want to do phase domain simulations since I want to have realistic behavior models. Actually I tried but somehow Spectre does not run the phase.vams code ...

    I am not professional with AMS so I dont know how to write a similar VCO code this time with "flicker_noise and white_noise functions"

    I will try to study AMS more so I understand it completely. 

     

    Transient simulation is a good idea. I can take FFT from long simulation and observe spectrum. But since there is windowing and spectral leakage I dont know if the phase noise will be correct value or not.

    I will check the other links you mentioned.

    Thank you, I do appreciate.

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

    Thank you for your time and reply.

     flicker_noise and white_noise functions are used in phase domain simulations. There is no available VCO code with those functions. All available codes are written with jitter.

    I dont want to do phase domain simulations since I want to have realistic behavior models. Actually I tried but somehow Spectre does not run the phase.vams code ...

    I am not professional with AMS so I dont know how to write a similar VCO code this time with "flicker_noise and white_noise functions"

    I will try to study AMS more so I understand it completely. 

     

    Transient simulation is a good idea. I can take FFT from long simulation and observe spectrum. But since there is windowing and spectral leakage I dont know if the phase noise will be correct value or not.

    I will check the other links you mentioned.

    Thank you, I do appreciate.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
  • Andrew Beckett
    Andrew Beckett over 5 years ago in reply to asrf
    asrf said:
    flicker_noise and white_noise functions are used in phase domain simulations. There is no available VCO code with those functions. All available codes are written with jitter.

    This is patently untrue. flicker_noise and white_noise are small-signal noise sources that can be used in time-domain models - there's nothing to say that they can only be used for phase domain simulations. These are used to model device noise, so clearly can be used.

    I suggest you look at the "osc" (it's an oscillator, not a VCO but the noise modelling will be a good start) in rfLib, which you can access by adding:

    DEFINE rfLib $(inst_root_with:tools/dfII/bin/virtuoso)/tools/dfII/samples/artist/rfLib

    to your cds.lib

    I didn't look very hard for VCO models including noise sources - I'd be very surprised if there aren't some you can find with a bit of searching. Anyhow, adapting the approach taken in the rfLib models shouldn't be very difficult.

    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