Forum Discussion
Altera_Forum
Honored Contributor
8 years agoYou should not keep all the image on the FPGA, it is certainly too big for that purpose. If you are doing image filtering/processing, most such algorithms can be "streamed". i.e., store the image in off-chip memory and stream it pixel by pixel to your compute kernel. You can also temporarily store parts of the image in a shift register buffer. If, however, you cannot stream your computation, then you should "block" it. i.e. store all the image in off-chip memory, transfer one [rectangular] part/block of it to a local buffer, compute it, write it back to off-chip memory, then go to the next block.
Autorun kernels work well for "streaming" applications. The size of all local buffers, be it shift register, multi-pored RAM/ROM or FIFOs/channels is limited by the amount of on-chip memory available on your FPGA/