Memory for FPGA based LCD Driver/Controller

Hi all,

I am trying to implement an LCD driver in FPGA which will drive a

320x240 color LCD (digital 18bit parallel input).

Could you please read below and comment if my way if thinking is correct or not.

For two virtual screens to be stored in memory I need 2x320x240x18 bits = 150k x 18 bits of memory. And this seems impossible with Spartans' block ram. So I need an external memory.

At first I tought that I need a dual port SRAM since a host will write to the video memory and the driver will continuously read from that memory and feed the LCD. But these RAMs seem to be overpriced (Arrow says hundered something dollars for 4mbit memory)

Then I realised that at 60 Hz driving frequency I only need ~8 Mhz clock. Is it possible to use a faster main clock (like 50-60 Mhz maybe) and still feed the LCD at 8 Mhz and in the remaining time fulfill the memory read/write commands given by the host asynchronously?

If that is true I need a memory capable of achieving around 60Mhz.

I found the NoBL (or ZBT)SRAMs from Cypress and IDT which can go up to

166 Mhz and gives me full bw utilization. (no wait cycles b/w read and write). And the good thing is that they also come in x18 organisation which is just what I need! Digikey says ~$9 for 256kx18 100 MHz ZBT SRAM.

Is that memory suitable for my needs or would you recommend any other memory?

Thanks in advance Antonis

Reply to
Antonis Konstantinos
Loading thread data ...

Sounds good so far...

:-) DPRAM is not cheap

How about SDRAM? The controller is not that complicated, or you can use the Xilinx or Altera reference designs. I've done 800x600x60Hz with memory to spare for framebuffers coming out of your ears (I think we had 15+ of them) simply because you can;t buy SDRAMs small enough :-)

Cheers, Martin

--
martin.j.thompson@trw.com
TRW Conekt, Solihull, UK
 Click to see the full signature
Reply to
Martin Thompson

If you're looking at a volume design, you'll find simple synchronous SRAM is cheaper than the ZBT or NoBL style memories and can go quite high in speed for lower cost than the "neat" parts. 4Mbit parts would fit nicely. Bus efficiency is great, but why not save 50% if you're already significantly underutilizing the memory bandwidth?

Martin's idea of SDRAM is pretty neat, too. You could even get away with a narrow part (4 bits width?) and burst the data in and out using the FPGA memory (or SRLs) as temporary buffers. The pin count is smaller than SDRAM, possibly saving you FPGA package cost.

You need to get data in and out of the memory at speeds that are lethargic compared to what the FPGA and memory devices can do, so leverage the FPGA to handle the overhead *very* quickly and use the inexpensive memories.

Reply to
John_H

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.