• 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,

    Thank you for the reply.   I'll happily provide some context.

    I have a block the output of which is the signal of interest (e.g., bandgap voltage, Vbg).  The block has 5 trim bits, and for each trim code, I want to sweep the temperature (say -40 to 125), and determine which trim code produces lowest Vbg spread over temp.

    I'm running DC sweep setup in ADEXL (test1), with temperature selected as the sweep variable.  I have setup a "corner" in ADEXL where I increment the trim codes, and for each code I calculate an expression spread, which is defined as (ymax(VS("/Vbg")) - ymin(VS("/Vbg"))).  What I would like to do next is calculate min_spread_code=xmin(spread), and assign calcVal("min_spread_code" "test1") to a variable in another test that's to follow.

    Here's where I run into a problem.  I can place the expression xmin(spread) in the calculator after test1 concludes, and get exactly what I want (the minimum of the array), however, when I include that expression in the test setup and hit "run", it attempts (and fails) to calculate it per point, not on the complete distribution.

    David

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

    Hi Andrew,

    Thank you for the reply.   I'll happily provide some context.

    I have a block the output of which is the signal of interest (e.g., bandgap voltage, Vbg).  The block has 5 trim bits, and for each trim code, I want to sweep the temperature (say -40 to 125), and determine which trim code produces lowest Vbg spread over temp.

    I'm running DC sweep setup in ADEXL (test1), with temperature selected as the sweep variable.  I have setup a "corner" in ADEXL where I increment the trim codes, and for each code I calculate an expression spread, which is defined as (ymax(VS("/Vbg")) - ymin(VS("/Vbg"))).  What I would like to do next is calculate min_spread_code=xmin(spread), and assign calcVal("min_spread_code" "test1") to a variable in another test that's to follow.

    Here's where I run into a problem.  I can place the expression xmin(spread) in the calculator after test1 concludes, and get exactly what I want (the minimum of the array), however, when I include that expression in the test setup and hit "run", it attempts (and fails) to calculate it per point, not on the complete distribution.

    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