Quartus
Общая информация
Quartus II - родная среда разработки ПЛИС (программируемых логических интегральных схем). Выпускается компанией Altera, принадлежащей Intel с 2015 года.
Light-комплектация САПР бесплатна. Кроме платформы Windows®, доступна Linux-версия, предназначенная для запуска в ОС Red Hat Enterprise Linux. Это даёт возможность запускать САПР в нашей операционной системе.
Установка Quartus 16 Lite в Восьмой платформе
Предполагается, что установлена 64-битная версия Alt Linux p8.
Скачать .tar архив с сайта Altera: [1]. Распаковать и запустить скрипт "setup.sh". Пути с пробелами и не-ASCII символами могут вызвать ошибки как установщика, так и целевой программы.
Система поставится в домашнюю папку по адресу ~/intelFPGA_lite/16.${ver}/, где ver - минорная версия.
Для корректного функционирования требуются следующие доработки:
- Установить пакет i586-libXft.32bit.
- В запущенном Quartus во вкладке Tools -> Options -> General -> Internet Connectivity в поле Path вписать /opt/firefox-env.
Создать исполнимый скрипт /opt/firefox-env:
#!/bin/sh
exec /usr/bin/env --unset=LD_LIBRARY_PATH firefox "$@"
Это необходимо для того, чтобы работала справка. В противном случае firefox со справкой пытается вместо системных загрузить стандартные бинарные библиотеки из комплекта Quartus, от чего завершается аварийно.
- В файле ~/intelFPGA_lite/16.${ver}/modelsim_ase/bin/vsim на строке 210 добавить ядра Linux 4.x в список архитектур:
case $utype in
2.4.[7-9]*) vco="linux" ;;
2.4.[1-9][0-9]*) vco="linux" ;;
2.[5-9]*) vco="linux" ;;
2.[1-9][0-9]*) vco="linux" ;;
3.[0-9]*) vco="linux" ;;
4.[0-9]*) vco="linux" ;;
*) vco="linux_rh60" ;;
esac
- Из AltLinux p7 притащить бинарную 32-битную библиотеку libfreetype.so.6.10.0 (sha1:ab90aab56f30b0cdc5be9839f755a8540af9ce74), поскольку системная версия libfreetype от восьмой платформы не подходит.
Сохранить её в (например) ~/intelFPGA_lite/16.${ver}/lib_old_compat/.
В lib_old_compat/ создать ссылку:
$ ln -s libfreetype.so.6.10.0 libfreetype.so.6
В папке ~/intelFPGA_lite/16.${ver}/modelsim_ase/linuxaloem переименовать оригинальный vish в vish.zzzz.
Создать скрипт-подмену vish:
cd ~/intelFPGA_lite/16.${ver}/modelsim_ase/linuxaloem
mv vish vish.zzzz
touch vish
chmod a+x vish
vim vish
В скрипт-подмену vish записать:
#!/bin/sh
LD_LIBRARY_PATH=$MODEL_TECH/../../lib_old_compat/
export LD_LIBRARY_PATH
exec -a $MODEL_TECH/vish $MODEL_TECH/vish.zzzz "$@"
Это позволяет подгрузить правильную версию библиотеки libfreetype в нужном месте комплекса программ ModelSim. Передача LD_LIBRARY_PATH всему ModelSim не работает - где-то по пути переменная удаляется.
В результате:
- Quartus запускается из командной строки по прямому пути ~/intelFPGA_lite/16.${ver}/quartus/bin/quartus.
- Quartus Programmer - ~/intelFPGA_lite/16.${ver}/quartus/bin/quartus_pgmw
- ModelSim - ~/intelFPGA_lite/16.${ver}/modelsim_ase/bin/vsim
Добавление ярлыков на рабочий стол оставим на усмотрение читателя =)