• 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. Virtuoso ADE Assembler - expression evaluation error: *Error...

Stats

  • Locked Locked
  • Replies 4
  • Subscribers 125
  • Views 4189
  • 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

Virtuoso ADE Assembler - expression evaluation error: *Error* eval: undefined function - ciwMenuInit

dr3patel
dr3patel over 1 year ago

Tool: Cadence Virtuoso ICADVM20.1-64b.500.27,  ADE Assembler - Maestro 

My single-point DC simulations work fine and all the expressions (i.e. OP("/P0" "gm") etc.) work fine. However, when I try to do the variable sweep DC simulation, I get the "eval error" for the expression evaluation of Operating point sweep (OS) parameters. I checked the 'Expression Evaluation Log' by right-clicking the 'eval err' > 'view log messages' and it shows " *Error* eval: undefined function - ciwMenuInit" (see attached screenshot below)

My expression consists of the following OP parameters: 

OS("/P0" "gm") 

OS("/P0" "vth")

OS("/P0" "gds")

OS("/P0" "cds")

etc. 

All the DC sweep simulations finish fine without any simulation errors as monitored through the simulation log window (also shown in the attached screen shown above). 

I noticed very unsual behavior as follows: When I click on the red colored 'eval err' of any expression such as OS("/P0" "gm"), it will in fact show the correct results in a plot. I confirmed this from the result browser. So, I believe, the expression was evaluated but somehow still labels it as 'eval err'.

Another weird thing I noticed is that when I include the DC variable sweep simulations, it also shows 'eval err' for all the other expressions NOT associated with DC sweep as well. For example, having as simple as (2+2) shows up with 'eval err'. However, when I remove the DC sweep simulation and their associated expressions, the rest of the expressions work fine (i.e. (2+2) would print 4. 

Let me know how to overcome this weird error. thanks!

Dhruv Patel

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 1 year ago

    Dhruv,

    The ciwMenuInit() is a red herring I believe, as for me having that in my .vdsinit gives the error in the expression log but does not trigger an eval err. It's probably caused by having your .vdsinit and .cdsinit either linked together or one loading the other, which is not the intended usage - however, I don't think that's your problem.

    I can't reproduce the problem with ISR27, even if I turn off saving of the oppoint outputs (if I do that, I only get eval error on the OS() outputs).

    I would suggest you contact customer support (submit a case after logging in).

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • dr3patel
    dr3patel over 1 year ago in reply to Andrew Beckett

    hmm. Ok - will submit the case through customer support. Thanks, Andrew. 

    Dhruv 

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • dr3patel
    dr3patel over 1 year ago in reply to Andrew Beckett

    Hi,

    I had a quick meeting with the Cadence support and they were able to solve this issue by making me append the following line in my .cdsinit file.

    envSetVal("maestro.exprEval" "binaryName" 'string "virtuoso")

    This solved my expression evaluation issue. 

    Thanks!

    Dhruv

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 1 year ago in reply to dr3patel

    Dhruv,

    I'm not convinced that's a desirable solution - since the whole point of the expression evaluation being done via "vds" rather than "virtuoso" is that it's more lightweight to start than virtuoso. It's a workaround, sure, but not sure it's the best approach. You might want to find out from the AE if this recommendation is to workaround a known issue, or if there's some other reason why the default "vds" won't work in your case.

    Andrew

    • 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