Yes, your FPGA board can beat you at chess. At least, that’s the objective of Warren Miller over at All Programmable Planet in his series titled A Chess-Playing FPGA. Warren has been thinking about “developing a different way of thinking about solving complex problems using FPGAs, as opposed to the traditional sequential approach we are trained for when working with processor-oriented designs. Chess gives us an opportunity to jog our brains from that (all too familiar) sequential space into the parallel computation space.”
There are a total of thirteen articles in the series so far, and they offer a fascinating, in-depth look at how FPGA technonogy can be leveraged to tackle a complex set of problems. Warren’s writing is excellent, and his approach is easy to follow along with. Definitely worth a read!
Here are some links to the series for your perusal:
- A Chess-Playing FPGA: Introduction
- A Chess-Playing FPGA: Architecture Definition
- A Chess-Playing FPGA: Game Theory Quick Start Guide
- A Chess-Playing FPGA: Move Generation
- A Chess-Playing FPGA: Best Move Logic
- A Chess-Playing FPGA: Best Move Logic, Part 2
- A Chess-Playing FPGA: Exception Conditions
- A Chess-Playing FPGA: Exception Conditions, Part 2
- A Chess-Playing FPGA: Peering Into the Future
- A Chess-Playing FPGA: The Evaluation Function
- A Chess-Playing FPGA: The Evaluation Function, Part 2
- A Chess-Playing FPGA: Linking the Move Generator & Evaluation Functions
- A Chess-Playing FPGA: Generating More Moves
Awesome work, Warren! We look forward to reading the remainder of the series! So, do you guys have any examples of complex problem-solving that you are working on with your FPGA? Share with us in the comments.
(via All Programmable Planet)

Leave a Reply
You must be logged in to post a comment.