EmbDev.net

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


Author: Flat B. (flatbyte)
Posted on:

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

Author: Lothar M. (lkmiller) (Moderator)
Posted on:

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

Author: Christophz (Guest)
Posted on:

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

Author: Vancouver (Guest)
Posted on:

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

Author: Flat B. (flatbyte)
Posted on:

Rate this post
0 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

Author: Duke Scarring (Guest)
Posted on:

Rate this post
1 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

Reply

Entering an e-mail address is optional. If you want to receive reply notifications by e-mail, please log in.

Rules — please read before posting

  • Post long source code as attachment, not in the text
  • Posting advertisements is forbidden.

Formatting options

  • [c]C code[/c]
  • [avrasm]AVR assembler code[/avrasm]
  • [vhdl]VHDL code[/vhdl]
  • [code]code in other languages, ASCII drawings[/code]
  • [math]formula (LaTeX syntax)[/math]




Bild automatisch verkleinern, falls nötig