Hello all,
After enjoying the EEVBLOG youtube channel the forum for a while, today it is time for me to ask for your help!
Firstly, I would like to clarify that I have some experience working with VHDL and FPGA in general, I have worked or help on some project. However I have never designed a custom board myself. Right know I am working on a project which needs some especial features to be fullfiled and I am confused in some aspects.
What I need: Drive a small WVGA resolution OLED and load bitmaps images pre-stored in a memory at smt around 30 FPS. Therefore the system memory needs to be quite big, I was thinking of an 256 or 512 MB flash memory. The final constraint is that it needs to be as small as possible.
Threfore I was thinking to use a QSPI memory (for instance the S25FL512S) in order to ensure high reading speeds and small factor size. After that, I have been tryiing to find similar projects where similar flash memories where used. After all this redading I am quite confused, I am not sure how easy will be to find or create an QSPI interface. Moreover I have found that not all the FPGA are compatible with big flash memories (in order to store the bitstreem there) where some are limited to 16MB.
Also, in my first prototype I was thinking of using an Spartan6 or iCE40HX4K. Finally I donnot want to use any kernel or advance IC. I would like to stick to VHDL code and just use the FPGA as the LCD interface since in the board will be already another uC in charge of the communications 'to the external world'
Would be better to use two different memories for the project? Do you have any other advise regarding choosing the best FPGA?
Thank you in advance, and I hope that you can help me find my way on this project.
Cheers
When you say 512 MB flash memory, do you mean 512 Million Bytes (which is what I think you mean), or do you mean 512 million BITS of memory ?
Because the S25FL512S, which you have used as an example, appears to be only 64 million bytes in size (512 million bits), rather than the 512 million bytes, you seem to want/need.
Most often, memory devices like that, seem to use the millions of bits specification (which REALLY annoys me, as I want it in bytes).
As others have said, the serial bit signals are fairly simple and should not cause you great difficulty to use. Also make sure it is fast enough for your purposes. QSPI probably is, but SPI may not be, especially at lower frequencies (max speeds vary, depending on exact memory chosen).
At 30 frames per second, if the picture/image is big enough, you might overload a slower serial memory device.