Difference between revisions of "Altera Design Software"

From ArchWiki
Jump to: navigation, search
(USB-Blaster Download Cable Driver: run "jtagconfig" as a normal user since the device mode is supposed to be 0666)
(21 intermediate revisions by 7 users not shown)
Line 1: Line 1:
[[Category: Development (English)]]
+
[[Category:Development]]
[[Category: Mathematics and science (English)]]
+
[[Category:Mathematics and science]]
{{i18n|Altera Design Software}}
+
[[zh-CN:Altera Design Software]]
 +
This tutorial shows how to get, install and configure the following softwares from Altera:
 +
* Quartus II Web Edition v13.0
 +
** USB-Blaster Download Cable Driver
 +
* ModelSim - Altera Starter Edition
  
This tutorial shows how to install the following softwares form the Altera ''Design Software''
+
== Quartus II Web Edition v13.0 ==
* Quartus II (''Web edition'' and ''Subscription Edition'')
+
* USB-Blaster Driver
+
  
== Quartus II ==
+
The following procedure shows how to get, install and configure Altera Quartus II Web Edition v13.0 for Arch Linux.
The following procedure shows how to install the '''10.1 sp1''' version of Quartus II
+
Quartus II is Altera's big software collection to design and interact with about all their FPGAs/CPLDs/etc. products.
  
=== Installation ===
+
The procedure focuses on Arch Linux 64-bit systems, although 32-bit installations should work fine too.
Quartus II is downloadable at: https://www.altera.com/download/software/quartus-ii-se
+
Downloading Altera softwares requires registration. Once this is done, proceed with the download. There are three files to get
+
* Quartus II 10.1 base software
+
* Quartus II devices
+
* Quartus II 10.1 service pack 1
+
Make sure you get the GNU/Linux version!
+
  
Once you have downloaded the files, you can proceed with the installation
+
Quartus II Web Edition v13.0 is [http://www.altera.com/download/os-support/oss-index.html officially supported]
 +
for RHEL 5 and RHEL 6, but since it's one of those huge collections of proprietary software that doesn't
 +
interact so much with the distribution, it's fairly easy to install on Arch Linux.
  
$ cd <Download-folder>
+
=== Get Quartus II ===
$ sudo sh ./10.1_quartus_linux.sh
+
  
Executing this script should open a setup GUI. Just follow the instructions. For the purpose of this tutorial, I assume that you are installing Quartus II in the {{ic|/opt/altera}} folder.
+
In [http://dl.altera.com/13.0/?edition=web Altera's Downloads section], select Linux as the operating system
 +
and get the ''Combined Files'' tar archive (something like {{ic|Quartus-web-13.0.0.156-linux.tar}}).
  
After the base software is installed, you should install devices related files and upgrade to the service pack 1.
+
=== Install dependencies ===
  
$ sudo sh ./10.1_quartus_devices.sh
+
Although the main Quartus II software is 64-bit, lots of Altera tools shipped with Quartus II are still 32-bit
$ sudo sh ./10.1_quartus_linux.sh
+
softwares. Those include the Nios II EDS and Qsys, for example. This is why we need to install lots of
 +
{{ic|lib32-}} libraries and other programs from the Arch Linux Multilib repo. Obviously, if you have a 32-bit
 +
Arch Linux system, you don't need the Multilib versions.
  
=== Libpng12 ===
+
In order to install Multilib packages using Pacman, you need to enable the Multilib repository (if not already done). Open
Quartus II requires libpng12 to work, which can be found in AUR.
+
{{ic|/etc/pacman.conf}} and uncomment the following lines:
  
  $ wget http://aur.archlinux.org/packages/libpng12/libpng12.tar.gz
+
  [multilib]
$ tar -xaf libpng12.tar.gz
+
Include = /etc/pacman.d/mirrorlist
$ cd libpng12
+
$ makepkg -i PKGBUILD
+
  
Trying to launch the software right now on a 64 bits system won't work. Quartus will complain that libpng12 does not have the right ELF class. This is because Quartus is launched in 32 bits mode by default. We need to add an environment variable to switch to 64 bits mode. Please, refer to the next section regarding this matter.
+
Then, synchronize the repository.
 +
 
 +
# pacman -Sy
 +
 
 +
You should see {{ic|multilib}} being updated.
 +
 
 +
All the packages required below are taken from [http://www.altera.com/literature/manual/quartus_install.pdf Altera Software Installation and Licensing] (sect. 1-4).
 +
 
 +
Let's first install the native versions of the required packages:
 +
 
 +
# sudo pacman -S expat fontconfig freetype2 glibc gtk2 libcanberra libpng \
 +
  libpng12 libice libsm util-linux ncurses tcl tcllib zlib libx11 libxau \
 +
  libxdmcp libxext libxft libxrender libxt libxtst
 +
 
 +
And the Multilib versions:
 +
 
 +
# sudo pacman -S lib32-expat lib32-fontconfig lib32-freetype2 lib32-glibc lib32-gtk2 lib32-libcanberra lib32-libpng \
 +
  lib32-libpng12 lib32-libice lib32-libsm lib32-util-linux lib32-ncurses lib32-zlib lib32-libx11 lib32-libxau \
 +
  lib32-libxdmcp lib32-libxext lib32-libxft lib32-libxrender lib32-libxt lib32-libxtst 
 +
 
 +
You are now ready to install and launch Quartus II.
 +
 
 +
=== Installing ===
 +
 
 +
To install, first extract the downloaded tar archive:
 +
 
 +
$ tar -xvf Quartus-web-13.0.0.156-linux.tar
 +
 
 +
and launch {{ic|setup.sh}}. If you're going to install Quartus II anywhere outside your
 +
home directory, run it as root:
 +
 
 +
# ./setup.sh
 +
 
 +
You will probably get a GUI install wizard if you installed all the aforementioned packages. You might also
 +
get a command-line interactive install wizard, which will do the same.
 +
 
 +
The default install path is {{ic|~/altera/13.0}}, but some prefer {{ic|/opt/altera/13.0}}, which we assume
 +
for the rest of this document.
 +
 
 +
'''Make sure to include''' the 64-bit option of Quartus II when installing.
 +
 
 +
=== Launching Quartus II ===
 +
 
 +
Assuming you installed Quartus II in {{ic|/opt/altera/13.0}}, Quartus II binaries are located into {{ic|/opt/altera/13.0/quartus/bin}}.
 +
Run Quartus II (64-bit version):
 +
 
 +
$ /opt/altera/13.0/quartus/bin/quartus --64bit
 +
 
 +
or the 32-bit version:
 +
 
 +
$ /opt/altera/13.0/quartus/bin/quartus
 +
 
 +
All other Altera tools, like Qsys, the Nios II EDS, Chip Planner and SignalTap II may be launched without any problem
 +
from the ''Tools'' menu of Quartus II.
  
 
=== Integrating Quartus II with the system ===
 
=== Integrating Quartus II with the system ===
Let's now add the Quartus bin folder to the {{ic|PATH}} variable as well as select if we want to run it in 64 bits mode. Create a {{ic|quartus.sh}} file in the {{ic|/etc/profile.d}} directory
+
 
 +
Quartus II can be integrated with the system in several ways, but those are optional.
 +
 
 +
==== {{ic|PATH}} variable ====
 +
 
 +
Let's now add the Quartus {{ic|bin}} folder to the {{ic|PATH}} variable so it can be executed without specifying its absolute path.
 +
Create a {{ic|quartus.sh}} file in the {{ic|/etc/profile.d}} directory
  
 
{{hc|/etc/profile.d/quartus.sh
 
{{hc|/etc/profile.d/quartus.sh
 
|2=<nowiki>
 
|2=<nowiki>
export PATH=$PATH:/opt/altera/10.1/quartus/bin
+
export PATH=$PATH:/opt/altera/13.0/quartus/bin
if [ "`uname -m`" = "x86_64" ]; then
+
  export QUARTUS_64BIT=1
+
fi
+
 
</nowiki>}}
 
</nowiki>}}
  
Other environment variables related to Quartus can be found in the official installation manual http://www.altera.com/literature/manual/quartus_install.pdf
+
Also, make sure it can be executed:
  
And now you can try launching launching Quartus II
+
  # chmod +x /etc/profile.d/quartus.sh
   
+
$ source /etc/profile.d/quartus.sh
+
$ quartus
+
  
If this works, do not forget to logout/login for the change to have effect.  
+
Please note that those {{ic|profile.d}} files are loaded at each ''login''. In the mean time, simply source
 +
that file in Bash:
  
=== USB-Blaster Driver ===
+
$ source /etc/profile.d/quartus.sh
The USB-Blaster is a cable that allows you to download configuration data from you computer to you FPGA, CPLD or EEPROM configuration device. However Altera only provides support for RedHat Entreprise, SUSE Entreprise and Cent OS and we are required to do a little bit of work to make it work with Archlinux. If you want some more detail about this cable, please refer to http://www.altera.com/literature/ug/ug_usb_blstr.pdf
+
  
The JTAG server of Quartus II is responsible for communications using the USB-Blaster cable. The JTAG server ({{ic|/opt/altera/10.1/quartus/linux/jtagd}} and {{ic|/opt/altera/10.1/quartus/linux64/jtagd}}) is searching for devices in {{ic|/proc/bus/usb/<bus_num>/<dev_num>}} and in the file {{ic|/proc/bus/usb/devices}}. Using Archlinux, the former is located in {{ic|/etc}} and not {{ic|/proc}} and the latter does not exist unless {{ic|usbfs}} is mounted.
+
Other environment variables related to Quartus can be found in [http://www.altera.com/literature/manual/quartus_install.pdf the official installation manual].
  
Since the search paths are hardcoded in the JTAG server, we need to patch it to make him search for devices in {{ic|/dev/bus/usb/<bus_num>/<dev_num>}} instead of {{ic|/proc/bus/usb/<bus_num>/<dev_num>}}.
+
Even if {{ic|quartus}} is now a command known by Bash, you still need to add the {{ic|--64bit}} argument in order to launch the 64-bit
 +
version. A shell alias, like {{ic|quartus64}}, is a great solution to avoid typing it each time.
  
For 32 bits systems:
+
==== Application menu entry ====
  
$ sudo sed -i.bak 's/\/proc\/bus\/usb\/%03u\/%03u/\/dev\/bus\/usb\/%03u\/%03u\d0/g' /opt/altera/10.1/quartus/linux/jtagd
+
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|quartus.desktop}} file in your {{ic|~/.local/share/applications}}
 +
directory:
  
For 64 bits systems:
+
{{hc|~/.local/share/applications/quartus.desktop
 +
|2=<nowiki>
 +
[Desktop Entry]
 +
Version=1.0
 +
Name=Quartus II Web Edition v13.0
 +
Comment=Quartus II design software for Altera FPGA's
 +
Exec=/opt/altera/13.0/quartus/bin/quartus --64bit
 +
Icon=/opt/altera/13.0/quartus/adm/quartusii.png
 +
Terminal=false
 +
Type=Application
 +
Categories=Development
 +
</nowiki>}}
  
$ sudo sed -i.bak 's/\/proc\/bus\/usb\/%03u\/%03u/\/dev\/bus\/usb\/%03u\/%03u\d0/g' /opt/altera/10.1/quartus/linux64/jtagd #For 64 bits systems
+
=== USB-Blaster Download Cable Driver ===
  
Side by the patched JTAG server, a backup of the original one is created in {{ic|jtagd.bak}}.
+
The USB-Blaster Download Cable is a cable that allows you to download configuration data from your computer to your FPGA, CPLD or EEPROM configuration device. However,
 +
Altera only provides official support for RHEL, SUSE Entreprise and CentOS, so we are required to do a little bit
 +
of work to make it work with Arch Linux. If you want some more detail about this cable, please refer to
 +
the [http://www.altera.com/literature/ug/ug_usb_blstr.pdf USB-Blaster Download Cable User Guide].
  
Now we need to add one rule in the {{ic|/etc/fstab}} file:
+
Create a new udev rule:
{{hc|/etc/fstab
+
{{hc|/etc/udev/rules.d/51-altera-usb-blaster.rules
 
|<nowiki>
 
|<nowiki>
...
+
SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6001", MODE="0666"
usbfs /proc/bus/usb usbfs defaults 0 0
+
...
+
 
</nowiki>}}
 
</nowiki>}}
Then 'reload' that file using
 
  
$ sudo mount -a
+
Then, ''reload'' that file using {{ic|udevadm}}:
  
and now you should have a {{ic|/proc/bus/usb/devices}} file
+
# udevadm control --reload-rules
  
$ ls -l /proc/bus/usb/devices
+
To check that everything is working, plug your FPGA or CPLD board using your USB-Blaster Download Cable and run:
i-r--r--r-- 1 root root 0 Feb 10 19:05 /proc/bus/usb/devices
+
  
Now to check that the JTAG server has been properly patched and that everything is working, plug your FPGA or CPLD board using your USB-Blaster cable and run
+
  $ /opt/altera/13.0/quartus/bin/jtagconfig
 
+
  $ sudo /opt/altera/10.1/quartus/bin/jtagconfig
+
  
 
You should have an output similar to this one
 
You should have an output similar to this one
Line 102: Line 164:
 
   020B30DD  EP2C15/20
 
   020B30DD  EP2C15/20
  
In this example I have a board using a serial EEPROM to retain the FPGA configuration.
+
If there seems to be an error message about "linux64" and you didn't install the 64-bit version of Quartus II,
 +
create a symlink from {{ic|linux}} to {{ic|linux64}} in {{ic|/opt/altera/13.0/quartus}}:
  
There is still one last thing to do: give write access to casual users, not only the root.
+
# ln -s /opt/altera/13.0/quartus/linux /opt/altera/13.0/quartus/linux64
We can add a simple {{ic|udev}} rule.
+
{{hc|/etc/udev/rules.d/60-usbblaster.rules
+
|2=<nowiki>
+
ATTR{idVendor}=="09fb", ATTR{idProduct}=="6001", MODE="0666"
+
</nowiki>}}
+
  
Let's now make a final check by relaunching {{ic|jtagconfig}} after having reloaded the udev rules.
+
==ModelSim==
  
$ sudo udevadm control --reload-rules
+
{{Out of date|This section is intended for Quartus II v12.0 and should be updated for Quartus II v13.0}}
$ jtagconfig
+
  
==Altera Quartus v11.1==
+
{{Note|The ModelSim version installed with Quartus II Web Edition v13.0 works without any modification when launched from Quartus II's ''Tool'' menu.}}
  
The above does not seem to work successfully for version 11 of Quartus. Whether it is the new version, Gnome 3, or Kernel 3 I do not know.
+
===Install===
 +
ModelSim is downloadable at: https://www.altera.com/download/software/modelsim-starter/12.0
  
It can be run in 32-bit with Multilib however.
+
You need to download these 3 files :
 +
* Modelsim v10.0d for Quartus II v12.0 (12.0_modelsim_ase_linux.tar.gz)
 +
* Service Pack 2 for Modelsim v10.0d (12.0sp2_modelsim_ase_linux.tar.gz)
 +
* Service Pack 1 for Modelsim v10.0d (12.0sp1_modelsim_ase_linux.tar.gz)
  
Installation works as previously. However enable multilib and install lib32-libpng12 rather than libpng12, and do not set the QUARTUS_64BIT=1 as described above.
+
Unzip 12.0_modelsim_ase_linux.tar.gz
 +
 +
$ cd <Download-folder>
 +
$ sudo ./setup
  
Quartus now appears to run fine.
+
Executing this script should open a setup GUI. Just follow the instructions. For the purpose of this tutorial, I assume that you are installing Quartus II in the {{ic|/opt/altera}} folder. Don't forget to select the file for the source of install if you don't want to download again quartus.
  
There is no need to modify the jtagd binary with Quartus 11.1, it works fine without any modification.
+
Repeat this procedure for the sp1 file then the sp2.
  
If your system is 64bit rename the linux64 directory in altera/<ver>/quartus/ to linux64.bak then make a link to the linux folder in the same directory and call it linux64. This should allow JTAG to run.
+
===Compatibility with Archlinux===
 +
====With the kernel 3.x ====
 +
Modelsim has a problem with the version 3 of linux kernel. You need to edit the file to make it compatible :
  
==Workarounds for Quartus II==
+
change
===Qsys can't import custom components===
+
{{hc|/opt/altera/modelsim_ase/bin/vsim line 204
This bug should be fixed in version 11.1 of Quartus II. There is a problem in Quartus II when parsing the ''/etc/issue'' file for reading the distribution name (more information on the chinese version of ArchWiki, your preferred online tranlator is your friend here ;-)). The problem can be circumvented by removing the special characters from the file.
+
|<nowiki>
* Create a backup of
+
*)                vco="linux_rh60" ;;
  # mv /etc/issue /etc/issue.old
+
</nowiki>}}
* execute the following command
+
to
  # echo "Arch Linux  \r  (\n) (\l)" > /etc/issue
+
{{hc|/opt/altera/modelsim_ase/bin/vsim line 204
 +
|<nowiki>
 +
*)                vco="linux" ;;
 +
</nowiki>}}
 +
 
 +
====Install libraries====
 +
Install library ''libxft'' and ''ncurses''.
 +
$ sudo pacman -S libxft ncurses libxext
 +
 
 +
For 64 bit edition, install these library from multilib repository
 +
$ sudo pacman -S lib32-libxft lib32-ncurses lib32-libxext (from multilib repo)
 +
 
 +
=== Add icon to the system ===
 +
 
 +
You can add Modelsim to your system application menu by creating a {{ic|modelsim.desktop}} file in your {{ic|~/.local/share/applications}} directory
 +
 
 +
{{hc|~/.local/share/applications/modelsim.desktop
 +
|2=<nowiki>
 +
[Desktop Entry]
 +
Version=1.0
 +
Name=ModelSim
 +
Comment=ModelSim simulation software for Altera FPGA's
 +
Exec=/opt/altera/modelsim_ase/bin/vsim
 +
Icon=/opt/altera/modelsim_ase/modesim.gif
 +
Terminal=true
 +
Type=Application
 +
Categories=Development
 +
</nowiki>}}

Revision as of 19:12, 13 May 2013

This tutorial shows how to get, install and configure the following softwares from Altera:

  • Quartus II Web Edition v13.0
    • USB-Blaster Download Cable Driver
  • ModelSim - Altera Starter Edition

Quartus II Web Edition v13.0

The following procedure shows how to get, install and configure Altera Quartus II Web Edition v13.0 for Arch Linux. Quartus II is Altera's big software collection to design and interact with about all their FPGAs/CPLDs/etc. products.

The procedure focuses on Arch Linux 64-bit systems, although 32-bit installations should work fine too.

Quartus II Web Edition v13.0 is officially supported for RHEL 5 and RHEL 6, but since it's one of those huge collections of proprietary software that doesn't interact so much with the distribution, it's fairly easy to install on Arch Linux.

Get Quartus II

In Altera's Downloads section, select Linux as the operating system and get the Combined Files tar archive (something like Quartus-web-13.0.0.156-linux.tar).

Install dependencies

Although the main Quartus II software is 64-bit, lots of Altera tools shipped with Quartus II are still 32-bit softwares. Those include the Nios II EDS and Qsys, for example. This is why we need to install lots of lib32- libraries and other programs from the Arch Linux Multilib repo. Obviously, if you have a 32-bit Arch Linux system, you don't need the Multilib versions.

In order to install Multilib packages using Pacman, you need to enable the Multilib repository (if not already done). Open /etc/pacman.conf and uncomment the following lines:

[multilib]
Include = /etc/pacman.d/mirrorlist

Then, synchronize the repository.

# pacman -Sy

You should see multilib being updated.

All the packages required below are taken from Altera Software Installation and Licensing (sect. 1-4).

Let's first install the native versions of the required packages:

# sudo pacman -S expat fontconfig freetype2 glibc gtk2 libcanberra libpng \
  libpng12 libice libsm util-linux ncurses tcl tcllib zlib libx11 libxau \
  libxdmcp libxext libxft libxrender libxt libxtst

And the Multilib versions:

# sudo pacman -S lib32-expat lib32-fontconfig lib32-freetype2 lib32-glibc lib32-gtk2 lib32-libcanberra lib32-libpng \
  lib32-libpng12 lib32-libice lib32-libsm lib32-util-linux lib32-ncurses lib32-zlib lib32-libx11 lib32-libxau \
  lib32-libxdmcp lib32-libxext lib32-libxft lib32-libxrender lib32-libxt lib32-libxtst  

You are now ready to install and launch Quartus II.

Installing

To install, first extract the downloaded tar archive:

$ tar -xvf Quartus-web-13.0.0.156-linux.tar

and launch setup.sh. If you're going to install Quartus II anywhere outside your home directory, run it as root:

# ./setup.sh

You will probably get a GUI install wizard if you installed all the aforementioned packages. You might also get a command-line interactive install wizard, which will do the same.

The default install path is ~/altera/13.0, but some prefer /opt/altera/13.0, which we assume for the rest of this document.

Make sure to include the 64-bit option of Quartus II when installing.

Launching Quartus II

Assuming you installed Quartus II in /opt/altera/13.0, Quartus II binaries are located into /opt/altera/13.0/quartus/bin. Run Quartus II (64-bit version):

$ /opt/altera/13.0/quartus/bin/quartus --64bit

or the 32-bit version:

$ /opt/altera/13.0/quartus/bin/quartus

All other Altera tools, like Qsys, the Nios II EDS, Chip Planner and SignalTap II may be launched without any problem from the Tools menu of Quartus II.

Integrating Quartus II with the system

Quartus II can be integrated with the system in several ways, but those are optional.

PATH variable

Let's now add the Quartus bin folder to the PATH variable so it can be executed without specifying its absolute path. Create a quartus.sh file in the /etc/profile.d directory

/etc/profile.d/quartus.sh
export PATH=$PATH:/opt/altera/13.0/quartus/bin

Also, make sure it can be executed:

# chmod +x /etc/profile.d/quartus.sh

Please note that those profile.d files are loaded at each login. In the mean time, simply source that file in Bash:

$ source /etc/profile.d/quartus.sh

Other environment variables related to Quartus can be found in the official installation manual.

Even if quartus is now a command known by Bash, you still need to add the --64bit argument in order to launch the 64-bit version. A shell alias, like quartus64, is a great solution to avoid typing it each time.

Application menu entry

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 quartus.desktop file in your ~/.local/share/applications directory:

~/.local/share/applications/quartus.desktop
[Desktop Entry]
Version=1.0
Name=Quartus II Web Edition v13.0
Comment=Quartus II design software for Altera FPGA's
Exec=/opt/altera/13.0/quartus/bin/quartus --64bit
Icon=/opt/altera/13.0/quartus/adm/quartusii.png
Terminal=false
Type=Application
Categories=Development

USB-Blaster Download Cable Driver

The USB-Blaster Download Cable is a cable that allows you to download configuration data from your computer to your FPGA, CPLD or EEPROM configuration device. However, Altera only provides official support for RHEL, SUSE Entreprise and CentOS, so we are required to do a little bit of work to make it work with Arch Linux. If you want some more detail about this cable, please refer to the USB-Blaster Download Cable User Guide.

Create a new udev rule:

/etc/udev/rules.d/51-altera-usb-blaster.rules
SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6001", MODE="0666"

Then, reload that file using udevadm:

# udevadm control --reload-rules

To check that everything is working, plug your FPGA or CPLD board using your USB-Blaster Download Cable and run:

$ /opt/altera/13.0/quartus/bin/jtagconfig

You should have an output similar to this one

1) USB-Blaster [USB 1-1.1]
  020B30DD   EP2C15/20

If there seems to be an error message about "linux64" and you didn't install the 64-bit version of Quartus II, create a symlink from linux to linux64 in /opt/altera/13.0/quartus:

# ln -s /opt/altera/13.0/quartus/linux /opt/altera/13.0/quartus/linux64

ModelSim

Tango-view-refresh-red.pngThis article or section is out of date.Tango-view-refresh-red.png

Reason: This section is intended for Quartus II v12.0 and should be updated for Quartus II v13.0 (Discuss in Talk:Altera Design Software#)
Note: The ModelSim version installed with Quartus II Web Edition v13.0 works without any modification when launched from Quartus II's Tool menu.

Install

ModelSim is downloadable at: https://www.altera.com/download/software/modelsim-starter/12.0

You need to download these 3 files :

  • Modelsim v10.0d for Quartus II v12.0 (12.0_modelsim_ase_linux.tar.gz)
  • Service Pack 2 for Modelsim v10.0d (12.0sp2_modelsim_ase_linux.tar.gz)
  • Service Pack 1 for Modelsim v10.0d (12.0sp1_modelsim_ase_linux.tar.gz)

Unzip 12.0_modelsim_ase_linux.tar.gz

$ cd <Download-folder>
$ sudo ./setup

Executing this script should open a setup GUI. Just follow the instructions. For the purpose of this tutorial, I assume that you are installing Quartus II in the /opt/altera folder. Don't forget to select the file for the source of install if you don't want to download again quartus.

Repeat this procedure for the sp1 file then the sp2.

Compatibility with Archlinux

With the kernel 3.x

Modelsim has a problem with the version 3 of linux kernel. You need to edit the file to make it compatible :

change

/opt/altera/modelsim_ase/bin/vsim line 204
 *)                vco="linux_rh60" ;;

to

/opt/altera/modelsim_ase/bin/vsim line 204
 *)                vco="linux" ;;

Install libraries

Install library libxft and ncurses.

$ sudo pacman -S libxft ncurses libxext

For 64 bit edition, install these library from multilib repository

$ sudo pacman -S lib32-libxft lib32-ncurses lib32-libxext (from multilib repo)

Add icon to the system

You can add Modelsim to your system application menu by creating a modelsim.desktop file in your ~/.local/share/applications directory

~/.local/share/applications/modelsim.desktop
[Desktop Entry]
Version=1.0
Name=ModelSim
Comment=ModelSim simulation software for Altera FPGA's
Exec=/opt/altera/modelsim_ase/bin/vsim
Icon=/opt/altera/modelsim_ase/modesim.gif
Terminal=true
Type=Application
Categories=Development