• 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. converting an analog signal into digital and saving the...

Stats

  • Locked Locked
  • Replies 2
  • Subscribers 125
  • Views 12523
  • 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

converting an analog signal into digital and saving the formula on the ADE outputs

TommasoF
TommasoF over 3 years ago

Hi all,
I am doing a DC simulation and I desire to display the value of an analog signal as 0 or 1 depending on whether the voltage level is 0 or 1.8V.
In a second step I'll need to do that also for a bus of 4 bits.

The equation I am using is the following: numConv(value(awvAnalog2Digital(v("/lna_wrapper/lna1_cg_bias<0>" ?result "dcOp") nil nil 0.9 nil "centre") 0   ) "dec" t)

where first we convert to digital, pick the value and convert the string to decimal.

This equation works only on the calculator, if I send it to the ADS outputs and I evaluate I get an "eval error" (see below).

In the past I used this functions for a transient simulation and it worked, I wonder why now it doesn't on a simple DC sim.

Does anybody have an idea ? I am using Maestro

thanks 

Tommaso

  • Cancel
Parents
  • Andrew Beckett
    Andrew Beckett over 3 years ago

    Hi Tommaso,

    I'm wondering why you have value() around the A2D call? Since there's no time axis, what are you expecting it to find the value at? Without trying this out with an example, I would expect you just need to miss out the value() call.

    Andrew

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

    Hi Tommaso,

    I'm wondering why you have value() around the A2D call? Since there's no time axis, what are you expecting it to find the value at? Without trying this out with an example, I would expect you just need to miss out the value() call.

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
  • TommasoF
    TommasoF over 3 years ago in reply to Andrew Beckett

    yes, maybe that is part of the problem (or the problem ?) 
    When I plot the signal just converted into digital I get the following plot:

    if I try to convert (see equation below) this signal directly into a number I get an "expression evaluation failed" from the calculator:
    numConv(awvAnalog2Digital(v("/lna_wrapper/lna1_cg_bias<0>" ?result "dcOp") nil nil 0.9 nil "centre") "dec" t)

    So I had to first use the "value":


    value(awvAnalog2Digital(v("/lna_wrapper/lna1_cg_bias<0>" ?result "dcOp") nil nil 0.9 nil "centre")  0   )


    which yield this output on the calculator

    and so then I convert into decimal:

    numConv(value(awvAnalog2Digital(v("/lna_wrapper/lna1_cg_bias<0>" ?result "dcOp") nil nil 0.9 nil "centre")  0   ) "dec" t)

    with this output:

    so all this works on the calculator, but not when I send this expression to the ADE output.

    • Cancel
    • Vote Up 0 Vote Down
    • 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