Packet Reception - 2.4 English - PG169

Integrated Interlaken 150G LogiCORE IP Product Guide (PG169)

Document ID
PG169
Release Date
2024-06-05
Version
2.4 English

The interlaken_0_pkt_mon is responsible for the reception of packets. Typically the packet monitor waits for the GT to get locked and the Interlaken RX to get aligned. After this is done the packet monitor receives a predefined number of packets. The FSM description of each state follows and the state transition that occurs during this process is shown in the following figure.

TOP_IDLE_STATE
By default the FSM is in IDLE state. When the reset_done signal becomes active-High, the FSM moves to GT_LOCK_STATE.
GT_LOCK_STATE
Sets the mon_gt_locked = 1 and rx_busy = 1, and moves to WAIT_RX_ALIGN_STATE.
WAIT_RX_ALIGN_STATE
Wait for the rx_aligned = 1, which indicates the ILKN RX core is aligned, then the FSM moves to ENABLE_PKT_RECV_STATE.
ENABLE_PKT_RECV_STATE
Sets the enable = 1 and moves to PKT_RX_INIT_STATE.
PKT_RX_INIT_STATE
Initializes all signals related to LBUS packet reception and the FSM moves to RECEIVE_STATE.
RECEIVE_STATE
Receives the LBUS packets and compares them with the expected packets. If there is any mismatch, sets the respective error signal.
  • Data mismatch error signal for segment 0: error_rx_data_1.
  • Data mismatch error signal for segment 1: error_rx_data_2.
  • Data mismatch error signal for segment 2: error_rx_data_3.
  • Data mismatch error signal for segment 3: error_rx_data_4.
  • Channel mismatch error signal for segment 0: error_rx_channel_1.
  • Channel mismatch error signal for segment 1: error_rx_channel_2.
  • Channel mismatch error signal for segment 2: error_rx_channel_3.
  • Channel mismatch error signal for segment 3: error_rx_channel_4.
  • mty mismatch error signal: error_rx_mty.

Any assertion of above mentioned error signal will set rx_error_int = 1 and this flag is deasserted only on reset. After receiving all the packets, the FSM moves to DONE_STATE.

DONE_STATE
Sets rx_done_int = 1 and moves to PKT_RECV_MODE_STATE.
PKT_RECV_MODE_STATE
Sets mon_rx_done = 1 and mon_rx_failed to 0 or 1, depending on the rx_error_int signal, and moves to PKT_RESTART_STATE.
PKT_RESTART_STATE
Resets all the signals related to LBUS packet monitor and resets the rx_busy = 0. Waits for the rx_restart_3d = 1 and moves to the TOP_IDLE_STATE.
Figure 1. State Transition Diagram for Packet Monitor