- Quartus installation on Linux
- Installation guide for version 14.0
- Package needed
- Download
- Uncompress and install
- configure .bashrc
- Launch Quartus
- USB-Blaster
- Version 15.1 prime lite
- Version 19.1 prime lite
- Perl Getopt::Long
- Links
- Установка Quartus II Web Edition для Linux 23.10.2015 19:22
- Предварительные расчёты: платить или не платить?
- Предварительные расчёты: с какой ПЛИС работать будем?
- Предварительные расчёты: 32 или 64 разряда?
- Поддерживает ли ваш процессор 64-разрядный режим?
- Собственно установка Quartus
Quartus installation on Linux
Quartus web edition 14.0 is the software used to synthesize bitstream for Altera FPGAs. It’s required for the cyclone V soldered on APF6SP.
Installation guide for version 14.0
Package needed
sudo apt-get install libstdc++5 libmotif4 libxp6 libcurl3 # for 64 arch, install also 32bits packets: sudo dpkg --add-architecture i386 sudo apt-get install libstdc++5:i386 libmotif4:i386 libxp6:i386 libcurl3:i386
Download
Download the big (4GB) quartus installer here (Use «download software web edition» button).
Uncompress and install
tar -xvf Quartus-web-14.0.0.200-linux.tar
configure .bashrc
Adding the path of your quartus in ~/.bashrc
export ALTERAPATH="/opt/quartus/altera/14.0/" export ALTERAOCLSDKROOT="$ALTERAPATH>/hld" export QUARTUS_ROOTDIR=$ALTERAPATH>/quartus export QUARTUS_ROOTDIR_OVERRIDE="$QUARTUS_ROOTDIR" export PATH=$PATH:$ALTERAPATH>/quartus/bin export PATH=$PATH:$ALTERAPATH>/nios2eds/bin export PATH=$PATH:$QSYS_ROOTDIR>
Launch Quartus
To launch quartus, open a terminal and simply type :
USB-Blaster
USB-BLaster is an USB JTAG adaptor usefull to debug altera FPGA. Under Linux some rights must be added to use it with quartus.
/etc/udev/rules.d/altera-usb-blaster.rules
ATTR=="09fb", ATTR=="6001", MODE="666"
Version 15.1 prime lite
Note: Quartus 15.1.1 with update 1 take about ~16GB once installed, but ~15 more GB are required for download/untar before installation |
Version 15.1 with update (click on updates tab).
- In Complete Download chapter, download the big archive with update 1 (7.6GB) on the download center (free Altera account needed):
Quartus-lite-15.1.1.189-linux.tar
- Watch a good movie (min 2 hours)
- Move the big archive in a directory with enough free space and untar it:
$ tar -xvf Quartus-lite-15.1.1.189-linux.tar
- follow the instructions to install it where you want
- Take a big coffee or go to lunch (~30min)
- Change your environment variables in your .bashrc:
export ALTERAPATH="/directory/where/you/installed/quartus/" export ALTERAOCLSDKROOT="$ALTERAPATH>/hld" export QUARTUS_ROOTDIR=$ALTERAPATH>/quartus export QUARTUS_ROOTDIR_OVERRIDE="$QUARTUS_ROOTDIR" export QSYS_ROOTDIR="$ALTERAPATH>/quartus/sopc_builder/bin" export PATH=$PATH:$ALTERAPATH>/quartus/bin export PATH=$PATH:$ALTERAPATH>/nios2eds/bin
Version 19.1 prime lite
Installation process is mainly identical with this little fixes.
Perl Getopt::Long
When synthesize platform design (qsys) a perl error like this occure:
. Can't locate Getopt/Long.pm in @INC .
Apparently, the module is not installed for Intel embedded perl. To solve the problem, a solution is to use your perl installed in distribution.
But before, be sure that you have the getopt installed correctly :
$ sudo apt install libgetopt-simple-perl
Then go to your Intel Quartus installation :
$ cd altera/19.1/quartus/linux64/perl/bin $ mv perl perl_old $ ln -s /usr/bin/perl
And relaunch your quartus project.
Links
Установка Quartus II Web Edition для Linux 23.10.2015 19:22
В публикации рассказывается о том, как произвести установку САПР Altera Quartus II Web Edition (далее просто Quartus) в пакетном режиме на компьютер, работающий под управлением ОС Debian Linux amd64. Автор использует Quartus для работы с платами семейства Марсоход, так что в публикации также приведён небольшой обзор этого семейства, и то, какие версии Quartus для каких плат Марсоход годятся.
Материал будет полезен всем, кто начинает работать с Quartus под ОС GNU/Linux.
На сайте marsohod.org имеется инструкция по установке Quartus, однако прошло больше 5 лет с момента публикации этой инструкции, а кроме того, в инструкции приводится описание установки Quartus для ОС семейства Windows. Скачав с сайта Altera несколько версий Quartus для Linux я убедился в том, что установка Quartus не является чем-то сверхсложным, но на первых порах может вызывать затруднения: количество версий этого самого Quartus’а велико, требуется осуществлять манипуляции с гигабайтными файлами — допустить ошибку довольно легко. Отдельно меня очень расстраивала невозможность установить Quartus в пакетном режиме — т.е. подготовить в текстовом файле/скрипте конфигурацию, запустить установку и заниматься другими делами, а не ждать, когда установщик соизволит задать свой новый, неожиданный вопрос.
Для того, чтобы сделать установку совсем несложной были написаны соответствующие скрипты (см. ниже) и создана эта публикация.
Однако прежде чем устанавливать Quartus надо проделать предварительные расчёты — определиться с тем, для чего будет использоваться Quartus и уточнить, под какой ОС будем Quartus запускать.
Предварительные расчёты: платить или не платить?
На первый взгляд не очевидно, но не все Quartus’ы одинаково полезны; иначе говоря, то, что позволено Quartus’у одной версии, то совершенно не обязательно позволено Quartus’у другой версии.
Перво-наперво следует сразу уяснить себе, что есть два варианта САПР Quartus: Subscription Edition и Web Edition. Subscription Edition — это платный вариант, который позволяет работать со всеми ПЛИС, которые выпускает Altera; ознакомиться со стоимостью Subscription Edition можно вот по этой ссылке.
В дальнейшем рассматривается исключительно Web Edition — это бесплатный вариант, однако, он имеет ряд ограничений, и поддерживает далеко не все семейства ПЛИС Altera. Впрочем, платы Марсоход (да и вообще недорогие платы) сделаны на базе ПЛИС семейств Cyclone, MAX10 и MAX II, а эти семейства поддерживаются Quartus Web Edition.
Предварительные расчёты: с какой ПЛИС работать будем?
Следует иметь в виду, что САПР Quartus (даже Subscription Edition) поддерживает не все когда либо выпущенные Altera семейства ПЛИС, а лишь сравнительно современные. Если вдруг вам требуется работать с ПЛИС старых семейств, то скорее всего придётся поискать старую версию Quartus.
Уточню, что на момент написания данной публикации последней была версия Quartus 15.0.
Давайте сравним платы семейства Марсоход:
Марсоход2 | Марсоход2bis | Марсоход3 | Марсоход3bis | |
---|---|---|---|---|
Семейство ПЛИС | Cyclone III | Cyclone IV | MAX10 | MAX10 |
ПЛИС | EP3C10E144C8 | EP4CE6E22C8 | 10M50SAE144C8GES | 10M08SAE144C8GES |
— Логических элементов (LE) | 10’320 | 6’272 | 49’760 | 8’064 |
— Встроенная память, бит | 423’936 | 276’480 | 1’677’312 | 387’072 |
— USER I/O | 91 | 94 | 101 | 101 |
версия Quartus II Web Edition | >= 15.0 | >= 15.0 |
Примечание: плата Марсоход в таблицу не вошла, использованная в ней ПЛИС MAX II относится совсем к иному классу нежели ПЛИС Cyclone и MAX10. Уточню лишь, что для работы с пока MAX II годятся как сравнительно старые так и новейшие версии Quartus.
Как видно, использовать одну единственную версию Quartus для работы со всеми платами Марсоход не удастся: с одной стороны плата Марсоход2 построена на сравнительно старой ПЛИС Cyclone III, и новейшие версии Quartus не работают с такой старой ПЛИС; с другой стороны платы Марсоход3 и Марсоход3bis построены на ПЛИС новейшего семейства MAX10 о существовании которой старые версии Quartus ничего не знают.
Таким образом, для охвата всех плат семейства Марсоход придётся установить сразу две версии Quartus: 13.1 и 15.0.
Замечание: конечно же для работы с Cyclone III можно установить более старую, нежели 13.1 версию Quartus, однако попытка установить какую-нибудь немолодую версию навроде 9.1 может выявить отсутствие каких-то древних системных библиотек в современной версии Debian, а разбираться с этий без должных оснований ой как не хочется.
Для пользователей других плат скажу, что уточнить, какая версия Quartus требуется для работы с вашей ПЛИС можно вот по этой ссылке.
Предварительные расчёты: 32 или 64 разряда?
Ни для кого не секрет, что в 2015 году подавляющее большинство поставляемых Intel/AMD x86-процессоров поддерживает 64-разрядный режим. Требования САПР Quartus к производительности процессора и объёму ОЗУ таковы (см., например, Quartus 15.0: Recommended Physical RAM for Altera Devices, что едва ли кто-то без крайней нужды будет запускать Quartus под 32-разрядной ОС на 32-разрядном (читай, > и >) процессоре.
Соответственно Altera заявляет, что начиная c версии 14.0 САПР Quartus поддерживает только 64-разрядные ОС.
Но, тут надо сделать пару замечаний.
Замечание первое. Даже установив весь из себя такой 64-разрядный Quartus можно обнаружить, что внутри у него всё-таки есть 32-разрядные компоненты. Например, при попытке вызвать Altera PLL Wizzard из 64-разрядного варианта Quartus 13.1 было получено следующее сообщение:
Exception in thread "main" java.lang.UnsatisfiedLinkError: /opt/altera/13.1/quartus/linux/jre/lib/i386/xawt/libmawt.so: libXtst.so.6: cannot open shared object file: No such file or directory . Error: Wizard "Altera PLL v13.1" cannot be launched.
Лечение в данном случае довольно несложно — надо установить отсутствующую 32-разрядную библиотеку:
# apt-get install libxtst6:i386
Замечание второе. Хотя Quartus 13.1 поддерживает как 32-разрядную ОС, так и 64-разрядную, при попытке скомпилировать проект для платы Terrasic DE1-SoC (ПЛИС Cyclone V SoC 5CSEMA5F31C6) я с удивлением обнаружил сообщение:
Error (11371): Compiling a design on Cyclone V 5CSEMA5 requires at least a 64-bit version of the Quartus II software.
Общий вывод такой: если вы ещё не перешли на 64-разрядную версию Debian Linux, то самое время это сделать.
Поддерживает ли ваш процессор 64-разрядный режим?
Самый простой способ — использовать команду lscpu. В выводе этой команды нас интересует графа «CPU op-mode(s):». Если в этой графе будет присутствовать «64-bit», то процессор поддерживает 64-разрядный режим. Вот пример вывода:
$ lscpu | grep "^CPU op-mode" CPU op-mode(s): 32-bit, 64-bit
В отсутствии lscpu можно посмотреть графу flags: в /proc/cpuinfo : если там присутствует флаг lm, то процессор поддерживает 64-разрядный режим.
Собственно установка Quartus
Для установки Quartus версий 13.1 и 15.0 в пакетном режиме (т.е. без взаимодействия с пользователем) я написал пару скриптов, см. quartus-linux-install.
В прилагаемом README содержится краткая инструкция по применению, но на всякий случай я её продублирую.
Итак, предположим у вас имеется ОС Debian Linux amd64 (т.е. 64-разрядная ОС). Как мы выяснили, даже 64-разрядный Quartus может затребовать 32-разрядные библиотеки, поэтому давайте их установим:
dpkg --add-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
Скрипты написаны на expect, так что его придётся установить:
Скачиваем скрипты в каталог quartus-linux-install :
git clone https://github.com/open-design/quartus-linux-install
В каталоге quartus-linux-install имеется два подкаталога: Quartus-13.1 и Quartus-15.0 . В них следует посместить отдельные файлы дистрибутива Quartus и файлы из Updates. Списки файлов для скачивания из Altera Download Center можно просмотреть в файлах MD5SUMS.
Проверить наличие требуемых файлов и их целостность можно при помощи программы md5sum , вот пример для 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
Теперь надо от имени пользователя root запустить установку Quartus 13.1 в каталог /opt/altera/13.1, предварительно отключив поддержку X11, если вдруг она оказазалась включена:
Quartus-13.1# unset DISPLAY Quartus-13.1# ./install-quartus-13.1.4.182.exp /opt/altera/13.1
Через несколько минут Quartus 13.1 вместе с обновлением до версии 13.1.4 будет установлен!