Marc BouléのHPはここ 。ハードウエア指手生成に関する論文とHDLソースがある。

--
1) CICCpaper.pdf : An FPGA Based Move Generator for the Game of Chess
2) ICGApaper.pdf : An FPGA Move Generator for the Game of Chess
3) MBThesis.pdf  : An FPGA Move Generator for the Game of Chess
--

以上、論文。これらは基本的に全て同じだが、1)簡易版 2)詳細版 3)その改訂版という感じになっている。ハードウエア探索での模範的指手生成デザインが詳解されており、教科書とも言えるし非常に参考になる。逆に、ハードウエアだからこそ出来る、この過激な高速生成手法が理解できないと、先に進めない。


論文にある指手生成回路のソース:MoveGenVHDL.zip (125KB)


回路はVHDLで記述されている。基本的にはXilinxのISEでそのままビルド出来ると思われる。詳しくは、notes.docとreadme.txtを参照のこと。
因みに、自分で一部ソースを書けば[*1]、AlteraのQuartusII 5.0 WebEdition でもビルド出来ることを確認済み。TopLevelEntityはchess_chip[.vhd]。デバイスはStratixII、CycloneIIどちらでもビルド可。全ビルド時間は、最適化オプションがデフォルトのままならBarton/3000+で20分前後で終了する。また、ビルド時に約100MBの空メモリが必要[*2]


[*1] component RAM32X1Sとbufを自分で追加すればOK。

[*2] 激しく最適化を行う場合は時間も掛かるし、メモリも倍以上喰うので注意。