• 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
  • Andrew Beckett
    Andrew Beckett over 8 years ago

    Alex,

    This is something that is likely to be implemented as a CDF callback for the parameters of the MOS device in the PDK. It's implemented by the foundry themselves - it's not a core function that Cadence provides (we provide the callback mechanism, but a PDK developer can do pretty much what they want in the callback to implement such functionality). Sometimes it might be computed in the device models (particularly if they are subckt models), but most commonly it's done via a CDF callback.

    In essence, in the CDF for each component (Tools->CDF->Edit CDF in the CIW), you can define a SKILL function (the callback) for each CDF parameter, which is called when that parameter is changed through the user interface.

    It is possible to call this procedurally in most cases if you want to do batch updates; you should be able to search (in these forums, or on the Cadence support site support.cadence.com) for either abInvokeCdfCallbacks or CCSinvokeCdfCallbacks (which is the same as my code, but with the prefix changed to follow our normal support site policy). This allows you to update the parameters (or user defined properties) on instances and then call the callbacks afterwards to do any calculation that might normally have been done if you made the change interactively.

    Hope that helps,

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Andrew Beckett
    Andrew Beckett over 8 years ago

    Alex,

    This is something that is likely to be implemented as a CDF callback for the parameters of the MOS device in the PDK. It's implemented by the foundry themselves - it's not a core function that Cadence provides (we provide the callback mechanism, but a PDK developer can do pretty much what they want in the callback to implement such functionality). Sometimes it might be computed in the device models (particularly if they are subckt models), but most commonly it's done via a CDF callback.

    In essence, in the CDF for each component (Tools->CDF->Edit CDF in the CIW), you can define a SKILL function (the callback) for each CDF parameter, which is called when that parameter is changed through the user interface.

    It is possible to call this procedurally in most cases if you want to do batch updates; you should be able to search (in these forums, or on the Cadence support site support.cadence.com) for either abInvokeCdfCallbacks or CCSinvokeCdfCallbacks (which is the same as my code, but with the prefix changed to follow our normal support site policy). This allows you to update the parameters (or user defined properties) on instances and then call the callbacks afterwards to do any calculation that might normally have been done if you made the change interactively.

    Hope that helps,

    Regards,

    Andrew.

    • 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