GTS Transceiver PHY User Guide: Agilex™ 5 FPGAs and SoCs

ID 817660
Date 4/07/2025
Public

Visible to Intel only — GUID: uns1708648603472

Ixiasoft

Document Table of Contents

3.14.2. GTS Attribute Access Method

Using the GTS attribute access method, you update the GTS PMA registers to configure hardware with a specific sequence of commands.
For example, you can configure serial internal loopback, TX and RX polarity inversion using the GTS attribute access method. The GTS attribute access method consists of 4 steps in a sequence as shown below:
  1. Write a data value to the LINK_MNG_SIDE_CPI_REGS register to assert a service request.
  2. Read the PHY_SIDE_CPI_REGS register to confirm the request has been acknowledged and completed; if not, repeat this step.
  3. Write a data value to the LINK_MNG_SIDE_CPI_REGS register to deassert the service request.
  4. Read the PHY_SIDE_CPI_REGS register to confirm the request in step 3 has been acknowledged; if not, repeat this step.
Table 74.  GTS Attribute Access Addresses for JTAG Master that Controls 8 Channels (Enable separate Avalon interface per PMA = OFF)
Channels LINK_MNG_SIDE_CPI_REGS Address PHY_SIDE_CPI_REGS Address
Channel 0 0x000A403C 0x000A4040
Channel 1 0x001A403C 0x001A4040
Channel 2 0x002A403C 0x002A4040
Channel 3 0x003A403C 0x003A4040
Channel 4 0x004A403C 0x004A4040
Channel 5 0x005A403C 0x005A4040
Channel 6 0x006A403C 0x006A4040
Channel 7 0x007A403C 0x007A4040
Table 75.  GTS Attribute Access Data Value 1
  Loopback Mode TX and RX PRBS Selection Polarity Setup 41 BER Measurement Start/Stop Test
Data field[31:16]

Enable serial loopback: 0x6

Enable TX to RX parallel loopback: 0x4

Enable RX to TX parallel loopback: 0x3

Disable loopback: 0x0

PRBS7: 0x208

PRBS9: 0x249

PRBS13: 0x965

PRBS15: 0xA69

PRBS23: 0x2CB

PRBS31: 0x30C

Reverse: 0x1

Revert back: 0x0

0x14

Start: 0x20

Stop: 0x21

Option field [15:12]

Bit [15] SERVICE_REQ to indicate a request: 0 = no request, 1 = service requested.

Bit [14] RESET: 0 = not in reset, 1 = in reset.

Bit [13] SET_GET: 0 = GET parameters, 1 = SET parameters.

Bit [12]: reserved

Lane number field[11:8] Use 0xA5000[1:0], 0x1A5000[1:0]… 0x7A5000 [1:0] to read back logical lane 0, 1 until lane 7 ’s physical lane number.
  • If return value is 2’b00, physical lane is 0
  • If return value is 2’b01, physical lane is 1
  • If return value is 2’b10, physical lane is 2
  • If return value is 2’b11, physical lane is 3
Opcode field[7:0] 0x40 0x41

TX polarity: 0x65

RX polarity: 0x66

0x45 0x0F
Note: 0x0F is not equivalent to 0xF
Table 76.  GTS Attribute Access Data Value 2
  Get Status Error Number to Inject Enable Error Injection Read Results Finish BER Measurement
Data field[31:16]

0x0

0x[Error_Num]

0x23

0x0

0x0

Option field [15:12]

Bit [15] SERVICE_REQ to indicate a request: 0 = no request, 1 = service requested.

Bit [14] RESET: 0 = not in reset, 1 = in reset.

Bit [13] SET_GET: 0 = GET parameters, 1 = SET parameters.

Bit [12]: reserved

Lane number field[11:8] Use 0xA5000[1:0], 0x1A5000[1:0]… 0x7A5000 [1:0] to read back logical lane 0, 1 until lane 7 ’s physical lane number.
  • If return value is 2’b00, physical lane is 0
  • If return value is 2’b01, physical lane is 1
  • If return value is 2’b10, physical lane is 2
  • If return value is 2’b11, physical lane is 3
Opcode field[7:0] 0x49: Get Test status

0x0D: Get PMA status

0x42 0x0F
Note: 0x0F is not equivalent to 0xF
  • LSB: 0x4A
  • Middle: 0x4B
  • MSB: 0x4C
0x41
Table 77.  GTS Attribute Access Data Value 3
  RX CDR Clock
Data field[31:16]

Bit [31:30]: Lane ID to use as source for rx_cdr_divclk_link0

Bit [29]:

1'b1: Enable rx_cdr_divclk_link0

1'b0: Disable rx_cdr_divclk_link0

Bit [28:25]: Read only for GET command to return the lane ID source

0x0: rx_cdr_divclk_link0 is enabled with lane 0 as source

0x1: rx_cdr_divclk_link0 is enabled with lane 1 as source

0x2: rx_cdr_divclk_link0 is enabled with lane 2 as source

0x3: rx_cdr_divclk_link0 is enabled with lane 3 as source

0xF: rx_cdr_divclk_link0 is disabled

Bit [24:16]: Reserved

Option field[15:12]

Bit [15] SERVICE_REQ to indicate a request: 0 = no request, 1 = service requested.

Bit [14] RESET: 0 = not in reset, 1 = in reset.

Bit [13] SET_GET: 0 = GET parameters, 1 = SET parameters.

Bit [12]: reserved

Lane number field[11:8] Use 0xA5000[1:0], 0x1A5000[1:0]… 0x7A5000 [1:0] to read back logical lane 0, 1 until lane 7 ’s physical lane number.
  • If return value is 2’b00, physical lane is 0
  • If return value is 2’b01, physical lane is 1
  • If return value is 2’b10, physical lane is 2
  • If return value is 2’b11, physical lane is 3
Opcode field[7:0] 0xB1
You can create a function to write data, or read to and from GTS attribute access addresses. The data is comprised of data field[31:16], option field[15:12], lane number field[11:8], and opcode field[7:0]. The following examples use the tcl process as shown below:
proc attribute_access {{data field} {option field} {lane number field} {opcode field}}
You can use any programming language to perform the read and writes. For the other GTS PMA lanes, refer to GTS Attribute Access Addresses for JTAG Master that Controls 8 channels for LINK_MNG_SIDE_CPI_REGS and PHY_SIDE_CPI_REGS, and refer to GTS Attribute Access Data Value 1 for lane number field information.
41 This feature support is preliminarily and not supported in hardware in the current Quartus® Prime Pro Edition software release.