Pause Frame Reception Enabled - 9.0 English

Tri-Mode Ethernet MAC LogiCORE IP Product Guide (PG051)

Document ID
Release Date
9.0 English

When pause control reception is enabled (see MAC Configuration Registers) and an error-free frame is received by the Ethernet MAC core, the frame decoding functions are performed:

  • The destination address field is matched against the MAC control multicast address or the configured source address for the Ethernet MAC. (see MAC Configuration Registers)
  • The length/type field is matched against the MAC Control type code 88-08.
  • The opcode field contents are matched against the priority-based flow control opcode.

If any of these checks are FALSE or the MAC receiver PFC is disabled, the frame is ignored by the PFC logic and passed to the client.

If the frame passes these checks, that is, minimum legal size or the Control Frame Length Check Disable is set, and the MAC receiver PFC is enabled, then the priority enable field and per priority quanta values are extracted from the frame. If a particular priority is enabled in the frame with a non-zero pause quanta value, the respective rx_pfc_p[0-7]_tvalid output is asserted and the requested quanta value loaded into the control logic for that priority. This control logic consists of a counter, which is loaded with the requested pause quanta value and decrements down to zero. The rx_pfc_p[0-7]_tvalid remains asserted while the local quanta counter is non zero. The local quanta counter does not start to decrement until rx_pfc_p[0-7]_tready is High.

Subsequent de-assertion of rx_pfc_p[0-7]_tready does not stop the quanta expiration. If the quanta counts down to zero, and not refreshed by reception of a new PFC frame with the respective priorities quanta enabled and non-zero, rx_pfc_p[0-7]_tvalid is de-asserted. An example of this is shown in the following figure, which shows the case where only one priority is active in a frame.

Figure 1. RX PFC Frame Reception

If at any time a new PFC frame is received with a priorities quanta enabled and set to zero, this is loaded into the local quanta count which results in the respective rx_pfc_p[0-7]_tvalid signal being de-asserted immediately to re-enable transmission of this particular priority queue.

Because the received PFC frame has been acted on, it is passed to the client with rx_axis_tuser asserted to indicate that it should be dropped.

  • Any frame in which the length/type field contains the MAC Control Type should be dropped by the receiver client logic. All control frames are indicated by rx_statistic_vector bit 20 (see Receive Statistics Vector).