- PVSM.RU - https://www.pvsm.ru -

Установка Quartus II Web Edition для Linux

Установка Quartus II Web Edition для Linux - 1

В публикации рассказывается о том, как произвести установку САПР Altera Quartus II Web Edition (далее просто Quartus) в пакетном режиме на компьютер, работающий под управлением ОС Debian Linux amd64. Автор использует Quartus для работы с платами семейства Марсоход [1], так что в публикации также приведён небольшой обзор этого семейства, и то, какие версии Quartus для каких плат Марсоход годятся.
Материал будет полезен всем, кто начинает работать с Quartus под ОС GNU/Linux.

На сайте marsohod.org имеется инструкция по установке Quartus [2], однако прошло больше 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 можно вот по этой ссылке [3].
В дальнейшем рассматривается исключительно Web Edition — это бесплатный вариант, однако, он имеет ряд ограничений, и поддерживает далеко не все семейства ПЛИС Altera. Впрочем, платы Марсоход (да и вообще недорогие платы) сделаны на базе ПЛИС семейств Cyclone, MAX10 и MAX II, а эти семейства поддерживаются Quartus Web Edition.

Предварительные расчёты: с какой ПЛИС работать будем?

Следует иметь в виду, что САПР Quartus (даже Subscription Edition) поддерживает не все когда либо выпущенные Altera семейства ПЛИС, а лишь сравнительно современные. Если вдруг вам требуется работать с ПЛИС старых семейств, то скорее всего придётся поискать старую версию Quartus.
Уточню, что на момент написания данной публикации последней была версия Quartus 15.0.
Давайте сравним платы семейства Марсоход:

Марсоход2 [4] Марсоход2bis [5] Марсоход3 [6] Марсоход3bis [6]
Семейство ПЛИС 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 <= 13.1 <= 15.0 >= 15.0 >= 15.0

Примечание: плата Марсоход [7] в таблицу не вошла, использованная в ней ПЛИС 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 требуется для работы с вашей ПЛИС можно вот по этой ссылке [8].

Предварительные расчёты: 32 или 64 разряда?

Ни для кого не секрет, что в 2015 году подавляющее большинство поставляемых Intel/AMD x86-процессоров поддерживает 64-разрядный режим. Требования САПР Quartus к производительности процессора и объёму ОЗУ таковы (см., например, Quartus 15.0: Recommended Physical RAM for Altera Devices [9], что едва ли кто-то без крайней нужды будет запускать 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 [10].
В прилагаемом 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, так что его придётся установить:

apt-get install 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 [11] можно просмотреть в файлах 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 будет установлен!

Автор: Frantony

Источник [12]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/linux/101674

Ссылки в тексте:

[1] платами семейства Марсоход: http://www.marsohod.org

[2] инструкция по установке Quartus: http://marsohod.org/index.php/setupquartus

[3] вот по этой ссылке: https://www.altera.com/buy/design-software.html

[4] Марсоход2: http://marsohod.org/prodmarsohod2

[5] Марсоход2bis: http://marsohod.org/11-blog/289-marsohod2bis

[6] Марсоход3: http://marsohod.org/plata-marsokhod3

[7] плата Марсоход: http://marsohod.org/prodmarsohod

[8] вот по этой ссылке: https://dl.altera.com/devices/

[9] Quartus 15.0: Recommended Physical RAM for Altera Devices: http://dl.altera.com/requirements/15.0/#tabs-2

[10] quartus-linux-install: https://github.com/open-design/quartus-linux-install

[11] Altera Download Center: https://www.altera.com/downloads/download-center.html

[12] Источник: http://geektimes.ru/post/264516/