• 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. RF Design
  3. plot operating region as a function of bias voltage

Stats

  • Locked Locked
  • Replies 7
  • Subscribers 65
  • Views 20006
  • 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

plot operating region as a function of bias voltage

anhnha
anhnha over 11 years ago

 Hi again.

I am trying to plot the operating region of a MOSFET as A FUNCTION of bias voltage. Is there a way to do that?

Thanks.

 

  • Cancel
  • Shady Adly
    Shady Adly over 11 years ago
    Yes, an easy way to do this is to open the calculator, at the top select "op" then select the transistor you want to plot the region for, then from the pop up menu select "region". Then add this expression to your outputs, run a DC sweep on the bias voltage, plot your outputs then you get you get what you need.
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 11 years ago

    Actually this won't work. The operating point data is only saved for dc operating point analyses, not dc sweeps (or tran sweeps). You could get it to work by doing a parametric analysis of the dc operating point, but it's more efficient to tell spectre to save the operating point data all the time for a device. Explanations as to how to do this are scattered all over the place in these forums (and elsewhere), but the basic idea is to create a file called (say) "save.scs" with contents such as this:

    save M1:oppoint

    Reference this file from Setup->Model Libraries or Setup->Environment->Definition Files. Make sure that you've got the name of the instance correct (might be I7.M3 if it's in a hierarchical block, say). See "spectre -h save" for more details on what you can save (you could do "save M0:gm" if you only want the gm.

    Then you can access the results from the results browser after the simulation has completed and send the expression to the calculator to plot or do whatever you want with.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • MADag
    MADag over 4 years ago in reply to Andrew Beckett

    Hi Andrew,

    I tried to do what you have explained. Formed a "save.scs" file which includes the following line:

    >> save PM0:oppoint

    Then referenced this file from Setup -> Model Lİbraries.

    When the simulation has completed, I went to 'Browser > psf > dcOpInfo > instance ("PM0") > mixckt > region' and sent it to Calculator.

    In the Calculator buffer I had seen this expression:
    >> pv("PM0.mxckt" "region" ?region "dcOpInfo")

    When I tried to plot it, it gave me only a scalar number, not even waveform.

    After I generated that "save.scs" file, I did this option, too:
    Went to Calculator, chose 'op', selected the instance, and then selected its DC operating point parameter, which is 'region', and got this expression:
    'OP("/PM0" "region")'

    And again, when I want to plot it I only got a scalar number.

    What was my wrong? I would be pleased if you could direct me thorugh it.

    Kind regards,

    Muhammed

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 4 years ago in reply to MADag

    That's because you're plotting the dc operating point data which is only a single point - you could do that anyway. The save statement is superfluous for the last few years, normally, because there's a built-in way of doing this via Outputs->To be Saved->Select Op Point, and then the OS (for DC sweep) and OT (for transient) operating point data in the calculator. If you're using a really old version (and to be honest, the forum guidelines ask you not to post on the end of old threads like this 7-year-old thread, and you didn't mention the tool versions you're using), then you would do something like:

    pv("/PM0" "region" ?result 'dc)

    However, it looks as if you may have hierarchy within your MOS model, so the best thing to do is to use the results browser to navigate to the component and region parameter within the dc (not dcOpInfo) results and plot that. It's also possible you're not saving the right thing - you should check for warnings in the spectre log - you might need to do:

    save PM0.mxckt:oppoint

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • MADag
    MADag over 4 years ago in reply to Andrew Beckett

    Thanks for reply Andrew.

    I am using version 6.1.8

    When I do Outputs->To be Saved->Select Op Point and then go to calculator ->OS-> the MOS (which I don't think that it has a hierarchy inside) that I want to plot its region, I see this warning in spectre log:
    >>No OS parameters are available for PM0

    and no expression comes to buffer.

    I also used the results browser and navigated within the dc but only saw some voltage signals and currents (I had saved these before I do Outputs->To be Saved->Select Op Point). There were no parameter as 'region'

    Muhammet

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 4 years ago in reply to MADag

    I'm sure the "No OS parameters are available..." message is not appearing in the spectre log (rather it would be the CIW and CDS.log), but I think that's just indicating that the MOS probably has hierarchy (the fact that you did pv("PM0.mxckt" "region" ?result 'dcOpInfo) indicates that there's hierarchy within the model).

    So you may just need to do:

    save PM0.mxckt:region

    in an external file. 

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • MADag
    MADag over 4 years ago in reply to Andrew Beckett

    Yes, you are right. It should be CIW rather than spectre log. Sorry for my mistake. (it would be better if I could learn where to look for spectre log, btw).

    Although I am not objecting you about the MOS having hierarchy, it seem strange to me as I didn't expect a transistor having a subcircuit inside it (Yes, some of them has a subcircuit responsible for its RF behavior but I am not sure if this could be the case here)

    So after applying your suggestion;

    Andrew Beckett said:
    save PM0.mxckt:region

    I start seeing operating point parameters in (Results) Browser->dc->PM0 and I am able to plot 'region' as well.

    Amazing. Thanks for it.

    Kind regards,

    Muhammet

    • 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