what kind of memory should i use?

OP #5918596
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.
Moderator (Company: Titel) #5918602
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...
Guest #5918604
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.
Guest #5918718
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.
OP #5918777
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
Guest #5918819
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

Reply

A question of your own? This thread is over 7 years old. Ask it in a thread of its own – more people read along there, and it gets answered more often and sooner.

Start a new thread

A fix, an addition or feedback on this thread? Then reply here.

Formatting
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]code in other languages, ASCII drawings[/code]
  • [math]formula (LaTeX syntax)[/math]
  • [[Title]] – link to an article
  • Link to another post: right-click its post ID (#8078628), copy the address, paste it into the text

More about formatting

Post long source code as an attachment, not in the text.

Already registered? Log in

Not shown to anyone. We send you a link; your post appears once you confirm it there.

By submitting you create a free account and accept the terms of use.