• 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. Open loop gain and open loop phase for an oscillator

Stats

  • Locked Locked
  • Replies 18
  • Subscribers 125
  • Views 24491
  • 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

Open loop gain and open loop phase for an oscillator

Pictou
Pictou over 12 years ago

 Hello,

I'm designing an oscillator with a quartz (Pierce model). The circuit is basically an amplifier and the quartz. I would like to measure the open loop gain and phase however I'm not sure about the method.

 First method I tried is the following :

I disconnected the loop at the gate of the MOS amplifier inverter. Put a vac source and set the AC amplitude to 1V.I copied the schematic of  the amplifier and pasted it at the output of the crystal, this way the crystal will see the same load as if it was in closed-loop. Then I measure the gain at the output of the crystal using a HB analysis.

 

Second method is :

I used the middlebrook analysis, which is stb in cadence. However I'm skeptical about this method as stb is to check the stability of the system. And, as I'm using an oscillator, I'm not supposed to be stable. However I'm still measuring an open loop gain and phase with stb analysis.

 

My question is which method is correct? I really have no idea on how to answer that question, so I'm here.

 

Thank you.

  • Cancel
  • Pictou
    Pictou over 12 years ago

     Hello,

    I'm not sure if my results are correct or not. Let me explain you what I did :

     Here is my "oscillator", it's basically a common source amplifier with a cascode and the crystal (center bottom) connected to it.

    http://www.hostingpics.net/viewer.php?id=623853schematicoscillator.png

    So I replaced the crystal with a current source, I added the shunt capacitor and the load capacitors. I used an AC analysis around my oscillation frequency and I plotted the real part of the voltage drop across the current source

     

    My result is -881Ohm at Fosc (40MHz), my gain is then equal to : 880/R1 (which is 21.58), 880/21.58 = 41.

    My question is the following, I found on the internet that the result should be around 4-8 times the motional resistance R1, am I not a little too high?

    How should I assess this result? What can I say about it?

    I think that this result means that if I wanted my oscillator to oscillate at 40MHz, I could do it because I have enough gain. Am I correct?

     

    Thank you very much for your help.

     

     

    EDIT : My colleage asked me a question that I couldn't answer to. Why is the gain the ratio between the negative resistance and the motional resistance? Thank you.

     

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Pictou
    Pictou over 12 years ago

     Coming back on the PSTB analysi, I can't perform the PSS analysis because it didn't converge, here is the output log :

     


    *************************************************************
    Periodic Steady-State Analysis `pss': estimated fund = 40 MHz
    *************************************************************

    Using linear IC

    Warning from spectre during periodic steady state analysis `pss'.
        WARNING: Linear IC: Fail to find out initial frequency.


    Can't find linear initial condition. Running tstab from DC


    =================================
    `pss': time = (0 s -> 2.00015 ms)
    =================================
    Important parameter values in tstab integration:
        start = 0 s
        outputstart = 0 s
        stop = 2.00015 ms
        period = 25 ns
        step = 2.00005 us
        maxstep = 1 ns
        ic = all
        useprevic = no
        skipdc = no
        reltol = 1e-03
        abstol(V) = 1 uV
        abstol(I) = 1 pA
        temp = 27 C
        tnom = 27 C
        tempeffects = all
        method = traponly
        lteratio = 3.5
        relref = sigglobal
        cmin = 0 F
        gmin = 1 pS

        pss: time = 50 us        (2.5 %), step = 1 ns          (50 u%)
        pss: time = 113.2 us    (5.66 %), step = 355.5 ps    (17.8 u%)
        pss: time = 150 us       (7.5 %), step = 690.8 ps    (34.5 u%)
        pss: time = 194.9 us    (9.75 %), step = 701.7 ps    (35.1 u%)
        pss: time = 235.3 us    (11.8 %), step = 1 ns          (50 u%)
        pss: time = 250 us      (12.5 %), step = 1 ns          (50 u%)
        pss: time = 286.4 us    (14.3 %), step = 226.9 ps    (11.3 u%)
        pss: time = 320.6 us      (16 %), step = 1 ns          (50 u%)
        pss: time = 350 us      (17.5 %), step = 1 ns          (50 u%)
        pss: time = 381.7 us    (19.1 %), step = 308.8 ps    (15.4 u%)
        pss: time = 413.1 us    (20.7 %), step = 382.2 ps    (19.1 u%)
        pss: time = 443.8 us    (22.2 %), step = 477.4 ps    (23.9 u%)
        pss: time = 450 us      (22.5 %), step = 912.8 ps    (45.6 u%)
        pss: time = 481.3 us    (24.1 %), step = 178.9 ps    (8.94 u%)
        pss: time = 511.7 us    (25.6 %), step = 104.8 ps    (5.24 u%)
        pss: time = 542.4 us    (27.1 %), step = 968.9 ps    (48.4 u%)
        pss: time = 550 us      (27.5 %), step = 288.3 ps    (14.4 u%)
        pss: time = 579.6 us      (29 %), step = 586.8 ps    (29.3 u%)
        pss: time = 608.9 us    (30.4 %), step = 322.6 ps    (16.1 u%)
        pss: time = 638.4 us    (31.9 %), step = 804.6 ps    (40.2 u%)
        pss: time = 650 us      (32.5 %), step = 279.5 ps      (14 u%)
        pss: time = 680.1 us      (34 %), step = 128.3 ps    (6.42 u%)
        pss: time = 709.7 us    (35.5 %), step = 47.73 ps    (2.39 u%)
        pss: time = 738.9 us    (36.9 %), step = 138.3 ps    (6.91 u%)
        pss: time = 750.1 us    (37.5 %), step = 1 ns          (50 u%)
        pss: time = 779.4 us      (39 %), step = 986.4 ps    (49.3 u%)
        pss: time = 808.6 us    (40.4 %), step = 95.24 ps    (4.76 u%)
        pss: time = 837.7 us    (41.9 %), step = 1 ns          (50 u%)
        pss: time = 850.1 us    (42.5 %), step = 780.3 ps      (39 u%)
        pss: time = 879.1 us      (44 %), step = 337.6 ps    (16.9 u%)
        pss: time = 908 us      (45.4 %), step = 120.7 ps    (6.04 u%)
        pss: time = 936.9 us    (46.8 %), step = 650 ps      (32.5 u%)
        pss: time = 950.1 us    (47.5 %), step = 1 ns          (50 u%)
        pss: time = 978.6 us    (48.9 %), step = 75.86 ps    (3.79 u%)
        pss: time = 1.007 ms    (50.3 %), step = 789.4 ps    (39.5 u%)
        pss: time = 1.035 ms    (51.8 %), step = 157.9 ps    (7.89 u%)
        pss: time = 1.05 ms     (52.5 %), step = 241.8 ps    (12.1 u%)
        pss: time = 1.078 ms    (53.9 %), step = 234.6 ps    (11.7 u%)
        pss: time = 1.107 ms    (55.3 %), step = 587.1 ps    (29.4 u%)
        pss: time = 1.135 ms    (56.7 %), step = 470 ps      (23.5 u%)
        pss: time = 1.15 ms     (57.5 %), step = 1 ns          (50 u%)
        pss: time = 1.178 ms    (58.9 %), step = 803.8 ps    (40.2 u%)
        pss: time = 1.206 ms    (60.3 %), step = 224.9 ps    (11.2 u%)
        pss: time = 1.234 ms    (61.7 %), step = 89.59 ps    (4.48 u%)
        pss: time = 1.25 ms     (62.5 %), step = 910.3 ps    (45.5 u%)
        pss: time = 1.278 ms    (63.9 %), step = 1 ns          (50 u%)
        pss: time = 1.305 ms    (65.3 %), step = 77.46 ps    (3.87 u%)
        pss: time = 1.333 ms    (66.6 %), step = 518 ps      (25.9 u%)
        pss: time = 1.35 ms     (67.5 %), step = 1 ns          (50 u%)
        pss: time = 1.377 ms    (68.9 %), step = 89.24 ps    (4.46 u%)
        pss: time = 1.405 ms    (70.2 %), step = 1 ns          (50 u%)
        pss: time = 1.432 ms    (71.6 %), step = 67.46 ps    (3.37 u%)
        pss: time = 1.45 ms     (72.5 %), step = 197.3 ps    (9.87 u%)
        pss: time = 1.477 ms    (73.9 %), step = 545.9 ps    (27.3 u%)
        pss: time = 1.504 ms    (75.2 %), step = 1 ns          (50 u%)
        pss: time = 1.531 ms    (76.6 %), step = 1 ns          (50 u%)
        pss: time = 1.55 ms     (77.5 %), step = 78.34 ps    (3.92 u%)
        pss: time = 1.577 ms    (78.9 %), step = 37.25 ps    (1.86 u%)
        pss: time = 1.604 ms    (80.2 %), step = 46.98 ps    (2.35 u%)
        pss: time = 1.631 ms    (81.6 %), step = 379.6 ps      (19 u%)
        pss: time = 1.65 ms     (82.5 %), step = 894.2 ps    (44.7 u%)
        pss: time = 1.677 ms    (83.9 %), step = 443.8 ps    (22.2 u%)
        pss: time = 1.704 ms    (85.2 %), step = 790.6 ps    (39.5 u%)
        pss: time = 1.732 ms    (86.6 %), step = 93.29 ps    (4.66 u%)
        pss: time = 1.75 ms     (87.5 %), step = 756.2 ps    (37.8 u%)
        pss: time = 1.778 ms    (88.9 %), step = 406.3 ps    (20.3 u%)
        pss: time = 1.805 ms    (90.2 %), step = 23.62 ps    (1.18 u%)
        pss: time = 1.832 ms    (91.6 %), step = 1 ns          (50 u%)
        pss: time = 1.85 ms     (92.5 %), step = 1 ns          (50 u%)
        pss: time = 1.878 ms    (93.9 %), step = 146.5 ps    (7.32 u%)
        pss: time = 1.905 ms    (95.3 %), step = 1 ns          (50 u%)
        pss: time = 1.933 ms    (96.6 %), step = 318.5 ps    (15.9 u%)
        pss: time = 1.95 ms     (97.5 %), step = 549.5 ps    (27.5 u%)
        pss: time = 1.978 ms    (98.9 %), step = 1 ns          (50 u%)
    The Estimated oscillating frequency from Tstab Tran is = 40.0331 MHz .
    Conv norm = 890e+03, max dV(I7.net05) = -624.122 V, took 658.65 s.

    Important parameter values in pss iteration:
        start = 2.00015 ms
        outputstart = 0 s
        stop = 2.00018 ms
        period = 24.9794 ns
        steadyratio = 10e-03
        step = 2.00005 us
        maxstep = 124.897 ps
        ic = all
        useprevic = no
        skipdc = no
        reltol = 100e-06
        abstol(V) = 1 uV
        abstol(I) = 1 pA
        temp = 27 C
        tnom = 27 C
        tempeffects = all
        errpreset = moderate
        method = trapeuler
        lteratio = 3.5
        relref = alllocal
        cmin = 0 F
        gmin = 1 pS


    ========================================
    `pss': time = (2.00015 ms -> 2.00018 ms)
    ========================================
        pss: time = 2 ms         (2.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (7.52 %), step = 41.23 ps     (165 m%)
        pss: time = 2 ms        (12.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (17.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (22.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (27.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (32.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (37.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (42.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (47.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (52.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (57.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (62.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (67.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (72.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (77.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (82.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (87.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (92.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (97.5 %), step = 41.63 ps     (167 m%)
    Conv norm = 69.9e+03, max dI(V8:p) = 62.7913 mA, took 90 ms.


    ========================================
    `pss': time = (2.00015 ms -> 2.00018 ms)
    ========================================
        pss: time = 2 ms        (2.57 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (7.57 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (12.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (17.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (22.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (27.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (32.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (37.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (42.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (47.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (52.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (57.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (62.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (67.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (72.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (77.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (82.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (87.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (92.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (97.6 %), step = 41.63 ps     (167 m%)
    Conv norm = 14.5e+03, max dV(net18) = -1.20775 V, took 100 ms.


    ========================================
    `pss': time = (2.00015 ms -> 2.00018 ms)
    ========================================
        pss: time = 2 ms        (2.57 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (7.57 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (12.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (17.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (22.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (27.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (32.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (37.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (42.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (47.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (52.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (57.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (62.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (67.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (72.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (77.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (82.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (87.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (92.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (97.6 %), step = 41.63 ps     (167 m%)
    Conv norm = 13.3e+03, max dV(net18) = -1.09544 V, took 90 ms.


    ========================================
    `pss': time = (2.00015 ms -> 2.00018 ms)
    ========================================
        pss: time = 2 ms        (2.57 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (7.57 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (12.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (17.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (22.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (27.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (32.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (37.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (42.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (47.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (52.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (57.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (62.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (67.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (72.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (77.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (82.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (87.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (92.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (97.6 %), step = 41.63 ps     (167 m%)
    Conv norm = 12.1e+03, max dV(net18) = -986.49 mV, took 100 ms.


    ========================================
    `pss': time = (2.00015 ms -> 2.00018 ms)
    ========================================
        pss: time = 2 ms        (2.57 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (7.57 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (12.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (17.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (22.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (27.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (32.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (37.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (42.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (47.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (52.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (57.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (62.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (67.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (72.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (77.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (82.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (87.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (92.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (97.6 %), step = 41.63 ps     (167 m%)
    Conv norm = 11e+03, max dV(net18) = -888.96 mV, took 90 ms.


    ========================================
    `pss': time = (2.00015 ms -> 2.00018 ms)
    ========================================
        pss: time = 2 ms        (2.57 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (7.57 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (12.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (17.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (22.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (27.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (32.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (37.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (42.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (47.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (52.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (57.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (62.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (67.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (72.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (77.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (82.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (87.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (92.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (97.6 %), step = 41.63 ps     (167 m%)
    Conv norm = 6.8e+03, max dV(net18) = -547.6 mV, took 90 ms.


    ========================================
    `pss': time = (2.00015 ms -> 2.00018 ms)
    ========================================
        pss: time = 2 ms        (2.57 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (7.57 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (12.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (17.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (22.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (27.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (32.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (37.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (42.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (47.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (52.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (57.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (62.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (67.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (72.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (77.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (82.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (87.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (92.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (97.6 %), step = 41.63 ps     (167 m%)
    Conv norm = 5.56e+03, max dV(net18) = -451.164 mV, took 90 ms.


    ========================================
    `pss': time = (2.00015 ms -> 2.00018 ms)
    ========================================
        pss: time = 2 ms        (2.57 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (7.57 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (12.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (17.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (22.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (27.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (32.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (37.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (42.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (47.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (52.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (57.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (62.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (67.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (72.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (77.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (82.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (87.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (92.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (97.6 %), step = 41.63 ps     (167 m%)
    Conv norm = 3.77e+03, max dV(net18) = -306.987 mV, took 100 ms.


    ========================================
    `pss': time = (2.00015 ms -> 2.00018 ms)
    ========================================
        pss: time = 2 ms        (2.57 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (7.57 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (12.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (17.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (22.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (27.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (32.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (37.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (42.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (47.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (52.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (57.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (62.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (67.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (72.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (77.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (82.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (87.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (92.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (97.6 %), step = 41.63 ps     (167 m%)
    Conv norm = 3.81e+03, max dV(net35) = -400.772 mV, took 100 ms.


    ========================================
    `pss': time = (2.00015 ms -> 2.00018 ms)
    ========================================
        pss: time = 2 ms        (2.57 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (7.57 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (12.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (17.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (22.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (27.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (32.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (37.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (42.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (47.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (52.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (57.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (62.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (67.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (72.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (77.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (82.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (87.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (92.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (97.6 %), step = 41.63 ps     (167 m%)
    Conv norm = 18.8e+03, max dV(net35) = -1.85773 V, took 90 ms.


    ========================================
    `pss': time = (2.00015 ms -> 2.00018 ms)
    ========================================
        pss: time = 2 ms        (2.57 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (7.57 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (12.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (17.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (22.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (27.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (32.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (37.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (42.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (47.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (52.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (57.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (62.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (67.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (72.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (77.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (82.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (87.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (92.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (97.6 %), step = 41.63 ps     (167 m%)
    Conv norm = 17.1e+03, max dV(net35) = -1.67699 V, took 90 ms.


    ========================================
    `pss': time = (2.00015 ms -> 2.00018 ms)
    ========================================
        pss: time = 2 ms        (2.57 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (7.57 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (12.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (17.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (22.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (27.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (32.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (37.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (42.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (47.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (52.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (57.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (62.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (67.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (72.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (77.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (82.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (87.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (92.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (97.6 %), step = 41.63 ps     (167 m%)
    Conv norm = 15e+03, max dV(net35) = -1.45451 V, took 90 ms.


    ========================================
    `pss': time = (2.00015 ms -> 2.00018 ms)
    ========================================
        pss: time = 2 ms        (2.57 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (7.57 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (12.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (17.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (22.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (27.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (32.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (37.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (42.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (47.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (52.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (57.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (62.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (67.5 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (72.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (77.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (82.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (87.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (92.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (97.6 %), step = 41.63 ps     (167 m%)
    Conv norm = 9.54e+03, max dV(net35) = -887.835 mV, took 90 ms.


    ========================================
    `pss': time = (2.00015 ms -> 2.00018 ms)
    ========================================
        pss: time = 2 ms        (2.57 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (7.57 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (12.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (17.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (22.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (27.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (32.7 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (37.7 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (42.7 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (47.7 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (52.7 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (57.7 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (62.7 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (67.7 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (72.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (77.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (82.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (87.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (92.6 %), step = 41.63 ps     (167 m%)
        pss: time = 2 ms        (97.6 %), step = 41.63 ps     (167 m%)
    Conv norm = 1.67e+03, max dV(net35) = -142.859 mV, took 90 ms.


    ========================================
    `pss': time = (2.00015 ms -> 2.00018 ms)
    ========================================

    Warning from spectre at time = 2.00015 ms during periodic steady state analysis `pss'.
        WARNING (CMI-2682): N30: The bulk-drain junction forward bias voltage (12.061 V) exceeds `VjdmFwd' = 1.05687 V.  The results are now incorrect because the junction current model has been linearized

    Conv norm = 13.6e+06, max dI(V8:p) = 9.57384 A, took 0 s.

    PSS failed to converge. PSS will adjust tstab a little and try again.

    ========================================
    `pss': time = (2.00015 ms -> 2.00026 ms)
    ========================================

    Warning from spectre at time = 2.00015 ms during periodic steady state analysis `pss'.
        WARNING (SPECTRE-16266): Error requirements were not satisfied because of convergence difficulties.
    Warning from spectre at time = 2.00015 ms during periodic steady state analysis `pss'.
        WARNING (SPECTRE-16266): Error requirements were not satisfied because of convergence difficulties.
    Warning from spectre at time = 2.00015 ms during periodic steady state analysis `pss'.
        WARNING (SPECTRE-16266): Error requirements were not satisfied because of convergence difficulties.
    Warning from spectre at time = 2.00015 ms during periodic steady state analysis `pss'.
        WARNING (SPECTRE-16266): Error requirements were not satisfied because of convergence difficulties.
    Warning from spectre at time = 2.00015 ms during periodic steady state analysis `pss'.
        WARNING (SPECTRE-16266): Error requirements were not satisfied because of convergence difficulties.
            Further occurrences of this warning will be suppressed.

    Zero diagonal found in Jacobian at `net011' and `net011'.
    Zero diagonal found in Jacobian at `net011' and `net011'.
    Zero diagonal found in Jacobian at `net011' and `net011'.

    Warning from spectre at time = 2.00015 ms during periodic steady state analysis `pss'.
        WARNING (SPECTRE-16191): Minimum time step used.  Solution might be in error.
    Warning from spectre at time = 2.00015 ms during periodic steady state analysis `pss'.
        WARNING (SPECTRE-16191): Minimum time step used.  Solution might be in error.
    Warning from spectre at time = 2.00015 ms during periodic steady state analysis `pss'.
        WARNING (SPECTRE-16191): Minimum time step used.  Solution might be in error.
    Warning from spectre at time = 2.00015 ms during periodic steady state analysis `pss'.
        WARNING (SPECTRE-16191): Minimum time step used.  Solution might be in error.

     

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ShawnLogan
    ShawnLogan over 12 years ago

    Hi Pictou,

    You are asking  a number of questions that are really outside the scope of this forum I think - but I will let Andrew make that judgement. The questions are really appropriate for a forum on quartz oscillator design. Nevertheless, I will provide my insights since I do quartz oscillator design,

    I'm not sure if my results are correct or not.

    I examined your simulation schematic and it appears you are following the methdology correctly - very good! However, your schematic suggests you are using a value of 750 fF for the quartz crystal unit C0. This is a very low value and I think it may not be correct, Most quartz crystal units in the 40 MHz range will have a C0 (which includes both the capacitance of the resonator and the packaging and board) in the range of 2 pf to 5 pf. The vendor will usually specify its value on the data sheet (without your board parasitic) - but it is usually specified as a value far in excess of the value for any speciifc frequency. Often, you need to contact the vendor to get the specific value for the frequency and package type of interest. The value of C0 will significantly impact the value of negative resistance you simulate at 40 MHz. Hence, I suspect the -880 ohm value you observed will be less in absolute value when the proper value of C0 is used.

    My result is -881Ohm at Fosc (40MHz), my gain is then equal to : 880/R1 (which is 21.58), 880/21.58 = 41.

    My question is the following, I found on the internet that the result should be around 4-8 times the motional resistance R1, am I not a little too high?

    How should I assess this result? What can I say about it?

    I think that this result means that if I wanted my oscillator to oscillate at 40MHz, I could do it because I have enough gain. Am I correct?

     Your basic calculation methodology for oscillator open loop gain is correct for the specific simulation you performed. 

    First, I do not know if you have considered what the minimum absolute value of negative resistance is over all process, supply voltage, and temperature conditions. I also noted that you appear to bias one transistor with an ideal voltage source. If you are trying to determine the minimum absolute value of negative resistance, you must examine all cases and exclude ideal bias elements. As mentioned above, I think if you use a more realistic value of C0, this will also significantly reduce the magnitude of your measured negative resistance at 40 MHz.

    Second, there are many other considerations that one must weigh when choosing the proper value of negative resistance. A rule of thumb is not appropriate. For example, how does the negative resistance saturate as the amplitude of oscillation increases? How temperature and voltage sensitive is the negative resistance? How much quartz crystal resonator drive level sensitivity exists? How much frequency trim capacitance is required and how does that impact negative resistance? Hence, you need to answer these questions to determine how much margin is required for your circuit. 

    EDIT : My colleage asked me a question that I couldn't answer to. Why is the gain the ratio between the negative resistance and the motional resistance? Thank you.

     I think my answer to this is outside the scope of this forum. Andrew, if you feel otherwise, I will respond.

    Shawn

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ShawnLogan
    ShawnLogan over 12 years ago

     I believe you as a minimum need to set errpreset to "conservative" and possibly set maxstep to at most 0.25 ps ( (1/40 MHz)/100 = 25 ns/100). If this is a quartz crystal unit based oscillator, this is a stiff set of equations and the numerical accuracy requirements are rather severe.

     

    Shawn 

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Pictou
    Pictou over 12 years ago

     I'm sorry about the location, I really thought it was the good one, I'll displace it as soon as I know how.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Pictou
    Pictou over 12 years ago

     Hello smlogan, do you know where I could find a forum about Crystal Oscillator design? (somewhere I could find a methodology for instance)

     

     Thank you.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 12 years ago

    I have no problem with people discussing design rather than methodology related issues in these forums, but you may be better off going to a forum with a more design focus, such as those at the Designer's Guide.

    Kind Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Pictou
    Pictou over 12 years ago

     Thank you very much for your help and patience 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