# INL/DNL Measurement from Cadence Spectre/Virtuoso Output

1. ## INL/DNL Measurement from Cadence Spectre/Virtuoso Output

Hello,

I want to measure the INL/DNL of an ADC designed in Cadence Spectre/Virtuoso.

I understand the methodology: apply an ideal DAC at the output, apply a ramp signal, or a sine wave and get the output and generate a histogram of the output codes.

My question is: how to I generate a histogram of the output codes - that is - a plot of the code vs. the code density (how many times the code appears) in Cadence Spectre/Virtuoso ? Won't it just generate the output What should I make the output look like in Cadence Spectre/Virtuoso - what format - in order to post-process in MATLAB and get the histogram of the output codes ?

Can I use a Verilog-A block in ahdlLib ? Or is their another method ?

Does anyone have a tutorial, reference, paper or thesis that describes this methodology in Cadence Spectre/Virtuoso ?

Thank you.

•

2. ## Re: INL/DNL Measurement from Cadence Spectre/Virtuoso Output

Originally Posted by Puppet123
I understand the methodology: apply an ideal DAC at the output,
Ideal DAC is not required.

Originally Posted by Puppet123
My question is: how to I generate a histogram of the output codes
- that is - a plot of the code vs. the code density (how many times the code appears)
Both Verilog-A and MATLAB are not required.

3. ## Re: INL/DNL Measurement from Cadence Spectre/Virtuoso Output

Hello,

Thank you - can you re-post the hard copy of your setting of "ADE>Tools>Monte Carlo"? They have been removed from the original post.

So, basically, the procedure is:

1. Run a Monte Carlo analysis of the output of the ADC. This way you get a histogram of the code outputs and how often they appear.
2. Post Process the data directly using your Skill Code.

In the newer versions of Cadence Spectre/Virtuoso, there is a histogram function - is that useful ?

Once I get this histogram, how do I measure the DNL/INL ?

Thank you.

•

4. ## Re: INL/DNL Measurement from Cadence Spectre/Virtuoso Output

INL and static DNL are evaluated by ramp signal drive.
Dynamic DNL is evaluated by histogram for sinusoidal drive.

Before EDA Tool Play, learn how to evaluate ADC by using actual instruments.

5. ## Re: INL/DNL Measurement from Cadence Spectre/Virtuoso Output

Thank you.

So, I use ramp or sine wave drive to determine my output and then use your script to turn it into a histogram in Cadence/Virtuoso?

Then I post-process that histogram plot ?

I think Cadence can generate a histogram plot now, but my question is how to create a plot of codes versus the number of occurrences of that code - in Cadence Spectre/Virtuoso ?

I would use test equipment to do Data Converter measurements but I dont have access to them now, I just have access to EDA tools.

Thank you.

•

6. ## Re: INL/DNL Measurement from Cadence Spectre/Virtuoso Output

Histogram is not required for INL and static DNL.

Surely learn INL and DNL before EDA Tool Play.

https://designers-guide.org/Forum/At...s/hoge_001.jpg

https://designers-guide.org/forum/Ya...num=1563670717
If you truely have MATLAB code for evaluation of INL and DNL, do same thing by Skill language.

However I don’t think you have such code.
I think you can not understand INL and DNL at all.
That’s all.

Hello,

That's all.

Thank you.

8. ## Re: INL/DNL Measurement from Cadence Spectre/Virtuoso Output

Originally Posted by Puppet123