I am brainstorming about creating a chess engine with an FPGA. What would be your dos and don'ts?
First of all you can separate engine easily to two parts, move generator and board evaluator, what will be benefits of doing these two in FPGA or one in cpu and one in fpga.
I am assuming programming an FPGA requires more hardwork since it is not so obvious to optimize and you can always find better and faster approaches as long as you take your time. (This may occur to me so because I am newbie in FPGA programming)
Another thing is cost, how much would an FPGA cost which can win against a 1000$ CPU? I know this is nearly impossible to answer but I wonder if 500$ is a good estimate?
Do you think this FPGA approach will yield better results or should I put my work into standart cpu chess engines. I am not sure how much space there is for evolution and new approaches in standart engines.
I suggest you have a look at the hydra project, as they have done a chess cluster that uses processors and FPGAs as coprocessors. My first impression of your idea was, however, the same as Bo's: my guess is that a chess computer will be heavily based on DB lookups and giant tree lookups, both of which require an extreme memory bandwith. So if you are not going for something like the nallatech accellerators (and they are really expensive ~20k$), or you have a completely new approach, don't do it ;-)