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

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 50805|回复: 116

[转贴] ADC中的动态比较器噪声仿真

[复制链接]
发表于 2020-11-16 09:09:36 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 gpffreedom 于 2020-11-16 09:12 编辑

一篇关于ADC中动态比较器的噪声仿真方法的文章,转自微信公众号:IC宇宙成长记



1.目标
(1)总结动态比较器噪声仿真方法;
(2)就噪声仿真,判断各仿真器仿真结果的可信度,找到仿真的合理方法。
2.仿真方法
根据spectre提供的workshop,动态比较器的噪声仿真有两种基本方式:
(1)trannoise仿真。如下图所示设置,设动态比较器的比较时钟周期为2ns,将仿真时长设为2us,能保证1000次比较结果。Noise Fmax设为100G。扫描比较器的输入差分值,当误码率达到16%,则输入差分值对应噪声分布的δ。
640?wx_fmt=png.jpg

(2)pss+pnoise仿真。如下图所示设置,将pss的BeatFrequency设为500M,与时钟频率相同,Number of harmonics设为100。需要重点说明的是pnoise的设置,这关系到该方法的核心思想。该仿真的方法基于如下思路:当设置一个输入差分值,比如vip-vin=0.8mV,则由于比较器的正反馈,输出会最终稳定在一对高低电平。实际上,噪声所影响的是比较器的稳态建立过程,而稳态建立后的噪声则不会对结果有影响。因此,仿真大信号周期内的平均噪声并不准确,而应该是上述建立过程中的噪声。因此,在Noise Type对应的选项中选择jitter。通过在Threshold Value设置电压值,比如48mV,Crossing Direction设置上升沿或下降沿,则仿真会在差分输出电压为48mV对应的时刻点计算噪声。此时对应的输入输出增益为48mV/0.8mV=60,将仿真得到的噪声电压除去增益,即得到对应的输入噪声。
640?wx_fmt=png.jpg

按照上述思路,使用hspice进行网表仿真也有对应的两种方式,对应的仿真方法如下:
(1)trannoise仿真
.tran 0.1n 2u sweep dif 0.35m 0.55m 0.05m
.trannoise v(outp,outm) fmax=100G
.PROBE trannoise onoise
.PROBE tran v(outp,outn)
(2)ptdnoise仿真
.SN tones=5e8 nharms=100 trinit=2n
.MEASURESN thre_time when v(latchp,latchn)=48m rise=1
.PTDNOISEv(latchp,latchn) TIME=thre_time dec 100 1 5e8
+listfreq=(all)
+listcount=3
+listsources=ON
.PROBE  PTDNOISE ONOISE
.PROBESN  v(latchp,latchn)
.MEASUREPTDNOISE strobejit STROBEJITTER onoise FROM = 1 TO =5e8
下面便根据这两种仿真方式,根据仿真工具的仿真结果,判断仿真工具的准确度,并确定最终的仿真方式
3.仿真结果对比
spectre工具:
首先是spectre工具的trannoise仿真结果:
640?wx_fmt=png.jpg

统计出各输入差分值对应的误码率如下:
输入差分值
0.35m
0.4m
0.45m
0.5m
0.55m
误码率
22.8%
19.9%
16.7%
13.2%
10.6%
因此输入噪声约为0.45mV。
然后是spectre工具的pnoise仿真结果,将仿真的阈值分别设为48mV和240mV,比较得到的输入噪声。
640?wx_fmt=png.jpg


阈值
48m
240m
Unit
输出噪声
36.16
153.4
mV
输入噪声
0.60
0.51
可见,pnoise仿真和trannoise仿真结果接近,且输出噪声随输入差分值的变化比例接近,因此较为合理。
hspice工具:
首先是hspice工具的trannoise仿真结果:
640?wx_fmt=png.jpg

输入差分值
0.35m
0.4m
0.45m
0.5m
0.55m
误码率
19.5%
17.2%
14.1%
11.9%
9.9%
因此输入噪声在0.4mV~0.45mV间。与spectre的仿真结果接近。
然后是hspice工具的ptdnoise仿真结果,将仿真的阈值分别设为48mV和240mV,比较得到的输入噪声。
640?wx_fmt=png.jpg

阈值
48m
240m
Unit
输出噪声
70.93
88.58
mV
输入噪声
1.18
0.295
可见,ptdnoise仿真和trannoise仿真结果有所差距,且输出噪声随输入差分值的变化比例也不一致,因此ptdnoise仿真结果可信度低。
4.结论
就动态比较器的输入噪声而言,pss+pnoise仿真,spectre的仿真结果合理,hspice的仿真结果不合理;trannoise仿真,spectre的仿真结果比hspice的更接近pnoise的仿真结果,因此更准确。

参考
1.HSPICE Reference Manual:Commands  and Control Options.pdf
2.HSPICE User Guide RF Analysis.pdf
3.Art Schaldenbrand . A New Methodology forDynamic Comparator Noise
4.Cadence: ADC Verification Workshop
5.宇文青霜. Comparator 动态噪声的仿真

发表于 2020-11-16 13:13:29 | 显示全部楼层
不错,学习一下
发表于 2020-12-18 17:27:35 | 显示全部楼层
不错不错
发表于 2020-12-21 19:06:39 | 显示全部楼层
不错不错
发表于 2020-12-29 14:54:01 | 显示全部楼层
很有帮助
发表于 2020-12-29 15:29:13 | 显示全部楼层
tran noise是最无脑,最花时间,但最准确的噪声仿真方式。
发表于 2021-1-27 15:18:26 | 显示全部楼层
想请教一下,比较器结果出来的图如何处理得到误码率,萌新请教

点评

选择plot/print vs.为cycle,这样横坐标就是正跳变的个数,再将结果用xmax函数计算,即可算出来正跳变个数  发表于 2024-9-30 16:19
出来的是有正有负跳变的脉冲,只需要数正跳变的个数,再用总个数减掉就得到了负跳变的个数。数正跳变的个数可以用cross函数,选择plot/print vs.为c...  发表于 2024-9-30 16:18
发表于 2021-1-28 16:22:15 | 显示全部楼层
请问一下这个tran noise仿真的误码率是怎么算的?
 楼主| 发表于 2021-1-28 18:29:44 | 显示全部楼层


wyazmg 发表于 2021-1-28 16:22
请问一下这个tran noise仿真的误码率是怎么算的?


可以根据比较器的时钟速率采样比较结果,然后用matlab或者excel统计误码的数量。
发表于 2021-2-8 14:30:19 | 显示全部楼层
Thanks for your sharing
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-11-5 19:28 , Processed in 0.027486 second(s), 7 queries , Gzip On, Redis On.

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