• 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. CML driver phase noise

Stats

  • Locked Locked
  • Replies 11
  • Subscribers 65
  • Views 8866
  • 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

CML driver phase noise

vinodjn
vinodjn over 1 year ago

Hi,

I have CML driver whose output feed to offchip SSA (phase noise analyzer).

I am simulating CML driver phase noise to correlate it with SSA measurement.

CML is PMOS differential amplifier with resistive load, whose output is 0-250mV single ended (+/-250mV differential).

1). sampled jitter phase noise simulation output

2) Time average phase noise simulation output

I thought sampled jitter is correct way for CML driver, however SSA  jitter correlate to time average phase noise.

 which method is correct for CML driver phase noise? 

Thanks,

Vinod

  • Cancel
  • ShawnLogan
    ShawnLogan over 1 year ago

    Dear vinodjn,

    vinodjn said:

    I thought sampled jitter is correct way for CML driver, however SSA  jitter correlate to time average phase noise.

     which method is correct for CML driver phase noise? 

    If you are trying to correlate your spectre pnoise measurement with the SSA measured phase noise, you definitely want to use the time average phase noise. The SSA considers the entire waveform when measuring phase noise. With a time-average phase noise measurement, the average noise power is computed using the entire pss periodic waveform solution (which suggests it is using the entire waveform). In other words, the noise contributions include those when the periodic solution is at its logic high, logic low, and over the transition times.

    When you use the sampled jitter methodology, you are only considering the noise at the event time at which you perform the simulation. The noise from this type of simulation will be highly dependent on the time at which you specify the measurement.

    I hope this helps Vinod.

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • vinodjn
    vinodjn over 1 year ago in reply to ShawnLogan

    Thans Shawn for you reply,

    phase noise analyzer (Keysight 5052B or FSPN-26 R&S) uses PLL  to capture the phase noise and isolate the AM noise. 

    I am still wondering do we still need to use time average or something i am missing here.

    Thanks,

    Vinod

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ShawnLogan
    ShawnLogan over 1 year ago in reply to vinodjn

    Dear vinodjn,

    vinodjn said:
    phase noise analyzer (Keysight 5052B or FSPN-26 R&S) uses PLL  to capture the phase noise and isolate the AM noise.

    I am very familiar with this instrument and have used it and its predecessor for many years.

    vinodjn said:
    I am still wondering do we still need to use time average or something i am missing here.

    Yes. The SSA demodulates the signal to determine the phase noise. Hence, it looks at the entire waveform and not just its value at a particular threshold. Therefore, to correlate the measurement from the SSA with your specre pss/pnoise simulation, the pnoise setting should be time-average and not sampled jitter.

    I am unable to comment on the plots you provided in your initial Forum post as there are no units shown on either axes of both plots. The legend entries are also not labeled,  but I am guessing the four labels correspond to the input driving source frequency. If so, I have a feeling your simulation settings may need some adjustment as the phase noise when driven at 25 MHz appears to have a higher noise floor than when driven at 200 MHz - which is counterintuitive.

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • vinodjn
    vinodjn over 1 year ago in reply to ShawnLogan

    Dear Shawn,

    Phase noise measurement is for 25M,50M,75M & 200MHz input frequencies.

    1). Sampled Jitter phase noise

    2). time average phase noise

    Below are pss and pniose settings, i have used

    Thanks,

    Vinod

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ShawnLogan
    ShawnLogan over 1 year ago in reply to vinodjn

    Dear Vinod,

    Thank you for providing the additional figures and your setup information Vinod - both are very helpful to my understanding of your issue!

    I do think there may be an issue with your pss simulation setup. Why? I extracted data points from your 25 MHz and 200 MHZ CML driver output phase noise plot (time-average) and, using a program I have, fit the data and integrated the phase noise from 1 Hz to 1 MHz using both a brickwall and first-order bandpass filter. Figure 1 details the results for your 25 MHz CML phase noise data, and Figure 2 details the results for your 200 MHz CML phase noise result. Note that there isa drastic difference in the rms jitter - about 1.6 ps rms for the 35 MHz data and 50 fs rms for the 200 MHz data. This is not expected. In absolute value terms, the rms jitter for a CML driver should not be that much different for those two driving frequencies.

    However, if I examine your pss simulation settings, I see two factors that may be responsible. First, you have chosen the "Number of harmonics" as 10. What this means is that there will only be 10 harmonics of the pss solution included in the Fourier transform of the time domain result. Hence, the noise folding computed in the pnoise portion of the simulation will be limited to 10 harmonics of 25 MHz or 250 MHz in the 25 MHZ driver simulation and 10 harmonics of 200 MHz  or 2 GHz in the 200 MHz simulation. The "Number of harmonics" also sets the maximum time step of the simulator and your 25 MHz simulation will use far fewer timepoints than your 200 MHz CML driver simulation. This will significantly impact the accuracy of the result. I would suggest you set the Number of harmonics to be a function of your CML driver frequency such that you keep the maximum frequency of the Fourier transform to be the same to achieve the same amount of noise folding and maintain simulator accuracy.

    I would also suggest you change your errpreset from "moderate" to "conservative". This is almost always required for any phase noise based pss simulation.

    You might also be interested in the comments I included regarding these pss settings and additional pnoise setting in the recent Forum post at URL:

    https://community.cadence.com/cadence_technology_forums/f/custom-ic-design/58152/divider-noise-in-a-pll/1395316#1395316

    I hope this makes sense and provides some insights Vinod!

    Shawn

    Figure 1

    Figure 2

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 1 year ago in reply to ShawnLogan
    ShawnLogan said:
    However, if I examine your pss simulation settings, I see two factors that may be responsible. First, you have chosen the "Number of harmonics" as 10. What this means is that there will only be 10 harmonics of the pss solution included in the Fourier transform of the time domain result. Hence, the noise folding computed in the pnoise portion of the simulation will be limited to 10 harmonics of 25 MHz or 250 MHz in the 25 MHZ driver simulation and 10 harmonics of 200 MHz  or 2 GHz in the 200 MHz simulation. The "Number of harmonics" also sets the maximum time step of the simulator and your 25 MHz simulation will use far fewer timepoints than your 200 MHz CML driver simulation. This will significantly impact the accuracy of the result. I would suggest you set the Number of harmonics to be a function of your CML driver frequency such that you keep the maximum frequency of the Fourier transform to be the same to achieve the same amount of noise folding and maintain simulator accuracy.

    This is not correct. Shooting is being used, and the number of harmonics specified in the PSS analysis does not limit the noise accuracy in this way. In fact the time steps used in the PSS will be higher than those you might get for just 10 harmonics if it needs to take more time steps to follow transitions; secondly, the maximum (usual) frequency for pnoise is controlled by maxacfreq which is 4 times the highest harmonic asked for (but always at least 40 times the fundamental). That matches what you've used in the pnoise for the maximum sideband.

    Now it may be that 40 sidebands is not enough for the noise contribution - so a better approach might be to turn on the fullspectrum option on the pnoise choose analysis form. This allows the analysis to adaptively take into account the higher sideband noise contributions on sharper transitions without forcing more timesteps during the flat parts of the waveform where the noise contributions to the phase noise are likely to be less significant.

    You may need to increase maxacfreq on the PSS analysis (which can be achieved by either setting maxacfreq on the PSS options form or by increasing the harmonics from PSS). However, it is not necessary to set the max sidebands for the pnoise to the same number as the number of harmonics - that will be less efficient. However, it is worth increasing the number of sidebands which contribute (and full spectrum is a good start) to see whether the noise results alter and then converge on a particular result as you increase harmonics/maxacfreq/maxsidebands.

    ShawnLogan said:
    I would also suggest you change your errpreset from "moderate" to "conservative". This is almost always required for any phase noise based pss simulation.

    I do agree with this suggestion - it's a good idea in this case. I'm not sure it's always required, but it's a good thing to try here.

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ShawnLogan
    ShawnLogan over 1 year ago in reply to Andrew Beckett

    Dear Andrew,

    Thank you for reading my comments and taking the time to add you comments!

    You mentioned the following:

    Andrew Beckett said:
    This is not correct. Shooting is being used, and the number of harmonics specified in the PSS analysis does not limit the noise accuracy in this way.

    Perhaps I am misunderstanding your comment or the algorithm has changed, but my comment was based on a Cadence Application note entitled "Guidelines for Setting Pnoise/HBnoise Sidebands to Get Accurate Results" that Tawna authored some time ago where it states:

    "PSS shooting takes 20 timepoints at the highest harmonic specified."

    I'm not disputing with you regarding the issue, I just wanted to indicate the source of my understanding and my resulting suggestion.

    Thank you, regardless, for adding your insights for Vinod and the time you took to review my suggestions.

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 1 year ago in reply to ShawnLogan

    Nothing has changed, and PSS does indeed take (at least) 5 points per period of maxacfreq with maxacfreq being 4 times the highest harmonic or 40 times the fundamental (whichever is the higher) by default. So that's 20 points per period of the max(10,maxharm) harmonic. However, 20 points per period does not mean that you can't include noise contributes from up to the 10th sideband - which is what you said here:

    ShawnLogan said:
    Hence, the noise folding computed in the pnoise portion of the simulation will be limited to 10 harmonics of 25 MHz or 250 MHz

    (i.e. it is not limited to 10 harmonics).

    You can go up to (at least) 40 - and in practice a bit higher (Nyquist would be around 80) if maxharms in the PSS is 10. If there are sharp transitions in the time-domain waveform, then there will probably be points even closer together at the transitions and so there's potential noise spectral content at higher frequencies too (which is where the full spectrum option would help - that avoids you needing to keep increasing maxsidebands on the pnoise quite so much).

    Now I'm not saying that there isn't a benefit in increasing the density of the points in the PSS solution to allow higher frequency noise contributions (there might be - although you'd not be including them unless you also increase maxsidebands on the pnoise or use full spectrum); it's just that the noise folding won't be limited to the 10th harmonic if you only have 10 harmonics in the PSS.

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • vinodjn
    vinodjn over 1 year ago in reply to ShawnLogan

    Dear Shawn, Andrew,

    I did simulate with number of harmonics=100 & also as Shawn suggested number of harmonics=2G/VAR("p_freq") to scale the number of harmonics depending on input frequency. However, there is no significant difference in phase noise.

    ShawnLogan said:
    25 MHz appears to have a higher noise floor than when driven at 200 MHz - which is counterintuitive.

    I think this is due to input transistors sampling the tail bias noise, higher sampling frequency less noise aliasing.

    phase noise with sinusoid input and variable amplitude (5mv & 200mv).

    as input amplitude increase which causes input transistor to complete turn on and off, noise aliasing happens.

    Intuitively also with longer on time, noise will be integrated on output for long and then it gets rest by off phase.

    However this noise will only impact in static duration of output so it should not impact the jitter.

    To filter out static noise a limiting circuit is used at CML driver and phase noise at limiting circuit output for time average and sample jitter should be same.

    Below phase noise simulation plot with limiting circuit with time averaged and sample jitter type (matches now)

    Please let me know your input on this.

    Thanks,

    Vinod

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ShawnLogan
    ShawnLogan over 1 year ago in reply to Andrew Beckett

    Dear Andrew,

    Andrew Beckett said:
    it's just that the noise folding won't be limited to the 10th harmonic if you only have 10 harmonics in the PSS.

    I understand and thank you for adding this.

    Shawn

    • 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