Hackster's FPGAdventures: Hands-On with the Low-Cost Microchip PolarFire SoC Discovery Kit
Priced at just $132, the Discovery Kit is by far Microchip's cheapest entry point into PolarFire SoC experimentation ever.
Regular readers of our FPGAdventures series will be familiar with Microchip's PolarFire SoC Icicle Kit and Video Kit development boards, designed to provide a platform for experimenting with the flexible PolarFire SoC — a high-performance low-power part that combines a field-programmable gate array (FPGA) fabric with hard RISC-V CPU cores. Now, they're joined by a smaller sibling: the low-cost yet feature-rich PolarFire SoC Discovery Kit.
As the name implies, the Discovery Kit targets those just setting out on their journey with PolarFire SoC parts — bringing down the barrier to entry with a far lower purchase price than its predecessors. While that does mean the loss of a few features, the Discovery Kit retains everything you need to get started working with bare-metal RISC-V, embedded Linux, and Libero SoC-based FPGA development.
Let's take the new board for a spin, and see how it stacks up against its predecessors.
The hardware
- FPGA: Microchip PolarFire SoC MPFS095T-1FCSG325E, 93k LEs (4LUT & DFF), 292 math blocks (18×18), 8× User DLLs, 8× User PLLs
- CPU: 4× SiFive U54 RV64GC at 667MHz (3.125 CoreMarks/MHz, 1.714 DMIPS/MHz), 1× E51 RV64IMAC at 667MHz
- GPU: None
- RAM: 1GB LPDDR4, 6.7Mb total FPGA RAM as 308× 20kb LSRAM blocks, 876× uSRAM blocks (64×12),
- Storage: microSD card (not included)
- Networking: 1× gigabit Ethernet
- Serial: 3× UART (via 1× USB Type-C connector)
- Expansion: Raspberry Pi-compatible 40-pin GPIO header, mikroBUS header, MIPI RX, eight-digit seven-segment display header
- Programmer: FlashPro 5 embedded, no additional hardware required
- Extras: 2× push-button switches, 8× DIP switches, 8× user-addressable LEDs
- Power: 5V via USB Type-C or DC barrel jack (bare wire input on Rev. 1)
- Dimensions: 104×84mm (around 4.1×3.3")
- Pack Contents: PolarFire SoC Discovery Kit board, stand-off pillars (pre-mounted), USB Type-C cable
- Price: $132
The PolarFire SoC Discovery Kit is the smallest in Microchip's PolarFire SoC board family yet, coming in at around 4.1×3.3" — a massive reduction in size compared to the 7.3×5.3" PolarFire SoC Icicle Kit which preceded it. The chip at its heart has also shrunk: rather than the PolarFire SoC MPFS250T-FCVG484EES of the Icicle Kit with its 256k logic elements (LEs), the Discovery Kit comes with the more compact MPFS095T-1FCSG325E offering 93k LEs.
A quick look at the specs sheet reveals where other areas have been trimmed, too. Where the Icicle Kit comes with 2GB of LPDDR4 memory, the Discovery Kit has only 1GB; where there's 8GB of eMMC storage on-board the Icicle Kit, the Discovery Kit needs you to add a microSD card to your shopping basket; the Icicle Kit's two Ethernet ports have been reduced to one on the Discovery Kit, though thankfully this still retains its gigabit performance.
Anyone planning to work with high-speed peripherals will be disappointed to find the PCI Express slot of the Icicle Kit entirely removed, though it's hardly surprising given the size of the Discovery Kit. Not all space-saving decisions are unwelcome, though: the somewhat-confusing three micro-USB ports of the Icicle Kit have been ditched in favor of a single USB Type-C port, which handily pulls double duty as a triple-UART serial bus and interface to the embedded FlashPro 5 programmer — you'll need no additional hardware to blow your designs onto the PolarFire SoC's FPGA fabric.
Other features that have survived the downsizing include a full Raspberry Pi-style 40-pin general-purpose input/output (GPIO) header installed, as with Microchip's earlier boards, at 180 degrees to the Raspberry Pi standard so add-on boards hang off rather than over the board, a mikroBUS header, and an eight-way user-accessible DIP switch array plus two push-buttons switches alongside eight user-accessible "debug" LEDs. There's even a header for an optional eight-digit seven-segment LED daughterboard, though sadly this is not included in the box.
You won't find any kind of display output on the board, either, which given the lack of graphics processor on the PolarFire SoC is understandable. Flip the board over, though, and you will find a welcome surprise: a MIPI RX port, designed to be compatible with the Raspberry Pi Camera Module range of Camera Serial Interface (CSI) image sensor modules. Finally, there's a DC jack for optional 5V power when the board can't be driven over its USB Type-C connector — a Revision 2 upgrade over a bare-wire input on the original Revision 1, as pictured. Interestingly, Microchip recommends, though does not supply, a 5V 3A power supply — but in our testing the board rarely went above a 0.65A draw.
The software
The out-of-box experience of the Discovery Kit is a lot like the Icicle Kit, and the Video Kit too, and centers around the puzzle of getting Libero SoC — Microchip's FPGA design suite — set up and licensed. Compared to when we first sat down with the Icicle Kit, back in 2022, things have improved slightly: the mandatory licensing server now installs automatically with Libero SoC itself, rather than being hidden away as a distinct download elsewhere on Microchip's website.
Beyond that, though, it's a familiar story. If you're new to the Microchip ecosystem, the first thing you'll have to do is sign up for Microchip Direct. From there you can download Libero SoC for Windows and selected Linux distributions, though not macOS — and if you're looking to follow all Microchip's tutorials as-written, you'll need two versions installed side-by-side: Libero SoC 2023.2 and Libero SoC 2024.1.
Once installed, you'll need to generate a license before you can actually run Libero SoC — there's no trial period or feature-limited free tier, though like the Icicle and Video Kits the Discovery Kit includes a lifetime-renewable "Silver" license as standard. Head to the licensing side of Microchip Direct and you'll be asked to enter your computer's MAC address — taken in an effort to tie the license to a single machine, though with the caveat that it gets easily confused by devices with multiple network cards — and then wait up to 45 minutes for the license to arrive via email.
When you get the license, you'll need to edit the file in order to add your machine's hostname and the paths of the various licensing binaries. Finally, you move the license file into the same folder as said binaries and execute the licensing server. If this all sounds like a complete faff, it is — and after 12 months you'll need to generate an all-new license, edit it again, and move it into place, as the bundled Libero SoC Silver license lasts only one year per generation.
This has been a pain point for as long as Libero SoC has existed, but as the cost of compatible FPGA development boards falls it becomes increasingly hard to defend. Given Microchip's interest in seeing the Discovery Kit picked up by universities as a teaching tool, it's particularly glaring: a course would easily burn through the first scheduled lesson simply getting the software set up and licensed on students' own machines. Things aren't helped by Microchip's continued insistence in splitting up documentation: the Discovery Kit User Guide links you out to no fewer than four other documents as part of its "Software Settings" section.
The Discovery Kit comes with a new bit of software, too, not previously seen in the Icicle and Video Kits: a graphical user interface for Microchip's demo application, a finite impulse response (FIR) filter running on the PolarFire SoC's FPGA fabric. This, sadly, is Windows-exclusive — and you'll need either Libero SoC or the license-free FlashPro Express installed on the same system in order to get the necessary USB UART drivers in place.
Getting started
The FIR demo, dubbed Application Note 5165, is a pre-prepared design, created using Libero SoC, which implements a 127-tap FIR filter with reloadable coefficients, a 256-point fast Fourier transform (FFT) filter, and a UART interface to the host machine's graphical interface — developed for Microchip by National Instruments.
After installing either Libero SoC or FlashPro Express and the National Instruments GUI on a Windows 10 or Windows 11 machine with a free USB port, the pre-compiled "job" file can be flashed onto the PolarFire SoC in a couple of minutes. Thanks to the board's integrated FlashPro 5 programmer, there's no need for separate hardware — and its low power draw means all you need is the bundled USB Type-C cable between the Discovery Kit and the laptop.
Once the design is flashed Microchip's documentation walks step-by-step through using the GUI to generate the filter coefficients and input signal, then connecting the the software to the Discovery Board to send the input to the FIR filter and receive its output. What it doesn't do, sadly, is explain what exactly it is you're doing, what you're seeing, or offer any further guidance on experimenting with the FIR filter with your own inputs and settings.
What it does provide, once again, are links to separate documents for each of the IP blocks used in the demo's design — such as the FIR filter itself, documented in an expansive 63-page PDF. A separate guide, linked from the Discovery Kit product page, appears by the table's heading to offer information on generating a FIR filter design yourself using Libero SoC — but in actuality is a simple guide to creating an AND gate that uses the two push-button switches as inputs and the first of the eight "debug" LEDs as its output.
Linux lite
The FIR demo exists to showcase the capabilities of the PolarFire SoC's FPGA fabric, but that's only half the story. As the name suggests, the PolarFire SoC is a system-on-chip — meaning it has not only the user-definable FPGA fabric but hard processor cores, a quartet of 64-bit RISC-V cores from SiFive plus a fifth "monitor" core. These run at 667MHz, delivering a single-core performance around a third again as performant for common workloads as the 1GHz Arm core of a first-generation Raspberry Pi Zero despite the slower clock speed.
Like the Icicle Kit and Video Kit, the Discovery Kit can run Linux — though with no on-board storage you'll need to supply your own microSD card. Microchip provides a Yocto board support package (BSP), using which you can build your own distribution; for the impatient, the company also offers a simple pre-prepared root filesystem image you can download and flash to your microSD card.
Before you can boot Linux, though, you'll have to flash the FPGA with Microchip's Linux-supporting gateware. This is downloadable from GitHub, in a separate repository to the filesystem image, and flashes in a couple of minutes using FlashPro Express — with or without Libero SoC installed and licensed in the background.
The downloadable distribution will feel extremely limited for anyone coming from a desktop environment. There's no package manager, the Ethernet port is configured for link-local connectivity only with no dhclient
installed, though once you've sorted that out you're at least given an on-by-default SSH server — which automatically logs you in as root with no password required, so anyone playing on a shared network is advised to spend a little time locking the system down before connecting the Ethernet cable.
An issue for more complex applications — and one shared, incidentally, by the Raspberry Pi Zero — is a lack of RAM. While the Discovery Board itself has 1GB of LPDDR4 fitted, only around 548MB is available to the user under Linux. It's possible to avoid the out-of-memory killer (OOMK) by adding a swapfile, but throughput on the microSD card is slow — and constant swapping is likely to wear the card out sooner rather than later.
As with its bigger stablemates the Discovery Kit also supports asymmetric multiprocessing (AMP), allowing the four cores on the PolarFire SoC to be split into two separate systems each acting as an entirely distinct device. Of course, this limits available memory even further — while for those looking to get the most out of the board's resources Microchip provides some commented sample code for bare-metal use.
Conclusion
There are no real criticisms you can level against the PolarFire SoC Discovery Kit that you can't also level against the bigger and pricier Icicle Kit and Video Kit. Libero SoC is still a bear to set up and license. The documentation is still spread far and wide, and has a gulf between the end of its introductory examples and the start of the beginner-unfriendly highly-technical datasheets aimed at professional FPGA developers. The downloadable Linux distribution is still configured in unusual ways and oddly limited.
This time around, though, the criticisms are softened: at just $132, the Discovery Kit is considerably cheaper than any of Microchip's other PolarFire SoC devices. It has less functionality, sure, but it has enough to get you started — providing you're willing to put in the effort, of course.
This, again, was true of the Icicle and Video Kits: the Discovery Kit includes that oh-so-tempting Raspberry Pi GPIO header and the compact mikroBUS header, but no tutorials for getting started with them — not from Linux and not from an FPGA design in Libero SoC. There's nothing in the tutorials about using the seven-segment display header, either, and no sample projects that use a camera module connected to the MIPI RX port.
For someone already well-versed with Microchip's PolarFire SoC ecosystem, that's no big deal. For a hobbyist, it's an opportunity to experiment. For educators, though, it represents a time-sink: before the Discovery Kit could be used in a university environment, someone is going to have to spend a long time hunting through various sections of the Microchip website and numerous GitHub repositories pulling together disparate details into a coherent lesson plan.
If the Discovery Kit sells well, then, Microchip would be well-advised to spend some of the proceeds on developing a single "teacher's guide" to the device — a document that doesn't send you to another document that sends you to another document, but instead offers a one-stop shop walking you through installing the software, experimenting with the FIR filter demo, playing with Linux, using AMP, bare-metal programming, and using Libero SoC to design something a little more complex than an AND gate. If it could use each of the board's peripherals — including that MIPI RX connector — even better.
All the hardware is there, and for just $132 the Discovery Kit is an absolute bargain — the MPFS095T-1FCSG325E on the board costs over $90 more as a bare component — but it's now up to Microchip to show the world why they should buy it.
The Discovery Kit can now be ordered from Microchip, priced at $132; discounts are available for qualifying university students purchasing directly from Microchip.