A
Antonis Konstantinos
Guest
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
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