My experience installing Libero SoC in Ubuntu and Windows 10

A few weeks ago, I received Microchip PolarFire SoC FPGA Icicle Kit with FPGA fabric and hard RISC-V cores capable of handling Linux. I wrote “Getting Started with Yocto Linux BSP” tutorial for the board, and I had initially titled the current post “Getting Started with FPGA development using Libero SoC and Polarfire FPGA SoC”.

I assumed I would write one or two paragraphs about the installation process, and then show how to work with Libero SoC Design Suite to create an FPGA bitstream. But instead, I spent countless hours trying to install the development tools. So I’ll report my experience to let readers avoid some of the pitfalls, and hopefully save time.

(Failing to) Install Libero SoC v2021.v2 on Ubuntu 20.04

If we go to the download page, we’ll see Libero SoC v2021.2 for Windows and Libero SoC v2021.2 for Linux. Since my computer is running Ubuntu 20.04, I decided to go with the Linux version. Note you’ll need to create an account with MicroSemi/Microchip before getting started. The very first time it failed due to errors with the website when registering for a new account.

microsemi website system error

No matter how many times I would try, it would fail with the same error, but I tried a week later and I could eventually access the download link to the Linux version with some simple installation instructions:

Site 1: Download Libero SoC v2021.2 (Linux) (BIN)

MD5:c43f8d4f399bcb4101e0db095c1a7012
sha256sum: d8c748fcc0fe2f0a3cb31d00f0111e86e3c523be485d3a7a55a93ec5fa3258c8
Instructions for Installation†
Ensure that you have at least 30GB free (for Installation) and 35GB (in temp directory during installation) on your hard drive.
Copy Libero_SoC_v2021.2.bin from above path to a temp directory.
Change directory to the temp directory
“chmod +x Libero_SoC _v2021.2.bin”
Type: “./Libero_SoC _v2021.2.bin” to launch libero installer.
Follow the installation instructions

If you experience any problems downloading Microsemi’s software, please send an email to [email protected].

This will start a GUI to install the software.
Libero SoC installation

After accepting a license agreement, I opted to install both Libero SoC and setup License since this is required, and I should get a free one-year “Silver” license. Libero SoC License Setup

You should install the program in a directory where you have R/W permissions, and installation with the root user/sudo is not recommended. So I went with /home/jaufranc/microsemi.
Libero SoC directory

We’re also being asked for a common directory, and I type /home/jaufranc/microsemi/common. Next up is the license.

Microchip Libero Silver LicenseIt’s a little confusing as there are a bunch of those, but considering I read I needed a Silver license for the board, and I’m running Linux, I went with a “Libero Silver 1 Year Floating License for Windows/Linux”. I was asked to enter the MAC address of the server, and then I got a confirm message:

Libero license email sentNo need to wait for the license to arrive, we can carry on with the installation.

Libero SoC Installation in-progressThe software installation will already take a while (I think about one+ hour), and after it will check for the required packages, which will also take a while…

Libero SoC Linux required packages

And I had to manually install some packages… Not sure why we have a graphical user interface, doing everything from the command line might be just as convenient…

Fir the 32-bit packages:


and then fonts and ksh packages:


There’s no i386 package for packagekit-gtk3-module, so I just installed the 64-bit one:


Then click on Next to continue.

Libero SoC Polarfire RISC-V Sample Design

We have a link to some instructions to execute a sample scrip that may be good to try later on.

FlashPro 5 FlashPro 6 hardware setup
All good. I’ve also received a “Microsemi Libero Silver 1Yr Floating License for Windows/Linux Server License” in my email. I could not believe the step I had to go through:

  1. Save the License.dat file sent to my email. I did that in microsemi/license directory I created. That’s the easy part 🙂
  2. Download the required license manager daemons for Linux. Microsemi recommends placing these files into the same location as the License.dat file. So we have the following files in the license directory
  3. Open License.dat to edit the first line by replacing <put.hostname.here> with your machine hostname (locahost in my case)
  4. Libero Linux floating licenses include Libero, Synplify Pro ME, Identify ME, Synphony Model Compiler ME and ModelSim ME tools. Edit each VENDOR and DAEMON line with the correct path to each vendor daemon and then save the License.dat file. I just had three such lines so the top of my license file looks like:
  5. Run the following command to start the License Manager:

    Or alternatively, if you prefer to have the License Manager output written to a Logfile, then run the following command at the command prompt:

In theory, I should be done, but running lmgrd command failed:


Those license daemons are apparently common and apply to Keil MDK as well, and there’s a solution on Arm website. We can check libraries used by the utility with ldd:


And there’s a missing library:


and we are advised to install lsb:


It did not work immediately, but a couple of minutes later, I could progress:


Nice! Another error. I tried to run the program as root, but it is not recommended either for security reasons, and it did not work either.  The solution is just to create the directory and make it writeable to the user.


I still did not work properly because I had launched lmgrd several times, and other instances were still running taking port 1702. So I killed all lmgrd processes, and gave it a final try which appeared to work. The log is long so I posted it to CNX Pastebin.

Let’s start Libero SoC program to see if it is working…


After high CPU usage for a couple of minutes, and then nothing. I was then told to open a ticket with Microchip support. The good news is that I got an answer pretty fast:

Libero 12.4 and later is supported only in Ubuntu 18.04, no other version.

Identify and Modelsim ME Pro do not directly support the Ubuntu platform.

(mentioned in libero release note)

But obviously, it was not the answer I hoped for, and indeed looking at page 28 of the release notes, we can see the list of supported operating systems:

  • Windows 10 OS
  • Red Hat Enterprise Linux 7.2-7.6 and Red Hat Enterprise Linux 8.x
  • CentOS 7.2-7.6
  • OpenSUSE Leap 42.3 (SLES 12.3 equivalent)
  • Ubuntu 18.04 (Identify and Modelsim ME Pro do not directly support the Ubuntu platform. FlashPro5 programmer is not supported with Ubuntu. The Job Manager tool is not supported.)

At this point, I noticed somebody posted instructions to install Libero SoC 2021.v1 on Ubuntu 20.04. I tried it, but it would not work for me either.

There are a few features not working on Ubuntu 18.04. I first thought about installing Ubuntu 18.04 in VirtualBox,  but the minimum requirements to use Libero SoC including having 16GB RAM, and my PC only has 16 GB RAM, so a virtual machine would have less than that. The next option would be to install Ubuntu 18.04 on a USB drive, but seeing some features are not supported, I decided to switch my current internal HDD with one with Windows 10 to keep things safe, and avoid wasting even more time.

Libero SoC Design Suite installation in Windows 10

And you wonder why people want open-source tools! Anyway… Let’s try again with Windows 10…

There are two download options:

Site 1: Download Libero SoC v2021.2 (Windows) (small EXE, Web Install*)
MD5: a5df01a7199c076cd9c954e952b006f2
sha256sum: ff0ddcd9c64b86a34e243df92651352d158d4aa436fbddb828f690af050c91c8
* Instructions for Installation:†Ensure that you have at least 25GB free on your hard drive.
Download Libero_SoC_v2021.2_Web.exe from the above path to temp directory.
Execute Libero_SoC_v2021.2_Web.exe file as admin and follow instructions

Site 2: Download Libero SoC v2021.2 (Windows)
MD5: 1ac4e3e5d70adfa3269c26cebb7b7b4b
sha256sum: a3ca9527d72764a0d58d3c7627ef6dc029799ba460873f04f52eb0191dd39336
Instructions for Installation†Ensure that you have at least 25GB free on your hard drive.
Copy Libero_SoC_v2021.2_win.zip from the above path to a temp directory.
Extract the zip file to a temp folder.
Execute “Libero_SoC_v2021.2.lnk” shortcut and follow installation instructions.

I went with the Web install.

Libero SoC Windows 10 installation

The procedure is basically the same as under Ubuntu, except we don’t need to manually install libraries, and I skipped the license applications since I already have one. It took little under two hours to complete.

Libero SoC v2021.2 installation complete 2 hours

My Silver license is valid for both Linux and Windows, so I did not apply for another one, although a node-locked license should also be an option in Windows, and could be easier to set up. So let’s carry on with the floating license in Windows.

Again I had to save Licence.dat, and download the daemons for Windows. I saved everything in the C:\flexlm directory as per the instructions.

Windows Licensing Daemon flexlm

Since I’m using a server license I need localhost in Windows. Techwalla has the instructions, so I enabled the “Internet Information Services” in Turn Windows Features On and Off section of the Control Panel. While I had the documentation open I also edited the first four lines of License.dat with the server name (localhost) and the correct path to the daemon just like we did in Linux:


Then rebooted the computer to enable the “Internet Information Services” I’ve just installed…

Windows Reboot Working on Updates

…and ran the following command to start the license manager:


I will start 5 additional terminals, one for each daemon part of the Flexera licensing system.

Flexara Windows

I can not see any obvious error messages, so I’ll try to start Libero SoC.

Libero SoC Windows Silver License ACTEL_BASESOC

Oh my god! It looks like it’s working! I think I’m going to cry! 😉 I easily spent over 10 hours installing Libero SoC… Time for a celebratory drink! I think I’ll take a break for a while, as I have to study to find out how to actually use it, and I’ve got some other hardware needing some love, so I’ll try to actually synthesize a bitstream for the FPGA sometimes next month.

Share this:

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

ROCK Pi 4C Plus
Subscribe
Notify of
guest
The comment form collects your name, email and content to allow us keep track of the comments placed on the website. Please read and accept our website Terms and Privacy Policy to post a comment.
4 Comments
oldest
newest
David Willmore
David Willmore
2 years ago

I’d really like to say that this is a unique experience that you’ve just lived through, but I can’t honestly say that as pretty much every commercial program with a license manager has been just like this going back to the early 90’s when I was a sysadmin. Nothing seems to have changed.

You have my condolences.

Frank Earl
Frank Earl
2 years ago

It’s the typical for most FPGA toolchains, though this is on the higher end of, “annoying,” compared to where Xilinx and Intel have brought their tools. It’s still GIGS of downloads, etc.

Alex
Alex
2 years ago

There was a RISC-V core design challenge in which I got a free Microsemi FPGA board to participate with. I ended up giving up when I had to try and install Libero SOC, so I never even started the challenge because of it.

Khadas VIM4 SBC