EmbDev.net

Forum: FPGA, VHDL & Verilog what kind of memory should i use?


von Flat B. (flatbyte)


Rate this post
useful
not useful
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.

von Lothar M. (Company: Titel) (lkmiller) (Moderator)


Rate this post
useful
not useful
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...

von Christophz (Guest)


Rate this post
useful
not useful
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.

von Vancouver (Guest)


Rate this post
useful
not useful
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.

von Flat B. (flatbyte)


Rate this post
useful
not useful
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

von Duke Scarring (Guest)


Rate this post
useful
not useful
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

Please log in before posting. Registration is free and takes only a minute.
Existing account
Do you have a Google/GoogleMail account? No registration required!
Log in with Google account
No account? Register here.