We are designing an image processing pipeline on an FPGA which will need the use of memory interfaces at various pipeline stages. Because of the size of the memory required we decided to go with a DDR3 design.
It would be really useful if the pipeline stages can access there own memory in an independent manner so that I can minimize arbitration. I was thus hoping to implement multiple "narrow" DDR3 modules (16 bit wide for instance) each with it's own controller on the FPGA so that the stages' memory interfaces can be completely separate.
My other option is using multiple DDR3 modules in a single rank with one controller.
Does anybody have any experience in using multiple controllers on an FPGA? Or would the single controller be the safer bet?
We will be using a mid range Kintex for the implementation.