On 2009-10-29, Timothy Normand Miller wrote: > The same multipliers will be used for float, which means we need 24x24 > -> 48 (unsigned) at least. That's still three. But if we're going to > use the multipliers for shifts, we need the full 32x32 multiplier. > > That is unless you can come up with a clever way to do a right shift > with a multiplier. If we think of the multiplier as a ring (in this > case, it doesn't qualify as a galois field), we may be able to find a > multiplier for any multiplicand that will give us any 32-bit product > we want. The trouble is that what that multiplier needs to be could > be so complicated to compute that it's not worth using the multiplier. > > I did some tinkering with 16-bit numbers, and I can find no single > multiplier that works with all multiplicands that will result in the > correct value for shifting the multiplicand right by 4 bits.
Without reordering the bits, I'm pretty sure it can't be done. Note that for a fixed multiplier, bit number i of the multiplicand is independent of all bits j > i of the other multiplier. But if we reorder the bits, it's embarrassingly obvious: Reverse the bits of the base-argument and the result. That should take 64 MUXes. _______________________________________________ Open-graphics mailing list [email protected] http://lists.duskglow.com/mailman/listinfo/open-graphics List service provided by Duskglow Consulting, LLC (www.duskglow.com)
