如下波形就是通过时域瞬态仿真控件得到的波形:
值得说明一下波形是通过时间点、电压值的形式给出的,这就涉及到仿真的起始和结束时间,而波形仿真的准确度,这仿真的时间步长有关;
下面看一下同样速率的波形的边沿如果变缓的话,波形如下:
由此可以看出,波形边沿对信号质量的影响;
PRBS电压源的用法
上边对瞬态仿真控件就简单介绍到这里,下面来看一下PRBS电压源的用法;
PRBS码是Pseudo random binary sequence的缩写,即伪随机码,由移位寄存器和异或运算组成,进行异或运算的寄存器称为taps,寄存器的初始值称为seed,PRBS并不是真正的随机码,而是有一定的规律可言的,他的重复bit数为2的n次方-1,例如PRBS7的码型长度为2的7次方-1=127个;
下图是PRBS7的码型:
可以看到,码型具有一定的随机性,同时,在127bit后开始重复码型;
下面看一下,ADS中的PRBS电压源,此激励源中提供了四种输出码型的方式(NRZ),如下图:
下面分别介绍几种码型模式的使用方法:
1、maximal length LFSR:这种方式是根据软件定义好的tap和seed输出码型,用户只需给定register length的长度即可,设置界面和软件定义的PRBS的tap和seed如下图所示:
我们按照这个模式仿真PRBS7和PRBS15,码型如下:
可见不同的register length输出不同的码型;
2、user defined LFSR:用户自定义LFSR,即定义不同的tap和seed,设置界面如下图:
下面我们来分别设置不同的tap和seed,查看输出的码型:
系统默认的tap和seed
Seed和tap都更改
通过更改seed和tap的值,可以看到仿真得到的码型随之改变,因此有些协议里就定义了tap和seed的值,以便通过数学算法得到随机性更好地码型;
3、explicit bit sequence:明确的码型,即按照给定的码型进行输出,设置界面如下:
我们来设置不同的bitsequence,观察仿真结果,如下图:
默认的bitsequence
更改了bitsequence1
通过设置bitsequence模式后,我们更改了bitsequence的值,发现仿真输出的码型和我们设置的一致,且仿真软件是重复我们设置的bitsequence;
4、bit File:即通过定义文件的方式,定义特定码型,文件的格式定义为text即可,设置界面如下:
设置完成后点击ok;码型文件内容如下:
PRBS7
按照如上文件设置的码型进行仿真,波形如下:
BitFile_PRBS7
BitFile_1010
通过上述仿真,我们发现,bitFile模式仿真出来的波形和文件定义的也一样,这种方式本质上和explicit bit sequence定义的码型一样,都是通过定义特定bit流的方式定义输出码型,但是这种通过bitFile的方式定义码型似乎更加方便一些,另外需要注意的是,软件也会重复输出bitFile定义的码型;
通过上述介绍,我们可以通过四种模式定义输出PRBS码型,当然也可以输出其他类型的码型,根据我们的需求选择合适的模式,定义所需要的码型,就可以将PRBS电压源灵活的应用了,下面来看一下,此激励源的去加重如何设置;
去加重的设置界面如下图所示:
设置enableDeEmphasis=yes,即使能去加重;
DeEmphasisMode设置有两项,percent Reduction和dB loss,按照percent Reduction设置,则去加重的大小按照百分比来定义,这个百分比是指有去加重的bit的电压值/没有去加重bit的电压值,也可以按照dB loss来设置去加重的大小,这样设置则将上述的电压比值用20*log(V2/V1)的形式定义;
DeEmphasis:即设置去加重的大小,大小按照上边选择的mode进行对应的设置;
DeEmphasisTap:这个参数是设置去加重在同一个连续电平中实施了几次,具体参看下边的波形;
DeEmphasisSpan:这个参数是定义去加重的bit宽度,span=1,则代表连续电平中除去第一个bit,剩下的bit进行去加重,span=2,则代表连续电平中除去前两个bit,剩下的bit进行去加重,需要注意,这个span的值可以设置小数;
下面来看一下,去加重的波形:
上图是设置了3.5dB去加重之后的波形和原始波形对比,这里是通过dB Loss的方式定义的;
下面看一下3.5dB和6dB去加重的波形对比:
下面看一下dB loss的方式和percent reduction两种方式的对比,波形如下:
如图所示,通过dB loss的方式定义去加重的大小为6.02dB,通过percent reduction的方式定义去加重的大小为50%,可见两种方式定义的去加重本质上是一样的;
下面来看一下DeEmphasisTap的含义:
上图是仿真的tap值分别等于1、2、3的波形,可以清楚看到tap参数的含义和作用;
下面来看DeEmphasisSpan的含义:
上图是仿真的span的值分别等于1、1.5、2的波形,通过仿真的波形可以清楚看到span的含义;
PRBS电压源还有一些基本设置,如速率、边沿时间、延时等参数,就不一一展示了,下面再来看一下几个jitter的设置;
先看Rj的设置,设置界面如上图,enableRJ=yes,即使能Rj,RJrms参数即RJ的RMS值,RJbw参数是设置RJ的频谱范围;
上图是在电压源处设置了RJrms=10ps的jitter值,我们此处大概看看这个值;
上图是在电压源处设置了SJ=100ps的jitter值;
三、基于ADS信号SI和电源PI完整性精选36讲
以上我们把PRBS电压源的基础功能、高阶设置都涉及到了,软件设置如此,具体怎么用,还看仿真的目的和应用,供大家参考。感兴趣的朋友可以在文章末尾点赞和在看,截图发送本公众号,回复 PRBS 我将在24小时内赠送本文模型文件。
本内容也是我的最新推出的视频课《基于ADS信号SI和电源PI完整性精选36讲:反射、串扰、高速串行仿真训练》本套视频通过ADS软件的使用,对SI和PI领域比较全面的进行了仿真研究,内容包含软件基础操作、使用技巧、信号完整性领域、高速串行、电源完整性以及理论知识的讲解,既有广度,又有深度,旨在对同领域人有些许帮助。
以下是课程安排