Since I was out of PCBs to work on, it was time to move on to embedded software. One of the critical parts of the sowftware is the DMA (Direct Memory Access) controller. It will handle copying the image data to each of the 20 double buffers. Altera provides an IP that interacts with a C API for control from C code executed on the HPS.
Salomé has been working on making the IP work in quartus and testing it with the LEDs on the DE1-SoC evaluation board. An example was provided and was modified to work with our quartus project and the LED control IP that we used to test the DMA. The API itself is only made up of a few functions to simplify access to the DMA controller configuration registers so it took some time and work before we could actually use and understand how to make the DMA work for our purposes. The next step is to integrate the DMA API to the embedded software cleanly.
There is still a lot of configuration to be done on the FPGA-HPS communication, not least of which is the reset manager. Its job is to handle what components the reset signal affects and its propagation to the FPGA, since on our board, the only reset button is wired to the HPS.