So you’ve decided that you want to start working with FPGAs in your projects. I highly support this decision. FPGAs are amazing devices that are highly underutilized despite their power to transform designs. Your first step is to determine what size of an FPGA you want, and what additional features you’re going to need to get. I recommend starting with a development board and then going through several prototype stages before moving to custom board designs.
Here are some of my recommendations as far as potential board choices. I will admit a heavy bias towards Xilinx FPGAs both due to my personal experiences with them, and due to my negative experiences with Altera equivalents.
Large Boards (Big projects, full Linux)
The Zedboard was the first genuinely high-end FPGA board that I used. Using a Xilinx Zynq processor, it’s got all the peripherals you could want to explore plus a high pin-count FMC connector to add larger boards with additional functionality. If budget isn’t an issue, this pricey darling of a board has HDMI out, VGA, out, ethernet, sound, eight switches, five buttons, a small built-in screen, a healthy 5 PMOD out connectors for various peripherals. You should be able to test out any peripherals you want and then move onto a smaller board without the extras later.
The Zynq FPGA onboard has Dual-ARM cores alongside the programmable logic and can be set up to run Petalinux to interact with the peripheral hardware.
The board is more than a few years old, and so some of the guides no longer work with the latest software, but if you’re resourceful, this is still one of the best boards for developing FPGA based solutions for real-world applications.
Basys 3 $150
The Basys 3 board was the first board I did more serious development on, and the board I learned to work with FPGAs on. It’s got far fewer peripherals in comparison to the Zedboard, and the Artix 7 FPGA onboard is far less powerful; however, for the price point, the number of peripherals makes it ideal for medium scale development. For the budget price of $150, it comes with VGA out, USB, 16 switches, 16 LEDs, a four-digit seven segment display, five buttons, and four pmods to add additional functionality. If you’re not processing a genuinely massive amount of data, this is an ideal solution for getting your feet wet with FPGA development and building your prototypes.
While the Artix 7 FPGA on the board doesn’t include an onboard ARM core, the programmable logic is more than large enough to accommodate a soft MicroBlaze core to handle sequential timing as needed.
The board is also several years old, but because it doesn’t include any advanced peripherals, it is far less reliant on tutorials to get up and running. I’d highly recommend the board to someone serious about developing for FPGAs but who doesn’t need the power of having full arm cores at their disposal.
Pynq Z2 $120
For those of you who are fans of Python, the Pynq boards are set up to handle a Jupytr server on their ARM cores from which you can load and control different overlays on the programmable logic using basic Python commands. The documentation is once again somewhat lacking, but when you have it figured out you can load and reconfigure different programmable logic overlays and perform different hardware accelerated functions on the fly.
Small Boards (For embedding in products/ projects)
I haven’t had the privilege of working with this board directly myself; however, these breadboard-able FPGA modules come in multiple forms. They are the ideal solution for anyone who things custom Digital logic would be great, but who doesn’t have the budget to pay for them. Running another Artix 7 FPGA as mentioned above, it has the space to perform most potential applications without issue.
I picked up several of these boards for my projects from a Crowdsupply. One of the few FPGAs that I like which aren’t produced by Xilinx, they’re an extremely small FPGA with an underdeveloped development platform; however, they’re still some of my favorites. Why… cause they are cheap enough to be left embedded into prototypes without sweating over the costs. Produced by Trion a relatively unknown FPGA producer, I’m genuinely excited to find somewhere I can make use of their devices in my future works.
Trenz Zynq Module $120
Another board that I’m itching for the opportunity to purchase and test out. A Zynq based module in a 40-pin dip package seems too good to be true. The amount of power in such a small space, so easily integrated into other devices is a dream come true.