原创 高速接口中的PRBS模块的设计

2014-2-8 22:02 3005 28 28 分类: FPGA/CPLD 文集: Altera高速接口

高速接口中的PRBS模块的设计

KevinWan

 

在高速设计中为了测试高速串行通道传输的误码率,通常通过发送PRBS码来进行测试。

原理:用生成函数产生一段随机码流,然后按周期循环。

PRBS码的周期长度与其阶数有关,常用的阶数有791115202331
对于nPRBS码,每个周期的序列长度为2^n-1

在每个周期内,“0”“1”是随机分布的,并且“0”“1”的个数相等。

连续个“1”的最大数目为n,连续个“0”的最大数目为n-1(反转后就是n-1个连“1”n个连“0”)

 在对高速信号链路进行误码测试时,基本上都是利用PRBS码流来模拟真实的线网码流环境,因为在线网中,所有的数据都是随机出现的,没有任何规律可言,而PRBS码流在一定程度上具有这种随机数据特性,二进制“0”“1”随机出现,其频谱特征与白噪声非常接近。PRBS码流的阶数越高,其包含的码型就越丰富,就越接近真实的线网环境,测试的结果就越准确。

一个PRBS序列可以串/并转换成多路(24816…路),每路输出的速率降低,但仍然保持原序列的一切特征;反之,同一时钟源低速率多路(24816…路)同一n数的PRBS可以经并/串转换成高速率的nPRBS

本文采用Verilog来设计PRBS模块,可以通过外部的参数配置输出prbs7, prbs9, prbs15, prbs23, prbs31

20140208214540222001.png

20140208214548494002.png

20140208214557422003.png

 

   TX_Data <= PRBS_reg[PRBS_WIDTH-1:0];
 end
end

assign PRBS_Data = TX_Data;

endmodule

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
28
关闭 站长推荐上一条 /3 下一条