仅对英特尔可见 — GUID: ncb1486507554268
Ixiasoft
仅对英特尔可见 — GUID: ncb1486507554268
Ixiasoft
6.16.1. 使用PRBS数据码型生成器和检查器
Standard和Enhanced数据路径间共享PRBS生成器和检查器。因而,只有一组控制信号和寄存器。来自各PCS和共享PRBS生成器的数据线在发送到PMA之前为MUX。使能PRBS生成器后,选择PRBS数据线上的数据被发送到PMA。PCS中的数据或PRBS生成器中生成的数据可在任何时候被发送到PMA。
PRBS生成器和检查器可配置成两种宽度的PCS-PMA接口:10位和64位。PRBS9适用于10-bit和64-bitPCS-PMA宽度。所有其它PRBS码型仅适用于64-bitPCS-PMA宽度。仅当PCS-PMA接口宽度配置成10位或64位才能使用PRBS生成器和检查器码型。对于任何其他PCS-PMA宽度,为确保对PRBS模块提供正确的时钟,使用PRBS生成器和检查器之前,必须将宽度重配置成10位或64位。例如,当收发器配置成20位PCS/PMA接口时,必须在设置PRBS生成器和检查器之前,先将PCS-PMA宽度重配置到10位。PRBS设置将不会自动更改PCS/PMA宽度。
PRBS9的10位PCS-PMA宽度适用于较低频率的测试。基于数据速率,可以在10位或64位宽度中配置PRBS9。FPGA架构-PCS接口必须运行于建议的FPGA核速度范围。因此,必须以两种位宽度模式的其中一种配置PRBS9,从而使FPGA架构-PCS接口并行时钟运行于此操作范围。
实例:
- 如果要使用PRBS9,且数据速率为2.5 Gbps,则可以在10位模式(PCS-PMA宽度 = 10)下使用PRBS9。该情况下,并行时钟频率 = 数据速率 / PCS-PMA宽度 = 2500 Mbps/10 = 250 MHz。
- 如果要使用PRBS9且数据速率为6.4 Gbps,则可以在64位模式(PCS-PMA宽度 = 64)下使用PRBS9。该情况下,并行时钟频率 = 数据速率 / PCS-PMA宽度 = 6400 Mbps/64 = 100 MHz。
- 如果要使用PRBS9且数据速率为12.5 Gbps,则可以在64位模式(PCS-PMA宽度 = 64)下使用PRBS9。该情况下,并行时钟频率 = 数据速率 / PCS-PMA宽度 = 12500 Mbps/64 = 195.3125 MHz。
码型 | 多项式 | 64 位 | 10位 |
---|---|---|---|
PRBS7 | G(x) = 1+ x6 + x7 | X | |
PRBS9 | G(x) = 1+ x5 + x9 | X | X |
PRBS15 | G(x) = 1+ x14 + x15 | X | |
PRBS23 | G(x) = 1+ x18 + x23 | X | |
PRBS31 | G(x) = 1+ x28 + x31 | X |
PRBS检查器具有可用于FPGA架构的控制和状态信号,如下:
- rx_prbs_done—标示PRBS序列已完成一个完整周期。除非使用rx_prbs_err_clr将其复位,否则它一直保持高电平。
- rx_prbs_err—如果发生错误则变为高电平。此信号被脉冲扩展,使您能在RX FPGA CLK域中采集到它。
- rx_prbs_err_clr—用于复位rx_prbs_err signal。
通过Quartus Prime软件中的Native PHY IP参数编辑器使能PRBS检查器控制和状态端口。
使用硬PRBS模块时,请通过PRBS软累加器计算已累加位和错误的数量。有关使用累加器并读取错误值的详细信息,请参阅PRBS软累加器部分。
说明 | 重配置地址 | 重配置位 | 值 | 属性编码 | 属性名称 |
---|---|---|---|---|---|
选择PRBS生成器块 | 0x006 | [2:0] | 3'b100 | prbs_pat | tx_pma_data_sel |
0x008 | [6:5] | 2'b00 | |||
10-bit模式下使能PRBS 9 | 0x006 | [3] | 1'b1 | prbs9_10b | prbs9_dwidth |
64-bit模式下使能PRBS 9 | 1'b0 | prbs9_64b | |||
使能PRBS生成器时钟 | 0x006 | [6] | 1'b1 | prbs_clk_en | prbs_clken |
禁用PRBS生成器时钟 | 1'b0 | prbs_clk_dis | |||
使能PRBS 7码型 | 0x007 | [7:4] | 4'b0001 | prbs_7 | prbs_gen_pat |
0x008 | [4] | 1'b0 | |||
使能PRBS 9码型 | 0x007 | [7:4] | 4'b0010 | prbs_9 | |
0x008 | [4] | 1'b0 | |||
使能PRBS 15码型 | 0x007 | [7:4] | 4'b0100 | prbs_15 | |
0x008 | [4] | 1'b0 | |||
使能PRBS 23码型 | 0x007 | [7:4] | 4'b1000 | prbs_23 | |
0x008 | [4] | 1'b0 | |||
使能PRBS 31码型 | 0x007 | [7:4] | 4'b0000 | prbs_31 | |
0x008 | [4] | 1'b1 | |||
串行器64-bit宽度模式 | 0x110 | [2:0] | 3'b011 | sixty_four_bit | ser_mode |
串行器10-bit宽度模式 | 3'b100 | ten_bit | |||
使能xN非绑定 | 0x111 | [4:0] | 5'b11000 | xN_non_bonding30 | x1_clock_source_sel |
0x119 | [0] | 1'b0 |
说明 | 重配置地址 | 重配置位 | 值 | 属性编码 | 属性名称 |
---|---|---|---|---|---|
使能PRBS检查器时钟 | 0x00A | [7] | 1'b1 | prbs_clk_en | prbs_clken |
禁用PRBS检查器时钟 | 1'b0 | prbs_clk_dis | |||
屏蔽PRBS检查器查看到的初始错误(从错误计数器阈值到1023) | 0x00B | [3:2] | 2'b11 | prbsmask1024 | rx_prbs_mask |
屏蔽PRBS检查器查看到的初始错误(从错误计数器阈值到127) | 2'b00 | prbsmask128 | |||
屏蔽PRBS检查器查看到的初始错误(从错误计数器阈值到255) | 2'b01 | prbsmask256 | |||
屏蔽PRBS检查器查看到的初始错误(从错误计数器阈值到511) | 2'b10 | prbsmask512 | |||
使能PRBS 7码型 | 0x00B | [7:4] | 4'b0001 | prbs_7 | prbs_ver |
0x00C | [0] | 1'b0 | |||
使能PRBS 9码型 | 0x00B | [7:4] | 4'b0010 | prbs_9 | |
0x00C | [0] | 1'b0 | |||
使能PRBS 15码型 | 0x00B | [7:4] | 4'b0100 | prbs_15 | |
0x00C | [0] | 1'b0 | |||
使能PRBS 23码型 | 0x00B | [7:4] | 4'b1000 | prbs_23 | |
0x00C | [0] | 1'b0 | |||
使能PRBS 31码型 | 0x00B | [7:4] | 4'b0000 | prbs_31 | |
0x00C | [0] | 1'b1 | |||
PRBS 9 10-bit | 0x00C | [3] | 1'b1 | prbs9_10b | prbs9_dwidth |
PRBS 9 64-bit | 1'b0 | prbs9_64b | |||
解串因子10-bit模式 | 0x13F | [3:0] | 4'b0001 | 10-bit mode | deser_factor |
解串因子64-bit模式 | 4'b1110 | 64-bit mode |
- 使能Non Bonded设计中的PRBS数据生成器
- 使能Bonded 设计中的PRBS数据生成器
- 使能non bonded设计中的PRBS数据生成器
- 使能bonded设计中的PRBS数据检查器
- 禁用/使能PRBS码型反转
码型生成器和检查器仅支持用于non-bonded通道。如果原设计为bonded且您需要使用PRBS生成器和检查器,则在将x1_clock_source_sel设置更改为xN_non_bonding(通过将5'b11000写入0x119[0],0x111[4:0])之前,必须读取并保存寄存器0x119[0],0x111[4:0]中的值。这样就将设计从bonded更改成为non-bonded。
要禁用PRBS生成器并将设计重新储存回原本的bonded设计,您需要重新储存之前从寄存器0x119[0],0x111[4:0]存储的原始值。