Inter-Byte Clocking - Inter-Byte Clocking - UG861

Spartan UltraScale+ FPGAs SelectIO Resources User Guide (UG861)

Document ID
UG861
Release Date
2026-04-28
Revision
1.1 English

Inter-byte clocking allows clock sharing between a clock arriving at a BITSLICE_0 of one nibble and the nibbles in the same position of other bytes (see Figure 1). Sharing of the input or sample clock is done through CLK_TO_EXT_NORTH(SOUTH) output pins and CLK_FROM_EXT input pins in BITSLICE_CONTROL components of other bytes. Inter-byte clocking is started by setting attributes EN_CLK_TO_EXT_NORTH(SOUTH).

Figure 1. Inter-Byte Clocking
Note: The preceding and the following figures do not show BITSLICE_6 of the upper nibble.

Inter-nibble and inter-byte clocking can be combined to serve all bit slices in an I/O bank with the same clock (see the following figure).

Figure 2. Combination of Inter-Nibble and Inter-Byte Clocking

Notes on the preceding figure.

  • Assume that byte_2, lower nibble, RX_BITSLICE_0 is set up as a clock or strobe input.
  • Byte_2, upper nibble must be inter-nibble clock-enabled.
  • Because the lower nibble of byte_2 is used as clock input, and all nibbles are used in multi-byte setup, for all bytes the lower nibble must supply the clock to the upper nibble for inter-nibble clocking.
  • Byte_3, lower nibble, gets a clock from the CLK_TO_EXT_NORTH output of the lower nibble of byte 2 on its CLK_FROM_EXT input.
  • The lower byte south (down) of byte_2, lower nibble supplies a clock from the CLK_TO_EXT_SOUTH output to the CLK_FROM_EXT input of the lower nibble of byte 1.
  • To reach the lower nibble of byte 0, the CLK_TO_EXT_SOUTH output of byte 1 must be connected to the CLK_FROM_EXT input of the lower nibble of byte 0. A jump over is made inside byte 1 between the CLK_FROM_EXT and CLK_TO_EXT_SOUTH pins. As such, all receivers in all nibbles are configured to receive data from a forwarded version (via inter-byte/nibble) of the strobe sourced from the byte_2 upper nibble.

The attribute setups for this example are listed in the following tables.

Table 1. Attributes for Inter-Byte Clocking Example
Byte Attribute Type
Byte 3 EN_CLK_TO_EXT_NORTH DISABLE
EN_CLK_TO_EXT_SOUTH DISABLE
Byte 2 EN_CLK_TO_EXT_NORTH ENABLE
EN_CLK_TO_EXT_SOUTH ENABLE
Byte 1 EN_CLK_TO_EXT_NORTH DISABLE
EN_CLK_TO_EXT_SOUTH ENABLE
Byte 0 EN_CLK_TO_EXT_NORTH DISABLE
EN_CLK_TO_EXT_SOUTH DISABLE
  1. Unused CLK_FROM_EXT pins must be tied High.

For all nibbles, inter-nibble clocking must be enabled as listed in the following table.

Table 2. Enabling Inter-Nibble Clocking
Nibble Attribute Type
Upper Nibble EN_OTHER_NCLK TRUE
EN_OTHER_PCLK TRUE
Lower Nibble EN_OTHER_NCLK FALSE
EN_OTHER_PCLK FALSE