18.104.22.168. In-Band Calendar Bits on Transmit Side
- The itx_calendar input signal supports in-band flow control. It is synchronous with tx_usr_clk, but does not align with the packets on the user data interface. The Interlaken IP core reads the itx_calendar bits and encodes them in control words (Burst control words and Idle control words) opportunistically.
- The Interlaken IP core transmits each page of the itx_calendar bits on the Interlaken link in a separate control word, starting with the most significant page and working through the pages, in order, to the least significant page.
- The Interlaken IP core fills each flow control bit in each control word with the value of 1.
Consider an example where the number of calendar pages is four and itx_calendar bits are set to the value 64'h1111_2222_3333_4444. In this example, the Number of calendar pages parameter is set to four, and therefore the width of the itx_calendar signal is 4 x 16 = 64 bits. Each of these bits is a calendar bit. The transmission begins with the page with the value of 16'h1111 and works through the pages in order until the least significant page with the value of 16'h4444.
In this example, four control words are required to send the full set of 64 calendar bits from the itx_calendar signal. The Interlaken IP core automatically sets the Reset Calendar bit of the next available control word to the value of one, to indicate the start of transmission of a new set of calendar pages, and copies the most significant page (16'h1111 in this example) to the In-Band Flow Control bits[55:40] of the control word. It maps the most significant bit of the page to the control word bit and the least significant bit of the page to the control word bit.
|Control Word||Reset Calendar Bit (bit )||In-Band Flow Control Bits (bits [55:40])|
For details of the control word format, refer to the Interlaken Protocol Specification, Revision 1.2.
The IP core supports itx_calendar widths of 1, 2, 4, 8, and 16 16-bit calendar pages. You configure the width in the IP core parameter editor.
By convention, in a standard case, each calendar bit corresponds to a single data channel. However, the IP core assumes no default usage. You must map the calendar bits to channels or link status according to your specific application needs. For example, if your design has 64 physical channels, but only 16 priority groups, you can use a single calendar page and map each calendar bit to four physical channels. As another example, for a different application, you can use additional calendar bits to pass quality-of-service related information to the Interlaken link partner.
If your application flow-controls a channel, you are responsible for dropping the relevant packet. Intel supports the transfer of the itx_calendar values you provide without examining the data that is affected by in-band flow control of the Interlaken link.
Did you find the information on this page useful?