Hello! I need a hint about external memory for fpga. As a beginner I created a small fpga (vhdl) project (pc usb<->fpga). Connection works fine, I can send some data from my pc to the my fpga board. I wish to store some data on the external memory. I do no use any software core, just pure vhdl. My dev-board is equipped with DDR3L memory (256MB DDR3L with a 16-bit bus @ 667MHz). It is a good choice for a beginner to use such memory, or should I look for other, easier to implement memory? Many thanks, Any help welcome.
Flat B. wrote: > My dev-board is equipped with DDR3L memory (256MB DDR3L with a 16-bit > bus @ 667MHz). It is a good choice for a beginner to use such memory No. Even when using an IP core you will encounter difficulties with handling the timing of the interface. > should I look for other, easier to implement memory? SRAM would be very easy instead. But why don't you use the RAM memory blocks inside the FPGA? You paid for them...
For the start, I would suggest that you use the FPGA internal memory blocks (often called block RAM). They behave like SRAM which is simpler than DRAM.
As mentioned, DDR3 is challenging, especially for beginners. Perhaps there is an example design available for your board for demonstrating the DDR3 usage. If that design works, you could adapt it to your needs while carefully keeping all timing ans placement constraints. SRAM would be much easier to deal with, but if there is no SRAM on your board, you can't use it, right? If the internal block rams are too small, you will have to cope with DDR3.
Hi, This is my second forum post when I ask a simple question and get very proffesional response. Can't express myself - just ... wow! Many thanks to all for showing me a good way how to begin with external memories. As I can see, I could get (very) confused with ddr3. Idea with BRAM is very good, but I wish to learn something new. I have never used external memory in microcontrolers or fpga, so I think it's a good time for that. My dev-board is Arty A7 from digilent (https://reference.digilentinc.com/reference/programmable-logic/arty-a7/start). It does not have built-in DRAM but i can handle it over PMOD connector. There are a lot of tutorials how to use DRAM (not ddr3:) ) with fpga, so it will be much easier. many thanks, young engineer
If you really want to learn DDR3, I suggest to start reading on the very old datasheets for dRAM (e.g. 16 Kbit Mostek MK4116), than go to SDRAM, than to DDR-DRAM an then to DDR2-DRAM. With each iteration in technology they add a new features with new complexity. This features are IMO better understandable if you know the predecessor. Duke