在线咨询 切换到宽版
eetop公众号 创芯大讲堂 创芯人才网

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜帖子
楼主: 半支烟

[求助] 请教DNL/INL的仿真方法

[复制链接]
 楼主| 发表于 2012-5-15 11:28:54 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2012-5-15 15:10:40 | 显示全部楼层
如果是理想的数学模型的话,怎么去拿影响DNL和INL的非理想因素呢?是不是要拿计算机的浮点运算误差来玩?
回复 支持 反对

使用道具 举报

发表于 2012-5-15 16:31:13 | 显示全部楼层
回复 12# amodaman

matlab建模肯定会把cap mismatch, gain error, settling error,甚至cahrge injection这些非理想因素加进去的.
记得这里有Razavi实验室用的pipeline matlab system code
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-5-15 17:25:31 | 显示全部楼层
本帖最后由 半支烟 于 2012-5-16 11:30 编辑


   
回复  半支烟

既然是matlab,不妨多取些点,这么抠门干嘛,才取2-4个点 不行
建议每个code上出 100点 ...
fuyibin 发表于 2012-5-15 00:30




    考虑到失配的随机性,应该跑个几百次,假设为M次,10位的adc。这时候DNL是一个M*1024矩阵。这时候我们取DNL的时候该怎么取?选取每列最大的DNL作为该码的DNL?这样或许会很苛刻。我试着这样做发现对失配的要求相当苛刻,单位电容面积会达到几百um2
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-5-15 17:27:01 | 显示全部楼层


   
如果是理想的数学模型的话,怎么去拿影响DNL和INL的非理想因素呢?是不是要拿计算机的浮点运算误差来玩?
amodaman 发表于 2012-5-15 15:10




    我这里是考量电容失配误差的影响,所以只加了失配进去。
回复 支持 反对

使用道具 举报

发表于 2012-5-15 20:19:48 | 显示全部楼层
回复 13# hsphy


    我很感兴趣这里的模型是怎么建的。因为DNL/INL是统计行为,除非你把非理想因素的统计行为写成了量化分析的传输函数表达式,否则是完全得不出真正意义上的DNL/INL的。统计行为的分析确实需要通过统计仿真来得到,而这样做的计算资源是远远不够的。在测试系统上就不同,我们在很短的时间里面可以从测试仪器上得到大量的码流数据,这样的行为我还不知道怎么仿真出来,想请教一下这里面有经验的同行分享一下。
回复 支持 反对

使用道具 举报

发表于 2012-5-16 01:12:35 | 显示全部楼层
本帖最后由 fuyibin 于 2012-5-17 00:57 编辑

回复 14# 半支烟

其实我也想过这个问题,但是等我想明白这个东西以后,也懒得去做个Model了
这个问题就类似于实际电路仿真中的montle carlo瞬态仿真,然后测量INL/DNL
那么对应到matlab model中, 你就要给 cap 产生一系列的random offset,
然后基于每套offset值,去做瞬态仿真,提取出该套capacitor 对应的INL/DNL
不同的seed就得到不同的offset值, 比如产生1000套offset 值,然后可以得到1000个INL/DNL
这个东西应该就会有个分布, 看看+/-3 sigma在什么范围
这个就可以模拟类似的实际情况
ps:我比较懒,都是自己手算算,跟实际测下来的match就ok了,你要是有兴趣就应该继续做下去
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-5-16 13:32:30 | 显示全部楼层


   
回复  半支烟

其实我也想过这个问题,但是等我想明白这个东西以后,也懒得去做个Model了
这个问题就类似 ...
fuyibin 发表于 2012-5-16 01:12




    我对每个码的M组DNL分析了下,基本都在3sigma范围内。这样的话取这M个DNL中的最大值是可行的。。我电容失配标准差定为0.4%时,run400次,DNL最大为1.5LSB,INL最大超过2LSB。这个跟预期的差别很大啊。
回复 支持 反对

使用道具 举报

发表于 2012-5-16 15:53:15 | 显示全部楼层


   
我对每个码的M组DNL分析了下,基本都在3sigma范围内。这样的话取这M个DNL中的最大值是可行的。。 ...
半支烟 发表于 2012-5-16 13:32



你做的是什么ADC的model? 0.4%的mismatch显得太大了,是sigma还是3sigma?
所有capacitor的random error都是随机的么?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-5-16 19:31:06 | 显示全部楼层
本帖最后由 半支烟 于 2012-5-16 23:16 编辑


   
你做的是什么ADC的model? 0.4%的mismatch显得太大了,是sigma还是3sigma?
所有capacitor的random erro ...
fuyibin 发表于 2012-5-16 15:53




   


差分 sar adc 电荷再分配型,二进制结构。我已经找到问题所在了,是代码出了点问题。下图是跑1000次的结果,每个码的DNL/INL是取这1000次结果中的最大绝对值。INL是DNL累计的结果。怎么感觉INL的图怪怪的?
无标题.png
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

X

手机版| 小黑屋| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-9-13 04:11 , Processed in 0.018396 second(s), 4 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表