I'm designing a video scan converter to connect my classic Amiga to a
new LCD. For the journey, not the destination. Don't want to buy one off
the shelf, etc.
I need to both read and write to my single-port freeware altera memory
controller simultaneously(ok, not exactly at the same time) . I'm
converting from 320x200 to 640x400, doing simple pixel doubling.
12-bit color, 4-bits per color, padded to 16-bit for ease of handling
within the FPGA.
Write side into the memory from amiga->my converter: 1 byte every 70ns.
Read side to go from memory->LCD: 1 byte every 20ns.
Memory is 8mb, 133mhz access, 16 bits wide, wishbone memory controller
has fixed burst size of 2.
What are some common ways of doing arbitration?
Time slots with buffering between writes? How would this be implemented?
Two-port memory controller (I can't find a free, working, easy to use
Altera one)
Some type of synchronization method? Semaphore/Mutex concepts?
My existing setup detects horizontal sync pulse, and reads the entire
line from DRAM -> block ram. Since I'm pixel doubling, I only need to
read one input line for every two output lines, so I can potentially
relax my READ times accordingly.
Any advice or recommended references would be appreciated.
My efforts are being blogged at
http://techtravels.org/?page_id=463
Thanks
Keith