Forum Discussion
8 Replies
- Altera_Forum
Honored Contributor
Do you want to sniff the traffic or do you plan to have the FPGA between the slot and the memory (with the traffic flowing through the FPGA)?
Also, what flavor of SDRAM (DDR2/3/4) and how fast? - Altera_Forum
Honored Contributor
The FPGA should locate between the slot and the memory to intercept and encrypt/decrypt the data.
DDR3 is preferred, and DDR2/4 should also work. About the speed, as far as it can support OS booting and running, it should be fine for now! Thanks!- ohault
New Contributor
Hello,
With technological advancements of FPGA and the availability SDRAM Controller IPs, I guess the answer to this question should be revisited.
Kind regards,
Olivier
- Altera_Forum
Honored Contributor
No matter how fast you run the FPGA you would be injecting a lot of latency between the system memory controller and the memory. How can you make that work, especially for reads? I hate to be a hater, but I don't think it's possible.
- Altera_Forum
Honored Contributor
So you mean that if a FPGA locates between the system memory controller and the memory, the performance will be too bad to run any OS on it? I'm new to this area, please let me know if my proposed solution doesn't make sense. Thanks.
- Altera_Forum
Honored Contributor
SDRAM interfaces are fast, and the interface timing is fixed for a given memory. Some interfaces allow insertion of wait states to slow things down, but SDRAM is not one of those interfaces. It's just not possible to do what you want with a standard memory controller that is not aware of the delay added by the FPGA. You would be better off doing the encryption and decryption in software.
- Altera_Forum
Honored Contributor
Thanks! Now it's quite clear to me.
- Altera_Forum
Honored Contributor
As others have said this isn't possible. Even if it were, it would be a bad idea to impose delay between a processor and its memory system. You should analyze your system requirements to determine the best way to interconnect. PCI and PCI express are common, but I2C, SPI, RapidIO have also been used.