Trouble enabling HPC to FPGA bridge on Cyclone V SoC
I'm working on a bare metal application on a Cyclone V SoC (5CSEBA6U23I7NDK).
Things are going reasonably well, I have the u-boot SPL booting from eMMC on power-up and it's loading my application. I can read from eMMC and successfully load the FPGA image using the FPGA manager.
Where I'm stuck now is enabling the HPC to FPGA bridge. I have that bridge as well as the lightweight bridge enabled in my qsys design. They're both connected to a very simple Avalon memory mapped slave that I've used in previous designs and know works. However, any time I try to read from the FPGA at address 0xC0000000 my HPC locks up.
I have made sure that the two bridges are both not being reset by the reset manager. Is there any other critical setup that I need to do on these bridges to get them working? I feel like there's some simple thing that I'm missing.
Any suggestions would be appreciated.
- Steve
OK, after many hours of head scratching I think I found my problem.
To use the HPS->FPGA slave you need to set bit 3 of the remap register located at address 0xFF800000. To use the lightweight bridge you need to set bit 4 of this register.
Seems to be working now!
S