• 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. Custom IC Design
  3. Defining length in an expression to be evaluated

Stats

  • Locked Locked
  • Replies 3
  • Subscribers 125
  • Views 13654
  • 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

Defining length in an expression to be evaluated

canbaltaci
canbaltaci over 13 years ago

Hello,

While writing an expression for a wave in calculator, I would like to ad the length ot a transistor to the expression. How do I do that?

 Best,

Can

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 13 years ago

    The entered length of the device:

    pv("/I7/M1" "l" ?result 'instance)

    or the effective length (see "spectre -h bsim4", for example - relevant help will for the specific model you're using)

    pv("/I7/M1" "leff" ?result 'output)

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • canbaltaci
    canbaltaci over 13 years ago

    When I perform a componenet parameter sweep with DC analysis, it is giving a single output of a specific operationg point (l=5u or leff=4.8...). In my expression I would like to see a parameter "l" which changes with different sweep points. I also created a .scs file to save each operating point for the specific device that I am extracting the waves of parameters.

    Best,

    Can

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 13 years ago

    If you are sweeping the length of the transistor in the dc sweep, then there's no need to explicitly save the l, because it's the x-axis of any curve you get. For example:

     //

    model nch bsim4 type=n

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

    dc dc dev=m1 param=l start=0.5u stop=2u step=0.1u

    save drain gate m1:d

    If in ViVA I plot m1:d, it will be versus l. I can always use the xval() function to get a waveform of the xaxis - e.g. xval(i("m1:d" ?result 'dc)) .

    You can save the operating point info from the transistor (e.g. save m1:oppoint) - but since the length or effective length is not part of the operating point (it won't vary with the operating point), it can't be saved - the only time it would vary is as a result of an explicit sweep, in which case it's in the x-axis as I said earlier.

    Regards,

    Andrew.

    • 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