PLL jitter simulation的几个疑问
1.用眼图看PLL的输出,tran仿真,加了器件噪声之后(无法截图,不过用过IC615的应该都知道),眼图显示的jitter只有70ps左右,但是测试结果得到的JC(后一个周期减去前一个周期的差值,然后求平均值)却有200ps到600ps不等,没有测眼图,估计测了更难看。
问题:在tran仿真的眼图结果中,得到的这个jitter有什么意义?
2.看坛子上很多网友会提到noise aware PLL simulation,在看软件安装包里的那个说明文档 spectreRF, 目前碰到的问题是,如何得到各个模块的Verilog-a模型。在帮助文档里提到,用pllMMlib中的各种testbench进行仿真,用ADE-TOOL-RF-XXbench 获得模型。那么问题来了,我在工作目录下存放的子电路如何使用pllMMlib中的testbench.这里的ADE又指的是哪个ADE,是单纯仿真各个子模块的ADE,还是PLL top层的仿真电路。
3.我做的这个PLL是用作时钟发生器的,重点关注jitter。单纯只用cadence平台的软件(木有matlab)能否得到Jc以及Jcc这两个指标,因为这些要写在datasheet上。
真诚期待各位大大能介绍一些简单实用又通俗易懂的procedure。
ps1:翻了论坛里好多关于PLL jitter仿真的讨论,但是都看得云里雾里的。╮(╯▽╰)╭
ps2:目前刚开始摸索仿真,有些个问题同事也不太熟悉,只能自己来。而且工作的地方不能上网,有些问题描述的可能无法太清楚。还请各位见谅。
1. 首先要弄清楚各种jitter的含义,你在仿真加入器件噪声之后得到的结果叠成眼图看到的是TJ,既不是period jitter更不是cycle-cycle jitter。TJ是phase jitter的N周期叠加结果。而你所关注的JC和JCC理论上是phase jitter微分的结果。
phase jitter: 实际时钟的时刻-理想时钟的时刻
period jitter: 实际时钟的周期-理想时钟的周期
c2c jitter: 实际时钟相邻两个周期的差值
2. 仿真中得到的70p TJ看着是合理的。但是你测试出来的200ps~600ps不知道是什么,这个不可能是JC和JCC,JCC如果有这么大那明显pll没有lock。如果是说你测试得到的TJ还是合理的。
3. 用cadence完全可以仿真loop的噪声功率谱密度,但是还是要借助其他数学工具把phase noise积分成你需要的jitter。datasheet用应该写的是测试结果而不是你仿真的结果吧?
测试结果确实是那么大。也确实是cycle to cycle(相邻周期抖动)。现在正在找原因呢。估计是仿真哪里有问题,所以才研究锁相环的仿真。因为输出频率只有300M。所以200ps也认为算是满足要求了。
你中心频率是多少?300M么?还是说300M是分频后的输出?
VCO直接输出300M。没有分频。
标题
仿真能看到什么jitter。如果仿真看到大的jitter,那就先debug看看有什么设计上的问题。
不知道你搞定了没有? 刚抽取过VCO的marco model。1.从pllMMLib里面拷一个vco_bench
2.把你的子电路放到bench调用的那个symbol里(文档里是PLL_VCO2)
3.在RF TOOLs里面enable pll macro model并且选择VCO bench
4.设置参数仿真。
那在流片前如何确定自己的设计是否符合设计指标呢?不通过仿真还有什么办法?
1.用眼图看PLL的输出,tran仿真,加了器件噪声之后(无法截图,不过用过IC615的应该都知道),眼图显示的jitter只有70ps左右,但是测试结果得到的JC(后一个周期减去前一个周期的差值,然后求平均值)却有200ps到600ps不等,没有测眼图,估计测了更难看。
问题:在tran仿真的眼图结果中,得到的这个jitter有什么意义?
tran你是做的tran noise analysis吗?我用的是IC5141,trans noise simulation只是产生噪声随机数,无法仿真出器件噪声对电路的影响。
simulation-noise contribution.不是transient noise
这个噪声随机数是什么意思呢?不太清楚啊。能解释下吗?看那个help文档也看不太懂说的啥。
这个第2步是怎么实现呢?因为自己做的电路肯定还有电源地的pin,但是那个symbol只有输入输出pin啊。这样就能仿真吗?仿真后的macro model 是放在什么位置啊?跟我的子电路放在一个cell里似乎不行啊。
模拟噪声的影响,但噪声的幅度只是用户自己设的,且无法模拟元件的噪声
这个噪声是指的哪种噪声啊?电源噪声还是器件的热噪声或者白噪声啥的?
电源地pin可以加的,不影响仿真。再不行也可以把电源地加在symbol内部。最主要的是testbench的几个port的instance name要对。仿真完了之后会提出来一个.mat文件,要对抽取出来的PPV模型仿真就有把这个.mat文件路径填到symbol里面
对于pll的设计来说tran仿真只是验证pll的功能,能不能正常锁定,lock需要多长时间
pll jitter这个指标需要通过pss仿真得到vco的phase noise,charge pump phase noise,
在通过pll环路参数,计算出pll close loop下的phase noise,自然也就得到pll 的jitter
如果在tran仿真中看到就几十上百ps的jitter,那可能是个function bug
noise aware 这个流程跟你说的这种方法应该类似吧?只不过是通过仿真工具完成了这个计算过程?是不是?
不知道noise aware是个什么东西。反正没人用tran去看pll jitter。
spectreRF自带的一个仿真锁相环的流程,先是各个模块跑pss+pnoise。vco是个table,pfd+cp和divider是verilogA模型。LPF是原电路,将这些模型列在一起再跑pss+pnoise。
目前在实验这个方法,但是还不成功。
标题
直接用matlab算一下就可以了
先仿真得到vco phase noise,然后乘上传输函数
你好。我在提取vco和pfdcp的模型时,需要把ABStol设置为10mV和10mA才行。如果是默认的那些设置,pss仿真不收敛。这种情况大概是因为什么原因呢?
目前我就抽取过VCO的。你有没看过在不抽取Macro Model的时候你的VCO PSS是否收敛?用默认的精度。 PFDCP收敛应该很容易把。
申明:网友回复良莠不齐,仅供参考。如需专业解答,请学习本站推出的微波射频专业培训课程。