buzzerbazooka
Newbie
Hi,
this is a description for developers like me, who have to do FPGA design on Actel / Microsemi chips with Libero. I began with FPGA design a few months ago and it took me as long to get Libero working on Fedora 16 Linux. So you can hopefully save some time through this description.
I started with Libero v9.1 on Windows XP and recognized that it's a beta version as well as v10 and v10 with service pack 1 as they are hardly tested. The current version v10 SP2 is quite ok. A bug, which is still not fixed, is that the flash programming tool FlashPro doesn't work on 64-bit systems, neither on Windows XP nor on Windows 7. By the way in the 'Linux' version, which is in deed just offered as Red Hat Enterprise Linux 5.1 - 5.6 version, it doesn't exist at all. According to the support team it isn't planed to be offered anytime. They advise you to install Windows to flash your FPGA. Wow, great advice! So on Linux you can do FPGA design just for fun or what? I hope that sometime there will also be a FlashPro for Linux.
So my advice: never contact the support team! I did this several times with detailed description of the problems and got nothing except of a big waste of time. The support team consists of a few stupid, lazy Indians, who make idiotic suggestions, don't answer your questions and try hard to find a silly reason for explaining you, why Microsemi can't give you any support. And after asking you innumerable senseless questions and results of test processes, the support member just closes its case without telling you and fills out the feedback survey on his own.
Now the positive about Libero: it's free. You can get as many free licenses as you want and after one year you can renew them for free. You won't need the purchase version unless you need for any incomprehensible reason to simulate a mixed mode design (which means with Verilog and VHDL) pre synthesis. For this special case you could use post-synthesis/-layout simulation even in the free version. And the synthesis doesn't need much time.
So if you're using a 32-bit version of Windows 7 or XP: congratulations! You probably won't have too much problems with Libero. Use the current version - at the moment v10 SP2 - with node locked license and pay attention to have about 4 GB free on disk c:, even if you install Libero on d: or wherever, as the installer is bullshit. Moreover if you're using another application with a FlexNet license manager, you'll get a license conflict with ModelSim. To avoid this, add to your LM_LICENSE_FILE environment variable behind the path to the License.dat file a semicolon and the license server for the other application in the form port@hostname without any blank between. But if you would like to use Libero in VirtualBox, you won't be able to use FlashPro.
For the Linux installation I will give you a description in the following for Fedora 16 with a floating license and the license server installed on the same machine. For any other Linux distribution like Ubuntu or whatever it should be similar. But before, you should keep in mind a few things:
- as described already you won't have FlashPro in Linux
- starting Libero and also the whole generation process (synthesize, compile, place and route, etc.) takes more time in Linux than in Windows
So here we go:
- register at Actel / Microsemi with a correct e-mail address
- order a floating license with your eth0 MAC address
- download the latest license server daemons for Linux and save them with executable rights together with your license file license.dat with root as owner at /usr/local/libero
- for /usr/local/libero set your default user as owner
- open license.dat, adjust the SERVER line by replacing <put.hostname.here> with your machine hostname - also replace the brackets - and adjust the VENDOR and DAEMON lines entering the correct path to each vendor daemon
- add the following to your .bashrc:
# Required for Actel Libero with Motif Library
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/X11R6/lib
export LD_LIBRARY_PATH
export LM_LICENSE_FILE=/usr/local/libero/license.dat
export SNPSLMD_LICENSE_FILE=1702@localhost
Attention: the environment variable SNPSLMD_LICENSE_FILE may not be set to the path of the license.dat file as described in the installation notes, but it has to be set to port@hostname (port is normally 1702 so e.g. 1702@localhost).
- enter /usr/share/config/kdm/kdmrc and remove from the end of the line starting with ServerArgsLocal "-nolisten tcp"
- enter /etc/default/grub and insert in the end of the GRUB_CMDLINE_LINUX line " biosdevname=0" to get back the eth0 name for your network adapter
- create /etc/udev/rules.d/70-persistent-net.rules containing:
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="ENTER:YOUR:MAC:WITH:COLONS:HERE", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
- rename /etc/sysconfig/network-scripts/ifcfg-HOWEVER_ITS_CALLED to ifcfg-eth0
- Add a file called /lib/systemd/system/lmgrd.service with the following content:
[Unit]
Description=License Manager Daemon for Actel Libero
After=syslog.target network.target auditd.service
[Service]
Type=forking
ExecStart=/usr/local/libero/lmgrd -c /usr/local/libero/license.dat -l /usr/local/libero/license.log
[Install]
WantedBy=multi-user.target
- get the following rpm packages e.g. from rpmfind.net and install them:
glibc-2.14.90-24.fc16.6.i686
nss-softokn-freebl-3.13.1-15.fc16.i686
libgcc-4.6.2-1.fc16.i686
libXau-1.0.6-2.fc15.i686
libxcb-1.7-3.fc16.i686
libX11-1.4.3-1.fc16.i686
libXext-1.3.0-1.fc16.i686
libXi-1.4.5-1.fc16.i686
libXtst-1.2.0-2.fc15.i686
libffi-3.0.10-1.fc16.i686
libselinux-2.1.6-6.fc16.i686
zlib-1.2.5-6.fc16.i686
gamin-0.1.10-10.fc16.i686
glib2-2.30.2-1.fc16.i686
freetype.i686 0:2.4.6-4.fc16
nspr-4.8.9-2.fc16.i686
ncurses-libs-5.9-2.20110716.fc16.i686
perl-Class-ISA-0.36-1005.fc16.noarch
pax-3.4-12.fc16.x86_64
perl-Locale-Codes-3.20-1.fc16.noarch
nss-util-3.13.1-3.fc16.i686
readline-6.2-2.fc16.i686
sqlite-3.7.7.1-1.fc16.i686
nss-softokn-3.13.1-15.fc16.i686
nss-3.13.1-11.fc16.i686
libstdc++-4.6.2-1.fc16.i686
db4-4.8.30-3.fc15.i686
audit-libs-2.1.3-4.fc16.i686
cracklib-2.8.18-2.fc15.i686
pam-1.1.5-5.fc16.i686
redhat-lsb-4.0-7.1.fc16.i686
libXrender.i686 0:0.9.6-2.fc15
expat-2.0.1-11.fc15.i686
fontconfig-2.8.0-4.fc16.i686
libXft-2.2.0-2.fc15.i686
compat-libstdc++-296.i686
compat-libgcc-296.i686
- download Libero v10 and run the installer as your default user installing it to /usr/local/libero
- edit /usr/local/libero/libero/bin/libero adding the following to the beginning:
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/X11R6/lib
export LD_LIBRARY_PATH
export LANG="en_US"
echo
echo Please be patient! Libero bullshit takes ages to start ...
echo
- ... and add the following to the end of that file:
/usr/local/Libero/Libero/bin/actel_wuclean -R
- edit /usr/local/Libero/Synplify/bin/config/platform_set and change the line containing "2.* ) PLATFORM=linux;" to "2.* | 3.* ) PLATFORM=linux;"
- now you should reboot your system to make the changes to your network adapter work, adding the environment variables and hopefully start your license daemon
- start Libero as default user from the shell or create a shortcut calling /usr/local/Libero/Libero/bin/libero
- as ModelSim always comes up with to little font size, adjust it and set the .modelsim file in your home directory to only readable as workaround
- to patch to SP2 in Fedora is not possible, as the patch is buggy and the backup function doesn't work. Without SP2 it happens that e.g. you create a new Libero project, make your selections for the FPGA type and Libero crashes. So the only way to get SP2 is to run the patch until it crashes, create a Red Hat Enterprise v5.1 - v5.6 installation with the SP2 patched Libero, compare the folders and files of /usr/local/libero/libero with your Fedora installation and copy the required files to Fedora
puh, done! If I forgot anything, please let me know!
this is a description for developers like me, who have to do FPGA design on Actel / Microsemi chips with Libero. I began with FPGA design a few months ago and it took me as long to get Libero working on Fedora 16 Linux. So you can hopefully save some time through this description.
I started with Libero v9.1 on Windows XP and recognized that it's a beta version as well as v10 and v10 with service pack 1 as they are hardly tested. The current version v10 SP2 is quite ok. A bug, which is still not fixed, is that the flash programming tool FlashPro doesn't work on 64-bit systems, neither on Windows XP nor on Windows 7. By the way in the 'Linux' version, which is in deed just offered as Red Hat Enterprise Linux 5.1 - 5.6 version, it doesn't exist at all. According to the support team it isn't planed to be offered anytime. They advise you to install Windows to flash your FPGA. Wow, great advice! So on Linux you can do FPGA design just for fun or what? I hope that sometime there will also be a FlashPro for Linux.
So my advice: never contact the support team! I did this several times with detailed description of the problems and got nothing except of a big waste of time. The support team consists of a few stupid, lazy Indians, who make idiotic suggestions, don't answer your questions and try hard to find a silly reason for explaining you, why Microsemi can't give you any support. And after asking you innumerable senseless questions and results of test processes, the support member just closes its case without telling you and fills out the feedback survey on his own.
Now the positive about Libero: it's free. You can get as many free licenses as you want and after one year you can renew them for free. You won't need the purchase version unless you need for any incomprehensible reason to simulate a mixed mode design (which means with Verilog and VHDL) pre synthesis. For this special case you could use post-synthesis/-layout simulation even in the free version. And the synthesis doesn't need much time.
So if you're using a 32-bit version of Windows 7 or XP: congratulations! You probably won't have too much problems with Libero. Use the current version - at the moment v10 SP2 - with node locked license and pay attention to have about 4 GB free on disk c:, even if you install Libero on d: or wherever, as the installer is bullshit. Moreover if you're using another application with a FlexNet license manager, you'll get a license conflict with ModelSim. To avoid this, add to your LM_LICENSE_FILE environment variable behind the path to the License.dat file a semicolon and the license server for the other application in the form port@hostname without any blank between. But if you would like to use Libero in VirtualBox, you won't be able to use FlashPro.
For the Linux installation I will give you a description in the following for Fedora 16 with a floating license and the license server installed on the same machine. For any other Linux distribution like Ubuntu or whatever it should be similar. But before, you should keep in mind a few things:
- as described already you won't have FlashPro in Linux
- starting Libero and also the whole generation process (synthesize, compile, place and route, etc.) takes more time in Linux than in Windows
So here we go:
- register at Actel / Microsemi with a correct e-mail address
- order a floating license with your eth0 MAC address
- download the latest license server daemons for Linux and save them with executable rights together with your license file license.dat with root as owner at /usr/local/libero
- for /usr/local/libero set your default user as owner
- open license.dat, adjust the SERVER line by replacing <put.hostname.here> with your machine hostname - also replace the brackets - and adjust the VENDOR and DAEMON lines entering the correct path to each vendor daemon
- add the following to your .bashrc:
# Required for Actel Libero with Motif Library
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/X11R6/lib
export LD_LIBRARY_PATH
export LM_LICENSE_FILE=/usr/local/libero/license.dat
export SNPSLMD_LICENSE_FILE=1702@localhost
Attention: the environment variable SNPSLMD_LICENSE_FILE may not be set to the path of the license.dat file as described in the installation notes, but it has to be set to port@hostname (port is normally 1702 so e.g. 1702@localhost).
- enter /usr/share/config/kdm/kdmrc and remove from the end of the line starting with ServerArgsLocal "-nolisten tcp"
- enter /etc/default/grub and insert in the end of the GRUB_CMDLINE_LINUX line " biosdevname=0" to get back the eth0 name for your network adapter
- create /etc/udev/rules.d/70-persistent-net.rules containing:
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="ENTER:YOUR:MAC:WITH:COLONS:HERE", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
- rename /etc/sysconfig/network-scripts/ifcfg-HOWEVER_ITS_CALLED to ifcfg-eth0
- Add a file called /lib/systemd/system/lmgrd.service with the following content:
[Unit]
Description=License Manager Daemon for Actel Libero
After=syslog.target network.target auditd.service
[Service]
Type=forking
ExecStart=/usr/local/libero/lmgrd -c /usr/local/libero/license.dat -l /usr/local/libero/license.log
[Install]
WantedBy=multi-user.target
- get the following rpm packages e.g. from rpmfind.net and install them:
glibc-2.14.90-24.fc16.6.i686
nss-softokn-freebl-3.13.1-15.fc16.i686
libgcc-4.6.2-1.fc16.i686
libXau-1.0.6-2.fc15.i686
libxcb-1.7-3.fc16.i686
libX11-1.4.3-1.fc16.i686
libXext-1.3.0-1.fc16.i686
libXi-1.4.5-1.fc16.i686
libXtst-1.2.0-2.fc15.i686
libffi-3.0.10-1.fc16.i686
libselinux-2.1.6-6.fc16.i686
zlib-1.2.5-6.fc16.i686
gamin-0.1.10-10.fc16.i686
glib2-2.30.2-1.fc16.i686
freetype.i686 0:2.4.6-4.fc16
nspr-4.8.9-2.fc16.i686
ncurses-libs-5.9-2.20110716.fc16.i686
perl-Class-ISA-0.36-1005.fc16.noarch
pax-3.4-12.fc16.x86_64
perl-Locale-Codes-3.20-1.fc16.noarch
nss-util-3.13.1-3.fc16.i686
readline-6.2-2.fc16.i686
sqlite-3.7.7.1-1.fc16.i686
nss-softokn-3.13.1-15.fc16.i686
nss-3.13.1-11.fc16.i686
libstdc++-4.6.2-1.fc16.i686
db4-4.8.30-3.fc15.i686
audit-libs-2.1.3-4.fc16.i686
cracklib-2.8.18-2.fc15.i686
pam-1.1.5-5.fc16.i686
redhat-lsb-4.0-7.1.fc16.i686
libXrender.i686 0:0.9.6-2.fc15
expat-2.0.1-11.fc15.i686
fontconfig-2.8.0-4.fc16.i686
libXft-2.2.0-2.fc15.i686
compat-libstdc++-296.i686
compat-libgcc-296.i686
- download Libero v10 and run the installer as your default user installing it to /usr/local/libero
- edit /usr/local/libero/libero/bin/libero adding the following to the beginning:
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/X11R6/lib
export LD_LIBRARY_PATH
export LANG="en_US"
echo
echo Please be patient! Libero bullshit takes ages to start ...
echo
- ... and add the following to the end of that file:
/usr/local/Libero/Libero/bin/actel_wuclean -R
- edit /usr/local/Libero/Synplify/bin/config/platform_set and change the line containing "2.* ) PLATFORM=linux;" to "2.* | 3.* ) PLATFORM=linux;"
- now you should reboot your system to make the changes to your network adapter work, adding the environment variables and hopefully start your license daemon
- start Libero as default user from the shell or create a shortcut calling /usr/local/Libero/Libero/bin/libero
- as ModelSim always comes up with to little font size, adjust it and set the .modelsim file in your home directory to only readable as workaround
- to patch to SP2 in Fedora is not possible, as the patch is buggy and the backup function doesn't work. Without SP2 it happens that e.g. you create a new Libero project, make your selections for the FPGA type and Libero crashes. So the only way to get SP2 is to run the patch until it crashes, create a Red Hat Enterprise v5.1 - v5.6 installation with the SP2 patched Libero, compare the folders and files of /usr/local/libero/libero with your Fedora installation and copy the required files to Fedora
puh, done! If I forgot anything, please let me know!
Last edited: