Interlaken employs a simple and flexible XON/XOFF mechanism to communicate flow control information across the interface. The XON/XOFF information is transmitted for all supported logical channels and provides you with a flexible means for implementing any scheduling algorithm.
AMD provides two independent modules for handling out-of-band flow control:
- TX_OOBFC
- RX_OOBFC
The module TX_OOBFC transmits out-of-band flow control information and the RX_OOBFC module receives out-of-band flow control information.
Logically, these modules should be instantiated at the same level of hierarchy as the Interlaken core and operate on their own to transmit and receive flow control information from the corresponding interface.
Out-of-Band Flow Control is enabled in the General tab of the AMD Vivado™ IDE. The maximum calendar length (MAX_CAL) supported by the core is also selected there. The maximum calendar length can be set to 32, 64, 128, 256, 512, 1024, or 2048.
The following figure shows a typical instantiation of the Interlaken core and the OOBFC modules. You handle packet scheduling and respond to flow control information. It is represented by the user logic block in this diagram.