On 8/9/06, Bradley Pesicka <[EMAIL PROTECTED]> wrote:
I am a yet another lurker on this mailing list surfacing with a few
questions.

Welcome.

> Start with just implementing the math directly.  Use the '*' operator
> as necessary, and get it to simulate.  We'll get into a more
> synthesizable form when you've mastered this.

How would the multiplication be written for synthesis?  Is it a module
and if so has it been written already?

There is the '*' operator, and the synthesizer can infer block
multipliers.  Even for architectures without block multipliers,
synthesizers will infer logic for '*'.  The problem is that it isn't
necessarily efficient.  What we typically do is shift (by a constant,
so it's no logic) and add.  Something like   x <= z + {z, 1'b0};  to
multiply by 3 or x <= {z, 8'b0} - z;  to multiply by 255.  I'd use the
<< operator, but I have a habit of not trusting synthesizers, but most
likely, it would produce identical logic.

> Focus on just RGB (8:8:8) and YUV (8:8:8), and we'll deal with
> variations in the physical format at another time.

Where does the format conversion go?  After looking at the drawing
engine and the block diagram, I am clueless as to where the format
conversion belongs.

I'm going to put it in the datapath between the host interface and the
graphics memory.
_______________________________________________
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