PSS+Pnoise仿真是很多电路要用到的仿真,今天我们详细介绍一下这个仿真。
连续时间电路的noise仿真用noise,因为这些电路有一个固定的dc工作点;周期性电路用PSS+ pnoise,例如开关电容电路、振荡器、PLL等,这些电路的dc点不固定,随着周期的变化dc点在变,PSS的功能就是进行周期稳态分析。
接下来详细介绍一下PSS+Pnoise仿真。
PSS的英文全称是Periodical Steady-State,周期稳态分析。
在virtuoso ADE L中打开PSS仿真,界面如下所示:
1.首先我们要选择engine是Shooting还是Harmonic Balance,这里选择的依据如下:
- 强烈非线性的电路选择Shooting,比如分频器、resonatorless的振荡器、开关电容电路等;
- 较弱非线性的电路选择Harmonic Balance,比如射频前端的LNA、Mixer、LC OSC和xtal OSC等。
2.Beat Frequency设置,这里仿真器可以自动计算也可以人为设置频率。这个设置决定了Shooting阶段的仿真时间,它对应了仿真testbench中所有周期的最小公倍数。如果testbench中激励信号的频率没有整数倍关系或者差距特别大,比如一个是1G,另一个是1.1G,那么它俩的Beat Frequency是100M,那么1G信号pss shooting需要跑10个周期,1.1G需要跑11个周期。一般情况下,需要避免这种设置,因为会很费时间。如果是这种情况,建议使用hb analysis。如果是oscillator仿真,Beat Frequency应当设置成一个估计的频率,该频率设置范围可以在实际震荡频率的0.5-1.5倍之间,可以先跑一个tran仿真估算一下频率是多少。
3.Number of harmonic设置,即谐波个数设置,该数值不会影响PSS shooting的精度,在Pnoise等小信号计算时也会有影响。如果怀疑仿真结果,可以适当增加谐波数,随着谐波数的增加,仿真结果趋向于恒定值。Number of harmonics不要过大,否则会影响仿真速度,使得仿真很慢。大多数电路设置为15已足够。
4.Accuracy Defaults即仿真精度设置,个人偏好是设置为最高conservative,高精度意味着真实,最贴近实际,但是不同电路需要注意积分算法的设置,比如OSC仿真最好用traponly算法,但是conservative默认为gear2only算法,这个需要注意一下,有必要的时候人为改过来。
5.Transient-Aided Options,即跑PSS仿真的之前tran仿真的设置,有3个选项:
- Run Transient=Yes,跑PSS之前先进行一个tran仿真,对应的Stop Time设置成电路稳定时需要的时间,如果不设置默认 Stop Time=0,一般需要先跑个tran看电路大概在多长时间可以settle下来;
- Run Transient=no, PSS之前不跑Tran;
- Run Transiet=Decide automaticaly,仿真器会自动设定一个稳定时间,默认是50个周期。
我自己的话就习惯用Yes,跑PSS之前先跑个tran,这样也可以查看tran波形,有利于debug。
6.如果进行参数扫描,可以在Dynamic parameter中进行设置,如果仿真OSC,那么要在oscillator中将振荡器的输出和地电平名字填上,如下图:
到此为止,PSS设置已完成。
接下来设置Pnoise仿真,界面如下,其中PSS Beat Frequency是PSS设置中的频率,系统自动识别。
1.Output Frequency Sweep Range是在Beat Frequency的偏移频率,一般设置为从1或者0.1开始到一半的Beat Frequency。其中,Sweep Type一般设置为relative,算法采用对数logarithmic。最大边带一般就用默认值就可以了。
2.output如果是电压输出就选电压,如果是电流输出就选probe。
3.Noise Type有2个选项(IC617以后的版本是这样,617以前的版本是3个选项),分别是timeaverage和jitter。
- timeaverage:指的是一个周期内噪声的平均值。
其中,AM表示幅度噪声,PM表示相位噪声。在Contribution Type可以选择你自己关心的种类,或者所有都选上ALL,方便查看。
其中,选中Noise Separation有助于在结果中查看噪声贡献,对电路进行噪声优化。
- sampled(Jitter):此模式下有3个Time Event子分类,分别是Edge Crossing、Edge Delay和Sampled Phase,下面分别介绍一下。
- Edge Crossing:边沿过零分析。其中trigger设置为触发时钟的信息,比如CLK,Edge Direction可以在上升沿rise或者下降fall沿触发,看电路的设计。
(1)Trigger:
新版本允许trigger和measurement信号不同,比如可以将trigger信号设置一个理想的信号,measurement信号设置成电路当中的需要测试的信号。
图中的测量发生在trigger信号第一个rise edge cross 阈值0.5V、再延时9.5ns的时刻。
(2)Sleep Time
trigger信号cross阈值后的延迟时间,假如trigger的时刻是1ns, sleeptime是9.5ns,那么jitter measurement是在10.5ns时进行。
仿真完以后查看结果,在ADE L中的Direct Plot-->Main Form选择PSS或Pnoise,如下图,我们可以选择查看jitter的类型,对于振荡器来说,一般查看Jc比较多。选择好以后点击plot即可。
- Edge Delay:边沿延迟分析:Edge Delay的用法与Edge Crossing设置类似,通过它可以测量两个信号的delay。如果trigger和measure信号相同且edge number一样,但rise direction不同,可以得到duty cycle jitter。
这里主要是看designer主要关注什么指标,如果是关注dutycycle,那么选择Edge Delay比较合适。
- Sampled Phase:采样的相位分析。Sampled phase是可以用来测量固定时刻点的jitter,Samples Per Period是用来指定每周期测量多少个时刻点,Initial Sample Phase是用来指定第一个Sample的时刻。Add Specific Points用来指定特别关注的时刻点。
大家可以看到,Noise Type后面有个Sample Ratio选项,什么意思呢?
该选项主要用在有倍频器的电路中,以下图为例:
用PSS对该电路进行分析时,beat frequency需要设置成fin/8.如果是测量div8输出端的jitter,sample ratio设置成1,如上图所示。
到这里为止,PSS+Pnoise的设置就介绍完了,设置好就可以进行仿真了。针对不同的电路,不同的需求,设置可能会有所不同,但是原理都是大差不差的。
-
振荡器
+关注
关注
28文章
3798浏览量
138797 -
输出电压
+关注
关注
2文章
1083浏览量
37946 -
PSS
+关注
关注
0文章
20浏览量
11881 -
仿真电路
+关注
关注
5文章
82浏览量
33235 -
电容电路
+关注
关注
1文章
11浏览量
3098
发布评论请先 登录
相关推荐
评论