measure max gm in a mosfet simulation

Discussion in 'Cadence' started by Yahav Bar yosef, Jan 25, 2004.

  1. Hi all,

    I'm running simulations on MOSFETs using Spectre, and would like to
    measure the max Gm of the MOSFET for each channel length (L). In
    Hspice it's quite easy using the .measure and find commands, but I
    can't find how to do it in Spectre.
    I'm using just Spectre and inputing netlists (without the whole GUI
    env.)
    I also tried a bit to use 'oceanEval' but didn't find any good
    documentation on it.
    Thanks for your help,
    Yahav
     
    Yahav Bar yosef, Jan 25, 2004
    #1
  2. I found out how to do all this things using Ocean

    If someone is interested in all this things - you can post a follow up
    and i'll post my scripts...


    Yahav Baryosef
     
    Yahav Bar yosef, Feb 9, 2004
    #2
  3. Yahav Bar yosef

    Erik Wanta Guest

    Yahav:
    I am interested. Please post your OCEAN scripts.
     
    Erik Wanta, Feb 9, 2004
    #3
  4. Apologies for the very late reply on this. The equivalent of .measure in spectre
    is "spectreMDL" (Measurement Description Language). Here's an example netlist:

    *

    simulator lang=spice

    ..model nch nmos level=1 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


    simulator lang=spectre

    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

    //vgssweep sweep dev=vgs param=dc start=0 stop=5 step=0.5 {
    dcAnalysis dc dev=vds start=0 stop=5 step=0.1
    //}

    And here's the MDL file:

    //

    alias measurement findgm {
    run dcAnalysis
    export real maxgm=max(m1:gm)
    }

    foreach channel from swp(start=0.5u, stop=10u, step=0.5u) {
    run findgm
    }

    I then ran:

    spectremdl -batch findgm.mdl -design findgm.scs

    And you get the following output file, findgm.measure:

    Exported variables from PSF results directory: findgm.raw

    date : 5:13:57 PM, Wed Feb 18, 2004
    design : *
    simulator : spectre


    Swept Measurements :
    Measurement Name : findgm
    Analysis Type : dc
    maxgm channel @ 5e-07 = 0.00224
    maxgm channel @ 1e-06 = 0.00084
    maxgm channel @ 1.5e-06 = 0.000516923
    maxgm channel @ 2e-06 = 0.000373333
    maxgm channel @ 2.5e-06 = 0.000292174
    maxgm channel @ 3e-06 = 0.00024
    maxgm channel @ 3.5e-06 = 0.000203636
    maxgm channel @ 4e-06 = 0.000176842
    maxgm channel @ 4.5e-06 = 0.000156279
    maxgm channel @ 5e-06 = 0.00014
    maxgm channel @ 5.5e-06 = 0.000126792
    maxgm channel @ 6e-06 = 0.000115862
    maxgm channel @ 6.5e-06 = 0.000106667
    maxgm channel @ 7e-06 = 9.88235e-05
    maxgm channel @ 7.5e-06 = 9.20548e-05
    maxgm channel @ 8e-06 = 8.61538e-05
    maxgm channel @ 8.5e-06 = 8.09639e-05
    maxgm channel @ 9e-06 = 7.63636e-05
    maxgm channel @ 9.5e-06 = 7.22581e-05
    maxgm channel @ 1e-05 = 6.85714e-05

    Of course, you can do fancier things than this - including automatic stopping of
    simulations when results have been found, searching for results etc.

    It's all covered in the Spectre MDL User Guide and Reference in cdsdoc.

    Regards,

    Andrew.
     
    Andrew Beckett, Feb 18, 2004
    #4
  5. Thank you Andrew.
    While waiting for your answer to arrive, I did a little invesitgation
    of Ocean scripts - and found it extremly usefull for me - so
    eventually I did all my measurments using Ocean. It seems odd ,though,
    I had to include an external scs file which contained only my "save"
    commands, and couldn't do it from inside the script.
    But none the less, it turned out to be much more elegant and straight
    forwrd to do it this way.

    Yahav.
     
    Yahav Bar yosef, Feb 25, 2004
    #5
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.