• 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. VCO jitter calculation using PNOISE simulation

Stats

  • Locked Locked
  • Replies 3
  • Subscribers 64
  • Views 19958
  • 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 jitter calculation using PNOISE simulation

chadong
chadong over 13 years ago

Hi all,

I have two questions about pnoise jitter calculation in SpectreRF.

1. What is the meaning of Freq. Multiplier in jitter calculator?

2. What is the optimum integration range of phase noise for jitter calculation?

Actually, I posted about similar subject last year, but I'm still confused..... : ( 

 

I need to calculate VCO's jitter to estimate the SNR limit of synchronous ADC by clock.

I've done PSS/PNOISE simulation like following condtion 

- Free running VCO

- VCO clock speed : 10MS/s

- Total ADC conversion time : 100us(1000cycle)

- PSS

Beat frequency : 10MHz

Output harmonics(Number of harmonics) : 0

- PNOISE

Output Frequency Sweep Range : 1~500MHz(I have no idea what's the right sweep range. I just think it would be wide enough)

Maximum Sideband : 40(40 is enough to get accurate results in my case)

Noise type : Jitter(Typically, ADC needs only RMS jitter, not phase noise)

 

After PSS/PNOISE simulation, I caculated k-cycle jitter because the VCO is autonomous system and I need accumulated RMS jitter.

Following is what I did.

Results->Direct Plot->Main Form->select pnoise jitter(Analysis)->Jc(Function)->Number of cycles=1000->select RMS->

->Freq. Multiplier=1->Integration Limits:1kHz~20MHz

 

Here are two questions as I asked above.

1. What is the meaning of Freq. Multiplier in jitter calculator?

2. What is the optimum integration range of phase noise for jitter calculation?

I think the integration range of 1k~20MHz is enough, because total ADC's conversion time is 100us and 20MHz=10MHz(Fundamental X2)

Is it proper approach?

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 13 years ago

    I believe the Freq Multiplier (which is really not clearly documented - it just says in various places that it defaults to 1, but gives no explanation, even in the documentation for the underlying functions drplRFJcc etc, as to what it actually means) is to allow you to say that you want the frequency used for the jitter calculation to be multiplied up from the frequency found in the PSS analysis. An example where that might be useful is when you have a divider and the PSS has found the divided frequency - but yet you are measuring the jitter elsewhere in the circuit (maybe on the divider input), and so you need to multiply the frequency of the PSS by the divide ratio of the divider to use the correct frequency in the calculations. However, I think you should log a service request to confirm this and request that it is properly documented.

    If your PSS fundamental is 10MHz, and you are using the PMjitter mode, you should not sweep the pnoise beyond half the PSS fundamental (5MHz). This is because the PMjitter mode adds an ideal sampler to the output of the circuit and this is sampling at the PSS fundamental rate - sweeping beyond this will alias the noise and cause overcounting of the noise. Since the sampler is there, it will automatically fold any noise into the output band anyway, so it should be sufficient to have an upper limit of 5MHz. The lower limit of 1kHz is OK, but in practice if K is 1000 you are only including frequencies as low as 10MHz/1000 - i.e. 10kHz. The integration automatically takes this into account - so it's fine to leave it as 1kHz.

    You might want to read the Jitter app note at <MMSIMinstDir>/tools/spectre/examples/SpectreRF_workshop/JitterAN.pdf

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • chadong
    chadong over 13 years ago

    Your comment is really helpful to understand PSS sim.

    Thank you for your reply, Andrew

     

    I read the app note you suggested(for version MMSIM6.0, March 2006), and I'm little confused about k-cycle jitter.

    From the note, section "Synchronous Jitter Versus Accumulating Jitter", autonomous circuits, e.g. VCO have only cycle-to-cycle jitter as the jitter performance as mentioned below

    "For autonomous circuits where there are no ideal reference transitions, you are limited to using self-referred jitter metrics. This jitter is accumulating jitter. The next cycle transition is the result of the previous cycle output, so the jitter variance accumulates from cycle-to-cycle"

    But, in the Figure 1-9 of the note, Cycle jitter is used as the jitter performance of VCO. 

    Could I use the K-cycle jitter as accumulating jitter of autonomous circuits?

    Which is right?

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • SomanP
    SomanP over 8 years ago

    Hi Andrew,

    I also have been stuck with the problem of selecting the proper fmin in long term ( accumulated ) jitter calculation in PSS/PNOISE sims. I would like to get some more clarification on the last statement "The lower limit of 1kHz is OK, but in practice if K is 1000 you are only including frequencies as low as 10MHz/1000 - i.e. 10kHz. The integration automatically takes this into account - so it's fine to leave it as 1kHz."
    Does spectre Jc(K) form always takes Fmin as "Fbeat / K" for integration, irrespective of what fmin value we give ..? Could you kindly point me to the theoretical basis for this "Fbeat / K"...? ( I am asking this because I have not found any literature which clearly specifies the Fmin of integration for K cycle accumulated long term jitter)

    Following is my specific scenario.:
    I have an experimental/simple RC relaxation oscillator operating at 10MHz. Ran PSS/PNOSE with Fbeat=10MHz. Want to find out the accumulated jitter for 100000 cycles.
    In the Jc(K) form, max integration range is set to =Fbeat/2 = 5MHz. I tried different fmin ( like 10Hz ,50Hz , 100Hz ). Follwing are the respective jitter values reported by spectre ==> 431nS , 132nS , 56nS. ==> The values are vastly different. Kindly let me know your thoughts/advice on this as this is inconsistent with the comment you have given.
    I am concerned about what value I should give as Fmin... ? Wondering if I am getting this issue due to some setting or version issue ? ( I use Virtuoso 6.1.6-64b )
    ( Based on your comment, the Fmin in my case should have to be 10MHz/100000 = 100 and Jc(K=100000) values should have to be same if I input Fmin=100Hz or 50Hz or 10Hz )

    Highly appreciate your help...

    Thanks and regards
    Soman

    • 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