• 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 one expression value to get another expression in...

Stats

  • Locked Locked
  • Replies 6
  • Subscribers 125
  • Views 20381
  • 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 one expression value to get another expression in ADE-L

Jaikrishnan
Jaikrishnan over 5 years ago

Hi,

I have a simple opamp integrator, with input and feedback capacitance (Cin and Cf). I have 2 expressions fot getting settling error voltage at output net and input net.

Settling error(Vin)  - value(VT("/net02") 1.66e-07)

Settling error(Vo) - value(VT("/net3") 1.66e-07)

Now I want to get another expression to find the total charge (Qerror) from each expressions. For that I am using the name of used expressions (Settling error(Vin) and Settling error(Vo)) and multiplying it by the design variables Cf and Cin (VAR("Cin") and VAR("Cf")) . New expression is like this below.

Qerror - (Settling error(Vin) *VAR("Cin") ) + (Settling error(Vo) *VAR("Cf"))

I am not getting any value printed in the expression Qerror

Is there any error that I am doing? Or is it not work in the ADE-L, by just using the signal name?

  • Cancel
Parents
  • ShawnLogan
    ShawnLogan over 5 years ago

    Dear Jaikrishnan,

    Jaikrishnan said:

    I am not getting any value printed in the expression Qerror

    Is there any error that I am doing? Or is it not work in the ADE-L, by just using the signal name?

    I must apologize, but I am not clear on exactly how you are attempting to evaluate your expressions. However, I suspect the context of whatever you are using to evaluate the expression may not correspond to the context you need. Specifically, are your results pointing to both the proper results directory AND the transient results within that directory? If you were to use the getData() function to obtain the value, it requires not only the signal name, but the results and results directory. Hence, the full expressions is:

    net3 = getData("/net3" ?result "tran-tran" ?resultsDir <path to your psf file>)

    If you are evaluating VT("/net3") in an environment where the results or results directory are not known, then the value of VT("/net3") can not be evaluated. Does this make sense? If so and relevant, would you please provide more details exactly how you are attempting to evaluate your expression?

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Jaikrishnan
    Jaikrishnan over 5 years ago in reply to ShawnLogan

    Dear Shawn,

    Just to make it simple. I have 2 signals generated from two expressions. Now I have to add these signals to get another signals

    expression1 = sig1

    expression2 = sig2

    expression3 = sig1+sig2

    can i simply use '+' to add two signals generated from an expression?

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ShawnLogan
    ShawnLogan over 5 years ago in reply to Jaikrishnan

    Dear Jaikroshnan,

    If the two expressions"sig1" and "sig2"  represent waveforms from the same analysis, the sum of the two will also be a waveform.

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Jaikrishnan
    Jaikrishnan over 5 years ago in reply to ShawnLogan

    Dear Shawn,

    Yes, I understand that. I have values for sig1 and 2 obtaining as lets say 20V and 10V. Expression 3 is adding those signals and should give me 30V. I am not getting the added sum of two signals. There is no error in the simulation. When I use the '+' sign in the calculator for adding two sig's it is showing in red colour for the '+' sign. Is there another function like sum or add to get the sum of values of two signals.

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

    If you're going to reference output names with spaces and parentheses in, you'd have to escape the spaces and parentheses in the expression:

    Settling\ error\(Vin\)

    Or it would be simpler if you just used names which started with a letter, then used alphanumeric and underscore characters in the name. Then you don't have to do any of this messing around.

    There's no alternative to the + sign (well there's the plus function, which is identical), but the issue here is probably that the unusual characters are messing up the expression parsing - even if you fix that, the colouring may also be confused.

    Andrew

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

    Thanks Andrew. I will verify that

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

    Thanks Andrew. I will verify that

    • 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