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

ID 817660
Date 4/07/2025
Public

A newer version of this document is available. Customers should click here to go to the newest version.

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.