• 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. Using pre-defined constants in ADE-L (Analog expressions...

Stats

  • Locked Locked
  • Replies 2
  • Subscribers 125
  • Views 14885
  • 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

Using pre-defined constants in ADE-L (Analog expressions)

mmVivek
mmVivek over 5 years ago

Hi,

The Analog Expression Language Reference manual states that certain constants are pre-defined for use, e.g. boltzmann, charge, pi, sqrt2.

However, attempting to create components that make use of these seems to result in the simulator asking one to define the value of these parameters.
I am curious as to why these constants are not being recognized automatically.
Thanks,
Vivek

  • Cancel
Parents
  • Andrew Beckett
    Andrew Beckett over 5 years ago

    Vivek,

    This is something that broken in the change from "socket" netlisters such as cdsSpice, spectreS, hspiceS to "direct" netlisters such as spectre, hspiceD and so on. These AEL constants were no longer dealt with during net listing, and were just passed through to the simulator. In spectre, the constants are named differently (see "spectre -h constants") to be M_K, M_SQRT2 etc. I found some discussion of this in an old CCR 231925 in which the documentation was supposed to have been updated to reflect that the fact that this was happening, but that seems to have vanished from the documentation too.

    My view is that the spectre netlister should map boltzmann to M_K, pi to M_PI, sqrt2 to M_SQRT2 etc. I would suggest you contact customer support and ask for this to happen (please reference this thread, and ask the application engineer to put me on copy for an Cadence Change Request (CCR) they file).

    In the meantime you might be able to work around it for spectre using M_K, M_SQRT2 in the expression, but this may have issues then when using different simulators - e.g. AMS. Note, I didn't check the behaviour - it's possible that ADE may mistakenly see these as global variables.

    Andrew.

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • mmVivek
    mmVivek over 5 years ago in reply to Andrew Beckett

    Thanks for the detailed response Andrew!

    I have submitted a CCR and requested that you be placed on copy.

    Regards,
    Vivek

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • mmVivek
    mmVivek over 5 years ago in reply to Andrew Beckett

    Thanks for the detailed response Andrew!

    I have submitted a CCR and requested that you be placed on copy.

    Regards,
    Vivek

    • 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