SelectMAP Data Ordering - SelectMAP Data Ordering - UG570

UltraScale Architecture Configuration User Guide (UG570)

Document ID
UG570
Release Date
2025-03-04
Revision
1.20.1 English

In many cases, SelectMAP configuration is driven by a user application residing on a microprocessor, CPLD, or in some cases another FPGA. In these applications, it is important to understand how the data ordering in the configuration data file corresponds to the data ordering expected by the FPGA.

In SelectMAP x8 mode, configuration data is loaded at one byte per CCLK, with the MSB of each byte presented to the D00 pin. This convention (D00 = MSB, D07 = LSB) differs from many other devices. This convention can be a source of confusion when designing custom configuration solutions. The following table shows how to load the hexadecimal value 0xABCD into the SelectMAP data bus.

Table 1. Bit Ordering for SelectMAP 8-Bit Mode
CCLK Cycle Hex Equivalent D00 D01 D02 D03 D04 D05 D06 D07
1 0xAB 1 0 1 0 1 0 1 1
2 0xCD 1 1 0 0 1 1 0 1
  1. D[07:00] represent the SelectMAP DATA pins.

Some applications can accommodate the non-conventional data ordering without difficulty. For other applications, it can be more convenient for the source configuration data file to be bit swapped, meaning that the bits in each byte of the data stream are reversed. For these applications, the AMD tools can generate bit-swapped files.

The following table shows the bit ordering for the SelectMAP x8, x16, and x32 data bus widths.

Table 2. Bit Ordering
SelectMAP Data Bus Width Data Pins
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
x32 24 25 26 27 28 29 30 31 16 17 18 19 20 21 22 23 8 9 10 11 12 13 14 15 0 1 2 3 4 5 6 7
x16   8 9 10 11 12 13 14 15 0 1 2 3 4 5 6 7
x8   0 1 2 3 4 5 6 7