• 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. How to use calculator functions like value(), cross(), or...

Stats

  • Locked Locked
  • Replies 0
  • Subscribers 125
  • Views 5091
  • 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

How to use calculator functions like value(), cross(), or abCrossTwoWaves() for array-like signals?

DomiHammerfall
DomiHammerfall over 1 year ago

Dear community

Suppose I have an instance with input signal vin and output signal vout. I want to measure the voltage of vin whenever vout crosses a certain threshold, e.g. 0.6V.

Case 1 - single event

For a single event, I can measure the crossover time with

cross(VT("/vout") 0.6 1 "rising" nil nil nil)

Then, I can extract the input voltage with

value(VT("/vin") cross(VT("/vout") 0.6 1 "rising" nil nil nil))

Case 2 - multi event

For multiple crossover events, the cross() function still works, i.e.

cross(VT("/vout") 0.6 1 "rising" t "time" nil)

but the extraction of the input voltage requires the abCrossTwoWaves function (can be downloaded from the Cadence homepage):

abCrossTwoWaves(VT("/vout") VT("/vin") 0.6 "rising")

Now suppose that I have 64 identical instances. vout becomes vout<63:0> and vin becomes vin<63:0>. Above's calculations cannot handle array-like inputs, except for cross() which works well as long as the threshold is the same for all signals.. What is the correct usage of the calculator for both cases mentioned above when I have arrays of signals?

  • 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