Hackster's FPGAdventures: A New Journey with the Microchip PolarFire SoC Video Kit
Hackster's FPGAdventures begins a new leg of its journey, as in Series 2 we dive deep into Microchip's latest development board for its PolarFire SoC — a novel low-power yet high-performance device which combines flexible field-programmable gate array (FPGA) capabilities with a quintet of application-class processing cores built around the free and open source RISC-V instruction set architecture (ISA).
The PolarFire SoC Video Kit is built, as the name implies, around the PolarFire SoC for video-related projects — and comes complete with a pair of 4k-resolution Sony sensor cameras, arranged in a suitable alignment for stereo video work. With room for hardware expansion, dual Ethernet ports for communication, and even a PCI Express slot, could the PolarFire SoC Video Kit be the ultimate go-to device for edge video experimentation?
The PolarFire SoC Video Kit isn't the first Microchip development board to feature the device, of course. That honor goes to the Icicle Kit, designed as a more general-purpose platform for experimenting with the PolarFire SoC — and one which sat at the center of our earlier FPGAdventures Series 1, which you can read in full starting here.
Putting the two boards side-by-side, there's one immediately obvious change: the PolarFire SoC Video Kit is considerably larger than its predecessor. There's the same PCI Express Gen. 2 four-lane slot to the bottom edge, and a mikroBUS header for quick hardware expansion — but there the similarities end. The 40-pin general-purpose input/output (GPIO) header of the Icicle Kit has gone, replaced with an arguably more useful high-density connector for an FPGA Mezzanine Card (FMC). The two gigabit Ethernet ports are present and correct, though shifted to the top edge, but the full-size SD card slot has shrunk in the wash and is now a microSD card slot instead.
Perhaps the most interesting change between the two boards is the inclusion of not one but two HDMI 2.0 ports — one input, one output. The Icicle Kit, by contrast, lacks HDMI connectivity, making the Video Kit more immediately useful for… well, video tasks. The highlight of the new board, though, is a high-density connector at the top edge with MIPI Camera Serial Interface (CSI) connectivity — designed for use with a bundled daughterboard equipped with two Sony IMX334 4K-resolution cameras, positioned for stereo imaging tasks.
That daughterboard is, it has to be said, likely to be a love-it-or-hate-it design choice. It's a rigid board which slots neatly into the CSI connector with the sensors facing outwards, meaning there's no need to rig up a stand to have them filming anything except the ceiling — but it also means that you can't move where they're facing without rotating the entire development board, no easy task given its impressive size. If you're using the Ethernet ports, you'll also have the task of ensuring their cables don't sneak into the cameras' field of view.
The PolarFire SoC itself is also different between the two boards. The Icicle Kit uses the MPFS250T-FCVG484EES, while the Video Kit uses the MPFS250TS-1FCG1152I. Visually, this means the Video Kit's chip is noticeably larger with a beefier heatspreader than the one on the Icicle Kit; if you were to desolder them and look underneath, you'd see that's due to the Icicle Kit using a 484-lead Ball Grid Array (BGA) chip and the Video Kit using one with 1,152 leads. Internally the two are the same, offering 254k four-input logic elements, 784 math blocks, 16 SERDES lanes with 12.7Gbps bandwidth, and four RV64GC RISC-V application cores running at 600MHz — but the packaging difference affects just how much of the chip's internal functionality is exposed on the host board.
The idea of an "application-specific FPGA" seems ridiculous, and that's certainly not what Microchip is offering here: the PolarFire SoC on the Video Kit is exactly as flexible and configurable as the one on the Icicle Kit, and — missing board features like the GPIO header notwithstanding — anything you could do on the Icicle Kit you can also do on the Video Kit, which offers a great way to get started if you've already got Icicle Kit experience.
But the board itself is undeniably built with an application, or rather a specific class of application, in mind. It's right there in the name: the PolarFire SoC Video Kit. Those additional leads on the FPGA's packaging are being used to bring out high-performance connectivity suitable for use with image sensors, not only through the CSI connector and bundled dual-4k-sensor daughterboard but via the HDMI input and FMC connector — which includes CoaXPress 2.0, 6/12G SDI, up-to-10G USXGMII, and USB 3.1 Gen. 2 connectivity, though using any of these will require additional hardware in the form of a suitable mezzanine board.
The presence of USB 3.1 Gen. 2 on the FMC connector does raise one question about the board's feature set: the lack of USB on the board itself. Despite its impressive size, the only USB Host port is a simple micro-USB 2.0 On-The-Go header — a missed opportunity for an easy way to add additional low-cost USB camera sensors for easy expansion in experiments where the fixed-width stereo vision card bundled isn't enough.
There are hints of applicability to fields tangential to pure video work, too: the Video Kit board includes a CAN-FD header for Controller Area Network (CAN) bus work — originally developed for automotive wiring though now also commonly found in industrial control systems. It should come as no surprise, of course: with the automotive industry heavily focused on advanced driver assistance systems (ADAS), if not full self-driving capabilities, there's certainly a place for the development of a PolarFire SoC-based in-car vision system.
On the software side, there's nothing to differentiate the Icicle Kit and the Video Kit. The video hardware is all handled on-device, either on the FPGA or on the RISC-V SoCs from within the pre-installed Linux environment depending on what you're doing. If you've got a development environment set up for the Icicle Kit, then you're ready to go with the Video Kit — just plug in the bundled micro-USB cable and get to work.
For those coming in fresh, that means all of the criticisms raised against the Icicle Kit are true for the Video Kit too — starting with the need to register for a license for the Libero SoC development suite. While, granted the license is free — though requiring re-registration every year — it's also backed by an annoying and surprisingly-ineffective license validation server you'll be entirely responsible for hosting and running on your own hardware.
It's also still not terribly welcoming to newcomers. As we noted in our original FPGAdventures Series 1 of the Icicle Kit, Microchip's desire to see makers and tinkerers pick up the PolarFire SoC platform is at odds with the heavily corporate nature of its software. The getting-started guides only take you so far, and making the jump from following the introductory projects to making something wholly new is not for the faint hearted.
That's not to say Microchip isn't trying, of course. The Video Kit comes preprogrammed with a a project to run an H.264 encoder on the FPGA and stream the resulting video over one of the two Ethernet ports, complete with a web-based user interface for adjusting compression, color balance, and brightness. This is documented in stop-by-step terms on the PolarFire SoC GitHub repository; a second demo, which links the Video Kit with an Icicle Kit using the Open Platform Communications (OPC) Unified Architecture (UA) to demonstrate industrial control at the edge by driving a stepper motor, is only documented in a PDF application note, an echo of the same scattershot approach to documentation as afflicted the Icicle Kit.
You'll still need a hefty computer as the driving force for your projects, too. Libero SoC Design Suite, as the full software bundle is called, requires over 30GB of hard drive space and a system with at least 16GB of RAM to operate. It's also only officially available on Windows 10, not Windows 11, and selected older versions of Red Hat Enterprise Linux, CentOS, OpenSUSE Leap, and Ubuntu Linux — the newest of which, Ubuntu 20.04 LTS, recently celebrated its third birthday and which has since been superseded by Ubuntu 22.04 LTS. Those on other Linux distributions will almost certainly find the strangely fragile software fails to install; those running Apple's macOS aren't even given the option to try, with no compatible builds available.
The above-mentioned niggles are all good reasons why the PolarFire SoC Video Kit may not appeal to the casual tinkerer, but there's a bigger reason: price. The PolarFire SoC Video Kit costs a little shy of $2,000 including the board, power supply, twin-sensor 4k camera daughterboard, and power supply; the Icicle Kit, by contrast, is a more affordable $600 — up, thanks to global inflation and the after-effects of pandemic-related component shortage problems, from an original launch price of $499.
Given the device's capabilities and specifications, and the high-resolution camera module bundled in the kit, you can't call the PolarFire SoC Video Kit overpriced — in fact, it's quite reasonably priced for an engineering team backed by a well-funded company's research and development budget. For most makers, though, it would have to be a very considered purchase — and for projects which can make the most of its capabilities.
Showcasing those capabilities is exactly what Microchip's sample projects are for, and in our next FPGAdventures Series 2 entry we'll be taking at look at the first of the company's demo projects — H.264 video encoding and network streaming — to see if it's doing enough to get across why you should spend almost $2,000 on the kit.
More information on the PolarFire SoC Video Kit is available on the Microchip website, and can be found on Avnet's product page as well.
Read the whole of FPGAdventures Series 1: The Microchip PolarFire SoC Icicle Kit now:PriceFPGACPUGPURAMStorageNetworkingExpansionDimensionsPack Contents