PolarFire® System-on-Chip (SoC) Applications - Microprocessor Subsystem (MSS) and Libero® SoC Design Suite
Building Applications on PolarFire SoC With Libero SoC Design Suite and SoftConsole®
The PolarFire System-on-Chip (SoC) platform offers a fusion of low-power Field Programmable Gate Array (FPGA) fabric and a hardened RISC-V® processor subsystem, making it ideal for low-power, secure, and real-time embedded applications. Whether you're developing industrial controllers, edge compute systems, or custom hardware accelerators, PolarFire SoC provides the flexibility to co-design hardware and software with precision.
Objectives
In this article, we’ll walk through a complete application development workflow—from configuring the Microprocessor Subsystem (MSS) in Libero SoC Design Suite to importing the design into SoftConsole® and writing a simple Serial Peripheral Interface (SPI) application. This hands-on guide is designed for anyone wanting to gain hands-on experience with FPGA-based SoCs, and will help you build a solid foundation for future projects on PolarFire SoC.
We'll cover:
🧩 MSS Configuration
- Setting up the MSS, memory, and peripherals
🛠️ Libero SoC Design Suite Design Flow
- Creating a design, importing an MSS component, and running the design flow
💻 SoftConsole Flow
- Importing the MSS component and preparing the software environment
💡 SPI Application Development
- Writing and running an application to transmit one byte over SPI
Development Environment Setup
To build and deploy applications on the PolarFire SoC platform, you'll need a combination of supported hardware kits and development tools. This section outlines everything required to follow the tutorial, from MSS configuration to running a basic SPI application.
Hardware Setup
This application is compatible with the following Microchip PolarFire SoC development board:
Using this guide, you can develop applications that will work on any PolarFire SoC-based boards.
Each PolarFire SoC-based board features a hardened MSS integrated with low-power FPGA fabric, DDR memory, and essential I/O interfaces.
Required Software Setup
To configure hardware and develop firmware, install the following tools:
| Tool | Purpose | Version |
|---|---|---|
| Libero SoC Design Suite | FPGA design suite for MSS configuration and hardware generation | Latest version |
| SoftConsole IDE | RISC-V embedded development environment for firmware and debugging | Latest version |
Once Libero SoC Design Suite is installed, the following tools become available as part of the development ecosystem:
💻 MSS Configurator: A MSS configuration tool
🧠 Libero SoC Design Suite: The main design environment
🛠️ SmartDebug: A powerful debugging utility
⚙️ SmartHLS™: A high-level synthesis tool
📦 FPExpress: A tool to program the FPGA
These tools work together to streamline the hardware/software co-design process, whether you're building bare metal firmware, integrating custom logic, or debugging live systems.
Self-Paced Trainings
The material in these training modules exists elsewhere on this site in a general reference format. However, the training modules present it in an organized, step-by-step sequence to help you learn the topic from the ground up.
| Topic | Description |
|---|---|
| 💻 MSS Configuration | This page helps you understand how to create, configure, and generate an MSS component for PolarFire SoC-based boards. |
| 🧠 Libero SoC Design Flow | This page helps you understand how to import the MSS component into the Libero SoC Design Suite, pass it through the design flow, and program the FPGA design into the PolarFire SoC. |
| ⚙️ SoftConsole Integration | This page helps you understand how to create, edit, build, and program bare metal applications for the PolarFire SoC MSS. |
Summary
This article makes you understand how to create, edit, and generate an MSS component, how to import the MSS component to the Libero SoC Design Suite, run through Design Flow, and program the FPGA. At the end, you know how to create bare metal projects for PolarFire SoC-based boards.