FPGA development boards are handy tools for prototyping and for learning FPGA programming. They come in a range of specifications, and at a range of price points, to offer the best in terms of development and flexibility. Let’s take a look at some of the best FPGAs on the market, and how they perform:
This Spartan-7 based board is a small form-factor board with four switches, a board reset button, four green LEDs, an FPGA reset button, four other buttons and two RGB LEDs. IT comes with an Ardquino/chipKIT shield connector, and four Pmod connectors. It can accept a range of different expansions, so it is surprisingly powerful.
The USB port will deliver sufficient power for the majority of basic designs. For projects that require a higher voltage, there is the option to use the J12 7 to 15 volt power jack. Alternatively, developers can connect an external battery pack to one of the four Pmod headers.
The board is based on an Xilinx FPGA, and it comes with the Vivado WEBPACK, and the license for that includes MicroBlaze, which allows programmers to create soft-core processor designs. The Logic Analyser is useful for debugging, and the High-Level Synthesis tool allows users to compile HDL code from C code.
Digilient Cmod A7
This small, breadboard-friendly board from Diligent has an Xilinx Artix-7 FPGA as its basis. It comes in two flavors – the 15T and the 35T, and it is a lower-priced board that is ideal for beginners and for prototyping. The 15T has fewer look-up tables than the 35T, as well as fewer flip flops and less block RAM. It is very small, just 0.7in x 2.75in, but it is fully-featured. The board comes with a USB-JTAG for programming, a USB-UART bridge, Pmod host controller, clock source, basic I/O devices, Quad-SPI Flash, and SRMA. There are two LEDs, one RGB LED and two push buttons. The board has a strong following and an active development community. This means that there is a lot of tutorials and example projects. The board ship with plenty of documentation too. Know more here.
This FPGA is based on the Xilinx Spartan 6 and is aimed at beginners, but it should not be underestimated. It can be programmed via the Atmega32U4 microcontroller and it has 2MB SRAM so you can do a wide range of projects with it, even ones that require static memory. There are 54 I/O connections, and there are several ‘wings’ for the board. Wings are similar to Arduino Shields and can be used to connect to a number of peripherals. This is priced at a higher point than the average beginner board, but that’s because it is a very flexible board that offers a huge range of features and it is more in the realm of a development board.
The Terasic DE10-Nano
This particular FPGA is based on the FCyclone V SoC. This powerful Intel chip has the latest in dual core technology with Cortex-AP embedded cores. It is much more powerful than the Diligent Arty S7, featuring an onboard USB-Blaster II, as well as 2×40 pin expansion headers, 1GB SDRAM, 12-bit resolution ADC and Gigabit Ethernet networking. This means that it is perfect for people who are looking to work on higher-end solutions.
Intel’s SoC has an ARM-based processor system that is based on a processor, peripherals and memory, interconnected to an FPGA via a high-bandwidth interconnect. on the HPS side of the board, there is a MicroSD socket which can accept additional memory.
Software-wise, the board comes with C-Code and Verilog examples, and there is an OpenCL support package, a support package for the Linux board, and extensive documentation for the system builder. It’s a great board for those who want to make fully featured projects.
Choosing a Good Board
You don’t have to break the bank to get a good development board. You could pick up something end-of-life that is quite low cost, but then you would have to consider how you would pick up more if you ended up wanting to make more projects with the same board. Ideally, you want something that the developer still supports quite actively – but you can still find plenty of those at the sub-$70 level.
When you are shopping for a development board, consider the cost of the board, as well as what is supplied ‘on board’. There are many things that are features of some boards but that are quite hard for you to add yourself, including:
- Gigabit ethernet
- PCI Express
- External DDR/Flash memory
There are other things that you can more easily add to a board via wings/shields or other interfaces, including:
- 16×2 LCDs
- SD Cards
- I2C/SPI addons
So, don’t waste money on something that has tons of LEDs or that has outputs that you don’t want right now and that you can readily add at a later date. It is nice to have some LEDs because you can use them to debug the machine without needing to add too much extra code. Why would you waste IOs on LEDs, or add an extra failure point, when the board can have them built in relatively easily.
If you’re not an experienced developer, then you should consider picking up a board that has good documentation, or a board from a major manufacturer based on a Xilinx or Altera FPGA. This will make it easier for you to find sample projects, get help, and learn about development as you go. Some Direct Components Inc fpga boards, such as the Snickerdoodle, are Xilinx based, and actually have compatibility with Arduino shields, which makes them amazingly versatile. Others have a huge range of sensors, including things like temperature sensors and microphones, built-in.
There is the case for industry-standard boards that have fewer hobbyist sensors, but for a budget learning project or prototyping there is a lot to be said for a jack of all trades board that is priced at the sub-$100 level, and that comes with almost everything you need ready to go.