• 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. calculator expression to compare wreal value with voltage...

Stats

  • Replies 2
  • Subscribers 125
  • Views 656
  • Members are here 0

calculator expression to compare wreal value with voltage value

Monica123
Monica123 7 days ago

Hello

I am working on testbench to compare wreal models with schematic output, to verify behavior of wreal models with schematic.

using following calculator expression in Virtuoso to subtract schematic output from wreal output, getting output which does not look right when compare with waveform.

clip((VT("/Ildo_bmod/vref_adck_out_ana") - VT("/Ildo/vref_adck_out_ana")) start_enable_adck end_enable_adck)

VT("/Ildo_bmod/vref_adck_out_ana") wreal value is constant over period of time 614m

VT("/Ildo/vref_adck_out_ana") schematic output is also constant to 616 mv during same period time

subtraction of above signals during same period of time gives ramp output, following are the waveform

I am not sure what exactly I am doing wrong, is there different function, which should be used to compare wreal with voltage

Thanks

  • Cancel
  • Sign in to reply
  • Andrew Beckett
    Andrew Beckett 5 days ago

    The issue is that ViVA automatically plots wreal signals as type Sample Hold and the points are relatively sparse on the waveform. What will be happening is that between the actual events on the wreal signal, the subtraction will interpolate the values between those events - in other words the waveform itself is not treated as Sample Hold during numeric operations.

    I have a calculator function in this article How to hold the value of each point of a waveform so that the dft function does not interpolate between points abHoldPoints which could (I think) solve this - it certainly did in an experiment I just tried. You'd do: 

    clip((abHoldPoints(VT("/Ildo_bmod/vref_adck_out_ana")) - VT("/Ildo/vref_adck_out_ana")) start_enable_adck end_enable_adck)

    The code in the article can be added to the calculator and expression builder using the "fx" button in the function panel in the calculator, or the + button in the expression builder.

    I should update the article to cover this additional usage of the function (or write a new article which refers to it).

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Monica123
    Monica123 3 days ago in reply to Andrew Beckett

    Thanks Andrew

    it was helpful

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • 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