Microchip's low-cost low-power yet feature-packed PolarFire SoC Icicle Kit, which packs processor cores built around the free and open source RISC-V instruction set architecture alongside the company's field-programmable gate array (FPGA) technology on a compact development board, is an undeniably tempting device for experimentation — but does the company deliver on making the experience welcoming to newcomers?
Since our experiments with the software last month, Microchip has been working hard to improve upon the Libero SoC installation experience. The biggest change: a new release that adds official support for Ubuntu 20.04, in place of support for the now end-of-life Ubuntu 19.04. The new version, Libero SoC 2022.1, also supports Red Hat Enterprise Linux (RHEL) 7.2-7.9 and 8.2, CentOS 7.2-7.9 and 8.2, and openSUSE Leap 42.3, in addition to Windows 10 — and Windows 11 should be compatible, too, but has not yet been formally tested.
With Libero SoC installed on a supported operating system and the FlexLM licensing manager running in the background — a process which remains a little convoluted, particularly as you need to mix-and-match 32-bit and 64-bit versions of the licensing daemons to support both Libero SoC and its bundled tools — running the software is as simple as executing the binary.
For existing programmers, whether they've any FPGA experience or not, the window which appears will feel familiar immediately. Libero SoC is, at its heart, an integrated development environment (IDE) — designed to manage projects, provide an interface for editing source code, and provide access to tools both first- and third-party along the way.
Where Libero SoC departs from the IDEs many programmers will be used to is in its power. It's fair to say that, once you start clicking around the menus, it's easy to feel overwhelmed by the options on display. A quick look at Microchip's documentation — best viewed in PDF format, with the local HTML versions supplied with Libero SoC for some reason refusing to load on our testbed system — provides a clue as the magnitude of the task ahead: The latest Libero SoC Design Flow User Guide, which serves as an introductory guide and quick-reference, is a whopping 344 pages long, while various utilities get their own separate guide — the SmartDesign User Guide, for example, adds a further 69 pages on top.
Thankfully, the user guides aren't the only way to get started. A 24-page tutorial [PDF] walks through the creation of a very basic design — a simple AND gate — using the SmartDesign utility and Microchip's robust library of pre-prepared IP. It's not directly applicable to the Icicle Kit, sadly, as it was written for the PolarFire FPGA family rather than the PolarFire SoC, but it's a solid step-by-step introduction to the overall design flow.
Another excellent resource is a webinar published by Microsemi back in 2018, which again covers the entire design flow step-by-step. At just over an hour long, it's worth watching even if you're only thinking about picking up an Icicle Kit as a way to familiarize yourself with the tools you'll be using before splashing out any cash.
Unfortunately, not all of this is always easy to find. The merging of Microsemi with Microchip means documentation is often split between two or more sites, with work still ongoing to create a single landing page that provides easy access to the latest documentation and resources.
A great example of the work still to be done can be found by searching for "Microchip FPGA training" in the search engine of your choice. You'll likely find yourself at the company's Global Support Center, on a page that promises tutorials for FPGA and SoC products as well as design software — complete with downloadable design files, meaning you don't have to start from scratch and can load pre-prepared examples.
The Libero SoC tutorial, however, claims to have been last updated in May 2012 — very nearly a full decade ago — and links to a file published in 2014 [PDF], referring to a now-obsolete version of the Libero SoC software. The company's ongoing work to clean up these orphaned pages, though, should improve tutorial accessibility dramatically in the future.
For those who need more guided training, Microchip runs regular courses at its San Jose training center with full support for remote attendance. A two-day introduction to Libero SoC course requires only that the user is familiar with using PCs in general, and can be followed by a one-day course introducing the PolarFire family in general and another one-day course focusing specifically on the PolarFire SoC range.
The very existence of all this material does, however, indicate something very clearly: Libero SoC, and by extension working on the FPGA side of the PolarFire SoC Icicle Kit, is in no way aimed at beginners. It's certainly possible, armed with all of the above, to go from zero-to-hero and build your own design — and particular credit must be given to SmartDesigner, here, which turns hardware description into a relatively straightforward drag-and-drop experience providing what you need can be created by connecting blocks from the bundled IP library — but it's not something you'll be picking up in a weekend without considerable prior experience.
With Microchip still hoping to attract both hobbyist makers and keep its existing audience of highly-trained engineers happy, that's something the company is going to need to address. The revised website, with everything located in a single place and the outdated orphan pages sent off to live on a virtual farm somewhere, will certainly help — but if the company is serious about having newcomers look at the Icicle Kit as a potential entry point to FPGA and RISC-V development, it's going to need more.
FPGAdventures will be taking a break next month, but join us again in June as we start work on our first practical project for the PolarFire SoC Icicle Kit.
Read the whole series: