why can't I sweep the threshold voltage using OCEAN?

Discussion in 'Cadence' started by comp.cad.cadence, Jan 10, 2006.

  1. Hello, everyone

    I tried to sweep the thershold voltage of a transistor against its Vgs
    in DC sweep. But it failed. What I did is like:

    1. set the value for "vgs"
    desVar( "vgs" 1)

    2.set the DC analysis
    analysis('dc ?saveOppoint t ?param "vgs" ? start "0" ?stop "1.8")

    3.plot
    selectResults( 'dcOpInfo )
    plot( pv("/TN0" "vth")

    But the simulaton results tells that the "wave1 is not a waveform
    object that can be displayed and will be deleted automatically. name:
    "0.449******" " It looks like that the result is just a single value
    instead of a vector. So it can't be displayed. But I think that what I
    want should be reasonable technically. Anyone can give give some
    comments? Thanks a lot!

    -Andy
     
    comp.cad.cadence, Jan 10, 2006
    #1
  2. comp.cad.cadence

    JD Guest

    Hi Andy,

    I am not sure why do you want to sweep threshold voltage (vth). vth is
    a process parameter, it depend on a certain process technology and
    length, width of the transistor. You can NOT sweep that because it is
    fixed for a certain transistor if you don't consider mismatch or
    stastical variations.

    The Ocean script you have is sweep vgs not vth.

    JDD
     
    JD, Jan 11, 2006
    #2
  3. comp.cad.cadence

    JD Guest

    I am sorry, vth do vary with vbs (body effect)
     
    JD, Jan 11, 2006
    #3
  4. Yes, but by accessing the dcOpInfo, you're not accessing the results of the dc
    sweep, but the dc operating poiint which is done before you start the sweep -
    which is why you get a scalar value.

    What you need to do is create a file, which contains:

    save TN0:vth

    or even:

    save TN0:eek:ppoint

    and specify this as a model file or include file in your OCEAN script.

    Then you can do:

    selectResults('dc)
    plot(getData("TN0:vth"))

    for example.

    The save statement is needed because operating point data is not saved by
    default in swept analyses (like dc, transient, etc) because of the volume of
    data it would produce (and most of the time people don't want to look at it).

    Another alternative is to do a paramAnalysis() of vgs - and then the pv()
    approach with dcOpInfo that you're using would return a waveform - but
    this is less efficient than doing it via a dc sweep directly as shown above.

    Regards,

    Andrew.
     
    Andrew Beckett, Jan 12, 2006
    #4
  5. Hi, Andrew

    Thanks for your reply. But frankly, I haven't catch up with what you
    said there. I'm still very green with OCEAN :(
    Could you pls explain more at these points:
    1. ...create a file, which contains: save TN0:vth
    2. ...specify this as a model file or include file ... ?

    rgds

    -Andy
     
    comp.cad.cadence, Jan 13, 2006
    #5
  6. Hi, Andrew

    Thanks for your reply. But frankly, I haven't catched up with what you
    said there. I'm still very green with OCEAN :(
    Could you pls explain more at these points:
    1. ...create a file, which contains: save TN0:vth
    2. ...specify this as a model file or include file ... ?


    rgds


    -Andy
     
    comp.cad.cadence, Jan 14, 2006
    #6
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.