Visible to Intel only — GUID: cni1560534334036
Ixiasoft
Visible to Intel only — GUID: cni1560534334036
Ixiasoft
7.1.1.3. Additional Debug Tools
Use the Hard IP reconfiguration interface and PHY reconfiguration interface on the P-Tile Avalon® -ST IP for PCI Express to access additional registers (for example, receiver detection, lane reversal etc.).
Using the Hard IP Reconfiguration Interface
Refer to the section Hard IP Reconfiguration Interface for details on this interface and the associated address map.
The following table lists the address offsets and bit settings for the PHY status registers. Use the Hard IP Reconfiguration Interface to access these read-only registers.
Offset | Bit Position | Register | |
---|---|---|---|
x16 (Port 0) | x8 (Port 1) | ||
0x0003E8 | 0x0003B0 | [3:0] | Lane select (0x0: Lane 0, 0x1: Lane 1, …, 0xF: Lane15) |
0x0003EA | 0x0003B2 | [0] | RX polarity |
[1] | RX detection | ||
[2] | RX Valid | ||
[3] | RX Electrical Idle | ||
[4] | TX Electrical Idle | ||
0x0003EC | 0x0003B4 | [7] | Framing error |
0x0003ED | 0x0003B5 | [7] | Lane reversal |
- Enable the Hard IP reconfiguration interface (User Avalon® -MM interface) using the IP Parameter Editor.
- Set the lane number for which you want to read the status by performing a read-modify-write to the address hip_reconfig_addr_i[20:0] with write data of lane number on hip_reconfig_writedata_i[7:0] using the Hard IP reconfiguration interface signals.
- hip_reconfig_write_i = 1’b1
- hip_reconfig_addr_i[20:0] = 0x0003E8
- hip_reconfig_writedata_i[3:0] = <Lane number>, where Lane number = 4’h0 for lane 0, 4’h1 for lane 1, 4’h2 for lane 2, …
- Read the status of the register you want by performing a read operation from the address hip_reconfig_addr_i[20:0] using the Hard IP reconfiguration interface signals.
- Enable the Hard IP reconfiguration interface using the IP Parameter Editor.
- Perform read-modify-write to address 0x0003E8 to set the lane number to 0 using the Hard IP reconfiguration interface signals.
- hip_reconfig_write_i = 1’b1
- hip_reconfig_addr_i[20:0] = 0x0003E8
- hip_reconfig_writedata_i[3:0] = 4'h0
- Read the status of the RX detection register by performing a read operation from the address 0x0003E9[1] using the Hard IP reconfiguration interface signals.
- hip_reconfig_read_i = 1’b1
- hip_reconfig_addr_i[20:0] = 0x0003EA
- hip_reconfig_readdata_o[1] = 1'b1 (Far end receiver detected)
Using the Hard IP Reconfiguration Interface to Enable and Read ECRC and LCRC Error Counts
Offset | Bit Positions | Register | |
---|---|---|---|
x16 (Port 0) | x8 (Port 1) | ||
0x000119 | 0x000119 | [0] | Enable CRC Check |
0x000340 | 0x000308 | [1:0] | Event counter clear. Set to 2'b01 to clear the specific event error counter defined in registers 0x00343and 0x00342. Set to 2'b11 to clear all events' error counters. |
[4:2] | Event counter enable. Set to 3'b111. |
||
0x000341 | 0x000309 | [7:0] | Event counter lane select. Set to 0x00. |
0x000342 | 0x00030A | [7:0] | Event number. For LCRC error count, set to 0x01. For ECRC error count, set to 0x02. |
0x000343 | 0x00030B | [7:0] | Group number. For LCRC error count, set to 0x02. For ECRC error count, set to 0x03. |
0x000344 | 0x00030C | [7:0] | Error counter data bits [7:0]. |
0x000345 | 0x00030D | [7:0] | Error counter data bits [15:8]. |
0x000346 | 0x00030E | [7:0] | Error counter data bits [23:16]. |
0x000347 | 0x00030F | [7:0] | Error counter data bits [31:24]. |
- Enable the Hard IP Reconfiguration Interface (User Avalon-MM interface) using the IP Parameter Editor.
- Enable CRC check by performing a read-modify-write to the address p#_hip_reconfig_address[20:0] with write data on p#_hip_reconfig_writedata[7:0].
- Set the group number by performing a read-modify-write to the address p#_hip_reconfig_address[20:0] with write data on p#_hip_reconfig_writedata[7:0].
- Set the event number by performing a read-modify-write to the address p#_hip_reconfig_address[20:0] with write data on p#_hip_reconfig_writedata[7:0].
- Set the event counter lane select by performing a read-modify-write to the address p#_hip_reconfig_address[20:0] with write data on p#_hip_reconfig_writedata[7:0].
- Set event counter enable by performing a read-modify-write to the address p#_hip_reconfig_address[20:0] with write data on p#_hip_reconfig_writedata[7:0].
- Read the error count data by a read operation from the address p#_hip_reconfig_address[20:0].
- Enable the Hard IP Reconfiguration Interface (User Avalon-MM interface) using the IP Parameter Editor.
- Perform read-modify-write to address 0x000119 to enable CRC check.
- p0_hip_reconfig_write = 1’b1
- p0_hip_reconfig_address[20:0] = 0x000119
- p0_hip_reconfig_writedata[7:0] = 8'h01
- Perform read-modify-write to address 0x000343 to set Group number.
- p0_hip_reconfig_write = 1’b1
- p0_hip_reconfig_address[20:0] = 0x000343
- p0_hip_reconfig_writedata[7:0] = 8'h02
- Perform read-modify-write to address 0x000342 to set Event number.
- p0_hip_reconfig_write = 1’b1
- p0_hip_reconfig_address[20:0] = 0x000342
- p0_hip_reconfig_writedata[7:0] = 8'h01
- Perform read-modify-write to address 0x000341 to set Event counter lane select.
- p0_hip_reconfig_write = 1’b1
- p0_hip_reconfig_address[20:0] = 0x000341
- p0_hip_reconfig_writedata[7:0] = 8'h00
- Perform read-modify-write to address 0x000340 to set enable event counter.
- p0_hip_reconfig_write = 1’b1
- p0_hip_reconfig_address[20:0] = 0x000340
- p0_hip_reconfig_writedata[7:0] = 8'h1C
- Read the error counter data by performing a read operation from registers 0x000344, 0x000345, 0x000346, and 0x000347.
Using the PHY Reconfiguration Interface
Refer to the section PHY Reconfiguration Interface for details on how to use this interface.