Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

[SOLVED] Installation of Actel / Microsemi Libero SoC on Fedora Linux

Status
Not open for further replies.

buzzerbazooka

Newbie
Joined
Aug 15, 2012
Messages
2
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,374
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!
 
Last edited:

Thank you very much! I might just use some Actel fpga's, so this is saved for future reference. And should I do so I will not contact the "support team". :p
 
  • Like
Reactions: invlsi

    invlsi

    Points: 2
    Helpful Answer Positive Rating
Hi buzzerbazooka, thanks for your post. I have few questions/comments below.

Hi,

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.

A small remark. The software is free of charge, but the licenses to run it have restrictions. A Gold License, which is free of charge, may be used only for a subset of devices. A Platinum License is not free of charge.

- enter /usr/share/config/kdm/kdmrc and remove from the end of the line starting with ServerArgsLocal "-nolisten tcp"

is this similar to what has been suggested by the installation_licensing_FAQ in chap. 7 (**broken link removed**

-change the file /etc/gdm/gdm.conf line 267: from "DisallowTCP=true" to "DisallowTCP=false"

- 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

I have Fedora 11 and there's no /etc/default/grub, but I believe you can put that line in the grub.conf file (/boot/grub/grub.conf). My question here is why do you need to get this device name?

- 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"

what is the aim of editing the net rules? Is it related to the license? I have a license server on a remote machine and I was told to simply set LM_LICENSE_FILE=1702@license.server.name

- rename /etc/sysconfig/network-scripts/ifcfg-HOWEVER_ITS_CALLED to ifcfg-eth0

isn't it equivalent to make a soft link like this:

ln -s /etc/sysconfig/network-scripts/ifcfg-HOWEVER_ITS_CALLED /etc/sysconfig/network-scripts/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

I believe this is valid only if you need to install your license server yourself.

- 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

how did you find out which packages you needed?

- 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"


Running multiple times libero from the same shell would cause the LD_LIBRARY_PATH to be unnecessary redundant (adding each time the /usr/X11R6/lib location to it each time).I would recommend to set these environment variables in your shell rc file.

Moreover pay attention that if Open Motif has been put somewhere else during installation for any specific reason, than LD_LIBRARY_PATH should reflect it. Actually LD_LIBRARY_PATH should contain the path of your libXm.so.3 (which should be installed by OpenMotif 2.2.3). Later versions of libXm will not work.

- ... and add the following to the end of that file:
/usr/local/Libero/Libero/bin/actel_wuclean -R

this is interesting. I'm actually running actel_wuclean *before* running libero but without any result. I still get the annoying message:

WARNING: Attempt to start the Wind/U registry appears to have failed.

- 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

I must say I haven't followed all the steps blindly, also because I do not have any clue about what are the consequences of these modifications to the system (as of now). I still get some errors like the following:

Wind/U Error (248): Failed to connect to the registry on server pcalb

which should be gone by now since I set to False the DisallowTCP in gdm.conf as well as removed -nolisten tcp in the kdmrc (why the heck should I care about KDM _and_ GNOME if I'm only using one of them?!?!).

I also get an additional error message:

Cannot register service: RPC: Authentication error; why = Client credential too weak

I'm not sure if this is due to the license server being not reachable as of now.

puh, done! If I forgot anything, please let me know!

That was quite useful indeed, even though not yet complete, at least for me.
 

hiii
i found you are the one who can help me out.i am new to libero soc,currently i am using libero soc v11.4. a have gone through all the user guide,i can understand what is there,but i failing to deploy those feature(ex system builder,smart design,view draw etc)as per my requirement .please give me a simple application which deploys all the above feature.any simple application like fifo,counter whatever it may be,i jsut want to learn how to use system builder and remaining all the features.

Thanks in advance
mahammad akram
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top