• 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. Custom IC Design
  3. Hysteresis phenomenon in frequency tripler

Stats

  • Locked Locked
  • Replies 16
  • Subscribers 126
  • Views 8649
  • 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

Hysteresis phenomenon in frequency tripler

Restart
Restart over 1 year ago

the figure1 is a double band frequency tripler. The so called "double band" means it has two frequency tuning ranges which can triple the frequency. And we can make this by tuning the DC voltage "Vtune", which control the combination of varactors and resistors(showed in the red circle in fig1 and fig2) to change the free running osicallation frequency, so that frequency tuning range change . That means, the two frequency tuning range transfer between each other when tuning the DC voltage Vtune, but during the transferring, it has the hysterisis phenomenon, which means the curve of free running osicallation frequency vs Vtune for Vtune low to high is different from that for Vtune high to low. I want to ask that, how to make this hysterisis effect by cadence, like the fig3.

  • Cancel
  • Restart
    Restart over 1 year ago

    The software I use is CentOS 7 64-bit ,TSMC 0.18 UM CMOS Mixed Signal RF General Purpose MiM FSG Al 1P6VM 1.8&3.3V

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • ShawnLogan
    ShawnLogan over 1 year ago in reply to Restart

    Dear Restart,

    As I believe the authors of the paper you reference may have done from their plot, I think you just need to sweep the value of the tuning voltage using a staircase waveform (or equivalently apply a digital word to an ideal D/A converter) in both directions in a transient simulation. The dwell time at each step of the waveform is chosen by the amount of time required for the VCO frequency to settle within your desired accuracy. At the end of each step, measure the VCO output frequency over some time interval. The amount of time to remain at each step must be chosen to be a good number of VCO frequency time constants.

    From the plot you included, it appears the control voltage is stepped in 100 mV increments between 0 V and 2.0 V for a total of 21 steps. I'm shown an example of what I think might be the two transient simulations (or one simulation where the negatively sloped ramp follows the positively sloped ramp) to use and the control voltage stimulus. I hope I understood your question and this provides you with some insight Restart.

    Shawn

    Figure 1

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

    Dear Restart,

    As I believe the authors of the paper you reference may have done from their plot, I think you just need to sweep the value of the tuning voltage using a staircase waveform (or equivalently apply a digital word to an ideal D/A converter) in both directions in a transient simulation. The dwell time at each step of the waveform is chosen by the amount of time required for the VCO frequency to settle within your desired accuracy. At the end of each step, measure the VCO output frequency over some time interval. The amount of time to remain at each step must be chosen to be a good number of VCO frequency time constants.

    From the plot you included, it appears the control voltage is stepped in 100 mV increments between 0 V and 2.0 V for a total of 21 steps. I'm shown an example of what I think might be the two transient simulations (or one simulation where the negatively sloped ramp follows the positively sloped ramp) to use and the control voltage stimulus. I hope I understood your question and this provides you with some insight Restart.

    Shawn

    Figure 1

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

    Dear Shawn,

    If I do understand your way, You mean that actually the simulation time for each step of 100mv is not equal, either for 0 to 2V or 2 to 0V. And when the step increases, the simulation time needed decreases. Is that right? If that's it, how to I know what the amount of the simulation time for each step should be? I mean I do not get the point of what you say about "the amount of time required for the VCO frequency to settle within your desired accuracy". What do that mean?

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

    Dear Restart,

    Restart said:
    If I do understand your way, You mean that actually the simulation time for each step of 100mv is not equal, either for 0 to 2V or 2 to 0V. And when the step increases, the simulation time needed decreases. Is that right?

    I must have confused you Restart. The dwell time at each voltage step is intended to be the same. Referring to Figure 1, "tstep" is shown for the positively slope and negatively sloped waveforms. The initial time shown as "init_settling_time" is intended to be greater than "tstep" as I assume your VCO will require some time for its output frequency to settle to the desired accuracy before starting the control voltage stepped ramp. Hence, for each control voltage ramp, the total simulation time is:

    "init_settling_time" + 20*"tstep"

    A measurement is taken at the end of "init_settling_time" and at the end of each "tstep" to create a total of 21 measurements.

    Does this make my figure and comments any clearer?

    Restart said:
    If that's it, how to I know what the amount of the simulation time for each step should be? I mean I do not get the point of what you say about "the amount of time required for the VCO frequency to settle within your desired accuracy". What do that mean?

    When you change the control voltage, the output frequency will change significantly in the control voltage characteristic as the authors illustrate. The frequency does NOT change instantaneously and to estimate its value, you need to wait for it to settle to a final value. The longer you wait to make the frequency measurement, the greater the accuracy of the frequency measurement to the long term average at that control voltage. You can view the frequency settling behavior from a transient simulation if you measure the instantaneous frequency using the Calculator freq() function. Do not use the frequency() function as that will provide an average and you want to view the instantaneous frequency.

    As an example of frequency settling for a VCO when undergoing a calibration procedure, please see Figure 2. Note that the settling time depends on the calibration step. Hence, you need to run a transient simulation and examine the frequency versus time plot of your VCO to determine how long each "tstep" needs to be to allow the frequency to settle to its desired accuracy (i.e., settled to with, for example, 1% of its final value).

    I hope this makes some sense to you Restart.

    Shawn

    Figure 2

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

    sorry, I still can't get your point. I think I can show you my settings so that possibly, you can show me your solution through my settings to let me get your point directly. Fig.1 is my tansient simution, which the total simulation time is 100ns. Fig.2 is DC simulation. And you mean that acutually the simulation I need to use is freq, but what I use is dft, which is shown as fig.3. The net11 is my output, which contributes to the resulit Fig.4. You mean that I should use the freq(), like fig5.?

    fig.1

    fig.2

    fig.3

    fig.4

    fig.5

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

    Dear Restart,

    Restart said:
    sorry, I still can't get your point. I think I can show you my settings so that possibly, you can show me your solution through my settings to let me get your point directly. Fig.1 is my tansient simution, which the total simulation time is 100ns. Fig.2 is DC simulation. And you mean that acutually the simulation I need to use is freq, but what I use is dft, which is shown as fig.3. The net11 is my output, which contributes to the resulit Fig.4. You mean that I should use the freq(), like fig5.?

    1. You are not showing enough details about your transient simulation for 100 ns. My recommendation was that the transient simulation contain a staircase ramp function where the control voltage of your VCO takes 21 steps from 0V to 2V and then a second transient simulation where the control voltage of your VCO takes 21 steps from 2V to 0V. The time you dwell at each step ("tstep") must be long enough for the VCO frequency to settle to its final value.

    In your example of a 100 ns, is the control voltage constant for the entire 100 ns?

    2. You should use an errpreset of "conservative" and not "moderate" to provide a more accurate frequency measurement.

    3. I do not recommend you use the dft() function to estimate the frequency. With only 1024 samples, the frequency estimate will be very inaccurate. You should use the freq() function as you shown in fig 5. This will plot the instantaneous frequency as a function of time. From that plot, you can determine how long it takes for your VCO frequency to settle for just this one control voltage in your simulation. You might be able to derive the time constant for your VCO settling time and use that to set the simulation time of each "tstep" in your two staircase ramp transient simulations.

    Shawn

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

    I realli feel sorry for replying for your help so long. I probably get your poimt. You mean that I may can use staircase ramp function through transient function. But I don't know how to reach staircase ramp function in transient simulation? Maybe what options? My other transient simulation settings are fig.1 and fig.2. Fig.1 is time step:maxstep 0.005n for 180nm process, and Fig.2 is algorithm for method:gear 2 only. Fig.3 is the differenc of dft and freq. I do not really know their difference.

    fig.1

    fig.2

    fig.3

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

    Dear Restart,

    Restart said:
    probably get your poimt. You mean that I may can use staircase ramp function through transient function. But I don't know how to reach staircase ramp function in transient simulation? Maybe what options?

    You need to create the staircase waveform using a vpwl or a vapwlf source from the analogLib. You must enter the a set of time,voltage pairs to define the waveform as a piecewise linear waveform. You may do this entirely using the vpwl GUI, or alternatively, place the (x,y) pairs in a text file and place the path to the file in a vpwlf source,

    Restart said:
    My other transient simulation settings are fig.1 and fig.2. Fig.1 is time step:maxstep 0.005n for 180nm process, and Fig.2 is algorithm for method:gear 2 only.

    I understand. Thank you.

    Restart said:
    Fig.3 is the differenc of dft and freq. I do not really know their difference.

    You only have a limited number of frequency bins (512) from your expression for using the dft() function.  With a total sample time of 20 ns, you are sampling your waveform every 20 ns/1024 = 19.53 ps. This means that the period of your period measurement will have an uncertainty of about 20 ps. With a 5.3 GHz waveform (188 ps period), that represents a large potential error in your period estimate. In frequency terms, each frequency bin is 50 MHz. Hence, you cannot resolve a frequency using the dft() function to anything less than 50 MHz. For a 5.3 GHz frequency, 50 MHz represents a frequency error of 0.94% - which is a large number for many frequency measurements.

    When you use the freq() function, you are using all the time points in your simulation. In your transient simulation GUI, you set the maximum time step to 5 ps. Hence, you period measurement will be accurate to well under 5 ps as the simulator will choose a value far less than than 5 ns to statisfy convergence criteria and then interpolate the result. Hence, your frequency measurement error using the freq() function will be far, far less than 0.94%.

    I also annotated your frequency measurement to show how you must leave some time each time the control voltage undergoes a change in value. If you do not leave some time, the frequency of the VCO has not settled to its final value. You may use the expression for the freq() function in a second expression as I show to plot the frequency settling time in absolute terms (i.e., delatf/f). This can be used to select the proper value for "tstep" of your staircase waveform.

    Shawn

    Figure 4.

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

    Sorry for replying for your help so long. I have replaced the DC voltage Vtune as vpwl, and the referenced settings are as fig.1. I just make a sample and ecpext to see the result as two “staircases”. One of that is for free running frequency when Vtune=1V, and the other one is for Vtune=2V. But the real result is as fig.2. I don’t know what wrong I get.

    fig.1

    fig.2

    • 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