User Interface - 3.3 English

40G/50G High Speed Ethernet Subsystem v3.3 Product Guide (PG211)

Document ID
PG211
Release Date
2023-11-01
Version
3.3 English

A simple handshaking protocol is used to alert you of the reception of pause packets using the ctl_rx_pause_enable[8:0], stat_rx_pause_req[8:0] and ctl_rx_pause_ack[8:0] buses. For both buses, Bit [8] corresponds to global pause packets and bits [7:0] correspond to priority pause packets.

The following steps occur when a pause packet is received:

  1. If the corresponding bit of ctl_rx_pause_enable[8:0] is 0, the quanta is ignored and the 40G/50G High Speed Ethernet Subsystem stays in step 1. Otherwise, the corresponding bit of the stat_rx_pause_req[8:0] bus is set to 1, and the received quanta is loaded into a timer.
    Note: If one of the bits of ctl_rx_pause_enable[8:0] is set to 0 (that is, disabled) when the pause processing is in step 2 or later, the 40G/50G High Speed Ethernet Subsystem completes the steps as normal until it comes back to step 1.
  2. If ctl_rx_check_ack input is 1, the 40G/50G High Speed Ethernet Subsystem waits for you to set the appropriate bit of the ctl_rx_pause_ack[8:0] bus to 1.
  3. After you set the proper bit of ctl_rx_pause_ack[8:0] to 1, or if ctl_rx_check_ack is 0, the 40G/50G High Speed Ethernet Subsystem starts counting down the timer.
  4. When the timer times out, the 40G/50G High Speed Ethernet Subsystem sets the appropriate bit of stat_rx_pause_req[8:0] back to 0.
  5. If ctl_rx_check_ack input is 1, the operation is complete when you set the appropriate bit of ctl_rx_pause_ack[8:0] back to 0.

If you do not set the appropriate bit of ctl_rx_pause_ack[8:0] back to 0, the 40G/50G High Speed Ethernet Subsystem deems the operation complete after 32 clock cycles.

The preceding steps are demonstrated in the following figure with each step shown on the waveform.

Figure 1. RX Pause Interface Example Page-1 Sheet.1 Sheet.2 Sheet.3 Sheet.4 Sheet.5 Sheet.6 Sheet.7 Sheet.8 Sheet.9 Sheet.10 Sheet.11 Sheet.12 Sheet.13 stat_rx_pause_req[n] stat_rx_pause_req[n] Sheet.14 Sheet.15 Sheet.16 Sheet.17 Sheet.18 stat_rx_pause_ack[n] stat_rx_pause_ack[n] Sheet.19 Sheet.20 Sheet.21 Sheet.22 Sheet.23 1 1 Sheet.24 Sheet.25 Sheet.26 Sheet.27 Sheet.28 2 2 Sheet.29 Sheet.30 Sheet.31 Sheet.32 Sheet.33 3 3 Sheet.34 Sheet.35 Sheet.36 Sheet.37 Sheet.38 4 4 Sheet.39 Sheet.40 Sheet.41 Sheet.42 Sheet.43 Sheet.44 Sheet.45 Sheet.46 Sheet.47 Sheet.48 Sheet.49 Received quanta period Received quanta period Sheet.50 Sheet.51 Sheet.52 Sheet.53 Sheet.54 5 5 Sheet.55 Sheet.56 Sheet.57 Sheet.58 Sheet.59 Sheet.60 Sheet.61 Sheet.62 Sheet.63 Sheet.64 Sheet.65 Sheet.66 Sheet.67 X16602-032916 Sheet.68 Sheet.69 Sheet.70 Sheet.71 Sheet.72 X16602-080621

If at any time during step 2 to step 5 a new pause packet is received, the timer is loaded with the newly acquired quanta value and the process continues.