I wanted help regarding transferring data from SD card to DDR memory of zedboard

I am trying to read a text file and want to transfer the text file from SD card to DDR memory and perform further processing on zedboard Evaluation and Development kit.

Can anyone help me with a sample tutorial/project/blog on how to do this? I am using vivado for the same

1 Like

Hello Pratyush,

Welcome to the DigiKey TechForum! This is a bit of a complicated matter I think, as there are a few variables that could make quite a difference in the process.

Generally, though, I would suggest taking a look at the following links to see how others have done this:
This thread on Element14 Community regarding reading from the SD to DDR

This thread from the official Diligent forums detailing a similar effort.

This thread on Stack Overflow that details how they wrote from SD to DDR using baremetal (in the event that nothing else is working).

If you share your file and configurations here, one of our engineers might be able to assist further as well, but I highly suggest starting with the threads above to see if they work for you in the meantime.


1 Like

Thank you for the details.

Actually, I plan on creating a file dump(.bin/.txt) at SD card and read the data from it via RTL in vivado and on board, perform certain algorithms / processing and display an output.

Is there any easier way to do this ?

Hi Pratyush,

I’m no expert in this field, but I believe one could either use a standard SD card interface IP block, which would almost certainly require the use of the Zynq processor to handle the complexity, or just use a plain SPI serial interface, which could either be via the Zynq processor or via a stand-alone SPI IP block directly on the RTL fabric.

Here’s a link on the Digilent forum which gives some ideas on how one might go about it.

If you prefer a stand-alone SPI Master IP block, this Tech Forum post provides an example one might follow.

Additionally, this Tech Forum post discusses how one might establish an SPI interface between an FPGA and an external MCU, including a CRC check to verify data integrity, which might also give you a few ideas.