仅对英特尔可见 — GUID: nik1398707199759
Ixiasoft
仅对英特尔可见 — GUID: nik1398707199759
Ixiasoft
6.16.1. 使用PRBS数据码型生成器和检查器
PRBS生成器和检查器在Standard和Enhanced数据通路之间是共享的。因此,它们只有一组控制信号和寄存器。各种PCS和共享PRBS生成器中的数据线在发送到PMA之前是MUX的。使能PRBS生成器时,PRBS数据线上的数据被选中发送到PMA。要么PCS中的数据或PRBS生成器中生成的数据可以在任何时候被发送到PMA。
PRBS 生成器和检查器可以配置为两种宽度的PCS-PMA接口:10位和64位。PRBS9适用于10位和64位的PCS-PMA宽度。所有其它的PRBS码型仅在64位的PCS-PMA宽度中才适用。PRBS生成器和检查器码型仅在PCS-PMA接口宽度配置成10位或64位才能使用。对于任何其他的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软核累加器部分。
重配置地址 (HEX) | 重配置位 | 属性名 | 相关地址 | 属性编码 | 位编码 | 说明 |
---|---|---|---|---|---|---|
0x006 | [2:0] | tx_pma_data_sel | 0x8 | prbs_pat | 3'b100 | 选择PRBS生成器模块 |
[3] | prbs9_dwidth | prbs9_10b | 1'b1 | 在10位模式下使能PRBS9 | ||
prbs9_64b | 1'b0 | 在64位模式下使能PRBS9 | ||||
[6] | prbs_clken | prbs_clk_dis | 1'b0 | 禁用PRBS生成器时钟 | ||
prbs_clk_en | 1'b1 | 使能PRBS生成器时钟 | ||||
0x007 | [7:4] | prbs_gen_pat | 0x8 | prbs_7 | 4'b0001 | 使能PRBS7码型 |
prbs_9 | 4'b0010 | 使能PRBS9码型 | ||||
prbs_15 | 4'b0100 | 使能PRBS15码型 | ||||
prbs_23 | 4'b1000 | 使能PRBS23码型 | ||||
prbs_31 | 4'b0000 | 使能PRBS31码型 | ||||
0x008 | [4] | prbs_gen_pat | 0x7 | prbs_7 | 1'b0 | 使能PRBS7码型 |
prbs_9 | 1'b0 | 使能PRBS9码型 | ||||
prbs_15 | 1'b0 | 使能PRBS15码型 | ||||
prbs_23 | 1'b0 | 使能PRBS23码型 | ||||
prbs_31 | 1'b1 | 使能PRBS31码型 | ||||
[6:5] | tx_pma_data_sel | 0x6 | prbs_pat | 2'b00 | 使能PRBS生成器 | |
0x110 | [2:0] | ser_mode | sixty_four_bit | 3'b011 | 64位模式 | |
ten_bit | 3'b100 | 10位模式 | ||||
0x111 | [4:0] | x1_clock_source_sel | 0x119 | xn_non_bonding60 | 5'b11000 | 使能xn non bonding |
重配置地址 (HEX) | 重配置位 | 属性名 | 相关地址 | 属性编码 | 位编码 | 说明 |
---|---|---|---|---|---|---|
0x00A | [7] | prbs_clken | prbs_clk_dis | 1'b0 | 禁用PRBS检查器时钟 | |
prbs_clk_en | 1'b1 | 使能PRBS检查器时钟 | ||||
0x00B | [3:2] | rx_prbs_mask | prbsmask1024 | 2'b11 | 计数器阈值为1023 | |
prbsmask128 | 2'b00 | 计数器阈值为127 | ||||
prbsmask256 | 2'b01 | 计数器阈值为255 | ||||
prbsmask512 | 2'b10 | 计数器阈值为511 | ||||
[7:4] | prbs_ver | 0xC | prbs_7 | 4'b0001 | 使能PRBS7码型 | |
prbs_9 | 4'b0010 | 使能PRBS9码型 | ||||
prbs_15 | 4'b0100 | 使能PRBS15码型 | ||||
prbs_23 | 4'b1000 | 使能PRBS23码型 | ||||
prbs_31 | 4'b0000 | 使能PRBS31码型 | ||||
0x00C | [0] | prbs_ver | 0xB | prbs_7 | 1'b0 | 使能PRBS7码型 |
prbs_9 | 1'b0 | 使能PRBS9码型 | ||||
prbs_15 | 1'b0 | 使能PRBS15码型 | ||||
prbs_23 | 1'b0 | 使能PRBS23码型 | ||||
prbs_31 | 1'b1 | 使能PRBS31码型 | ||||
[3] | prbs9_dwidth | prbs9_10b | 1'b1 | 10位PRBS9 | ||
prbs9_64b | 1'b0 | 64位PRBS9 | ||||
0x13F | [3:0] | deser_factor | 10 | 4'b0001 | 10位模式 | |
64 | 4'b1110 | 64位模式 |
- 使能non bonded设计中的PRBS数据生成器
- 使能bonded设计中的PRBS数据生成器
- 在non bonded设计中使能PRBS数据检查器
- 在bonded设计中使能PRBS检查器
- 使能PRBS码型反转