Hitting the market as the world’s first mass-produced, Linux-capable RISC-V implementation, PolarFire SoC FPGA turned heads among designers of computer systems who work with open processor architectures. This low-power, 4+1 core FPGA family with 23-461K logic elements from Microchip is becoming a major prototyping, research and experimentation platform for RISC-V-based solutions, allowing system designers to leverage its FPGA resources and the ability to run a plethora of Linux-based apps within a RISC-V context. As an open source ISA with a strong backing from such organizations as RISC-V International and CHIPS Alliance, which Antmicro are proud members of, RISC-V generates a lot of enthusiasm and creative energy among tech companies, while PolarFire’s capability to tap into this open architecture is bound to make it successful in areas such as smart low-power cameras, security, aviation, satellites as well as industrial automation and IoT, with some projects using it being already underway at Antmicro.
A bit of history
Both Microchip (through its acquisition of Microsemi) and Antmicro got on board of RISC-V as Founding members, and through coexisting in the collaborative ecosystem of the open ISA for a longer while, the idea of a strategic partnership was formed that resulted in a full pre- and post-silicon software development platform for PolarFire in Antmicro’s open source Renode framework. The work towards this began in 2017 with enabling Microsemi’s open source softcore Mi-V in Renode, while the PolarFire SoC was still not publicly announced. A year later, at the 2018 RISC-V Summit, on the very day when the architecture was first presented to the external world, we could already demonstrate PolarFire SoC simulation in action, making it available immediately to all of Microsemi’s customers via their IDE, SoftConsole. The platform has been improving continuously since then, while its ecosystem has been rapidly expanding.
Unlocking new RISC-V use cases with Linux
In 2020, it’s hard to dispute Linux’ hegemony among a variety of embedded use cases – and SoC FPGAs have proven that combining the world’s most popular OS with an FPGA can yield excellent results. Being fully aware of this, Microchip set out to provide off-the-shelf support for Linux build systems such as Buildroot and OpenEmbedded which can be used to create customized BSPs, with a wide array of application software and SDKs available.
We have been using OpenEmbedded and Buildroot with FPGA SoCs to build a variety of hardware-accelerated products for many years, and indeed we have seen preference from customers as well as our development teams for one or the other depending on the specific use case, so enabling both seems like a very good move.
Thanks to a solid, vendor-backed Linux support on PolarFire, users can comfortably bring RISC-V to new scenarios with a range of software enabled by Linux, such as networking servers, data processing libraries and user interfaces for fine-grained control over specialized apps running in the FPGA. The tightly coupled programmable logic allows adding various extensions, such as custom I/O, accelerators, video streaming IP and multi-camera interfaces that can be directly interfaced with Linux via dedicated drivers in PolarFire SoC-based systems.
Ecosystem and hardware-less development
The RISC-V community has been making a collaborative effort to create a robust ecosystem of tools and resources that can be used with PolarFire in a RISC-V environment. Antmicro’s framework for hardware/software co-development, Renode, is a prominent element of the available tooling, giving designers hardware-less access to the FPGA SoC and enabling them to easily start prototyping and experimenting with the RISC-V processing system on it. Many early customers and entities porting software libraries onto the platform have been using Renode to speed up their work. The PolarFire SoC can be simulated in Renode with all of its peripherals, that is PCIe, USB, Ethernet, CAN, SPI, I2C, which enables complex use cases involving I/O and interconnection with other devices.
To make it possible to get your work with PFSoC off the ground in just a few minutes, Renode comes with an off-the-shelf demo, allowing you to run the application right off the bat before you proceed with compiling your own BSP. The broad support for PolarFire SoC in our framework lets you start building a test-driven infrastructure for developing your product on PFSoC, as well as co-simulate your software for the SoC and the FPGA IP you are developing.
Also, to enable easy access and development Microchip has been running the RISC-V Innovation Unleashed Webinar Series in which they’ve been discussing various aspects related to working with their platform with RISC-V, including using Renode to develop on PolarFire.
Being heavy RISC-V users, Antmicro has been constantly expanding support for this open ISA in our instruction set simulator, e.g. including plug-and-play custom instruction capabilities that allow you to experiment with adding your own enhancements to the core complex found on PolarFire SoC. We’ve been also integrating Renode with tools such as Verilator – a popular open source HDL simulator, enabling co-simulation of software with your FPGA IP. The integration allows using hardware implementations written in Verilog in a Renode simulation to speed up and streamline exploration and prototyping in RISC-V on PolarFire and other platforms.
Another important part of the ecosystem which greatly broadens PolarFire’s usability are current advances in the open source FPGA IP core ecosystem, where Antmicro helps customers build solutions involving fully auditable, customizable and royalty-free IPs for Ethernet, HDMI, MIPI CSI-2, USB, DMA, DRAM and other interfaces you might want to use with your FPGA SoC.
High-security RISC-V systems on PolarFire
Aiming to provide reliability and robustness by advocating openness and transparency in hardware designs, RISC-V is often the go-to processor architecture for building security-oriented systems, and is the focus of cyber security research, as exemplified by this year’s international Workshop on Secure RISC-V Architecture Design. Based on Microsemi’s track record in security applications, and specifically targeting security solutions, PolarFire SoC FPGA is a great fit for designing RISC-V systems that are meant to perform critical operations.
Among various security-oriented software available for PFSoC and RISC-V in general, the port of the world’s most secure microkernel, seL4, especially stands out. The open source secure OS port was developed and tested both in Renode and on early PolarFire SoC hardware. DornerWorks, who had a hand in developing the seL4 port for RISC-V, have recently discussed developing trusted software with seL4 on the PolarFire SoC Icicle kit and demonstrated using Renode to build secure products on the seL4 microkernel and RISC-V Architecture. This work has sparked quite a bit of enthusiasm among our security-oriented customers, leading us to include seL4 on our Renode testing dashboar to ensure we continue to run the OS in the latest versions of our framework.
PolarFire Icicle board and the HDMI breakout
The PolarFire SoC FPGA is available through Microchip’s Icicle development board that offers a great starting point for prototyping products. Besides the RISC-V microprocessor subsystem, the board contains a quite sizable 254K LUT version of the FPGA fabric, SPI Flash and 2GB LPDDR4, EMMC flash, SD card slot, 2 x Gb Ethernet, 2 CAN connectors, as well as a PCIe expansion connector. One interface that did not make it to the board to keep it reasonably priced at $499 was an HDMI input that could be used for various user facing applications processing applications. Antmicro has quickly filled this gap by designing the open source Icicle HDMI breakout that connects to the board’s RPi expansion header, and can be used e.g. to display Linux-driven UI or other graphical content. This is just a prelude to much more advanced hardware platforms that we’re looking forward to building with PolarFire SoC once the silicon is generally available.
With the arrival of the PolarFire SoC FPGA in a physical form, a set of various innovative engineering applications leveraging RISC-V and Linux has opened up, building on top of the momentum of our pre-silicon development platform. Innovative design methodologies combining the open processor architecture, open source IP cores and the test-driven development capabilities of Renode are going to bring about a range of exciting use cases and customer applications based on Microchip’s platform. The PolarFire SoC is set to profoundly impact the domain of reconfigurable computer systems, a great practical example of RISC-V’s overarching vision to revolutionize computing.