最近在进行信号完整性仿真的仿真时,被人问到的码型是什么样子,一下子就有点懵了。发现自己的盲区有多了一块,码型是什么东西?所以上网收集整合了一些资料,发现这些东西都是平常自己用到的,只不过是没有在意。下面简单介绍一下PRBS:
一、PRBS伪随机二进制序列
PRBS:Pseudo Random Binary Signal 也就是我们常说的伪随机码,在DDR的仿真中可以经常被用到。
PRBS 码具有“随机”特性,是因为在 PRBS 码流中,二进制数“ 0 ” 和“ 1 ” 是随机出现的,但是它又和真正意义上的随机码不同,这种“随机”特性只是局部的,即在周期内部,“0”和“1”是随机出现的(码流生成函数与初始码确定后,码流的顺序也是固定的),但各个周期中的码流却是完全相同的,所以我们称其为“”伪随机码。PRBS 码的周期长度与其阶数有关,常用的阶数有 3、7 、 9 、 11 、 15 、 20 、 23 、 31 ,也就是我们常说的 PRBS7 、 PRBS9 、 PRBS11 、 PRBS15 、 PRBS20 、 PRBS23 、 PRBS31 。对于 n 阶 PRBS 码,每个周期的序列长度为 2^n-1 ,在每个周期内,“ 0 ” 和“ 1 ” 是随机分布的,并且“ 1” 的个数较“ 0 ” 的个数多一个,连“ 1 ” 的最大数目为 n ,连“ 0 ” 的最大数目为 n-1( 反转后就是 n-1 个连“ 1 ” 和 n 个连“ 0 ” ) 。
在对高速信号链路进行误码测试时,基本上都是利用 PRBS 码流来模拟真实的线网码流环境,因为在线网中,所有的数据都是随机出现的,没有任何规律可言,而 PRBS 码流在一定程度上具有这种“随机数据”特性,二进制“ 0 ”和“ 1 ”随机出现,其频谱特征与白噪声非常接近(白噪声或白噪音,是一种功率波长谱密度为常数的随机信号或随机过程。
相对的,其他不具有这一性质的噪声信号被称为有色噪声。理想的白噪声具有无限带宽,因而其能量是无限大,这在现实世界是不可能存在的。实际上,我们常常将有限带宽的平整讯号视为白噪音,因为这让我们在数学分析上更加方便)。
PRBS 码流的阶数越高,其包含的码型就越丰富,就越接近真实的线网环境,测试的结果就越准确。
下面是prbs3的简单示意,当然其中还涉及到了移位寄存器和运算器等循环,本文重要是简单介绍PRBS,其中的内部原理大家可以自己研究一下:
二、仿真中的应用
1.在我接触到的DDR4中的信号完整性的仿真中,经常是要查看数据和地址等相关的眼图是否满足要求,所以会在SystemSI中进行模板搭建,然后添加激励设置,每个不同的平台要求不一样,有的是要求跑256bit,有的是1000bit,但是这些码型都是PRBS,如下:
2.下面ADS仿真中用到的PRBS设置,整个属于激励源,不仅可以使用于DDR仿真,也可以用于其他数据模拟使用: