📜 ⬆️ ⬇️

Installing Quartus II Web Edition for Linux



The publication describes how to install Altera Quartus II Web Edition CAD (hereinafter simply Quartus) in batch mode on a computer running Debian Linux amd64. The author uses Quartus to work with the rover family of motherboards , so the publication also contains a small overview of this family, and which versions of Quartus are suitable for which Mars rover motherboards.
The material will be useful to anyone who starts working with Quartus under the GNU / Linux OS.


')
The marsohod.org website has instructions for installing Quartus , however more than 5 years have passed since the publication of these instructions, and in addition, the instructions describe the installation of Quartus for the Windows operating system family. After downloading several versions of Quartus for Linux from the Altera website, I was convinced that installing Quartus is not supercomplicated, but at first it can be difficult: the number of versions of this Quartus itself is large, manipulations with gigabyte files are required - to make an error pretty easy. Separately, I was very frustrated by the inability to install Quartus in batch mode - i.e. prepare the configuration in a text file / script, start the installation and do other things, and not wait for the installer to ask your new, unexpected question.
In order to make the installation quite simple, the corresponding scripts were written (see below) and this publication was created.
However, before installing Quartus, it is necessary to do preliminary calculations - decide on what Quartus will be used for and clarify under which OS we will run Quartus.

Preliminary calculations: pay or not pay?


At first glance, it is not obvious, but not all Quartuses are equally useful ; in other words, what is allowed to Quartus of one version is not necessarily allowed to Quartus of another version.
First of all, you should immediately realize that there are two options for Quartus CAD systems: Subscription Edition and Web Edition. Subscription Edition is a paid version that allows you to work with all the FPGAs that Altera produces; You can see the cost of Subscription Edition here .
In the future, only the Web Edition is considered - this is a free version, however, it has a number of limitations, and not all Altera FPGA families support it. However, the Mars Rover boards (and generally inexpensive boards) are made on the basis of FPGAs of the Cyclone, MAX10 and MAX II families, and these families are supported by Quartus Web Edition.

Preliminary calculations: with which FPGA will we work?


It should be borne in mind that Quartus CAD software (even Subscription Edition) does not support all of the FPGAs that have been released by Altera, but only relatively modern ones. If suddenly you need to work with FPGAs of old families, you will most likely have to search for the old version of Quartus.
I’ll clarify that at the time of this writing, the latest version was Quartus 15.0.
Let's compare the motherboard family rover:
Mars RoverRover 2bisMars RoverRover 3bis
FPGA familyCyclone IIICyclone IVMAX10MAX10
FPGAEP3C10E144C8EP4CE6E22C810M50SAE144C8GES10M08SAE144C8GES
- Logic elements (LE)10'3206'27249'7608'064
- Built-in memory, bits423'936276'4801'677'312387'072
- USER I / O9194101101
version of Quartus II Web Edition<= 13.1<= 15.0> = 15.0> = 15.0

Note: the Mars Rover board is not included in the table, the MAX II FPGA used in it belongs to a completely different class than the Cyclone and MAX10 FPGAs. I will only clarify that both the relatively old and the newest versions of Quartus are suitable for working with MAX II so far.

As you can see, it is not possible to use one single version of Quartus for working with all motherboard rovers: on the one hand, the motherboard rover2 is built on the relatively old FPGA Cyclone III, and the latest versions of Quartus do not work with such an old FPGA; on the other hand, the Mars Rover 3 and Mars Rover 3bis boards are built on the FPGA of the newest MAX10 family about the existence of which the old versions of Quartus do not know anything.
Thus, to cover all boards of the Mars Rover family, two versions of Quartus will have to be installed at once: 13.1 and 15.0.
Note: of course, to work with Cyclone III, you can install an older than 13.1 version of Quartus, but an attempt to install some middle-aged version like 9.1 can reveal the absence of any ancient system libraries in the modern version of Debian, and to deal with these without proper reasons oh, how you don't want to.

For users of other boards, I will say that you can clarify which version of Quartus is required to work with your FPGA here at this link .

Preliminary calculations: 32 or 64 digits?


It's no secret that in 2015 the overwhelming majority of Intel / AMD x86 processors supplied support 64-bit mode. Quartus CAD requirements for processor performance and RAM are as follows (see, for example, Quartus 15.0: Recommended Physical RAM for Altera Devices , that hardly anyone will need to run Quartus on a 32-bit OS on 32-bit (read, << old >> and << weak >>) processor.
Accordingly, Altera claims that starting from version 14.0 of the CAD system, Quartus only supports 64-bit operating systems.
But, here it is necessary to make a couple of comments.
Remark the first. Even by installing all of this 64-bit Quartus out of oneself, it can be found that it still has 32-bit components inside. For example, when you try to call Altera PLL Wizzard from the 64-bit version of Quartus 13.1, the following message was received:
 Exception in thread "main" java.lang.UnsatisfiedLinkError: /opt/altera/13.1/quartus/linux/jre/lib/i386/xawt/libmawt.so: libXtst.so.6: cant open shared object file: No such file or directory
 ...
 Error: Wizard "Altera PLL v13.1" cannot be launched. 

The treatment in this case is quite simple - you need to install the missing 32-bit library:
 # apt-get install libxtst6: i386 

Remark the second. Although Quartus 13.1 supports both a 32-bit OS and a 64-bit OS, when I tried to compile a project for the Terrasic DE1-SoC card (Cyclone V SoC 5CSEMA5F31C6 FPGA), I was surprised to find the message:
 Error (11371): 5CSEMA5 requires at least a 64-bit version of the Quartus II software. 

The general conclusion is this: if you have not yet switched to the 64-bit version of Debian Linux, then it's time to do it.

Does your processor support 64-bit mode?


The easiest way is to use the lscpu command. In the output of this command, we are interested in the graph "CPU op-mode (s):". If "64-bit" is present in this column, then the processor supports 64-bit mode. Here is an example of the output:
 $ lscpu |  grep "^ CPU op-mode"
 CPU op-mode (s): 32-bit, 64-bit 

In the absence of lscpu, you can see the flags: column in /proc/cpuinfo : if the lm flag is present there, then the processor supports 64-bit mode.

Actually installing Quartus


To install Quartus versions 13.1 and 15.0 in batch mode (ie, without user interaction), I wrote a couple of scripts, see quartus-linux-install .
The enclosed README contains brief instructions for use, but just in case I will duplicate it.
So, suppose you have a Debian Linux OS amd64 OS (i.e. a 64-bit OS). As we found out, even 64-bit Quartus can request 32-bit libraries, so let's install them:
 dpkg - addd-architecture i386
 apt-get update
 apt-get install libc6: i386
 apt-get install libpng12-0: i386
 apt-get install libfreetype6: i386
 apt-get install libsm6: i386
 apt-get install libxrender1: i386
 apt-get install libfontconfig1: i386
 apt-get install libxext6: i386
 apt-get install libxtst6: i386 

The scripts are written in expect, so you have to install it:
 apt-get install expect 

Download scripts in the directory quartus-linux-install :
 git clone https://github.com/open-design/quartus-linux-install 

There are two subdirectories in the quartus-linux-install directory: Quartus-13.1 and Quartus-15.0 . They should be placed separate files distribution Quartus and files from Updates. Lists of files to download from the Altera Download Center can be viewed in MD5SUMS files.
You can check the availability of files and their integrity using the md5sum program, here is an example for Quartus 13.1:
 $ cd quartus-linux-install / Quartus-13.1
 Quartus-13.1 $ md5sum -c MD5SUMS
 arria_web-13.1.0.162.qdz: OK
 cyclonev-13.1.0.162.qdz: OK
 cyclone_web-13.1.0.162.qdz: OK
 max_web-13.1.0.162.qdz: OK
 ModelSimSetup-13.1.0.162.run: OK
 QuartusSetup-13.1.4.182.run: OK
 QuartusSetupWeb-13.1.0.162.run: OK 

Now you need to run the Quartus 13.1 installation to the /opt/altera/13.1 directory as the root user, having previously turned off X11 support, if it suddenly turned on:
 Quartus-13.1 # unset DISPLAY
 Quartus-13.1 # ./install-quartus-13.1.4.182.exp /opt/altera/13.1 

In a few minutes Quartus 13.1 with the update to version 13.1.4 will be installed!

Source: https://habr.com/ru/post/274837/


All Articles