Ethernet Subsystem Intel® FPGA IP User Guide

ID 773413
Date 12/08/2023
Public

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

Document Table of Contents

4.3.1.5. set_hssi_profile for F-Tile

This SAL command is used to program the profile information to the DR CSR registers and set the Trigger Reconfig bit to start the DR sequence. The DR completion status is reflected in HSSI Command/Status CSR bit [3:2] with error indication shown in bit 4. This set_hssi_profile SAL command is executed in HW and not through SAL NIOS firmware to avoid extra latency introduced in the DR sequence.
Table 22.   set_hssi_profile
SAL command Write CSR Read CSR (polling) CSR Values
set_hssi_profile

HSSI Command/Status [0:0] = 0 (read command)

HSSI Command/Status [1:1] = 1 (write command)

HSSI Command/Status [2:2] = 0 (reset ACK_TRANS)

HSSI Command/Status [3:3] = 0 (not busy)

HSSI Command/Status [0:0] = 0 (read command)

HSSI Command/Status [1:1] = 1 (write command)

HSSI Command/Status [2:2] = 1 (transfer completed)

HSSI Command/Status [3:3] = 0 (not busy)

dyn_rcfg_dr_trigger_reg [0:0] - Trigger Reconfig
set_hssi_profile dyn_rcfg_dr_next_profile_0_reg [18:18] - Disable CPI command = 1 (simulation), 0 (silicon)
[17:17] - Start up IP restore indicator = 0
[16:16] - Final State Neutral Profile Indicator = 1
HSSI Write Data[19:15] = 0 [15:15] - Next Profile 0 Indicator = 0 (active profile)
HSSI Write Data[14:0] - Next Profile 0 N/A [14:0] - Next Profile 0
set_hssi_profile HSSI Write Data[19:15] = 2 dyn_rcfg_dr_next_profile_1_reg [31:31] - Next Profile 2 Indicator = 0 (active profile)
HSSI Write Data[14:0] - Next Profile 2 [30:16] - Next Profile 2
set_hssi_profile HSSI Write Data[19:15] = 1 [15:15] - Next Profile 1 Indicator = 0 (active profile)
HSSI Write Data[14:0] - Next Profile 1 [14:0] - Next Profile 1
set_hssi_profile HSSI Write Data[19:15] = 4 dyn_rcfg_dr_next_profile_2_reg [31:31] - Next Profile 4 Indicator = 0 (active profile)
HSSI Write Data[14:0] - Next Profile 4 [30:16] - Next Profile 4
set_hssi_profile HSSI Write Data[19:15] = 3 [15:15] - Next Profile 3 Indicator = 0 (active profile)
HSSI Write Data[14:0] - Next Profile 3 [14:0] - Next Profile 3
: : : : :
set_hssi_profile HSSI Write Data[19:15] = 1D Profile Selection Register (0x200)

profile_sel[5:0]

profile_sel[1:0] indicates sum of bandwidth (BW) of all active ports in selected profile
  • 2’b00 – Max BW in Reconfig Group
  • 2’b01 – Max BW / 2 in Reconfig Group
  • 2’b10 – Max BW / 4 in Reconfig Group
  • 2’b11 – Special rate (like 40GE)
profile_sel[3:2] indicates number of XCVR lanes which are active in selected profile
  • 2’b00 – Max no of lanes in Reconfig Group
  • 2’b01 – Max no of lanes / 2 in Reconfig Group
  • 2’b10 – Max no of lanes / 4 in Reconfig Group
profile_sel[5:4] indicates number of active ports in selected profile
  • 2’b00 – 1 port
  • 2’b01 – 2 ports
  • 2’b10 – 4 ports

FGT:

25GE-1 Reconfigurable

6’b00_00_00 - “1x25GE-1/10GE-1”

(use 0x208 for 10GE/25GE selection)

50GE-1 Reconfigurable

6’b00_00_00 - “1x50GE-1”

6’b00_00_01 - “1x25GE-1/10GE-1”

(use 0x208 for 10GE/25GE selection)

100GE-4 Reconfigurable

6’b00_00_00 - “1x100GE-4”

6’b00_00_11 - “1x40GE-4”

6’b00_01_00 - “1x100GE-2”

6’b01_00_00 - “2x50GE-2”

6’b01_01_00 - “2x50GE-1”

6’h10_00_00 - “4x25GE-1/10GE-1”

(use 0x208 for 10GE/25GE selection)

100GE-2 Reconfigurable

6’b00_00_00 - “1x100GE-2”

6’b00_00_01 - “1x50GE-2”

6’b01_00_00 - “2x50GE-1”

6’b01_00_01 - “2x25GE-1/10GE-1”

(use 0x208 for 10GE/25GE selection)

400GE-8 Reconfigurable

6’b00_00_00 - “1x400GE-8”

6’b01_00_00 - “2x200GE-4”

6’b10_00_00 - “4x100GE-2”

200GE-4 Reconfigurable

6’b00_00_00 - “1x200GE-4”

6’b00_00_01 - “1x100GE-4”

6’b01_00_00 - “2x100GE-2”

6’b01_00_01 - “2x50GE-2”

6’b10_00_00 - “4x50GE-1”

FHT:

50GE-1 Reconfigurable

6’b00_00_00 – “1x50GE-1”

6’b00_00_01 - “1x25GE-1”

100GE-4 Reconfigurable

6’b00_00_00 - “1x100GE-4”

6’b00_01_00 - “1x100GE-2”

6’b00_10_00 – “1x100GE-1”

6’b01_00_00 - “2x50GE-2”

6’b01_01_00 - “2x50GE-1”

6’h10_00_00 - “4x25GE-1”

100GE-2 Reconfigurable

6’b00_00_00 - “1x100GE-2”

6’b00_01_00 – “1x100GE-1”

6’b00_00_01 - “1x50GE-2”

6’b01_00_00 - “2x50GE-1”

6’b01_00_01 - “2x25GE-1”

100GE-1 Reconfigurable

6’b00_00_00 – “1x100GE-1”

6’b00_00_01 - “1x50GE-1”

6’b00_00_10 - “1x25GE-1”

400GE-4 Reconfigurable

6’b00_00_00 - “1x400GE-4”

6’b00_00_01 - “1x200GE-4”

6’b01_00_00 - “2x200GE-2”

6’b01_00_01 - “2x100GE-2”

6’b10_00_00 - “4x100GE-1”

200GE-4 Reconfigurable

6’b00_00_00 - “1x200GE-4”

6’b00_01_00 - “1x200GE-2”

6’b00_00_01 - “1x100GE-4”

6’b01_00_00 - “2x100GE-2”

6’b01_01_00 – “2x100GE-1”

6’b01_00_01 - “2x50GE-2”

6’b10_00_00 - “4x50GE-1”

200GE-2 Reconfigurable

6’b00_00_00 - “1x200GE-2”

6’b00_00_01 - “1x100GE-2”

6’b00_00_10 - “1x50GE-2”

6’b01_00_00 - “2x100GE-1”

6’b01_00_01 - “2x50GE-1”

set_hssi_profile HSSI Write Data[19:15] = 1E 10GE/25GE Selection Register

sel_25g_10g [3:0]

User to set these bits to select 10GE or 25GE for the active ports in the selected profile. Bit definition as below.

1’b0 – 25GE is selected

1’b1 – 10GE is selected

Bit 0 – Select 25GE/10GE for Port 0

Bit 1 – Select 25GE/10GE for Port 1

Bit 2 – Select 25GE/10GE for Port 2

Bit 3 – Select 25GE/10GE for Port 3

Note that the port specific bits only apply to the active ports in the selected profile.

This register is applicable only to the following profiles in FGT Reconfig Groups:
  • 4x 25GE/10GE profile in 100GE-4 Group
  • 2x 25GE/10GE profile in 100GE-2 Group
  • 1x 25GE/10GE profile in 25GE-1 & 50GE-1 Group

This register is not applicable for any FHT Reconfig Groups as 10GE rate is not supported by FHT

set_hssi_profile HSSI Write Data[19:15] = 1F - dyn_rcfg_dr_avmm_timeout_reg HSSI Write Data[31:0]