• 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 SKILL
  3. How to access the auto calculation command or function of...

Stats

  • Locked Locked
  • Replies 7
  • Subscribers 143
  • Views 4228
  • 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

How to access the auto calculation command or function of some devices' second-order parameters (e.g., SCA), better in command line form?

Alex Liao
Alex Liao over 8 years ago

Hey smart guys,

As you know, if you change the w, l and nf, and enable the WPE effects for lower-than-CMOS90nm technology MOSFET device, you can see the SCA/SCB/SCC are auto-calculated and reflected through the device property window. And if you change w and nf, the SCA dynamically updates. That means, when you change the w and nf, a black box function is called to do the calculation of such second-order parameters. If you only calculate couples of SCA based on few different w and nf, you can let the property window do it for you manually (i.e., GUI-based approach). If you have 1000 test cases, how can you do this? Is there a command line based approach that when you specify a change of w and nf in a netlist maybe, and you proceed to call a certain command or a function to do the calculation of SCA and then get the SCA value back annotated to the netlist to have the netlist consider the WPE effect?

Because the device property window have such dynamics, so behind the GUI, there must be a function called. Or I guess it kind of finds the corresponding SCA value through the foundry provided model. In this case, the Cadence must have a search or map function operated on the foundry model to be dynamic in terms of SCA calculation.

Any knowledge is appreciated.

Thanks,

Alex

  • Cancel
Parents
  • Alex Liao
    Alex Liao over 8 years ago

    Hi Andrew,

    Because I saw the usage as follows in the application note “How to call CDF callbacks procedurally from SKILL?”:

    “Usage

    1. Load the code via the CIW:

    load("CCSinvokeCdfCallbacks.il")

    1. 2.      Open the schematic on which you want to run the code, and then call:

    CCSinvokeCdfCallbacks(geGetEditCellView())

    ”

    Then I thought, oh, this method/function needs to be work with a mouse click~

    But now I understand the geGetEditCellView() is just one way to of fitting parameters to the callback functions. And you have another way to specify a path, anyway.

    Your code actually performs quite well. I only tested the first one and it is enough for my use. Thank you for this and without you I cannot achieve this.

    I also have another scenario of using callbacks. I am not sure if my understanding is correct or not, but it is a general problem.

    In the Cadence ADE Parametric Analysis, if I set ‘nf’ as a variable and then do a sweep nf (1 to 10) on M1, the SCA parameter does not change for every step in the sweep. This proves that the callbacks may not be called for a parameter changes as a user-defined variable. That is, the SCA which should be nf-dependent does not update accordingly. But in order to use Parametric Analysis to generate many sample points, at least one variable has to be given. So how to solve this conflict? Can I force a callback function call inside the Parametric Analysis (seems complicated) or you may have another way to resolve this?

    Like I may want to get a curve which needs many sample points but a manual way of repeatedly running simulation is tedious and time-consuming:

     SCA = function(nf) | w=W/nf, W & L = fixed.

    Thanks,

    Alex

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Alex Liao
    Alex Liao over 8 years ago

    Hi Andrew,

    Because I saw the usage as follows in the application note “How to call CDF callbacks procedurally from SKILL?”:

    “Usage

    1. Load the code via the CIW:

    load("CCSinvokeCdfCallbacks.il")

    1. 2.      Open the schematic on which you want to run the code, and then call:

    CCSinvokeCdfCallbacks(geGetEditCellView())

    ”

    Then I thought, oh, this method/function needs to be work with a mouse click~

    But now I understand the geGetEditCellView() is just one way to of fitting parameters to the callback functions. And you have another way to specify a path, anyway.

    Your code actually performs quite well. I only tested the first one and it is enough for my use. Thank you for this and without you I cannot achieve this.

    I also have another scenario of using callbacks. I am not sure if my understanding is correct or not, but it is a general problem.

    In the Cadence ADE Parametric Analysis, if I set ‘nf’ as a variable and then do a sweep nf (1 to 10) on M1, the SCA parameter does not change for every step in the sweep. This proves that the callbacks may not be called for a parameter changes as a user-defined variable. That is, the SCA which should be nf-dependent does not update accordingly. But in order to use Parametric Analysis to generate many sample points, at least one variable has to be given. So how to solve this conflict? Can I force a callback function call inside the Parametric Analysis (seems complicated) or you may have another way to resolve this?

    Like I may want to get a curve which needs many sample points but a manual way of repeatedly running simulation is tedious and time-consuming:

     SCA = function(nf) | w=W/nf, W & L = fixed.

    Thanks,

    Alex

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data

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