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

Re: computer-go: FPGA



Several people mentioned the obstacles of using FPGAs in the form of a plug in card. The communication time is just too long. Quantatatively, I guess the overhead is in the microseconds range for each round trip. This is too long to use FPGA effectively. Unless the FPGA does a long caculation each time. As discussed in earlier posts, FPGA should be used for parallel processing. As it was shown to do parallel processing a million gates doesn't mount that much. With present technology, it's difficult to implement a FPGA to do a long parallel processing. If it's used to do a long sequential calculation, it's reduced to the equivalent of a cpu. Thus to effectively use FPGA one must find a way to effectively communicate between the FPGA and the host computer. Another possibility is to build a cpu and a parallel processor on the same FPGA. But this is out of reach for most of us in this list. The problem is in the software. Since a Go program is so complicated, we cannot live with!
 ou!
t a integrated development enviroment like MVC++. Thus, a sensible solution has to be around the PC. Could the FPGA be implemented in a IBM compatible PC without using the PCI or ISA interface? I think it's possible. How about use the I/O port? From what I read it seems take about the same amount of time to read/write an I/O port using the IN and OUT command as to read write a RAM address. If this is true, all we need to do is to make board with a FPGA on it and directly connect the I/O port of the FPGA to the data lines, plus lines to assert the I/O port address. There is absolutely no hand shake between the plug in and the CPU. The CPU just write and read from the plug in with appropriate timing. May be there are other possibilities.

By the way I found one can by a 0.8 million gates FPGA card (ISA) for about $1500 and a 2 million gates FPGA PCI card for $6000 to $7000.

Dan Liu