As part of planning for ENP261 Digital Logic Design, I needed to pick an FPGA development platform for use in the labs. At the time of writing, it seems that many of the nicer education-focused boards are in the $80 and above price bracket, which is a bit more than I want to charge the students in extra course fees. After a thorough search of the available FPGA/CPLD platforms $75 and less, I feel the need to capture some of the impressions that led to my selection of Terasic’s $55 DE10-Lite (Intel/Altera MAX 10) board. The raw data is available in a google sheet.
Each development platform has its own set of benefits and difficulties. Next time the class is taught, I am sure I’ll have a better idea of which features are essential and which ones are not as useful as they seem. That being said, my priorities this time around were:
- No external programmer needed. I don’t want the hassle of troubleshooting the programming hookup/cable-length/timing, etc.
- Industry-standard toolchain. Open source support is great if there is a large dedicated community. The community is smaller in the FPGA realm.
- Cost $75 or less per unit.
- Nice to have
- A few LEDs.
- A few buttons.
- “Real-world” output(s) like VGA, HDMI, audio, or ethernet.
- Cost as little as possible, to allow budget for external sensors, etc.
My prior digital logic experience has been with Xilinx’s Spartan 3 FPGA and the ISE-based toolchain. Unfortunately, the ISE toolchain (required for all but the newest chips like Spartan 7 and Artix 7) is technically end-of-life in favor of the new Vivado software. If I had restricted myself to the new toolchain, Digilent’s bare-bones $60 CMOD A7 board (Artix 7) would have been my only option due to the $80 price tag on the more full-featured Basys-3.
However, the ISE suite is a solid technology that is by no means obsolete. The associated chips have wide industry adoption and practicing engineers will likely continue to work with ISE for many years to come. With that in mind, I dug up a good variety of Spartan 3 and Spartan 6 boards with varying feature/cost tradeoffs. Only two vendors (Numato and Scarab Hardware) offered more than a bare-bones hardware configuration in my price range. Thinking only in terms of hardware and cost, Numato’s $30 Elbert v2 (Spartan 3A) board hit all the right notes.
Interestingly, a CPLD-based solution was unavailable, since all offerings required an external programmer which usually also bumped the unit cost up too much. Several devices in the “Arduino shield” market (excamera’s Spartan 3-based gameduino with touchscreen and MicroNova’s minimalist XC9572XL-based novavga, for example) would have been fun platforms if I had been okay with buying an external programmer.
Xilinx has a number of educational resources available through their university program, and a vibrant open source community. The downside of these resources is that they require a good deal of customization to apply to the hardware within my price range. Also, given that new designs (and educational resources) will eventually move away from ISE (albeit slowly), I thought it best to explore what options Altera (now Intel/Altera) had to offer.
I was happy to learn that the latest version of the Quartus software has support for the only Intel/Altera FPGA in my price range (MAX 10). There were two CPLD options (Cyclone 10 board for $35 from Trenz Electronic and a MAX V board for $75 from Mouser), but the various MAX 10 boards generally offered better tradeoffs:
- Arrow’s $30 MAX1000 board is a great option with all of the “nice to have” options (except video/audio/other output headers)
- Trenz Electronic has several similar boards in the $25-$40 range.
- Mpression’s $45 Odyssey board has some sweet peripherals and a really flashy toolchain (program it via bluetooth using your smartphone).
- Terasic’s $55 DE10-Lite has plenty of peripherals and excellent device-specific documentation.
In the end, it was the documentation and specific educational resources that sold me on the DE10-Lite board. I am still getting used to the software toolchain, but it initially seems to be at least as easy to use/learn as ISE.
Lattice and MicroSemi
Lest the open source hardware junkies chide me for not considering any of the Lattice boards, I must mention that I did consider the well-known iCE40 FPGA in addition to some of the ispMACH/MACHXO series. The price point and variety of open source projects did make me think twice about going with the Intel/Altera board. And, I did indeed find a variety of relevant boards in the $20-$35 range. However, the toolchain and support ecosystem (3+ officially supported development platforms, plus several alternative community-developed solutions) is a little more “wild west” than I’m comfortable leading my class into – at least this first time around.
It is worth mentioning that I did found a neat MicroSemi board on Digikey for $35. This was the only ethernet-capable board within my price range, and includes an Arm Cortex M3 with various on-chip peripherals in addition to the logic elements. Since low-power line-speed processing is something that’s hard to do on a microprocessor, there would be a strong “real-world” element to labs built around the ethernet port. That being said, interesting labs along these lines would require more DSP/coding theory/computer network knowledge than is fair to expect in an introductory Digital Logic class.