In our design(Arria 10, hps boot first) we are using uboot to load the FPGA from the QSPI flash. We are working with combined rbf file and the loading process takes us about 1.7 seconds.

The uboot load it by follow steps:

1. Read blocks (4k each time) from the qspi flash to internal RAM
2., Write the the block from internal RAM to fpga

In order to improve the loading time(it is very important to us), we were suggested to use the HPS DMAC instead to do it, this way theoretically all the data will be transferred from qspi flash to FPGA Manager by DMA instead of using the software and internal ram that adds the overhead.

I search for information in documentation, forums and also consulted with Elhanan Sharon, from Intel PSG department - Eastronics. As I understood, the DMAC is software controlled DMA, and in order to load the FPGA manager from the QSPI flash, specific code should be written.

Can you please answer me 2 questions:

1. Can you please give me an example how to load the fpga manager from the QSPI flash with DMAC?
2. Can you please estimate how much time will be reduced(if any) by using the DMAC instead of current implementation of copying the data through internal RAM by uboot?

Please add the Elhanan Sharon elhanan.sharon@easx.co.il at CC in the response

Thanks in advance and Best Regards,