Quartus II v8.1 for Linux

From Altera Wiki
(Redirected from Quartus8forLinux)
Jump to: navigation, search


The latest Altera Design Software 8.1 is supported on the following Linux operating systems and versions:

  •    Red Hat Enterprise Linux 5 (32 bit & 64 bit)
  •    Red Hat Enterprise Linux 4 (32 bit & 64 bit)
  •    SUSE 9 Enterprise Linux

You can use CentOS 5.2, which is free and binary compatible with RHEL5.
You may find step by step guide on Linux installation and usage from Redhat's doc.

It is possible to use other Linux distro. 
The procedures described here work with Ubuntu 8.04, Fedora 10 and Suse 10.3. (see fix below)

Make sure you have tcsh isntalled, otherwise install it, as root or via sudo
On Fedora,RHEL/Centos, 
yum install tcsh 
On Suse,
zypper install tcsh 
On Debian/Ubuntu, (via sudo)
apt-get install tcsh

On Ubuntu, check if the default shell is "bash" , (the default might be "dash", which won't work with install scripts)
ls -l /bin/sh
This should give "/bin/sh -> bash",
Otherwise, change it with,
sudo rm /bin/sh
sudo ln -s bash /bin/sh
followed by a logout and log back in again.

The jtag port USB Blaster needs usbfs to work. On Ubuntu/Suse, add/edit the following line in the file /etc/fstab.
usbfs /proc/bus/usb usbfs devmode=0666 0 0
This will automatically mount the usbfs to the location /proc/bus/usb on startup. The mode will be set to 0666 which means that everyone can

read/write the files that are created there.
Once the line has been added to /etc/fstab, you can mount the file system by entering the command
sudo mount /proc/bus/usb
You could also restart your system if that's easier.


You can download and install all Altera design suits from Altera's website.

Put these files in a dir, as root or via sudo
tar xf 81_altera_installer.tar

ModelSim

installation will fail with included install_download script. (have a

look at /opt/altera8.1/download_install_8.1_log.txt)
Replace install_download file with: File:Install download.gz (A patch is included)
./install_download

This will install the programs in the following default directories :
Quartus        = /opt/altera8.1/quartus
IP Megacore = /opt/altera8.1/ip
Nios II EDS   = /opt/altera8.1/nios2eds
Modelsim      = /opt/altera8.1/modelsim

(Ed.,

we don't need "8.1" numbered for each subdir when the parent dir already spelled it. while "nios2eds" and "ip" are more officially used by Altera.)

If you have a valid license file, it should be /opt/licenses/license.dat, and begin with
SERVER localhost <your nic> 1800
VENDOR alterad "/opt/altera8.1/quartus/linux/alterad"
VENDOR mgcld "/opt/altera8.1/modelsim/modeltech/linuxaloem/mgls/lib/mgcld"
....
The license server will only recognize the NIC ID (MAC address) of the interface named "eth0"
You can change the name of your interface by modifying the file: "/etc/udev/rules.d/70-persistent-net.rules" and reboot.

Even if you  don't have the license to run quartus, you can still use other tools (such as jtag download and jtag debugger) for software development. Just ignore the license manager.

Then prepare data for jtag server. As root or via sudo.
mkdir /etc/jtagd
cp /opt/altera8.1/quartus/linux/pgm_parts.txt /etc/jtagd/jtagd.pgm_parts

Add these lines to /etc/rc.local to start license manager and jtag server. As root or via sudo.
echo 356 40000 32 32000 > /proc/sys/kernel/sem
/opt/altera8.1/quartus/linux/lmgrd -c /opt/licenses/license.dat
/opt/altera8.1/quartus/bin/jtagd
(You may need to reboot, or you can run these command lines to start these servers)

Find out your system perl path. This is because the Altera perl lib didn't have all the modules reuqired to process PTF file.
eg, 
/usr/lib/perl5/5.10.0 on Fedora10,
/usr/lib/perl5/5.8.8 on Centos5.


Login as a user. Put these lines in a script file , say "n2sdk", in ~/bin dir. remember "chmod +x n2sdk".
#!/bin/bash
# Run this for a Nios II SDK bash shell
export LM_LICENSE_FILE=1800@localhost
SOPC_KIT_NIOS2=/opt/altera8.1/nios2eds
export SOPC_KIT_NIOS2
SOPC_BUILDER_PATH_81=/opt/altera8.1/nios2eds
export SOPC_BUILDER_PATH_81
unset GCC_EXEC_PREFIX
QUARTUS_ROOTDIR=/opt/altera8.1/quartus
export QUARTUS_ROOTDIR
export PERL5LIB=/usr/lib/perl5/5.10.0
bash --rcfile $QUARTUS_ROOTDIR/sopc_builder/bin/nios_bash


Open a shell terminal, enter "n2sdk". This will open a Bourne-again shell (bash) with a pre-configured environment.

------------------------------------------------
Welcome To Altera SOPC Builder

Version 8.1, Built Tue Oct 28 11:01:00 PDT 2008
------------------------------------------------

------------------------------------------------
Welcome to the Nios II Embedded Design Suite
Version 8.1, Built Tue Oct 28 11:27:40 PDT 2008

Example designs can be found in
    /opt/altera8.1/nios2eds/examples

------------------------------------------------
(You may add a startup script: /opt/altera8.1/nios2eds/user.bashrc)
~
[NiosII EDS]$

Now you can run quartus, just enter "quartus" in this command shell.
[NiosII EDS]$ quartus

If quartus ask you the license file for the first run, enter "1800@localhost" .

You can find more usage of command line tools on section 2-4 of  Embedded Design Handbook (highly recommended reading).

Now, you can install nios2gcc tools and uClinux-dist. Build the uClinux kernel image.

Next, create an empty file in your home directory named “.jtag.conf ”. 
touch ~/.jtag.conf
Then plug in your USB Blaster, connect to your dev board (2C35 here).
You can try out the jtag port.


[NiosII EDS]$ jtagconfig
1) USB-Blaster [USB 5-1.2]
  020B40DD   EP2C35
[NiosII EDS]$ nios2-configure-sof /opt/altera8.0/nios2eds/examples/verilog/niosII_cycloneII_2c35/full_featured/NiosII_cycloneII_2c35_full_featured.sof
Info: *******************************************************************
Info: Running Quartus II Programmer
Info: Command: quartus_pgm --no_banner --mode=jtag -o p;/opt/altera8.0/nios2eds/examples/verilog/niosII_cycloneII_2c35/full_featured/NiosII_cycloneII_2c35_full_featured.sof
Info: Using programming cable "USB-Blaster [USB 5-1.2]"
Info: Started Programmer operation at Fri Dec  8 11:35:01 2006
Info: Configuring device index 1
Info: Device 1 contains JTAG ID code 0x020B40DD
Info: Configuration succeeded -- 1 device(s) configured
Info: Successfully performed operation(s)
Info: Ended Programmer operation at Fri Dec  8 11:35:04 2006
Info: Quartus II Programmer was successful. 0 errors, 0 warnings
    Info: Processing ended: Fri Dec  8 11:35:04 2006
    Info: Elapsed time: 00:00:22
[NiosII EDS$ nios2-download -g ~/uClinux-dist/images/zImage
Using cable "USB-Blaster [USB 5-1.2]", device 1, instance 0x00
Pausing target processor: OK
Initializing CPU cache (if present)
OK
Downloaded 1016KB in 16.2s (62.7KB/s)
Verified OK
Starting processor at address 0x04500000
[NiosII EDS$ nios2-terminal
nios2-terminal: connected to hardware target using JTAG UART on cable
nios2-terminal: "USB-Blaster [USB 5-1.2]", device 1, instance 0
nios2-terminal: (Use the IDE stop button or Ctrl-C to terminate)
Uncompressing Linux... Ok, booting the kernel.
Linux version 2.6.Uncompressing Linux... Ok, booting the kernel.
Linux version 2.6.17-uc1 (hippo@darkstar) (gcc version 3.4.6) #46 PREEMPT Thu Dec 7 15:22:06 CST 2006

You can try out flash programmer, or add flash file conversion to your build script. Or run GDB debugger.
Happy hacking.


Miscelaneus Fixes

  1. If the Nios II EDS installer does not work, edit the install script at line 143 :
         From : x=${x/~/$HOME}
         To     : ##x=${x/~/$HOME}

  2. If the modelsim installer doesnt work, edit the install.ms script :
    At line 172 :
        From    : tar xfo {$script_path}/modeltech_altera_unix.tar
        To        : tar xfo {$script_path}/modeltech_altera_unix.tar --no-same-permissions
    At line 174 :
        From    : tar xfo {$script_path}/modeltech_altera_unix.tar $file1.Z $file2.Z $file3.Z
        To        : tar xfo {$script_path}/modeltech_altera_unix.tar $file1.Z $file2.Z $file3.Z --no-same-permissions

  3. If

the SOPC builder keeps giving language error (minor problem). This is an issue with Perl. To fix it, type this in a terminal :
       cd /usr/lib/locale
       cp -r en_US.utf8 en_US


  1. To fix the “Unknown Linux Processor” issue, download the file 'arch' and put it in /bin. You will need administrator access to do this.

  2. Sometimes the Licences in Quartus menu will not open. This can be solved by copying the provided file 'libX11.so.6.2' into/opt/altera7.2/quartus/linux. You will need administrator privileges. Then type this in a terminal:
         cd /opt/altera7.2/quartus/linux
         sudo ln -s libX11.so.6.2 libX11.so.6

    6.  Sometimes the compilation may hang at the completion of one step in Quartus , (which might be caused by RPC bug). You can use command lines, in a shell script or Makefile.
           quartus_map $*
           quartus_fit $*
           quartus_asm $*
           quartus_sta $*


Old info (outdated)


The version of Linux distro is important. Some latest distro use udev, and need extra hacking, see Instalation on unsupported distributions. Though it is possible to use other Linux disto or version, it might be difficult for newbies.

To install Altera Design Software 7.2 in Ubuntu Linux, follow this step by step tutorial : [[media:Altera_Software_Installation_Tutorial_for_Ubuntu.pdf|Altera Software Installation Tutorial for Ubuntu.pdf]
This tutorial show how to install all the tools including setting up usbfs for USB blaster. It might also apply for other Linux distros based on

Debian.
Personal tools