• 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. Plot DNL and INL of DA converter across codes

Stats

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

Plot DNL and INL of DA converter across codes

Cotomaznamenat
Cotomaznamenat over 7 years ago

Hi all,

I'm trying to plot a DNL and INL od DAC across all the codes.
I run simple DC sweep simulation and I already have Calculator expressions for DNL and INL.
Now I would like to run MC simulation and calculate standard deviation of every for every DAC output step to see for which input code change the DNL is the worst.
I know it is possible with Matlab (never tried it) but is it also possible with OCEAN script?
Thanks
Adam

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 7 years ago

    If you do a sweep, and then compute the same expression for DNL, you should see a plot of DNL versus the swept variable - or if you're sweeping over more than one thing, you'll get a family of curves, one for each outer swept variable (with the inner swept variable on the x-axis).

    Sorry not to be more specific, but there wasn't a great deal of information in your post (such as which tool you're using - ADE L, XL, Explorer, Assembler, how you're sweeping things, which versions you're using, and what exactly the expression looks like).

    Regards,

    Andrew.

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • Cotomaznamenat
    Cotomaznamenat over 7 years ago in reply to Andrew Beckett

    Hi Andrew,

    Sorry for not to be more specific. I use DC sweep of voltage source which is input to ideal AD converter which just generate input code for my DUT : DA converter.

    Tools I use : ADE Explorer

    For LSB, DNL and INL extraction I use the following expression. I would like to extract separately GAIN, OFFSET and DNL/INL error not to mix them together. I'm just trying to do a linear interpolation of the DAC output curve and from it calculate OFFSET, DNL and INL.

    Expressions :

    DAC_OUT=VS("/DAC_OUT")        "output of my DAC (voltage or current) used further in the expressions"

    LSB=average(deriv(DAC_OUT))

    OFFSET=average((DAC_OUT - (xval(DAC_OUT) * LSB)))

    Ideal DEC output for calculation of DNL and INL (with OFFSET and GAIN error)

    IDEAL=((xval(DAC_OUT) * LSB) + OFFSET)

    Absolute end relative (to LSB) DNL error

    DNL_abs=(step_DAC_OUT - LSB)

    DNL_lsb=((step_DAC_OUT - LSB) / LSB)

    Absolute end relative (to LSB) INL error

    INL_abs=(DAC_OUT - IDEAL)

    INL_lsb=((DAC_OUT - IDEAL) / LSB)

    With this expressions I'm able to check the DNL and INL of typical run (which is typically quite good :) Now I would like to run 200 Monte Carlo simulations so I will have 200 waves of DNL and INL with DAC input code on X axis.

    I would like to calculate standard deviation for every DAC code across this 200 waves to be able to see for which DAC input code change the DNL is the worst.

    I have tried to do this with EvalType (corners, sweeps, all) but i didn't succeed. I'm wondering if I could do it with Ocean script.

    Thank you

    Adam

    • 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