• 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. expression to get a scalar after a sweep

Stats

  • Locked Locked
  • Replies 8
  • Subscribers 126
  • Views 19586
  • 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

expression to get a scalar after a sweep

davidzti
davidzti over 9 years ago

Hello,

I found some info on this subject posted a few years ago, but wasn't able to find a definitive solution.  I've been trying to get a scalar output from a sweep and use it in other tests via calcVal function, similar in spirit to these couple posts:

https://community.cadence.com/cadence_technology_forums/f/38/t/30795

https://community.cadence.com/cadence_technology_forums/f/38/t/17712

However, I can't figure out how to do it!  I wanted to ask if this functionality is available (to evaluate expression on a data set, vs on a per-point basis)?  If so, would someone kindly advise on how I can accomplish this?  (I'm on 6.1.6).

Many thanks in advance,

David

  • Cancel
Parents
  • davidzti
    davidzti over 9 years ago

    Hi Andrew,

    I gave your suggestion a try, and sure enough, it worked!  Thank you for that pointer.  Changing the EvalType to "corners" produced a scalar min_spread_code, and placed its value in the "Nominal" column in the Results tab.  So far so good  I then assigned calcVal("min_spread_code" "test1") to a variable trim_code in a downstream test (let's say test2), and attempted to re-run the sweep using min_spread_code as the optimal trim code.  But sims always error out complaining that I'm passing "nil" to variable trim_code.  I'm hoping it's just a matter of syntax.  I also tried using calcVal("min_spread_code" "test1" ?cornerName "Nominal"), but to no avail.

    The only other thing I can think of is that both test1 and test2 rely on the variable trim_code, and somehow this creates a problem.  In test1, I use it in the corner setup as means to increment trim codes while sweeping temperature.  In test2 I want to assign the best trim code to it, and re-run the sweeps.  Perhaps I'm using the calcVal feature incorrectly?

    David

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • davidzti
    davidzti over 9 years ago

    Hi Andrew,

    I gave your suggestion a try, and sure enough, it worked!  Thank you for that pointer.  Changing the EvalType to "corners" produced a scalar min_spread_code, and placed its value in the "Nominal" column in the Results tab.  So far so good  I then assigned calcVal("min_spread_code" "test1") to a variable trim_code in a downstream test (let's say test2), and attempted to re-run the sweep using min_spread_code as the optimal trim code.  But sims always error out complaining that I'm passing "nil" to variable trim_code.  I'm hoping it's just a matter of syntax.  I also tried using calcVal("min_spread_code" "test1" ?cornerName "Nominal"), but to no avail.

    The only other thing I can think of is that both test1 and test2 rely on the variable trim_code, and somehow this creates a problem.  In test1, I use it in the corner setup as means to increment trim codes while sweeping temperature.  In test2 I want to assign the best trim code to it, and re-run the sweeps.  Perhaps I'm using the calcVal feature incorrectly?

    David

    • 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