--- Quote Start ---
Normally you would try and do the processing as the data arrived, so no need to store it explicitly (as it's stored in the processing pipeline).
What you describe isnt a ROM, its a RAM.
--- Quote End ---
Perhaps I didn't explain the situation clearly enough, or my understanding of what the two phrases mean isn't accurate. To simplify, let's say we only have space on the board for one unit, and there are two total. FuncUnit 0 and FuncUnit 1. FuncUnit 0 represents a physical entity that has 237 bits of fixed data associated with it. This 237 bits never changes. Now the machine gets 10 bits of input from the outside world. (Input A). It does computation on the 10 bits of input with the 237 static bits it has. It gives a result, now the multiplexing happens and the FPGA needs to load the 237 bits associated with FuncUnit1, and perform the calculation on the same 10 bits. When the NEXT 10 bit input comes in, the FPGA reloads the SAME 237 bits back in it had originally associated with FuncUnit0, and does the same computation on the new 10 bits of input, and continues alternating with FuncUnit1 in this fashion. The 237 bits never change, they are only being read. Whether or not they're being switched on every single input or buffered to handle chunks at a time doesn't really matter, I guess my question is what is the most efficient way to load 237 bits from a memory source periodically.
Does this make more sense? Thanks again!