详细介绍一下PSS+Pnoise仿真

电子说

1.3w人已加入

描述

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的设置就介绍完了,设置好就可以进行仿真了。针对不同的电路,不同的需求,设置可能会有所不同,但是原理都是大差不差的。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
评论(0)
发评论
jf_68711946 2023-12-12
0 回复 举报
请问一下有讲USB和AM PM的文档吗 收起回复

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分