The Versal ACAP programmable device image (PDI) boot header is read by the RCU BootROM to determine the SelectMAP bus width. The first 16 bytes in the PDI boot header determine the SelectMAP bus width.
The SelectMAP bus detection PDI pattern options include:
8-bit bus width | 00 | 00 | 00 | DD | 11 | 22 | 33 | 44 | 55 | 66 | 77 | 88 | 99 | AA | BB | CC |
16-bit bus width | 00 | 00 | DD | 00 | 22 | 11 | 44 | 33 | 66 | 55 | 88 | 77 | AA | 99 | CC | BB |
32-bit bus width | DD | 00 | 00 | 00 | 44 | 33 | 22 | 11 | 88 | 77 | 66 | 55 | CC | BB | AA | 99 |
SelectMAP Bit Order
The SelectMAP interface is typically driven by a user application residing on a microprocessor, microcontroller, or another FPGA or SoC. For these applications, it is important to understand how the data ordering in the programmable device image corresponds to the data ordering expected by the Versal ACAP interface. The following table shows how to load the SelectMAP PDI data bits onto the SelectMAP data pins.
SMAP Bus Width (x8, x16, or x32) | SMAP_CLK Cycle | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | |
D[7:0] | 0x00 | 0x00 | 0x00 | 0xDD | 0x11 | 0x22 | 0x33 | 0x44 | 0x55 | 0x66 | 0x77 | 0x88 | 0x99 | 0xAA | 0xBB | 0xCC |
D[15:0] | 0x0000 | 0x00DD | 0x1122 | 0x3344 | 0x5566 | 0x7788 | 0x99AA | 0xBBCC | ||||||||
D[31:0] | 0x000000DD | 0x11223344 | 0x55667788 | 0x99AABBCC |