[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [computer-go] Computer Go hardware



> I can make a board with a DSP plus a FPGA for couple hundred bucks or
less.

For a few hundred USD you can buy a PCI card with a XilinX Spartan II but
the bus speed is in that case very low because they use a 8-bit PCI
interface on a separate chip.

Advantage is that no space is used on the FPGA for the PCI interface and no
licence is needed for it either. Disadvantage is that you really need to
keep the FPGA very busy.

I have thought for months about this issue of course. The only solution I
could think of was to do the entire L/D of a group on the card. I had the
board before I wrote the group handling code (capturing, move
making/unmaking) so I designed that code with a FPGA in mind. It is not hard
to do that but you have to forget about everything complicated like several
linked lists etc.

I store a group as seven 64-bit values on a stack. When a move is played, it
becomes a new group, always. I would have made a 361-bit register to
represent any group and the logic to copy/modify those registers, set an
"active" bit etc.

To get liberties, I use a "shake" that takes a lot of time, even in MMX.
The FPGA could do the shake in a few clocks.

I also need sometimes to count the bits in a bitboard. That is slow. A FPGA
could do it in one cycle perhaps.

I think that when you do FPGA work you should base your plan on selling
thousands of units. In that case you might be able to take the schematic
diagrap that comes with the board, strip out all you don't need (like
diagnostic LEDS, JTAG plugs, connectors etc.) and ask a sharp price to
produce a series.

This might be commercially viable because people will not be able to pirate
your software when it needs a FPGA and when the FPGA makes your program the
best, many will want it. So this idea might interest an investor, who could
let you buy 10000 boards if you can demonstrate that it works.

_______________________________________________
computer-go mailing list
computer-go@xxxxxxxxxxxxxxxxx
http://www.computer-go.org/mailman/listinfo/computer-go/