https://wiki.archlinux.org/api.php?action=feedcontributions&user=Obi&feedformat=atomArchWiki - User contributions [en]2024-03-29T00:14:45ZUser contributionsMediaWiki 1.41.0https://wiki.archlinux.org/index.php?title=Microsemi_Libero&diff=577172Microsemi Libero2019-07-09T13:22:48Z<p>Obi: Add two libraries needed for subprogramms, add instructions to modify bin64 script and add info about 2TB limit</p>
<hr />
<div>[[Category:Electronic design automation]]<br />
[[ja:Microsemi Libero]]<br />
From [https://www.microsemi.com/product-directory/design-resources/1750-libero-soc#overview]:<br />
: Libero® SoC Design Suite offers high productivity with its comprehensive, easy-to-learn, easy-to-adopt development tools for designing with Microsemi's PolarFire, IGLOO2, SmartFusion2, RTG4, SmartFusion, IGLOO, ProASIC3 and Fusion families.<br />
<br />
This article shows how to install the Microsemi Libero Toolchain on Arch Linux.<br />
<br />
== Installation ==<br />
<br />
=== Preparations ===<br />
<br />
Libero needs about 45GiB free diskspace. '''The size of the disk where Libero is installed must not exceed 2TB!'''<br />
<br />
==== Package installation ====<br />
<br />
Libero depends on some 32-bit packages from multilib. In order to install multilib packages using [[pacman]], you need to enable the [[multilib]] repository first (if not already done).<br />
<br />
Install the following packages: {{Pkg|openmotif}} {{Pkg|zlib}} {{Pkg|libjpeg6-turbo}} {{Pkg|lib32-libxft}} {{Pkg|lib32-libpng12}} {{Pkg|lib32-dbus}} {{Pkg|lib32-sqlite}} {{Pkg|lib32-libpulse}} {{Pkg|lib32-libxcomposite}}<br />
<br />
==== Qt5 32-bit dependencies ====<br />
<br />
Parts of Liberos shared libraries also depend on 32-bit Qt5 libraries, namely {{ic|libQt5XcbQpa.so.5}}, {{ic|libQt5Gui.so.5}}, {{ic|libQt5DBus.so.5}} and {{ic|libQt5Core.so.5}}. Sadly they are not available from the [[multilib]] repository so we have to add them manually.<br />
<br />
Download the 32-bit installer of Qt at [https://www.qt.io/download-thank-you?os=linux32&hsLang=en Qt 32-bit online installer] and execute it:<br />
$ chmod u+x qt-unified-linux-x86-2.0.5-2-online.run<br />
$ ./qt-unified-linux-x86-2.0.5-2-online.run<br />
It should be sufficient to install "Qt 5.5" -> "Desktop gcc".<br />
Set a sane installation path e.g. {{ic|/home/''user''/lib/qt5_32}} where ''user'' is your username.<br />
<br />
=== Extract files ===<br />
<br />
The Installer unpacks its own Java Runtime and by default uses {{ic|/tmp}} for temporary files even if it tells you differently. Thus make sure you have enough space available on {{ic|/tmp}}! The default 8GB [[tmpfs]] is not sufficient for the installation, you have to disable it for installation and reboot the system to apply the change:<br />
# systemctl mask tmp.mount<br />
# reboot<br />
<br />
From [https://www.microsemi.com/product-directory/design-resources/1750-libero-soc#downloads https://www.microsemi.com/product-directory/design-resources/1750-libero-soc#downloads] download the "Libero SoC v12.1 for Linux" install file (You need to create an account for that).<br />
Make it executable and run it:<br />
$ chmod u+x Libero_SoC_v12.1_lin.bin<br />
$ ./Libero_SoC_v12.1_lin.bin -i console<br />
In the installer answer the questions and set a path to extract the files to, e.g. {{ic|/home/''user''/programs/microsemi/libero/v12.1/}} and {{ic|/home/''user''/programs/microsemi/common}}.<br />
There is a graphical installer available, just replace {{ic|console}} with {{ic|gui}} in the call above.<br />
<br />
==== Silent installation ====<br />
<br />
You can also pass the installation parameters to the script on the commandline rather than typing them in. Following an example for a default installation:<br />
$ ./Libero_SoC_v12.1_lin.bin -i silent \<br />
-DUSER_INSTALL_DIR=/home/''user''/programs/microsemi/libero/v12.1/ \<br />
-DUSER_COMMON_DIR=/home/''user''/programs/microsemi/common \<br />
-DCHOSEN_FEATURE_LIST=Synplify,ModelSim,ModelsimPro,Identify,Libero \<br />
-DCHOSEN_INSTALL_FEATURE_LIST=Synplify,ModelSim,ModelsimPro,Identify,Libero \<br />
-DCHOSEN_INSTALL_SET=Libero<br />
<br />
=== Post-Installation ===<br />
<br />
Reenable the [[tmpfs]] after the installation with:<br />
# systemctl unmask tmp.mount<br />
# reboot<br />
<br />
Some modifications have to be made for Libero to run on Arch Linux.<br />
<br />
Libero tries to load an old version of the motif library. Modify the following files and change the 3 to a 4 in the {{ic|case `uname`}} block:<br />
{{hc|/home/''user''/programs/microsemi/libero/v12.1/Libero/bin/actel_setup_vars and /home/''user''/programs/microsemi/libero/v12.1/Libero/bin64/actel_setup_vars|2=<br />
...<br />
case `uname` in<br />
SunOS)<br />
...<br />
Linux)<br />
arch=lin<br />
<br />
# X/Motif<br />
'''MOTIF_LIB=libXm.so.4'''<br />
...<br />
}}<br />
<br />
{{Tip|Alternatively you can create a symlink in the {{ic|/lib}} directory:<br />
# ln -s /lib/libXm.so.4 /lib/libXm.so.3<br />
This is discouraged as it tampers with a directory preferably modified by [[pacman]] when installing packages. However it might be useful when reinstalling Libero or installing a newer version of it because the manual modification of the files above can be skipped.}}<br />
<br />
Furthermore the outdated {{ic|libz}} version shipped by Microsemi does not work with the repository version of {{Pkg|lib32-libpng12}}.<br />
In {{ic|/home/''user''/programs/microsemi/libero/v12.1/Libero/lib}} do the following to make Libero use your library installed by [[pacman]]:<br />
$ mv libz.so.1 libz.so.1.old<br />
$ ln -s /lib/libz.so libz.so.1<br />
Repeat the same two commands in {{ic|/home/''user''/programs/microsemi/libero/v12.1/Libero/libfp}} to enable the FlashPro utilities.<br />
<br />
By mistake the installer adds double quotes around the common path when defining the vault location. Thus Libero will create a folder called {{ic|""}} in the working directory when it is called. To change that either manually edit the file {{ic|install.def}} to remove the double quotes from the line where {{ic|VAULT_LOCATION}} is defined:<br />
{{hc|/home/''user''/programs/microsemi/libero/v12.1/Libero/data/install.def|2=<br />
...<br />
data VAULT_LOCATION '/home/''user''/programs/microsemi/common/vault' OVERRIDE<br />
...<br />
}}<br />
... or run the commands below to remove the quotes:<br />
$ cd /home/''user''/programs/microsemi/libero/v12.1/Libero/data<br />
$ sed 's/"//g' install.def > tmp.def<br />
$ cp tmp.def install.def<br />
$ rm tmp.def<br />
<br />
== Launching Libero ==<br />
<br />
When launching Libero some environment variables have to be set.<br />
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/''user''/lib/qt5_32/5.5/gcc/lib<br />
LM_LICENSE_FILE="''port''@''domain.of.your.license.server''"<br />
SNPSLMD_LICENSE_FILE="''port''@''domain.of.synopsys.license.server''"<br />
The {{ic|$LD_LIBRARY_PATH}} has to include the libraries from the 32-bit Qt installation, {{ic|$LM_LICENSE_FILE}} reflects your Libero license server on which the license daemon runs on some ''port'' under some url ''domain.of.your.license.server''. {{ic|$SNPSLMD_LICENSE_FILE}} is needed for the Synopsys tools used in Libero, set this to a different server and port if you have multiple license daemons running or to {{ic|$LD_LIBRARY_PATH}} if not.<br />
<br />
With those variabled set Libero is ready to be launched with<br />
$ /home/''user''/programs/microsemi/libero/v12.1/Libero/bin/libero<br />
<br />
Probably you may want to create a launch script for that:<br />
<br />
{{hc|/home/''user''/scripts/launch_libero.sh|2=<br />
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/''user''/lib/qt5_32/5.5/gcc/lib<br />
export LM_LICENSE_FILE="''port''@''domain.of.your.license.server''"<br />
export SNPSLMD_LICENSE_FILE="''port''@''domain.of.synopsys.license.server''"<br />
/home/''user''/programs/microsemi/libero/v12.1/Libero/bin/libero<br />
}}<br />
<br />
Do not forget to make it executable:<br />
$ chmod u+x /home/''user''/scripts/launch_libero.sh<br />
<br />
=== Application menu entry ===<br />
<br />
A freedesktop.org application menu entry (which a lot of desktop environments and window managers follow) can be added to the system by creating a {{ic|libero.desktop}} file in your {{ic|~/.local/share/applications}} directory:<br />
<br />
{{hc|~/.local/share/applications/libero.desktop|2=<br />
[Desktop Entry]<br />
Version=1.0<br />
Name=Libero SoC Design Suite v12.1<br />
Comment=Microsemi Design Software for Microsemi FPGAs and SoCs<br />
Exec=/home/''user''/scripts/launch_libero.sh<br />
Icon=/home/''user''/programs/microsemi/libero/v12.1/libero.xpm<br />
Terminal=false<br />
Type=Application<br />
Categories=Development<br />
}}<br />
<br />
== Using a FlashPro programmer ==<br />
<br />
Using a programmer (e.g. the Microsemi FlashPro5) requires two steps: Adding rules to gain device permissions and unloading a conflicting kernel module.<br />
<br />
=== Adding udev rules ===<br />
To add the correct permissions for your user to access the programmer add the following file to your [[Udev]] ruleset as root:<br />
<br />
{{hc|/etc/udev/rules.d/70-microsemi.rules|2=<br />
SUBSYSTEM=="usb", ATTR{idVendor}=="1514", ATTR{idProduct}=="2008", MODE="0666", GROUP="microsemi-prog"<br />
SUBSYSTEM=="usb", ATTR{idVendor}=="0403", ATTR{idProduct}=="6001", MODE="0666", GROUP="microsemi-prog"<br />
}}<br />
<br />
The group {{ic|microsemi-prog}} is just an example, you may replace it by any group your user is in or add a new group and put your User ''user'' into it:<br />
# groupadd microsemi-prog<br />
# usermod -aG microsemi-prog ''user''<br />
<br />
You have to log out and in to apply the new group for the session. In a single terminal some can also apply the new group with {{ic|newgrp microsemi-prog}}. To list your groups type {{ic|id}} or {{ic|groups}}.<br />
<br />
=== Removing conflicting kernel module ===<br />
When plugging in the programmer it identifies as an FTDI serial device and loads the corresponding kernel driver. Liberos software does not work with that kernel driver so we have to unload it:<br />
# rmmod ftdi_sio<br />
<br />
To permanently unload the driver you may add it to your [[Blacklist]]:<br />
{{hc|/etc/modprobe.d/blacklist-ftdi.conf|2=<br />
blacklist ftdi_sio<br />
}}<br />
<br />
== Troubleshooting ==<br />
<br />
=== Libero crashes with SysXceptError ===<br />
Libero till version 12.1 does not work on disks larger than 2TB of size. Neither the Libero binaries nor the vault nor your home-folder nor any project may reside on a partition larger than that size. If you cannot change the size of the partition where your home-folder is located start Libero with a different path for your home on a smaller disk:<br />
$ HOME=/path/to/fake/home libero<br />
Some may add that to the startup-script to apply it on start.<br />
The install and vault locations have to be set on installation or may be edited in {{ic|/home/''user''/programs/microsemi/libero/v12.1/Libero/data/install.def}} when moving the files afterwards.</div>Obihttps://wiki.archlinux.org/index.php?title=Microsemi_Libero&diff=576810Microsemi Libero2019-07-04T14:32:31Z<p>Obi: Correct Typo</p>
<hr />
<div>[[Category:Electronic design automation]]<br />
From [https://www.microsemi.com/product-directory/design-resources/1750-libero-soc#overview]:<br />
: Libero® SoC Design Suite offers high productivity with its comprehensive, easy-to-learn, easy-to-adopt development tools for designing with Microsemi's PolarFire, IGLOO2, SmartFusion2, RTG4, SmartFusion, IGLOO, ProASIC3 and Fusion families.<br />
<br />
This article shows how to install the Microsemi Libero Toolchain on Arch Linux.<br />
<br />
== Installation ==<br />
<br />
=== Preparations ===<br />
<br />
Libero needs about 45GiB free diskspace.<br />
<br />
==== Package installation ====<br />
<br />
Libero depends on some 32-bit packages from multilib. In order to install multilib packages using [[pacman]], you need to enable the [[multilib]] repository first (if not already done).<br />
<br />
Install the following packages: {{Pkg|openmotif}} {{Pkg|zlib}} {{Pkg|lib32-libxft}} {{Pkg|lib32-libpng12}} {{Pkg|lib32-dbus}} {{Pkg|lib32-sqlite}} {{Pkg|lib32-libpulse}}<br />
<br />
==== Qt5 32-bit dependencies ====<br />
<br />
Parts of Liberos shared libraries also depend on 32-bit Qt5 libraries, namely {{ic|libQt5XcbQpa.so.5}}, {{ic|libQt5Gui.so.5}}, {{ic|libQt5DBus.so.5}} and {{ic|libQt5Core.so.5}}. Sadly they are not available from the [[multilib]] repository so we have to add them manually.<br />
<br />
Download the 32-bit installer of Qt at [https://www.qt.io/download-thank-you?os=linux32&hsLang=en Qt 32-bit online installer] and execute it:<br />
$ chmod u+x qt-unified-linux-x86-2.0.5-2-online.run<br />
$ ./qt-unified-linux-x86-2.0.5-2-online.run<br />
It should be sufficient to install "Qt 5.5" -> "Desktop gcc".<br />
Set a sane installation path e.g. {{ic|/home/''user''/lib/qt5_32}} where ''user'' is your username.<br />
<br />
=== Extract files ===<br />
<br />
The Installer unpacks its own Java Runtime and by default uses {{ic|/tmp}} for temporary files even if it tells you differently. Thus make sure you have enough space available on {{ic|/tmp}}! The default 8GB [[tmpfs]] is not sufficient for the installation, you have to disable it for installation and reboot the system to apply the change:<br />
# systemctl mask tmp.mount<br />
# reboot<br />
<br />
From [https://www.microsemi.com/product-directory/design-resources/1750-libero-soc#downloads https://www.microsemi.com/product-directory/design-resources/1750-libero-soc#downloads] download the "Libero SoC v12.1 for Linux" install file (You need to create an account for that).<br />
Make it executable and run it:<br />
$ chmod u+x Libero_SoC_v12.1_lin.bin<br />
$ ./Libero_SoC_v12.1_lin.bin -i console<br />
In the installer answer the questions and set a path to extract the files to, e.g. {{ic|/home/''user''/programs/microsemi/libero/v12.1/}} and {{ic|/home/''user''/programs/microsemi/common}}.<br />
There is a graphical installer available, just replace {{ic|console}} with {{ic|gui}} in the call above.<br />
<br />
==== Silent installation ====<br />
<br />
You can also pass the installation parameters to the script on the commandline rather than typing them in. Following an example for a default installation:<br />
$ ./Libero_SoC_v12.1_lin.bin -i silent \<br />
-DUSER_INSTALL_DIR=/home/''user''/programs/microsemi/libero/v12.1/ \<br />
-DUSER_COMMON_DIR=/home/''user''/programs/microsemi/common \<br />
-DCHOSEN_FEATURE_LIST=Synplify,ModelSim,ModelsimPro,Identify,Libero \<br />
-DCHOSEN_INSTALL_FEATURE_LIST=Synplify,ModelSim,ModelsimPro,Identify,Libero \<br />
-DCHOSEN_INSTALL_SET=Libero<br />
<br />
=== Post-Installation ===<br />
<br />
Reenable the [[tmpfs]] after the installation with:<br />
# systemctl unmask tmp.mount<br />
# reboot<br />
<br />
Some modifications have to be made for Libero to run on Arch Linux.<br />
<br />
Libero tries to load an old version of the motif library. Modify the following file and change the 3 to a 4 in the {{ic|case `uname`}} block:<br />
{{hc|/home/''user''/programs/microsemi/libero/v12.1/Libero/bin/actel_setup_vars|2=<br />
...<br />
case `uname` in<br />
SunOS)<br />
...<br />
Linux)<br />
arch=lin<br />
<br />
# X/Motif<br />
'''MOTIF_LIB=libXm.so.4'''<br />
...<br />
}}<br />
<br />
{{Tip|Alternatively you can create a symlink in the {{ic|/lib}} directory:<br />
# ln -s /lib/libXm.so.4 /lib/libXm.so.3<br />
This is discouraged as it tampers with a directory preferably modified by [[pacman]] when installing packages. However it might be useful when reinstalling Libero or installing a newer version of it because the manual modification of the file above can be skipped.}}<br />
<br />
Furthermore the outdated {{ic|libz}} version shipped by Microsemi does not work with the repository version of {{Pkg|lib32-libpng12}}.<br />
In {{ic|/home/''user''/programs/microsemi/libero/v12.1/Libero/lib}} do the following to make Libero use your library installed by [[pacman]]:<br />
$ mv libz.so.1 libz.so.1.old<br />
$ ln -s /lib/libz.so libz.so.1<br />
Repeat the same two commands in {{ic|/home/''user''/programs/microsemi/libero/v12.1/Libero/libfp}} to enable the FlashPro utilities.<br />
<br />
By mistake the installer adds double quotes around the common path when defining the vault location. Thus Libero will create a folder called {{ic|""}} in the working directory when it is called. To change that either manually edit the file {{ic|install.def}} to remove the double quotes from the line where {{ic|VAULT_LOCATION}} is defined:<br />
{{hc|/home/''user''/programs/microsemi/libero/v12.1/Libero/data/install.def|2=<br />
...<br />
data VAULT_LOCATION '/home/''user''/programs/microsemi/common/vault' OVERRIDE<br />
...<br />
}}<br />
... or run the commands below to remove the quotes:<br />
$ cd /home/''user''/programs/microsemi/libero/v12.1/Libero/data<br />
$ sed 's/"//g' install.def > tmp.def<br />
$ cp tmp.def install.def<br />
$ rm tmp.def<br />
<br />
== Launching Libero ==<br />
<br />
When launching Libero some environment variables have to be set.<br />
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/''user''/lib/qt5_32/5.5/gcc/lib<br />
LM_LICENSE_FILE="''port''@''domain.of.your.license.server''"<br />
SNPSLMD_LICENSE_FILE="''port''@''domain.of.synopsys.license.server''"<br />
The {{ic|$LD_LIBRARY_PATH}} has to include the libraries from the 32-bit Qt installation, {{ic|$LM_LICENSE_FILE}} reflects your Libero license server on which the license daemon runs on some ''port'' under some url ''domain.of.your.license.server''. {{ic|$SNPSLMD_LICENSE_FILE}} is needed for the Synopsys tools used in Libero, set this to a different server and port if you have multiple license daemons running or to {{ic|$LD_LIBRARY_PATH}} if not.<br />
<br />
With those variabled set Libero is ready to be launched with<br />
$ /home/''user''/programs/microsemi/libero/v12.1/Libero/bin/libero<br />
<br />
Probably you may want to create a launch script for that:<br />
<br />
{{hc|/home/''user''/scripts/launch_libero.sh|2=<br />
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/''user''/lib/qt5_32/5.5/gcc/lib<br />
LM_LICENSE_FILE="''port''@''domain.of.your.license.server''"<br />
SNPSLMD_LICENSE_FILE="''port''@''domain.of.synopsys.license.server''"<br />
/home/''user''/programs/microsemi/libero/v12.1//Libero/bin/libero<br />
}}<br />
<br />
Do not forget to make it executable:<br />
$ chmod u+x /home/''user''/scripts/launch_libero.sh<br />
<br />
=== Application menu entry ===<br />
<br />
A freedesktop.org application menu entry (which a lot of desktop environments and window managers follow) can be added to the system by creating a {{ic|libero.desktop}} file in your {{ic|~/.local/share/applications}} directory:<br />
<br />
{{hc|~/.local/share/applications/libero.desktop|2=<br />
[Desktop Entry]<br />
Version=1.0<br />
Name=Libero SoC Design Suite v12.1<br />
Comment=Microsemi Design Software for Microsemi FPGAs and SoCs<br />
Exec=/home/''user''/scripts/launch_libero.sh<br />
Icon=/home/''user''/programs/microsemi/libero/v12.1/libero.xpm<br />
Terminal=false<br />
Type=Application<br />
Categories=Development<br />
}}<br />
<br />
== Using a FlashPro programmer ==<br />
<br />
Using a programmer (e.g. the Microsemi FlashPro5) requires two steps: Adding rules to gain device permissions and unloading a conflicting kernel module.<br />
<br />
=== Adding udev rules ===<br />
To add the correct permissions for your user to access the programmer add the following file to your [[Udev]] ruleset as root:<br />
<br />
{{hc|/etc/udev/rules.d/70-microsemi.rules|2=<br />
SUBSYSTEM=="usb", ATTR{idVendor}=="1514", ATTR{idProduct}=="2008", MODE="0666", GROUP="microsemi-prog"<br />
SUBSYSTEM=="usb", ATTR{idVendor}=="0403", ATTR{idProduct}=="6001", MODE="0666", GROUP="microsemi-prog"<br />
}}<br />
<br />
The group {{ic|microsemi-prog}} is just an example, you may replace it by any group your user is in or add a new group and put your User ''user'' into it:<br />
# groupadd microsemi-prog<br />
# usermod -aG microsemi-prog ''user''<br />
<br />
You have to log out and in to apply the new group for the session. In a single terminal some can also apply the new group with {{ic|newgrp microsemi-prog}}. To list your groups type {{ic|id}} or {{ic|groups}}.<br />
<br />
=== Removing conflicting kernel module ===<br />
When plugging in the programmer it identifies as an FTDI serial device and loads the corresponding kernel driver. Liberos software does not work with that kernel driver so we have to unload it:<br />
# rmmod ftdi_sio<br />
<br />
To permanently unload the driver you may add it to your [[Blacklist]]:<br />
{{hc|/etc/modprobe.d/blacklist-ftdi.conf|2=<br />
blacklist ftdi_sio<br />
}}</div>Obihttps://wiki.archlinux.org/index.php?title=Microsemi_Libero&diff=576809Microsemi Libero2019-07-04T14:31:07Z<p>Obi: Add libfp fix and add section about the programmer</p>
<hr />
<div>[[Category:Electronic design automation]]<br />
From [https://www.microsemi.com/product-directory/design-resources/1750-libero-soc#overview]:<br />
: Libero® SoC Design Suite offers high productivity with its comprehensive, easy-to-learn, easy-to-adopt development tools for designing with Microsemi's PolarFire, IGLOO2, SmartFusion2, RTG4, SmartFusion, IGLOO, ProASIC3 and Fusion families.<br />
<br />
This article shows how to install the Microsemi Libero Toolchain on Arch Linux.<br />
<br />
== Installation ==<br />
<br />
=== Preparations ===<br />
<br />
Libero needs about 45GiB free diskspace.<br />
<br />
==== Package installation ====<br />
<br />
Libero depends on some 32-bit packages from multilib. In order to install multilib packages using [[pacman]], you need to enable the [[multilib]] repository first (if not already done).<br />
<br />
Install the following packages: {{Pkg|openmotif}} {{Pkg|zlib}} {{Pkg|lib32-libxft}} {{Pkg|lib32-libpng12}} {{Pkg|lib32-dbus}} {{Pkg|lib32-sqlite}} {{Pkg|lib32-libpulse}}<br />
<br />
==== Qt5 32-bit dependencies ====<br />
<br />
Parts of Liberos shared libraries also depend on 32-bit Qt5 libraries, namely {{ic|libQt5XcbQpa.so.5}}, {{ic|libQt5Gui.so.5}}, {{ic|libQt5DBus.so.5}} and {{ic|libQt5Core.so.5}}. Sadly they are not available from the [[multilib]] repository so we have to add them manually.<br />
<br />
Download the 32-bit installer of Qt at [https://www.qt.io/download-thank-you?os=linux32&hsLang=en Qt 32-bit online installer] and execute it:<br />
$ chmod u+x qt-unified-linux-x86-2.0.5-2-online.run<br />
$ ./qt-unified-linux-x86-2.0.5-2-online.run<br />
It should be sufficient to install "Qt 5.5" -> "Desktop gcc".<br />
Set a sane installation path e.g. {{ic|/home/''user''/lib/qt5_32}} where ''user'' is your username.<br />
<br />
=== Extract files ===<br />
<br />
The Installer unpacks its own Java Runtime and by default uses {{ic|/tmp}} for temporary files even if it tells you differently. Thus make sure you have enough space available on {{ic|/tmp}}! The default 8GB [[tmpfs]] is not sufficient for the installation, you have to disable it for installation and reboot the system to apply the change:<br />
# systemctl mask tmp.mount<br />
# reboot<br />
<br />
From [https://www.microsemi.com/product-directory/design-resources/1750-libero-soc#downloads https://www.microsemi.com/product-directory/design-resources/1750-libero-soc#downloads] download the "Libero SoC v12.1 for Linux" install file (You need to create an account for that).<br />
Make it executable and run it:<br />
$ chmod u+x Libero_SoC_v12.1_lin.bin<br />
$ ./Libero_SoC_v12.1_lin.bin -i console<br />
In the installer answer the questions and set a path to extract the files to, e.g. {{ic|/home/''user''/programs/microsemi/libero/v12.1/}} and {{ic|/home/''user''/programs/microsemi/common}}.<br />
There is a graphical installer available, just replace {{ic|console}} with {{ic|gui}} in the call above.<br />
<br />
==== Silent installation ====<br />
<br />
You can also pass the installation parameters to the script on the commandline rather than typing them in. Following an example for a default installation:<br />
$ ./Libero_SoC_v12.1_lin.bin -i silent \<br />
-DUSER_INSTALL_DIR=/home/''user''/programs/microsemi/libero/v12.1/ \<br />
-DUSER_COMMON_DIR=/home/''user''/programs/microsemi/common \<br />
-DCHOSEN_FEATURE_LIST=Synplify,ModelSim,ModelsimPro,Identify,Libero \<br />
-DCHOSEN_INSTALL_FEATURE_LIST=Synplify,ModelSim,ModelsimPro,Identify,Libero \<br />
-DCHOSEN_INSTALL_SET=Libero<br />
<br />
=== Post-Installation ===<br />
<br />
Reenable the [[tmpfs]] after the installation with:<br />
# systemctl unmask tmp.mount<br />
# reboot<br />
<br />
Some modifications have to be made for Libero to run on Arch Linux.<br />
<br />
Libero tries to load an old version of the motif library. Modify the following file and change the 3 to a 4 in the {{ic|case `uname`}} block:<br />
{{hc|/home/''user''/programs/microsemi/libero/v12.1/Libero/bin/actel_setup_vars|2=<br />
...<br />
case `uname` in<br />
SunOS)<br />
...<br />
Linux)<br />
arch=lin<br />
<br />
# X/Motif<br />
'''MOTIF_LIB=libXm.so.4'''<br />
...<br />
}}<br />
<br />
{{Tip|Alternatively you can create a symlink in the {{ic|/lib}} directory:<br />
# ln -s /lib/libXm.so.4 /lib/libXm.so.3<br />
This is discouraged as it tampers with a directory preferably modified by [[pacman]] when installing packages. However it might be useful when reinstalling Libero or installing a newer version of it because the manual modification of the file above can be skipped.}}<br />
<br />
Furthermore the outdated {{ic|libz}} version shipped by Microsemi does not work with the repository version of {{Pkg|lib32-libpng12}}.<br />
In {{ic|/home/''user''/programs/microsemi/libero/v12.1/Libero/lib}} do the following to make Libero use your library installed by [[pacman]]:<br />
$ mv libz.so.1 libz.so.1.old<br />
$ ln -s /lib/libz.so libz.so.1<br />
Repeat the same two commands in {{ic|/home/''user''/programs/microsemi/libero/v12.1/Libero/libfp}} to enable the FlashPro utilities.<br />
<br />
By mistake the installer adds double quotes around the common path when defining the vault location. Thus Libero will create a folder called {{ic|""}} in the working directory when it is called. To change that either manually edit the file {{ic|install.def}} to remove the double quotes from the line where {{ic|VAULT_LOCATION}} is defined:<br />
{{hc|/home/''user''/programs/microsemi/libero/v12.1/Libero/data/install.def|2=<br />
...<br />
data VAULT_LOCATION '/home/''user''/programs/microsemi/common/vault' OVERRIDE<br />
...<br />
}}<br />
... or run the commands below to remove the quotes:<br />
$ cd /home/''user''/programs/microsemi/libero/v12.1/Libero/data<br />
$ sed 's/"//g' install.def > tmp.def<br />
$ cp tmp.def install.def<br />
$ rm tmp.def<br />
<br />
== Launching Libero ==<br />
<br />
When launching Libero some environment variables have to be set.<br />
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/''user''/lib/qt5_32/5.5/gcc/lib<br />
LM_LICENSE_FILE="''port''@''domain.of.your.license.server''"<br />
SNPSLMD_LICENSE_FILE="''port''@''domain.of.synopsys.license.server''"<br />
The {{ic|$LD_LIBRARY_PATH}} has to include the libraries from the 32-bit Qt installation, {{ic|$LM_LICENSE_FILE}} reflects your Libero license server on which the license daemon runs on some ''port'' under some url ''domain.of.your.license.server''. {{ic|$SNPSLMD_LICENSE_FILE}} is needed for the Synopsys tools used in Libero, set this to a different server and port if you have multiple license daemons running or to {{ic|$LD_LIBRARY_PATH}} if not.<br />
<br />
With those variabled set Libero is ready to be launched with<br />
$ /home/''user''/programs/microsemi/libero/v12.1/Libero/bin/libero<br />
<br />
Probably you may want to create a launch script for that:<br />
<br />
{{hc|/home/''user''/scripts/launch_libero.sh|2=<br />
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/''user''/lib/qt5_32/5.5/gcc/lib<br />
LM_LICENSE_FILE="''port''@''domain.of.your.license.server''"<br />
SNPSLMD_LICENSE_FILE="''port''@''domain.of.synopsys.license.server''"<br />
/home/''user''/programs/microsemi/libero/v12.1//Libero/bin/libero<br />
}}<br />
<br />
Do not forget to make it executable:<br />
$ chmod u+x /home/''user''/scripts/launch_libero.sh<br />
<br />
=== Application menu entry ===<br />
<br />
A freedesktop.org application menu entry (which a lot of desktop environments and window managers follow) can be added to the system by creating a {{ic|libero.desktop}} file in your {{ic|~/.local/share/applications}} directory:<br />
<br />
{{hc|~/.local/share/applications/libero.desktop|2=<br />
[Desktop Entry]<br />
Version=1.0<br />
Name=Libero SoC Design Suite v12.1<br />
Comment=Microsemi Design Software for Microsemi FPGAs and SoCs<br />
Exec=/home/''user''/scripts/launch_libero.sh<br />
Icon=/home/''user''/programs/microsemi/libero/v12.1/libero.xpm<br />
Terminal=false<br />
Type=Application<br />
Categories=Development<br />
}}<br />
<br />
== Using a FlashPro programmer ==<br />
<br />
Using a programmer (e.g. the Microsemi FlashPro5) requires two steps: Adding rules to gain device permissions and unloading a conflicting kernel module.<br />
<br />
=== Adding udev rules ===<br />
To add the correct permissions for your user to access the programmer add the following file to your [[Udev]] ruleset as root:<br />
<br />
{{hc|/etc/udev/rules.d/70-microsemi.rules|2=<br />
SUBSYSTEM=="usb", ATTR{idVendor}=="1514", ATTR{idProduct}=="2008", MODE="0666", GROUP="microsemi-prog"<br />
SUBSYSTEM=="usb", ATTR{idVendor}=="0403", ATTR{idProduct}=="6001", MODE="0666", GROUP="microsemi-prog"<br />
}}<br />
<br />
The group {{ic|microsemi-prog}} is just an example, you may replace it by any group your user is in or add a new group and put your User ''user'' into it:<br />
# groupadd microsemi-prog<br />
# usermod -aG microsemi-prog ''user''<br />
<br />
You have to log out and in to apply the new group for the session. In a single terminal some can also apply the new group with {{ic|newgrp microsemi-prog}}. To list your groups type {{ic|id}} or {{ic|groups}}.<br />
<br />
=== Removing conflicting kernel module ===<br />
When plugging in the programmer it identifies as an FTDI serial device and loads the corresponding kernel driver. Liberos software does not work with the kernel driver so we have to unload it:<br />
# rmmod ftdi_sio<br />
<br />
To permanently unload the driver you may add it to your [[Blacklist]]:<br />
{{hc|/etc/modprobe.d/blacklist-ftdi.conf|2=<br />
blacklist ftdi_sio<br />
}}</div>Obihttps://wiki.archlinux.org/index.php?title=Microsemi_Libero&diff=576296Microsemi Libero2019-06-24T07:03:49Z<p>Obi: Add a paragraph about fixing wrong quotes after installation; add a minor clarification to a library link command</p>
<hr />
<div>[[Category:Electronic design automation]]<br />
From [https://www.microsemi.com/product-directory/design-resources/1750-libero-soc#overview]:<br />
: Libero® SoC Design Suite offers high productivity with its comprehensive, easy-to-learn, easy-to-adopt development tools for designing with Microsemi's PolarFire, IGLOO2, SmartFusion2, RTG4, SmartFusion, IGLOO, ProASIC3 and Fusion families.<br />
<br />
This article shows how to install the Microsemi Libero Toolchain on Arch Linux.<br />
<br />
== Installation ==<br />
<br />
=== Preparations ===<br />
<br />
Libero needs about 45GiB free diskspace.<br />
<br />
==== Package installation ====<br />
<br />
Libero depends on some 32-bit packages from multilib. In order to install multilib packages using [[pacman]], you need to enable the [[multilib]] repository first (if not already done).<br />
<br />
Install the following packages: {{Pkg|openmotif}} {{Pkg|zlib}} {{Pkg|lib32-libxft}} {{Pkg|lib32-libpng12}} {{Pkg|lib32-dbus}} {{Pkg|lib32-sqlite}} {{Pkg|lib32-libpulse}}<br />
<br />
==== Qt5 32-bit dependencies ====<br />
<br />
Parts of Liberos shared libraries also depend on 32-bit Qt5 libraries, namely {{ic|libQt5XcbQpa.so.5}}, {{ic|libQt5Gui.so.5}}, {{ic|libQt5DBus.so.5}} and {{ic|libQt5Core.so.5}}. Sadly they are not available from the [[multilib]] repository so we have to add them manually.<br />
<br />
Download the 32-bit installer of Qt at [https://www.qt.io/download-thank-you?os=linux32&hsLang=en Qt 32-bit online installer] and execute it:<br />
$ chmod u+x qt-unified-linux-x86-2.0.5-2-online.run<br />
$ ./qt-unified-linux-x86-2.0.5-2-online.run<br />
It should be sufficient to install "Qt 5.5" -> "Desktop gcc".<br />
Set a sane installation path e.g. {{ic|/home/''user''/lib/qt5_32}} where ''user'' is your username.<br />
<br />
=== Extract files ===<br />
<br />
The Installer unpacks its own Java Runtime and by default uses {{ic|/tmp}} for temporary files even if it tells you differently. Thus make sure you have enough space available on {{ic|/tmp}}! The default 8GB [[tmpfs]] is not sufficient for the installation, you have to disable it for installation and reboot the system to apply the change:<br />
# systemctl mask tmp.mount<br />
# reboot<br />
<br />
From [https://www.microsemi.com/product-directory/design-resources/1750-libero-soc#downloads https://www.microsemi.com/product-directory/design-resources/1750-libero-soc#downloads] download the "Libero SoC v12.1 for Linux" install file (You need to create an account for that).<br />
Make it executable and run it:<br />
$ chmod u+x Libero_SoC_v12.1_lin.bin<br />
$ ./Libero_SoC_v12.1_lin.bin -i console<br />
In the installer answer the questions and set a path to extract the files to, e.g. {{ic|/home/''user''/programs/microsemi/libero/v12.1/}} and {{ic|/home/''user''/programs/microsemi/common}}.<br />
There is a graphical installer available, just replace {{ic|console}} with {{ic|gui}} in the call above.<br />
<br />
==== Silent installation ====<br />
<br />
You can also pass the installation parameters to the script on the commandline rather than typing them in. Following an example for a default installation:<br />
$ ./Libero_SoC_v12.1_lin.bin -i silent \<br />
-DUSER_INSTALL_DIR=/home/''user''/programs/microsemi/libero/v12.1/ \<br />
-DUSER_COMMON_DIR=/home/''user''/programs/microsemi/common \<br />
-DCHOSEN_FEATURE_LIST=Synplify,ModelSim,ModelsimPro,Identify,Libero \<br />
-DCHOSEN_INSTALL_FEATURE_LIST=Synplify,ModelSim,ModelsimPro,Identify,Libero \<br />
-DCHOSEN_INSTALL_SET=Libero<br />
<br />
=== Post-Installation ===<br />
<br />
Reenable the [[tmpfs]] after the installation with:<br />
# systemctl unmask tmp.mount<br />
# reboot<br />
<br />
Some modifications have to be made for Libero to run on Arch Linux.<br />
<br />
Libero tries to load an old version of the motif library. Modify the following file and change the 3 to a 4 in the {{ic|case `uname`}} block:<br />
{{hc|/home/''user''/programs/microsemi/libero/v12.1/Libero/bin/actel_setup_vars|2=<br />
...<br />
case `uname` in<br />
SunOS)<br />
...<br />
Linux)<br />
arch=lin<br />
<br />
# X/Motif<br />
'''MOTIF_LIB=libXm.so.4'''<br />
...<br />
}}<br />
<br />
{{Tip|Alternatively you can create a symlink in the {{ic|/lib}} directory:<br />
# ln -s /lib/libXm.so.4 /lib/libXm.so.3<br />
This is discouraged as it tampers with a directory preferably modified by [[pacman]] when installing packages. However it might be useful when reinstalling Libero or installing a newer version of it because the manual modification of the file above can be skipped.}}<br />
<br />
Furthermore the outdated {{ic|libz}} version shipped by Microsemi does not work with the repository version of {{Pkg|lib32-libpng12}}.<br />
In {{ic|/home/''user''/programs/microsemi/libero/v12.1/Libero/lib}} do the following to make Libero use your library installed by [[pacman]]:<br />
$ mv libz.so.1 libz.so.1.old<br />
$ ln -s /lib/libz.so libz.so.1<br />
<br />
By mistake the installer adds double quotes around the common path when defining the vault location. Thus Libero will create a folder called {{ic|""}} in the working directory when it is called. To change that either manually edit the file {{ic|install.def}} to remove the double quotes from the line where {{ic|VAULT_LOCATION}} is defined:<br />
{{hc|/home/''user''/programs/microsemi/libero/v12.1/Libero/data/install.def|2=<br />
...<br />
data VAULT_LOCATION '/home/''user''/programs/microsemi/common/vault' OVERRIDE<br />
...<br />
}}<br />
... or run the commands below to remove the quotes:<br />
$ cd /home/''user''/programs/microsemi/libero/v12.1/Libero/data<br />
$ sed 's/"//g' install.def > tmp.def<br />
$ cp tmp.def install.def<br />
$ rm tmp.def<br />
<br />
== Launching Libero ==<br />
<br />
When launching Libero some environment variables have to be set.<br />
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/''user''/lib/qt5_32/5.5/gcc/lib<br />
LM_LICENSE_FILE="''port''@''domain.of.your.license.server''"<br />
SNPSLMD_LICENSE_FILE="''port''@''domain.of.synopsys.license.server''"<br />
The {{ic|$LD_LIBRARY_PATH}} has to include the libraries from the 32-bit Qt installation, {{ic|$LM_LICENSE_FILE}} reflects your Libero license server on which the license daemon runs on some ''port'' under some url ''domain.of.your.license.server''. {{ic|$SNPSLMD_LICENSE_FILE}} is needed for the Synopsys tools used in Libero, set this to a different server and port if you have multiple license daemons running or to {{ic|$LD_LIBRARY_PATH}} if not.<br />
<br />
With those variabled set Libero is ready to be launched with<br />
$ /home/''user''/programs/microsemi/libero/v12.1/Libero/bin/libero<br />
<br />
Probably you may want to create a launch script for that:<br />
<br />
{{hc|/home/''user''/scripts/launch_libero.sh|2=<br />
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/''user''/lib/qt5_32/5.5/gcc/lib<br />
LM_LICENSE_FILE="''port''@''domain.of.your.license.server''"<br />
SNPSLMD_LICENSE_FILE="''port''@''domain.of.synopsys.license.server''"<br />
/home/''user''/programs/microsemi/libero/v12.1//Libero/bin/libero<br />
}}<br />
<br />
Do not forget to make it executable:<br />
$ chmod u+x /home/''user''/scripts/launch_libero.sh<br />
<br />
=== Application menu entry ===<br />
<br />
A freedesktop.org application menu entry (which a lot of desktop environments and window managers follow) can be added to the system by creating a {{ic|libero.desktop}} file in your {{ic|~/.local/share/applications}} directory:<br />
<br />
{{hc|~/.local/share/applications/libero.desktop|2=<br />
[Desktop Entry]<br />
Version=1.0<br />
Name=Libero SoC Design Suite v12.1<br />
Comment=Microsemi Design Software for Microsemi FPGAs and SoCs<br />
Exec=/home/''user''/scripts/launch_libero.sh<br />
Icon=/home/''user''/programs/microsemi/libero/v12.1/libero.xpm<br />
Terminal=false<br />
Type=Application<br />
Categories=Development<br />
}}</div>Obihttps://wiki.archlinux.org/index.php?title=User:Obi&diff=575873User:Obi2019-06-18T13:47:44Z<p>Obi: Correct Typo</p>
<hr />
<div>Arch Linux User for some years<br />
<br />
User of EDA-Software like<br />
* [[Altera Design Software]]<br />
* [[Xilinx Vivado]]<br />
* [[Microsemi Libero]]<br />
<br />
Familiar with VHDL, Verilog and System Verilog</div>Obihttps://wiki.archlinux.org/index.php?title=User:Obi&diff=575872User:Obi2019-06-18T13:47:14Z<p>Obi: Add my user page</p>
<hr />
<div>Arch Linux User for some years<br />
<br />
User of EDA-Software like<br />
* [[Altera design Software]]<br />
* [[Xilinx Vivado]]<br />
* [[Microsemi Libero]]<br />
<br />
Familiar with VHDL, Verilog and System Verilog</div>Obihttps://wiki.archlinux.org/index.php?title=Libero&diff=575871Libero2019-06-18T13:42:40Z<p>Obi: Add a redirection for Libero to the actual article for it</p>
<hr />
<div>#REDIRECT [[Microsemi Libero]]</div>Obihttps://wiki.archlinux.org/index.php?title=Microsemi_Libero&diff=575870Microsemi Libero2019-06-18T13:41:13Z<p>Obi: Add an article about the Libero toolchain and how to install it on Arch Linux</p>
<hr />
<div>[[Category:Electronic design automation]]<br />
From [https://www.microsemi.com/product-directory/design-resources/1750-libero-soc#overview]:<br />
: Libero® SoC Design Suite offers high productivity with its comprehensive, easy-to-learn, easy-to-adopt development tools for designing with Microsemi's PolarFire, IGLOO2, SmartFusion2, RTG4, SmartFusion, IGLOO, ProASIC3 and Fusion families.<br />
<br />
This article shows how to install the Microsemi Libero Toolchain on Arch Linux.<br />
<br />
== Installation ==<br />
<br />
=== Preparations ===<br />
<br />
Libero needs about 45GiB free diskspace.<br />
<br />
==== Package installation ====<br />
<br />
Libero depends on some 32-bit packages from multilib. In order to install multilib packages using [[pacman]], you need to enable the [[multilib]] repository first (if not already done).<br />
<br />
Install the following packages: {{Pkg|openmotif}} {{Pkg|zlib}} {{Pkg|lib32-libxft}} {{Pkg|lib32-libpng12}} {{Pkg|lib32-dbus}} {{Pkg|lib32-sqlite}} {{Pkg|lib32-libpulse}}<br />
<br />
==== Qt5 32-bit dependencies ====<br />
<br />
Parts of Liberos shared libraries also depend on 32-bit Qt5 libraries, namely {{ic|libQt5XcbQpa.so.5}}, {{ic|libQt5Gui.so.5}}, {{ic|libQt5DBus.so.5}} and {{ic|libQt5Core.so.5}}. Sadly they are not available from the [[multilib]] repository so we have to add them manually.<br />
<br />
Download the 32-bit installer of Qt at [https://www.qt.io/download-thank-you?os=linux32&hsLang=en Qt 32-bit online installer] and execute it:<br />
$ chmod u+x qt-unified-linux-x86-2.0.5-2-online.run<br />
$ ./qt-unified-linux-x86-2.0.5-2-online.run<br />
It should be sufficient to install "Qt 5.5" -> "Desktop gcc".<br />
Set a sane installation path e.g. {{ic|/home/''user''/lib/qt5_32}} where ''user'' is your username.<br />
<br />
=== Extract files ===<br />
<br />
The Installer unpacks its own Java Runtime and by default uses {{ic|/tmp}} for temporary files even if it tells you differently. Thus make sure you have enough space available on {{ic|/tmp}}! The default 8GB [[tmpfs]] is not sufficient for the installation, you have to disable it for installation and reboot the system to apply the change:<br />
# systemctl mask tmp.mount<br />
# reboot<br />
<br />
From [https://www.microsemi.com/product-directory/design-resources/1750-libero-soc#downloads https://www.microsemi.com/product-directory/design-resources/1750-libero-soc#downloads] download the "Libero SoC v12.1 for Linux" install file (You need to create an account for that).<br />
Make it executable and run it:<br />
$ chmod u+x Libero_SoC_v12.1_lin.bin<br />
$ ./Libero_SoC_v12.1_lin.bin -i console<br />
In the installer answer the questions and set a path to extract the files to, e.g. {{ic|/home/''user''/programs/microsemi/libero/v12.1/}} and {{ic|/home/''user''/programs/microsemi/common}}.<br />
There is a graphical installer available, just replace {{ic|console}} with {{ic|gui}} in the call above.<br />
<br />
==== Silent installation ====<br />
<br />
You can also pass the installation parameters to the script on the commandline rather than typing them in. Following an example for a default installation:<br />
$ ./Libero_SoC_v12.1_lin.bin -i silent \<br />
-DUSER_INSTALL_DIR=/home/''user''/programs/microsemi/libero/v12.1/ \<br />
-DUSER_COMMON_DIR=/home/''user''/programs/microsemi/common \<br />
-DCHOSEN_FEATURE_LIST=Synplify,ModelSim,ModelsimPro,Identify,Libero \<br />
-DCHOSEN_INSTALL_FEATURE_LIST=Synplify,ModelSim,ModelsimPro,Identify,Libero \<br />
-DCHOSEN_INSTALL_SET=Libero<br />
<br />
=== Post-Installation ===<br />
<br />
Reenable the [[tmpfs]] after the installation with:<br />
# systemctl unmask tmp.mount<br />
# reboot<br />
<br />
Some modifications have to be made for Libero to run on Arch Linux.<br />
<br />
Libero tries to load an old version of the motif library. Modify the following file and change the 3 to a 4 in the {{ic|case `uname`}} block:<br />
{{hc|/home/''user''/programs/microsemi/libero/v12.1/Libero/bin/actel_setup_vars|2=<br />
...<br />
case `uname` in<br />
SunOS)<br />
...<br />
Linux)<br />
arch=lin<br />
<br />
# X/Motif<br />
'''MOTIF_LIB=libXm.so.4'''<br />
...<br />
}}<br />
<br />
{{Tip|Alternatively you can create a symlink in the {{ic|/lib}} directory:<br />
# ln -s /lib/libXm.so.4 /lib/libXm.so.3<br />
This is discouraged as it tampers with a directory preferably modified by [[pacman]] when installing packages. However it might be useful when reinstalling Libero or installing a newer version of it because the manual modification of the file above can be skipped.}}<br />
<br />
Furthermore the outdated {{ic|libz}} version shipped by Microsemi does not work with the repository version of {{Pkg|lib32-libpng12}}.<br />
In {{ic|/home/''user''/programs/microsemi/libero/v12.1/Libero/lib}} do the following:<br />
$ mv libz.so.1 libz.so.1.old<br />
$ ln -s /lib/libz.so libz.so.1<br />
<br />
== Launching Libero ==<br />
<br />
When launching Libero some environment variables have to be set.<br />
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/''user''/lib/qt5_32/5.5/gcc/lib<br />
LM_LICENSE_FILE="''port''@''domain.of.your.license.server''"<br />
SNPSLMD_LICENSE_FILE="''port''@''domain.of.synopsys.license.server''"<br />
The {{ic|$LD_LIBRARY_PATH}} has to include the libraries from the 32-bit Qt installation, {{ic|$LM_LICENSE_FILE}} reflects your Libero license server on which the license daemon runs on some ''port'' under some url ''domain.of.your.license.server''. {{ic|$SNPSLMD_LICENSE_FILE}} is needed for the Synopsys tools used in Libero, set this to a different server and port if you have multiple license daemons running or to {{ic|$LD_LIBRARY_PATH}} if not.<br />
<br />
With those variabled set Libero is ready to be launched with<br />
$ /home/''user''/programs/microsemi/libero/v12.1/Libero/bin/libero<br />
<br />
Probably you may want to create a launch script for that:<br />
<br />
{{hc|/home/''user''/scripts/launch_libero.sh|2=<br />
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/''user''/lib/qt5_32/5.5/gcc/lib<br />
LM_LICENSE_FILE="''port''@''domain.of.your.license.server''"<br />
SNPSLMD_LICENSE_FILE="''port''@''domain.of.synopsys.license.server''"<br />
/home/''user''/programs/microsemi/libero/v12.1//Libero/bin/libero<br />
}}<br />
<br />
Do not forget to make it executable:<br />
$ chmod u+x /home/''user''/scripts/launch_libero.sh<br />
<br />
=== Application menu entry ===<br />
<br />
A freedesktop.org application menu entry (which a lot of desktop environments and window managers follow) can be added to the system by creating a {{ic|libero.desktop}} file in your {{ic|~/.local/share/applications}} directory:<br />
<br />
{{hc|~/.local/share/applications/libero.desktop|2=<br />
[Desktop Entry]<br />
Version=1.0<br />
Name=Libero SoC Design Suite v12.1<br />
Comment=Microsemi Design Software for Microsemi FPGAs and SoCs<br />
Exec=/home/''user''/scripts/launch_libero.sh<br />
Icon=/home/''user''/programs/microsemi/libero/v12.1/libero.xpm<br />
Terminal=false<br />
Type=Application<br />
Categories=Development<br />
}}</div>Obi