Home > Community > Forums > Custom IC SKILL > stb Ocean/Skill examples

Email

* Required Fields

Recipients email * (separate multiple addresses with commas)

Your name *

Your email *

Message *

Contact Us

* Required Fields
First Name *

Last Name *

Email *

Company / Institution *

Comments: *

 stb Ocean/Skill examples 

Last post Fri, Nov 4 2011 5:53 AM by Andrew Beckett. 5 replies.
Started by dlbro 15 Apr 2009 04:20 PM. Topic has 5 replies and 9182 views
Page 1 of 1 (6 items)
Sort Posts:
  • Wed, Apr 15 2009 4:20 PM

    • dlbro
    • Not Ranked
    • Joined on Wed, Apr 15 2009
    • Posts 8
    • Points 130
    stb Ocean/Skill examples Reply

    Does anyone have any examples of using the stability analysis (stb) Sprectre tool in Ocean/Skill? I've done extensive scripting in transient, AC, DC, noise, pnoise, etc... but this is the first time I've tried stb. Running stb is easy, I've seen some stuff on how to do phase margin and gain margin, but how do I plot the gain and the phase? I've searched Cadence and Source link and the internet to no avail. Is there any equivalent to VT(), VF(), VS() for stb?

    Thanks in advance,

    dlb

    Filed under: , ,
    • Post Points: 20
  • Wed, Apr 15 2009 10:31 PM

    Re: stb Ocean/Skill examples Reply

    The best way to get the expressions to use for plotting gain and phase (and indeed the gain and phase margin) is to set up the stb analysis in ADE, and then (after simulating) use the Results->Direct Plot->Main Form, and select what you want - selecting "add to outputs". Then in the ADE outputs pane, double click on the relevant output (created by direct plot) and cut and paste the SKILL expression (or save the OCEAN script from ADE and you'll get the BLOCKED EXPRESSION.

    This is what I tend to do, particularly with some of the RF measurements, although it equally well applies to stability analysis - saves me trying to figure it out myself or looking throught the documentation!

    Regards,

    Andrew.

    • Post Points: 20
  • Thu, Apr 16 2009 5:40 PM

    • dlbro
    • Not Ranked
    • Joined on Wed, Apr 15 2009
    • Posts 8
    • Points 130
    Re: stb Ocean/Skill examples Reply

    Thanks Andrew,

    I wasn't able to figure out either method you suggested. For the first one, when I double click on the waveform it brings up the "Trace Attributes" form which doesn't have any SKILL expressions. Also, I can't see any way to save an Ocean script from the ADE.

    But, your suggestions pointed me to a different solution. If you pull up the result browser and select the stb-stb category it has the loopGain result, if you select this and then hit the calculator button you get:

         getData("loopGain" ?result "stb-stb")

    Then to plot the data just stick this in a phase() or db20() function:

        phase(getData("loopGain" ?result "stb-stb"))

        db20(getData("loopGain" ?result "stb-stb"))

    To get the phase margin, phase margin frequency, gain margin and gain margin frequency use:

         getData("phaseMargin" ?result "stb-margin.stb")

        getData("phaseMarginFreq" ?result "stb-margin.stb")

        getData("gainMargin" ?result "stb-margin.stb")

        getData("gainMarginFreq" ?result "stb-margin.stb")

    Thanks for the getting me unstuck.

    Dave Broughton

    Filed under: , , , ,
    • Post Points: 20
  • Fri, Apr 17 2009 2:25 AM

    Re: stb Ocean/Skill examples Reply

    Hi Dave,

    I'll step you through the process (even though you have a solution).

    1. Run the simulation with stb analysis enabled (in ADE)
    2. Results->Direct Plot->Main Form and select the stb analysis.
    3. Choose what you want to plot (e.g. Loop Gain, Magnitude, db20), and then hit the "Add To Outputs" button on this form. Similarly you could pick Phase Margin and "Add To Outputs"
    4. OK or Cancel the direct plot form (no need to plot anything)
    5. In the ADE Outputs pane you should see two outputs (if you did the above two choices) called "Loop Gain dB20" and "Phase Margin". Double click on one of these, or choose the Outputs-> Setup menu and select the output you are interested in.
    6. You'll see that the expression for loop gain is db(mag(getData("loopGain" ?result "stb"))) (essentially the same as what you found from the results browser), and Phase Margin is getData("phaseMargin" ?result "stb_margin") - you can cut and paste these expressions to your OCEAN script.

    This general "Add To Outputs" technique is often very useful.

    For saving an OCEAN script, do Session->Save OCEAN Script in your ADE window - any of the signals/expressions which are in your Outputs pane (added with "Add to Outputs" will be in the script.

    Hope that clarifies things,

    Regards,

    Andrew.

    • Post Points: 20
  • Fri, Nov 4 2011 5:50 AM

    • reckoner
    • Not Ranked
    • Joined on Fri, Nov 4 2011
    • Posts 3
    • Points 45
    Re: stb Ocean/Skill examples Reply

    Hi, Andrew

        I understand this skill you provided.And it worked well in cadence ADE with spectre.

        Here is the problem,now we have HSPICE_2010 intergrated into ADE.When i repeat the process above,i  found that only Loop Gain with magnitude and phase have "add to outputs",not Gain Margin or Phase Margin.How can I get the right outputs of GM ,PM so i can have the GM&PM number after simulation just like spectre did?

     

     regards

     yuanzy

    • Post Points: 20
  • Fri, Nov 4 2011 5:53 AM

    Re: stb Ocean/Skill examples Reply

    Yuanzy,

    There was a recent bug where the "add to outputs" had gone missing for stb analyses from the direct plot form in recent versions. I think that has been addressed now.

    However, I cannot comment on using this with HSPICE; you'd have to ask Synopsys that.

    Regards,

    Andrew.

    • Post Points: 5
Page 1 of 1 (6 items)
Sort Posts:
Started by dlbro at 15 Apr 2009 04:20 PM. Topic has 5 replies.