Arlet wrote:
...I figure VGA needs a high priority, since it is has the real time requirements to keep the output going. An underrun on your pixel output will result in bad video output. For the CPU/line drawing it doesn't really matter if they are delayed a little bit...
Typically, how many pixels are good enough for the pixel output priority?
Arlet wrote:
...Note that in my state machine, there are no write bursts, forcing the WE# to be deasserted after every write. I assume your syncram will also allow write bursts.
It does allow for read or write bursts, but there weren't enough pins left on the FPGA to control it, so it's hardwired disabled so it loads the address each access.
Arlet wrote:
...You could have one read channel and one write channel in the SRAM module, and provide priority indication with your read/write enables (0=no read request, 1 = read request priority 1, 2 = read request priority 2, ...and so on). The SRAM state machine would then switch from read -> write if the write was higher priority, but stay in read mode if it wasn't...
Good idea, I will allow this idea to sink in.
BTW, check out the timing diag on Pg.25 of the
SyncRAM datasheet. It looks like the data should be present 1 cycle later than all the other signals.