• 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. passing global variable to ADE output

Stats

  • Locked Locked
  • Replies 12
  • Subscribers 125
  • Views 13807
  • 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

passing global variable to ADE output

TommasoF
TommasoF over 3 years ago

Hi all,

in ADE assembler I defined a global variable named "active_port" which value is changing from corner to corner


The ADE test is made up by a DC+ SP simulation. In the ADE outputs I defined a bunch of equations as shown below.


Now, my wish would be to have the index of the equations to change according to the corner, like shown in the example here below, where instead of having the number "hard-coded" I enter the variable I desire.


When evaluating the equation I get an "eval err". I tried in several ways using "value", "leafValue" but so far it didn't workout.

So then I tried to evaluate the variable itself

and  I see that the variable has some independent variable included (see green arrow below), which probably cause the trouble I have. I was looking for ways to just extract the scalar value being displayed, but I found no means to do it.


I hope the problem statement is clear. Any idea on how to fix it ?

thanks!
Tommaso

  • Cancel
Parents
  • ShawnLogan
    ShawnLogan over 3 years ago

    Dear Tommaso,

    TommasoF said:
    and  I see that the variable has some independent variable included (see green arrow below), which probably cause the trouble I have.

    1. Please indicate what the active_port expression you defined as an output appear as in your Results - not what is indicated in the ViVA plot. In a results tab in Assembler where I specify an expression as VAR("my_design_variable"), the value of "my_design_variable" for each corner is shown as detailed in Figure 1. 

    2. Do you get an error when you move your spm() expression to the Calculator and try to evaluate it (or simply use the expression editor)?

    3. Have you tried defining a new output with the expression VAR("your_design_varable") and then use the name of this output as the argument to your spm() based expression?

    Shawn 

    Figure 1

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • FormerMember
    FormerMember over 3 years ago in reply to ShawnLogan

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • TommasoF
    TommasoF over 3 years ago in reply to FormerMember

    Hi Shawn,
    I created a simple TB and here the result:





    I tried also in the calculator, but it returns this result:


    nevertheless, when I plot the value in the table, I do see that it is NOT an integer, whereas "spm" accept only "integers" (see error message above).
    So the problem seem to be here.


    Now, assuming I am on the right path, the next problem is that I don't manage to convert the number into an integer. "t5" gives an eval_error. I also tried to add the double quote as indicated, but it does not help. Also in the calculator does not work

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Saloni Chhabra
    Saloni Chhabra over 3 years ago in reply to TommasoF

    Hi,

    I checked that an enhancement CCR is already in place for this request, but it isn't yet planned. As a workaround, can you try defining the function int around VAR("") e.g.

    spm('sp 1 int(VAR("act")))

    Regards,

    Saloni

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • TommasoF
    TommasoF over 3 years ago in reply to Saloni Chhabra

    great, thanks!

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • TommasoF
    TommasoF over 3 years ago in reply to TommasoF

    interestingly enough, I restarted Virtuoso and the solution that was previously working, no longer works. I started Virtuoso over again, but it does not help.



    so the formula is like suggested: spm('sp 1 int(VAR("act"))).
    No error being displayed, but when I evaluate, I do not get the "Sxx_formula" plotted (see further below)



    and no errors being displayed on the CIW.


    but when I try to plot using the calculator I do get this error message:


    Any idea of what could help here ?
    thanks!

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • TommasoF
    TommasoF over 3 years ago in reply to TommasoF

    Hello everybody, 
    any hint on the problem above ?
    If I use the function "value" around this equation then it works, but of course it produces only a scalar.  it seems to be a bug.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Saloni Chhabra
    Saloni Chhabra over 3 years ago in reply to TommasoF

    Can you try descending into Explorer and check if the expressions plot?

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • TommasoF
    TommasoF over 3 years ago in reply to Saloni Chhabra

    yes, in Explorer  the plot works

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • TommasoF
    TommasoF over 3 years ago in reply to TommasoF

    Is there any chance to get it run also in Assembler ?

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • TommasoF
    TommasoF over 3 years ago in reply to TommasoF

    Is there any chance to get it run also in Assembler ?

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
  • Andrew Beckett
    Andrew Beckett over 3 years ago in reply to TommasoF
    TommasoF said:
    Is there any chance to get it run also in Assembler ?

    As Saloni mentioned before, there's an enhancement CCR to get this resolved. Please contact customer support and request that a duplicate is filed (I didn't check what the CCR number is).

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • TommasoF
    TommasoF over 3 years ago in reply to Andrew Beckett

    this has fixed the problem
    https://support.cadence.com/apex/ArticleAttachmentPortal?id=a1Od0000005cdBYEAY&pageName=ArticleContent 

    • 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