--- Quote Start ---
The memory can be for image data, or also your compression algorithm. I'm not sure how you are going to load the algorithm into the FPGA as a bitstream - is it going to be the whole algorithm, or just parameters to the algorithm?
--- Quote End ---
The idea is that I would have a library of compression or image processing algorithms in the SD card then as I choose an algorithm to implement, it will get loaded to the FPGA so that the FPGA (or at least a portion of it) would perform the desired algorithm. So to answer the question, the whole algorithm would be loaded essentially. In this way, do the FGPA still have to access the SD card over and over again? Or can it be just one time loading?
I understand why you say that its better to store it in a RAM first, but if it will be a one time loading to the fpga, can this be ommited for the compression algorithm?
--- Quote Start ---
I would actually write the algorithm in HDL (means this is part of your SOF), and only load the parameters as a bitstream. However, even with this I would load the bitstream into a RAM (best if internal RAM), so the algorithm doesn't need to access the external SD card all the time at every loop. Imagine, if your algorithm is running, and you remove the SD card, your whole system is going to fail. So, I'd always load the bitstream to (internal or external) RAM.
--- Quote End ---
I understand why it should be stored in a RAM (except the parameters part), however, if that's the case then is it not true that the FPGA just have to be changed then it doesn't need to access the algorithm bit stream used to configure it?
--- Quote Start ---
You're almost there. This process will start after you have already configured your FPGA using Quartus. The scan chain bitstream scanning will happen in (b), after your FPGA is already configured by Quartus.
--- Quote End ---
Yes it will start after the first configuration by quartus, but after that the FPGA must be reconfigured without quartus. That's why I didn't understand why you said the scan chain bitstream (compression algorithm) will happen after the FPGA is already configured. What if I change the current algorithm to a bmp compression without the use of quatrus? That's when the scan chain comes in right? The new algorithm is scanned and the controller reconfigures the FPGA.
--- Quote Start ---
(c) is also related to (b), where after scanning in the bitstream, your FPGA automatically already gets configured with the new compression algorithm.
--- Quote End ---
This should happen without the use of quartus.
Then why in the quote below, reconfiguring the FPGA using Quartus? Then the reconfiguration won't be implemented in real time? Furthermore, if the reconfiguration is done by quartus, what is the "another controller to scan in" for?
--- Quote Start ---
Reconfigure the FPGA using the normal way, Quartus programmer via USB JTAG. Your design should contain another controller to scan in the bitstream via another interface (maybe another USB port, or others).
--- Quote End ---