Continue to Site

Welcome to

Welcome to our site! is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

What is the proper way of storing and loading images and text from Flash to FPGA

Not open for further replies.


Advanced Member level 2
Apr 17, 2011
Reaction score
Trophy points
Activity points
If one wants to store a few MB of image and text in a non-volatile external memory and access it from FPGA, I think that Flash is a good option. I have the following questions:

How would all images and data be transferred to the flash in the first place?
Is it important to have a file structure in the flash? if not then how is the start and end of image and text message recognized especially since images are 2D it is important to know which byte in memory is which row/column R/G/B value?
How would the start/end location of the image and text messages be written into VHDL/Verilog design?

If there is an example of this I would be very interested to study it.

You might better off storing the files on a PC and playing them into the FPGA via serial link or some other communication protocol. Using flash would require a controller for the flash device.

The file can be stored however you like.

Flash controllers do exist, especially in Qsys for Altera devices. What is the proper way to achieve this then?

Your question is too vague to answer at the moment - what are you actually trying to acheive. Is this just a way of testing your image processing algorithm? or are you trying to transport the image from the flash to some other device?

This is a general knowledge question but anyway, lets create a scenario. Suppose I have a graphic LCD using which I am making a space invaders game on FPGA (I know FPGA is the worst platform to do so, but lets just assume I am). I shall now need to read out the image of each of the space invaders and put into some sort of image buffer from which it shall be sent to the screen. How would I save all these images in the memory and access them? How would I know which byte of which image is where on the flash? You can give example for either Altera or Xilinx FPGAs.

Now assume I have a character LCD and the menus that shall be shown to the user are all stored inside an external memory, probably flash memory. In what order or way shall all this text be stored in the flash so I am able to access what I want from it? Usually when we read from memory from give an address value and to get what we want we need to know the start and end addresses.

Space invaders really would be a terrible idea in an FPGA. Much better to have a CPU generate the images and put them into some frame buffer that the FPGA reads out onto the screen.

Not open for further replies.

Part and Inventory Search

Welcome to