• 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
  • Andrew Beckett
    Andrew Beckett over 9 years ago

    Hi David,

    In that case, it sounds as if you need to use the "measurement over corners" capability in ADE XL. For your output min_spread_code, go to the column labelled "EvalType" (which shows "point" - it's probably next to the expression) and click on it until it shows a cyclic field - you can then set it to "corners". For some of the calculator functions, e.g. ymin, ymax, average, stddev and so on, this causes an additional ?overall t argument to be added to the function in the expression. That doesn't happen for xmin or xmax for some reason. 

    In this case it may not be necessary though because xmin would actually be just looking across a simple sweep - so it probably just works. I have some custom code that I wrote when investigating a customer case for a colleague a while back when I realised that xmin didn't support ?overall, but having written it and tested it I decided that in the case I was looking at it wasn't strictly needed. Let's see if this works first, and if not we can try my custom code. 

    Having evaltype of corners causes the expression to be evaluated once at the end of all the corners, rather than per-point. In IC617 in Assembler you have further choices for this field to allow measurements across parameters or measurements across everything, but don't think you need that here.

    Anyway, see if this works to produce a single output from the corners, and then see if that can be passed across as a calcVal to the next test. I'm afraid I didn't have time to try this out this morning, but hopefully it should all just work (fingers crossed).

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Andrew Beckett
    Andrew Beckett over 9 years ago

    Hi David,

    In that case, it sounds as if you need to use the "measurement over corners" capability in ADE XL. For your output min_spread_code, go to the column labelled "EvalType" (which shows "point" - it's probably next to the expression) and click on it until it shows a cyclic field - you can then set it to "corners". For some of the calculator functions, e.g. ymin, ymax, average, stddev and so on, this causes an additional ?overall t argument to be added to the function in the expression. That doesn't happen for xmin or xmax for some reason. 

    In this case it may not be necessary though because xmin would actually be just looking across a simple sweep - so it probably just works. I have some custom code that I wrote when investigating a customer case for a colleague a while back when I realised that xmin didn't support ?overall, but having written it and tested it I decided that in the case I was looking at it wasn't strictly needed. Let's see if this works first, and if not we can try my custom code. 

    Having evaltype of corners causes the expression to be evaluated once at the end of all the corners, rather than per-point. In IC617 in Assembler you have further choices for this field to allow measurements across parameters or measurements across everything, but don't think you need that here.

    Anyway, see if this works to produce a single output from the corners, and then see if that can be passed across as a calcVal to the next test. I'm afraid I didn't have time to try this out this morning, but hopefully it should all just work (fingers crossed).

    Regards,

    Andrew.

    • 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