【模拟IC学习笔记】 PSS和Pnoise仿真

发布时间:2024年01月09日

目录

PSS

Engine

Beat frequency

Number of harmonics

Accuracy Defaults

Run tranisent?的3种设置

Pnoise

type noise

Timeaverage

sampled(jitter)

Edge Crossing

Edge Delay

Sampled Phase

sample Ratio


离散时间网络(开关电容电路)的噪声仿真方法

PSS

PSS,周期稳态分析,当电路的激励信号是周期大信号时,一般需要用PSS来计算电路对周期大信号的响应。

在一个时钟里面,工作点重复出现,周期再重复,工作状态也在重复,所以可以找到这样的稳态的周期。

Engine

SpectureRF提供两种计算周期稳态响应的仿真机制

PSS shooting Newton,shooting是一种时域仿真方法。适用于严重非线性的电路、OSC、开关电容、分频器。

Harmonic Balance(HB)是一种频域仿真方法。适用于轻微非线性电路、RF Transceivers、LNA、 Mixer。

保持默认的Shooting即可,不建议使用pss里面的Harmonic Balance如需使用Harmonic Balance仿真,直接选用Analysis区域的hb。

Beat frequency

  • 决定了pss shooting阶段的仿真时间,它对应了Test-Bench中所有周期信号的最小公倍数。例如在开关电容电路中,输入信号的周期是10us,采样时钟信号是1MHZ,找最小公倍数就是10u,取倒数得到频率,所以Beat frequency就是100KHZ。
  • 如果TestBench中激励信号的频率没有整数倍关系或者差距过大,比如一个是1G,另一个是1.1G,那么它俩的Beat Frequency定100M,那么1G信号pss shooting需要跑10个周期,1.1G需要跑11个周期。一般情况下,需要避免这种设置,因为会很费时间。如果是这种情况,建议使用hb analysis。
  • 多模式分频器的仿真时候也需要注意这一点,因为会有可能模式切换没控制好,电路实际上是在不同的除频/倍频模式下切换。
  • 如果是oscillator仿真, Beat Frequency应当设置成一个估计的频率,该频率设置范围可以在实际震荡频率的0.5~1.5倍之间。

Number of harmonics

  • 谐波数量,该数值不会影响PSS shooting的精度,在Pnoise等小信号计算时也会有影响。基波是由很多谐波组成的,谐波数量越多,拟合出来的基波越准确。
  • 如果怀疑仿真结果,可以适当增加谐波数,随着谐波数的增加,仿真结果趋向于恒定值。
  • Number of harmonics不易过大,否则会影响仿真速度。

Accuracy Defaults

建议在conservative和moderate之间选择,即高精度和中等精度如果moderate和conservative差别不大,建议使用moderate以获得更好的仿真速度。

Run tranisent?的3种设置

Run Transient=Yes,对应的Stop Time设置成电路稳定时需要的时间,即跑多长时间的Tran,如果不设置默认Stop Time=0;

  • Run Transient=no,PSS之前不跑Tran
  • Run Transiet=Decide automatically,仿真器会自动设定一个tstab时间,默认是50个周期。

几点解释:

  • 大多数电路是需要一个瞬态仿真来确定shooting的initial state.可以通过tran analysis来找到这个时间或者直接用decide automatically。
  • 当tstab stop time=0时,仿真器还是会跑一小段时间的transient,该时间一般等于信号源上最长delaytime+1个周期或者4个周期时间,
  1. 驱动电路:1个周期,
  2. 自激电路(VcO etc.):4个周期
  • tstab同样支持dynamic parameter

Pnoise

type noise

不同版本之间的差异:

老版本noise type这里是上表所述的三个选项,新版本是两个选项。

Timeaverage

指的是一个周期内噪声的平均值。


一个包含噪声的信号可以表示成理想的cos波+噪声:

其中am(t)表示AM(幅度)噪声, pm(t)表示PM(相位)噪声;
V0(t)是无噪声信号(例如理想的cos波),\deltav(t)是包含AM和PM的电压噪声;

\deltav(t)可以表示成如下:\deltav(t) = usb(t)+ lsb(t)
USB: Upper Sideband
LSB: Lower Sideband
可以预期USB噪声包含AM噪声和PM噪声,同样LSB噪声也是如此。它们的图示如下:

所以想看USB的时候就选USB,只想看幅度噪声的时候选AM,只想看相位噪声的时候选PM,都想看的时候选ALL。

看哪个器件对噪声贡献大的时候可以勾选noise separation

实例:

勾选noise separation

跑完仿真,打印noise summary

可以看到每个器件的噪声。

sampled(jitter)

旧版本的jitter 和timedomain对应了新版本的sampled

Sampled Jitter引入了三个Timing Event模式:

  • Edge Crossing(老版本也有)
  • Edge Delay:是一个新的feature
  • Sampled Phase:是以前的time domain,使用方法上有一些改进

Edge Crossing

设置详解

  • Trigger:
  1. 当trigger 。
  2. 新版本允许trigger和measurement信号不同,比如可以将trigger信号设置一个理想的信号, measurement信号设置成电路当中的需要测试的信号。
  3. 下图中的测量发生在trigger信号第一个rise edge cross阈值0.5V、再延时9.5ns的时刻。
  • Sleep Time:trigger信号cross阈值后的延迟时间,假如trigger的时刻是1ns,sleeptime是9 5ns,么jitter measurement早在10.5ns进行

下图为在信号第一个上升沿到达0.5V之后再延迟9.5ns取该点的噪声。如果信号高电平是10ns,不能在10ns处取点,应该提前一点点,因此这里选择的是10ns。

设置好之后一定要点一下该界面的add。

查看波形:Direct Plot -> Main Form,选择PSS或者Pnoise

输出结果类型:Trigger的时间"Measurement Selection”也会在该窗口显示出来。

Function:

  • jee是edge-to-edge jitter,phase jitter即绝对jitter
  • jc是cycle jitter,周期jitter
  • jcc是Cycle to Cycle jitter,周期间jitter

如果查看的是积分噪声,在下面可以给出积分的频率范围。

Edge Delay

Edge Delay的用法与Edge Crossing设置类似,通过它可以测量两个信号的Jdelay(delay jitter)。
如果trigger和measure信号相同且edge number一样,但rise direction不同,可以得到duty cycle jitter。

Sampled Phase

Sampled phase是可以用来测量固定时刻点的jitter.

  • Samples Per Period是用来指定每周期测量多少个时刻点
  • Initial Sample Phase是用来指定第一个Sample的时刻点
  • Add Specific Points用来指定特别关注的时刻点
sample Ratio
  • 在Noise Type右边还有一个Sampled Ratio,该选项主要用在有divider/doubler的电路中
  • 用PSS对该电路进行分析时, beat frequency需要设置成fin/8.如果是测量div8输出端的jitter,sample ratio设置成1
  • 分频器或倍频器中使用,比如下图的分频器,第一个框周期是T/8,第二个框周期是T/4,第三个框输出周期是T,由于beat frequency设置的是1/T,但是观测点并不一定是下图第三个框的输出,如果选择第二个框的输出作为观测点的话,那么就要设置sample Ratio=4.

文章来源:https://blog.csdn.net/weixin_42221495/article/details/135466315
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。