Use of DC operating point parameters in plots

Discussion in 'Cadence' started by leylakooshaeian, Jul 9, 2007.

  1. Hi group,

    I run a DC sweep simulation on ADE (using spectre) and I would like to
    plot some of the DC operating point parameter of my schematic(such as
    gm, gds,vdsat of the transistor which I can not see soem of these
    parameter in the Result Browser )
    Does any one have any idea ?


    Regards
    Leyla
     
    leylakooshaeian, Jul 9, 2007
    #1
  2. Is the option "Save DC operating point" active in the setup analysis
    form for the DC simulation?
    Check your "Save All..." settings in the Outputs menu of ADE.
    Which waveform viewer are you using?
     
    Svenn Are Bjerkem, Jul 9, 2007
    #2
  3. Even with activation of Save Dc operating point we can not see gm in
    the Result Browser!!!
    I found that the answer is to go to ADE and then print > Dc
    operating point > I can see the gm
    But how can I plot the gm vs VGS ?? any idea ......
     
    leylakooshaeian, Jul 10, 2007
    #3
  4. Actually this has come up many times before in this forum (and over on
    the Designer's Guide forum). When you do a DC sweep, it does not save the
    operating point for each point in the sweep by default.

    You can do this by creating an ASCII file somewhere, with:

    save M1

    or:

    save M1:eek:ppoint

    or

    save M1:gm M1:gds M1:vdsat

    in the file, and then adding this as a model library in ADE (effectively as
    an include file). You'll then be able to get to the operating point data via the
    results browser after the simulation. Normally this isn't saved for space
    reasons.

    Note that "M1" is the name of the instance you want to save. Watch out if
    it's a subckt model - you may need to find out the hierarchical name of the
    internal device to save (use "." as the hierarchy delimiter).

    If you have access to the newly released MMSIM62, you can use wildcards in
    the save statement. For example:

    save * sigtype=all

    will save absolutely everything for every device (as well as all terminal
    currents and so on).

    Regards,

    Andrew.
     
    Andrew Beckett, Jul 10, 2007
    #4
  5. Thanks Andrew,

    I am so new working with cadence so excuse of my ignorance.

    I got a warning in psf/spectre.out

    There is a warning from spectre during initial setup:
    M0 does not have a terminal named gm
    Ignoring invalid item named M0: gm in save statement

    I did these procedures for creating the text file and include it to
    the model library:

    I create a text file in the UNIX terminal with dtpad and put the save
    M0: gm inside the text file.
    For running the ADE simulation for 90n CMOS technology I save the
    model library from the Tools > set up corner not from set up library
    (I don't know the reason)
    After opening the set up corner I activate the include file and put
    the tt.txt in the "include file editor "
    Also I tried with tt.scs file to see any difference but it didn't
    work.
    Please guide me?
     
    leylakooshaeian, Jul 11, 2007
    #5
  6. Most likely this is because M0 is an instance of a subckt model, not a direct
    instantiation of a primitive device. Check to see if your models are subckts -
    if so, you'll need to save the gm of the actual device inside that subckt, as I
    described in my previous post (e.g. M0.Minternal:gm or whatever it is called).
    Alternatively use MMSIM62 which means you can use the wildcard!

    The corner stuff must be some customisation for the technology you're using -
    but that probably doesn't matter - this is just a means of including a file
    somehow.

    Regards,

    Andrew.
     
    Andrew Beckett, Jul 11, 2007
    #6
  7. Andrew,
    I search and I found the similar disscusion in 2004 you recomended:

    The problem is that because the filename did not end in .scs, it
    assumed that
    the include file was in SPICE syntax (for compatibility reasons), and
    so it
    then becomes case insensitive - actually all are mapped to lowercase.
    This is why the M0 you specified got mapped to m0, and there is no m0
    in
    the netlist.

    You have two choices:

    1. Call the include file "settings.scs"
    2. or, at the top of the included file, add a line:

    simulator lang=spectre

    I tried with include" tt.scs "and also with and without adding
    simulator lang=spectre in teh first line of "tt.scs " again same
    warning

    Please guide ?

    Best reagrds/ leyla
     
    leylakooshaeian, Jul 11, 2007
    #7
  8. Thanks Andrew,
    Sorry I didn't recognise you replied, the schematic taht I am testing
    very simple circuit with only one transisitor with instance's name of
    M0.
    Regards
     
    leylakooshaeian, Jul 11, 2007
    #8
  9. As I said before (twice), is the model a subckt? There may only be a single
    instance, but if that instance is an instance of a subckt model, you will need
    to include the additional hierarchy in the instance name to be saved.

    Easiest way to find this out is to do a DC operating point (don't sweep), and
    then look in the results browser to see if there is any hierarchy there, and
    to see what the names are.

    You do also need to give the file the right suffix, or use simulator
    lang=spectre, but I don't think that's your problem here?

    Regards,

    Andrew.
     
    Andrew Beckett, Jul 11, 2007
    #9
  10. Thanks Andrew,
    the circuit that I use,is not an instance of a subckt model. I tried
    with another circuit as well now it gives me a warning that "M0:does
    not have a terminal name gm"
    I make a file named tt.scs and put the save M0:gm in the first line .
    This is nontrivial question for you but I don't now how to solve it,
    please guide....
    Regards
    Leyla
     
    leylakooshaeian, Jul 12, 2007
    #10
  11. Well, it won't give that message unless M0 is an instance of a subckt.
    For example:

    //
    // Noddy analysis to generate id vs vds and vgs curves for a simple
    // level 1 transistor.
    //

    subckt nch (d g s b)
    parameters w=1u l=1u
    nch (d g s b) nch w=w l=l
    model nch mos1 type=n vto=1 kp=16u gamma=1.3 lambda=0.01 \
    phi=0.7 pb=0.80 mj=0.5 mjsw=0.3 cgbo=200p cgso=350p cgdo=350p \
    cj=300u cjsw=500p ld=0.1u tox=80n \
    af=1 kf=3.1e-24
    ends nch

    parameters channel=0.8u
    m1 (drain gate 0 0) nch w=20u l=channel
    vgs (gate 0) vsource dc=3
    vds (drain 0) vsource dc=1

    simulator lang=spectre

    save m1:gm
    // end of netlist

    gives:

    Warning from spectre during initial setup.
    `m1': Does not have a terminal named `gm'.
    Ignoring invalid item `m1:gm' in save statement.

    If I change the save statement to:

    save m1.nch:gm

    it works OK - since that's the name of the actual instance.

    I suggest you put something like this in your netlist:

    components info what=inst where=logfile

    and then run with a single transistor. In my case I get:

    Instance: m1.nch of nch
    Model: m1.nch
    Primitive: mos1
    w = 20 um
    l = 800 nm
    ld = 0 m
    m = 1
    region = off
    degradation = no

    so you can see what the instance name of the primitive device is called.

    Regards,

    Andrew.
     
    Andrew Beckett, Jul 17, 2007
    #11
  12. Thanks Andrew,
    I run the components info what=inst where=logfile
    and in the logfile I got this:

    Instance: M0.m1 of nsvt
    Model: M0.nsvt
    Primitive: bsim4
    w = 1.2 um
    l = 100 nm
    as=number
    ad=number
    ps=number
    pd=number
    m = 1
    region = off

    Also I have the M0.Dd and M0.Ds for just a single transistor,

    Then I try with

    Save M0.nsvt: gm

    Another try was with
    Save M0.m1: gm

    Both of them give me the same warning that I mentioned in the previous
    post.
    By the way, if finally after your guide I succeed to get the gm can I
    plot it Vs VGS, I sweep the VGS in my dc analysis because I think I
    can see only the last sweep parameter for gm.
    I desperately need your advice.

    Best Regards
    Leila
     
    leylakooshaeian, Jul 20, 2007
    #12
  13. Thanks Andrew,
    I run the components info what=inst where=logfile
    and in the logfile I got this:

    Instance: M0.m1 of nsvt
    Model: M0.nsvt
    Primitive: bsim4
    w = 1.2 um
    l = 100 nm
    as=number
    ad=number
    ps=number
    pd=number
    m = 1
    region = off

    Also I have the M0.Dd and M0.Ds for just a single transistor,

    Then I try with

    Save M0.nsvt: gm

    Another try was with
    Save M0.m1: gm

    Both of them give me the same warning that I mentioned in the previous
    post.
    By the way, if finally after your guide I succeed to get the gm can I
    plot it Vs VGS, I sweep the VGS in my dc analysis because I think I
    can see only the last sweep parameter for gm.
    I desperately need your advice.
     
    leylakooshaeian, Jul 20, 2007
    #13
  14. Thanks Andrew,
    I run the components info what=inst where=logfile
    and in the logfile I got this:

    Instance: M0.m1 of nsvt
    Model: M0.nsvt
    Primitive: bsim4
    w = 1.2 um
    l = 100 nm
    as=number
    ad=number
    ps=number
    pd=number
    m = 1
    region = off

    Also I have the M0.Dd and M0.Ds for just a single transistor,

    Then I try with

    Save M0.nsvt: gm

    Another try was with
    Save M0.m1: gm

    Both of them give me the same warning that I mentioned in the previous
    post.
    By the way, if finally after your guide I succeed to get the gm can I
    plot it Vs VGS, I sweep the VGS in my dc analysis because I think I
    can see only the last sweep parameter for gm.
    I desperately need your advice.
     
    leylakooshaeian, Jul 20, 2007
    #14
  15. Well, it would be:

    save M0.m1:gm

    or just

    save M0.m1

    (that way it will save all op point data).

    save is in lower case, and there should be no space between the colon and the
    gm.

    So this ought to work, provided you get the syntax correct. Without seeing the
    example as a whole, it's hard to know what you've done wrong. You were saying
    that you definitely didn't have subckts - but clearly you do - so I can only
    imagine that you've made a simple mistake somewhere?

    Note, if you do a sweep, you'll get the saved op point params versus the sweep.

    Regards,

    Andrew.
     
    Andrew Beckett, Jul 20, 2007
    #15
Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.