What to look for
I bought Avnet’s $49 Spartan 3A development board but it was discontinued not long afterward – right about the time when I decided I needed a few dozen more. I’ve since done some extensive research (thanks, Google!) to find a comparable thrifty thrill.
When choosing a development board, consider what you get with it and what you want to use it for. FPGAs are ideal for use with high speed peripherals, and in general it is much easier to buy a board that contains the part you want, rather than trying to add one on later (and inevitably giving up and upgrading to a more capable board). Examples of things you might want, and are quite difficult to add yourself:
- Gigabit Ethernet
- PCI/PCI Express
- External non-serial memory (DDR/Flash etc.)
Things that are relatively easy to add, and are not so much of a big deal to wire up yourself.
- MMC/SD cards
- Character (e.g. 16×2) LCDs
- Anything I2C/SPI and relatively low speed
- VGA (with low colour depth)
I like having a board with many (at least 8) SPST switches and LEDs, and momentary buttons. Unlike a microcontroller where it’s relatively easy to spit debug information out of a serial port or to an LCD with a single C function call, debugging FPGA designs is a bit harder. LEDs provide a zero fuss way to break out internal signals for visualisation – if you’re tracking the progress of a complex state machine, you can light up an LED when it gets to a certain point without adding any extra logic. While these are easy enough to add yourself, I find that it’s better to get a board that has them so that you don’t waste valuable user IOs or waste time investigating failures caused by your terrible soldering skills.
If you would like to connect high speed devices (above 10-20 MHz) to your FPGA, make sure your board has an interface connector that supports the speeds you’ll be using. Look for ground wires interspersed regularly between signal wires, high speed connectors (not just 0.1″ headers), PCB trace length equalisation, and impedance control. Few of the cheap boards bother with any of these.
FPGAs can be a bit daunting, so check that the manufacturer provides:
- Schematic diagram
- A reference manual, describing all of the on-board peripherals
- A guide to getting started, if you’ve never used an FPGA before
- A reference design that exercises all on-board peripherals.
Reference designs can either be HDL or microcontroller-based, but in recent boards, most manufacturers seem to be moving to the latter. Bear this in mind if you don’t have a license for the microcontroller and environment (e.g. Xilinx EDK/SDK is not free), as the code will be difficult to port to HDL.
If you’re a beginner, you may benefit from buying a board that has a companion textbook which has been written specifically for the board in mind, and describes each of the peripherals and how to interface with them. Some popular boards have attracted a larger community of users, though this isn’t necessarily helpful because most of the other users are beginners. The most popular Xilinx boards are those made by Xilinx (none of them cheap enough to be listed here), Digilent and Avnet. Terasic seem to make the most popular Altera boards.
For more detail: Cheap FPGA Development Boards