如何通过GTM Digital monitor读RX Equalizer

作者:Simon Li,AMD工程师;来源:AMD开发者社区

有时候在debug GT的时候,需要用Digital monitor读出RX equalizer的code,本篇文章以US+的GTM为例子,提供了一个步骤,详细寄存器可以参考UG581.

1. Select DRP和Dmonitor port

2. Dmonitor port,用DRP CLK接上Dmonitorclk_in,通过逻辑或者ILA来对dmonitorout_out采样读取。

3. DRP读写寄存器,以CH0为例地址操作如下,CH1的地址将0x0xx改为0x2xx。

CH0:
1)0x082[0] = 1’b1; DMON_ENABLE, Enables digital monitor for channel 0/1.
0x082[2:1] = 2’b00; DMON_SRC, Enables RX DMON path for channel 0/1. Must be set to 2'b00 when reading RX adaptation loops.
0x082[3] =1’b0; DMON_FIFOBYPASS, Enables RX DMON path for channel 0/1. Must set to 1'b0 when reading RX adaptation loops.

2)0x045[13] = 1’b1; Set to 1'b1 when reading DFE adaptation loops.

3)0x033[15] = 1’b0, Set to 1'b0 to read DFE/FFE data.

4)0x033[14:12] =
=3'b100, 选DFE data.
=3'b110, 选FFE data.

5) 读DFE:0x046[15:12]: Selector to monitor DFE adaptation loops for channel 0/1. See output using CH[0/1]_DMONITOROUT port.
a. = 4'b0000; 读[15:3] - H1_BINDACH1_BINDAC
b. = 4'b0001; 读[30:25] - GC_BINDAC;[15:10] - KH_BINDAC
c. = 4'b0010; 读[30:25] - KL_BINDAC; [14:8] - OS_BINDAC

6) 读FFE配置0x05C[13:12]=2’b10;Set to 2'b10 when reading FFE adaptation loops.

7) 读FFE; 0x05C[7:3]:
a. = 5'b00001,读
[28:23] - FFE_HM4
[22:18] - FFE_HP10
[17:13] - FFE_HP09
[12:8] - FFE_HP08
[7:3] - FFE_HP07
b. =5'b00010 读
[31:26] - FFE_HP06
[25:20] - FFE_HP05
[19:13] - FFE_HP04
[12:6] - FFE_HP03
c. = 5'b00011 读
31:24] - FFE_HP02
[23:16] - FFE_HM01
[15:9] - FFE_HM02
[8:3] - FFE_HM03

Channel 1:DRP地址从0x0xx改为0x2xx
• 0x282[0]: DMON_ENABLE
• 0x282[2:1]: DMON_SRC
• 0x282[3]: DMON_FIFOBYPASS
• 0x245[13]: TESTEN
• 0x233[14:12]: DEMONCON
• 0x233[15]: CLKSEL
• 0x25C[13:12]: TESTC
• 0x246[15:12]: DFELOOPSEL
• 0x25C[7:3]: FFELOOPSEL

最新文章

最新文章