1.4 Demo Design

The following steps describe the data flow in the design:

  1. The host PC sends the system service requests to UART in Mi-V ESS through the UART Interface.
  2. The Mi-V soft processor initializes the System Controller using the PF_SYSTEM_SERVICES and sends the requested system service command to the System Controller.
  3. The System Controller executes the system service command by reading the bitstream images from the external SPI Flash and sends the relevant response to the PF_SYSTEM_SERVICES over the mailbox interface.
  4. The Mi-V processor receives the service response and forwards the data to the UART interface.

The following figure shows the block diagram of the PolarFire programming design.

Figure 1-2. PolarFire Programming Design Block Diagram

To initiate an auto update or IAP system service request, the on-board SPI Flash must be programmed with programming images. The fabric logic interfaces to the on-board SPI Flash using the SPI controller and PF_SPI macro. When the System Controller’s SPI is enabled and configured as master, the System Controller hands over the control of the SPI to the fabric on device power-up. The fabric logic programs the on-board SPI Flash with Flash directory and programming images using the UART interface. The programming images are transferred from the host PC using SPI Flash loader (spi_loader.exe).

The on-board SPI Flash is programmed using fabric logic as shown in the following figure. For more information, see Appendix 1: Programming On-board SPI Flash using the Fabric Logic through the Host Loader.

Figure 1-3. Accessing On-board SPI Flash Using Fabric

The following figure shows the SPI Flash memory with directory and programming images.

Figure 1-4. SPI Flash Memory

When the System Controller receives programming or authentication system service from fabric user logic, the System Controller fetches the programming images from the on-board SPI Flash to execute the service request. In this application note, the following system services are initiated on user request:

  • Bitstream authentication
  • IAP image authentication
  • Auto update
  • IAP

For more information about the preceding services, see the PolarFire FPGA and PolarFire SoC FPGA Programming User Guide .