Very nice.

Is it time for me to run it through the synthesizer?

Also, I'm thinking we don't need the move with shunts.  Say we're
doing DMA of 160 words from host memory to graphics memory.  Here's
what we do:

(1) Ask the DMA engine to fetch 64 then 64 then 32 words.  Those are
three commands pushed into fifo 3, one after the next.

(2) Feed the FB writer three requests to accept data words of 64 then
64 then 32.  Three commands into fifo 7.

(3) Tell the crossbar to move 64 then 64 then 32 words from fifo 4
(the return fifo for DMA reads) to fifo 8 (the write data fifo) (those
commands go into fifo 16).

(4) Busy-wait for it to finish, monitoring for errors.

You get the idea.  I doubt that we'd need more than one concurrent
move going through the crossbar.  Some other cases require that we
read data into the CPU and process it, so we can't use the crossbar
for those.


Why 64?  Keeps counters small and fast.
_______________________________________________
Open-graphics mailing list
[email protected]
http://lists.duskglow.com/mailman/listinfo/open-graphics
List service provided by Duskglow Consulting, LLC (www.duskglow.com)

Reply via email to