The SelectMAP boot mode supports a 8-bit, 16-bit, or 32-bit bidirectional data bus interface. This mode can boot and configure a single Versal ACAP or multiple Versal ACAPs. In this mode, an external processor or controller drives the SelectMAP data, clock, and control signals (read/write and chip select). The external processor also needs to monitor the BUSY signal for SelectMAP boot initiation and flow control.
When the SelectMAP boot mode is detected during system start-up, the path to receive data from the SelectMAP interface is configured. The PMC controllers and blocks used to enable the path for SelectMAP are highlighted in PMC Architecture.
The RCU is responsible for enabling the path for the SelectMAP boot interface. The RCU configures the supervised boot interface (SBI), the secure stream switch (SSS), and dedicates the PMC DMA1 to the SBI. The PMC MIO SelectMAP 32-bit pins are enabled and are placed into input mode. After the RCU configures the SBI control register the BUSY signal is deasserted. After power-up, when BUSY is deasserted, this indicates that the Versal ACAP is ready to receive data from the SelectMAP interface host.
Because the BUSY signal can be asserted at any stage during boot and configuration, this signal must be monitored to ensure the interface is ready to accept data. When the BUSY signal is asserted it indicates the chip select must be deasserted to stop the data loading within 24 clock (SMAP_CLK) cycles or the SBI FIFO (8 KB) buffer used for SelectMAP data processing overflows.
For SelectMAP, the I/O configuration default is a weak pull-up. When connecting to SelectMAP data bus width 8-bit, 16-bit, or 32-bit only the selected bus width data signals are used for boot and configuration.
In the SelectMAP boot mode, the BootROM waits an extended period, ~30 minutes, to receive valid data before it times out. It is recommended to have the JTAG boot mode pin setting on the board to avoid the extended wait time in early design phases and for debug. When a PDI generated with the SelectMAP boot mode setting is used in the JTAG boot mode, and intended to be programmed outside of the Vivado Hardware Manager, the PDI boot header SelectMAP bus width (first 16 bytes) needs to be skipped.