On Wed, 9 Feb 2005 00:53:33 -0500, Daniel Phillips <[EMAIL PROTECTED]> wrote:
> On Tuesday 08 February 2005 20:52, Timothy Miller wrote:
> > On Tue, 8 Feb 2005 19:59:54 -0500, Daniel Phillips wrote:
> > > I suppose that is why multipliers start disappearing when you
> > > use the larger ram blocks.
> >
> > No, the multipliers are dedicated logic.  If you wanted to put an
> > 18x18 multiplier into a RAM block, you'd have to have a 36 bit
> > address.  Where are you going to fit 2^36 bits?
> 
> If it was done this way (which it's not as you point out) you might
> stack up a bunch of little multipliers to make a big one that works in
> O Log(N), I seem to recall from Knuth.  OK, that's called a partial
> product lut multiplier:
> 
> http://www.andraka.com/multipli.htm
> 
> There's one in there, the computed partial product multiplier, that
> looks like it might be useful in this design.

I've done something like that too.  It's a multiplier that requires
log2(n) stages, where n is the number of bits in the multiplier.  The
first stage is just muxes, and the remainder are just adders.

> 
> > The reason the multipliers disappear when you use RAMs in 36-bit mode
> > is because each multiplier is paired with a RAM block, and they share
> > some data lines.  Apparently, the pairing is useful for digital
> > signal processing like FFTs and stuff, but since we want to use them
> > independently, we have to deal with some limitations.
> 
> Now I'm curious, we're not planning on leaving part of the chip unused
> are we? :-)

We're going to use every bit of it that we can.  :)

> > Well, if we need to add functionality, we need to figure that out.
> > Otherwise, the most useful thing to do right now is to use the
> > float25 class and perhaps start making other modifications that
> > reflect the implementation (like fixed-point).  But it may be too
> > early to make some of those decisions.
> 
> Yes, I feel like I sort of understand what's going to happen at the
> rasterizing end of the pipe, but the other end is still a big murky
> unknown.  I see a lot of 8x8 multiplies that could be table lookups,
> since multipliers and logic are apparently in shorter supply than ram.
> On a once over lightly, I didn't spot anything that won't work with 8x8
> = 8 bit precision, with the possible exception of fog.

Well, there may be something to what you say.  I generally don't start
with the idea of using a LUT (unless it's obvious), but I often get
there when optimizing a design.

> > > In fact, this FPGA appears to work entirely by lookup tables and
> > > doesn't actually implement gate logic at all.  I don't know, maybe
> > > they all work that way, but this is the only one I've ever looked
> > > at and it does seem very cool.
> >
> > That's a misleading way to put it.
> 
> Don't forget, this is a software guy trying to make sense of a hardware
> world.

That's alright.  I had to go through the same process myself a few
years back.  :)
_______________________________________________
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