On 8/13/07, Petter Urkedal <[EMAIL PROTECTED]> wrote: > On 2007-08-12, Timothy Normand Miller wrote: > > So, we have some synthesis results. The winner is: The multiplier. > > To make a 32x32 multiplier, four of the 18x18's have to be bolted > > together, and this is what we get: > > Thanks for the results. Based on the pure algebra, if we don't report > the upper 32 bits of the 64 bit result, then the synthesizer should be > able to eliminate one of the four multipliers. But, that will probably > not help us, so > > > Let's first consider having a single 16x16->32 multiplier. That is, we > have the instruction > > mul/ll rX, rY, rZ >
[snip] I like the idea of having the 16x16 multiplier and adding code to do larger. I feel that 16x16 would be common, while anything larger would be rare. For instance, in the GPU, we will often have places where we multiply a 16-bit Y coordinate by a 16-bit line stride, then add a 16-bit X coordinate. I forget. Do we care about signed multiplies? I like Andre's idea of (possibly) building the shifts into the mul instructions. Also, in response to his question, I'm targetting the 3S4000 because it's convenient. In the real design, we'll target the XP10, which is a little slower. Either way, this tells us basically what we need to know. -- Timothy Normand Miller http://www.cse.ohio-state.edu/~millerti Open Graphics Project _______________________________________________ Open-graphics mailing list [email protected] http://lists.duskglow.com/mailman/listinfo/open-graphics List service provided by Duskglow Consulting, LLC (www.duskglow.com)
