The Interlaken IP core design example provides example logic to include the out-of-band flow control functionality. You can find this logic in the following location: <design_example_installation_dir>/example_design/rtl. The RX out-of-band flow control module is called ilk_oob_flow_rx and the TX out-of-band flow control is called ilk_oob_flow_tx. Alternatively, you can design and implement your own custom out-of-band control logic. The optional out-of-band flow control interface conforms to the out-of-band requirements in Section 5.3.4.2, Out-of-Band Flow Control, of the Interlaken Protocol Specification, Revision 1.2. This optional feature is intended for applications that require transmission rate control.
Figure 19. Out-of-Band Flow Control Block Interface This figure lists the signals on the four interfaces of the out-of-band flow control block.
The out-of-band flow control block is provided as two separate modules that can be connected to the Interlaken IP core and user logic. You can optionally instantiate these blocks in your own custom logic. To enable the use of these out-of-band modules, the signals on the far left side of the figure must be connected to user logic, and the signals on the far right side of the figure should be connected to the complementary flow control blocks of the Interlaken link partner.
You must connect the out-of-band flow control receive and transmit interface signals to device pins.
Table 16. Out-of-Band Flow Control Block Clocks
Clock Name |
Interface |
Direction |
Recommended Frequency (MHz) |
Description |
rx.fc_clk |
RX Out-of-band |
Input |
100 |
Clocks the incoming out‑of‑band flow control interface signals described in the Interlaken specification. This clock is received from an upstream TX out‑of‑band flow control block associated with the Interlaken link partner. The recommended frequency for the RX fc_clk clock is 100 MHz, which is the maximum frequency allowed by the Interlaken specification. |
tx.fc_clk |
TX Out-of-band |
Output |
100 |
Clocks the outgoing out‑of‑band flow control interface signals described in the Interlaken specification. This clock is generated by the out‑of‑band flow control block and sent to a downstream RX out‑of‑band flow control block associated with the Interlaken link partner. The frequency of this clock must be half the frequency of the double_fc_clk clock. The recommended frequency for the TX fc_clk clock is 100 MHz, which is the maximum frequency allowed by the Interlaken specification. |
sys_clk |
RX Application |
Input |
200 |
Clocks the outgoing calendar and status information on the application side of the block. The frequency of this clock must be at least double the frequency of the RX input clock fc_clk. Therefore, the recommended frequency for the sys_clk clock is 200 MHz. |
double_fc_clk |
TX Application |
Input |
200 |
Clocks the incoming calendar and status information on the application side of the block. The frequency of this clock must be double the frequency of the TX output clock fc_clk. Therefore, the recommended frequency for the double_fc_clk clock is 200 MHz. |
The transmit out-of-band flow control interface receives calendar and status information, and transmits flow control clock, data, and sync signals. The TX Out-of-Band Flow Control Interface Signals table describes the transmit out-of-band flow control interface signals specified in the
Interlaken Protocol Specification, Revision 1.2. The
TX Out-of-Band Flow Control Block Signals for Application Use table describes the signals on the application side of the TX out-of-band flow control block.
Table 17. TX Out-of-Band Flow Control Interface Signals
Signal Name |
Direction |
Width (Bits) |
Description |
tx.fc_clk |
Output |
1 |
Output reference clock to a downstream out-of-band RX block. Clocks the fc_data and fc_sync signals. You must connect this signal to a device pin. |
tx.fc_data |
Output |
1 |
Output serial data pin to a downstream out-of-band RX block. You must connect this signal to a device pin. |
tx.fc_sync |
Output |
1 |
Output sync control pin to a downstream out-of-band RX block. You must connect this signal to a device pin. |
Table 18. TX Out-of-Band Flow Control Block Signals for Application Use
Signal Name |
Direction |
Width (Bits) |
Description |
double_fc_clk |
Input |
1 |
Reference clock for generating the flow control output clock fc_clk. The frequency of the double_fc_clk clock must be double the intended frequency of the TX fc_clk output clock. |
double_fc_arst |
Input |
1 |
Asynchronous reset for the out-of-band TX block. |
ena_status |
Input |
1 |
Enable transmission of the lane status and link status to the downstream out-of-band RX block. If this signal is asserted, the lane and link status information is transmitted on fc_data. If this signal is not asserted, only the calendar information is transmitted on fc_data. |
lane_status |
Input |
Number of Lanes |
Lane status to be transmitted to a downstream out-of-band RX block if ena_status is asserted. Width is the number of lanes. |
link_status |
Input |
1 |
Link status to be transmitted to a downstream out-of-band RX block if ena_status is asserted. |
calendar |
Input |
16 |
Calendar status to be transmitted to a downstream out-of-band RX block. |
The receive out-of-band flow control interface receives input flow control clock, data, and sync signals and sends out calendar and status information. The RX Out-of-Band Flow Control Interface Signals table describes the receive out-of-band flow control interface signals specified in the
Interlaken Protocol Specification, Revision 1.2. The
RX Out-of-Band Flow Control Block Signals for Application Use describes the signals on the application side of the RX out-of-band flow control block.
Table 19. RX Out-of-Band Flow Control Interface Signals
Signal Name |
Direction |
Width (Bits) |
Description |
rx.fc_clk |
Input |
1 |
Input reference clock from an upstream out-of-band TX block. This signal clocks the fc_data and fc_sync signals. You must connect this signal to a device pin. |
rx.fc_data |
Input |
1 |
Input serial data pin from an upstream out-of-band TX block. You must connect this signal to a device pin. |
rx.fc_sync |
Input |
1 |
Input sync control pin from an upstream out-of-band TX block. You must connect this signal to a device pin. |
Table 20. RX Out-of-Band Flow Control Block Signals for Application Use
Signal Name |
Direction |
Width (Bits) |
Description |
sys_clk |
Input |
1 |
Reference clock for capturing RX calendar, lane status, and link status. Frequency must be at least double the frequency of the TX fc_clk input clock. |
sys_arst |
Input |
1 |
Asynchronous reset for the out-of-band RX block. |
status_update |
Output |
1 |
Indicates a new value without CRC4 errors is present on at least one of lane_status or link_status in the current sys_clk cycle. The value is ready to be read by the application logic. |
lane_status |
Output |
Number of Lanes |
Lane status bits received from an upstream out-of-band TX block on fc_data. Width is the number of lanes. |
link_status |
Output |
1 |
Link status bit received from an upstream out-of-band TX block on fc_data. |
status_error |
Output |
1 |
Indicates corrupt lane or link status. A new value is present on at least one of lane_status or link_status in the current sys_clk cycle, but the value has at least one CRC4 error. |
calendar |
Output |
16 |
Calendar bits received from an upstream out-of-band TX block on fc_data. |
calendar_update |
Output |
1 |
Indicates a new value without CRC4 errors is present on calendar in the current sys_clk cycle. The value is ready to be read by the application logic. |
calendar_error |
Output |
1 |
Indicates corrupt calendar bits. A new value is present calendar in the current sys_clk cycle, but the value has at least one CRC4 error. |