anjolio — Разработка на VHDL в Linux
В рамках недели рассказов о возможных средствах и средах разработки на конкретном языке программирования я хотел бы рассказать о работе с языком VHDL в Linux.
ВведениеЯзык vhdl лично я использую для проектирования ПЛИС (Программируемых Логических Интегральных Схем), поэтому буду рассказывать по своему опыту, который к слову невелик - несколько проектов в университете. В мои задачи не входит описать полный процесс разработки ПЛИС. Здесь я буду говорить лишь о процессе написания теста программы и её проверки компилятором. Всё остальное оставим за рамками в силу того, что я не особо силён в этих дальнейших процессах :)
Я использовал для демонстрации стандартный Hello world на vhdl. Скачать можно с моего расшаренного Dropbox'а.
Open Source проектыВсе эти проекты являются лишь компиляторами, поэтому вам понадобится иметь текстовый редактор для того, чтобы писать саму программу. Здесь всё классически и на любителя - лично я использую Geany. Почти все современные текстовые редакторы умеют подсвечивать vhdl-синтаксис: vim, emacs, kate, gedit, вставить нужное.
GHDLGHDL - компилятор/симулятор языка VHDL, работает как оболочка GCC. Для работы с ним нужно уже иметь готовый файл. Дальше всё классически и сурово:
1 |
|
Это мы проверили синтаксис сейчас. Для разных целей можно использовать разные опции. Вообщем всё классически и сурово. Для тех, кто любит консоль как родину - самое оно!
GHDL имеется в репозиториях большинства дистрибутивов, распространяется свободно. Для того, чтобы установить его на моей убунте пришлось вытянуть 30 мегов с репозитория.
Другие Open Source проектыВ репозиториях Ubuntu я ещё нашёл 2 проекта, которые претендуют на жизнь: fauhdlc и freehdl. Проекты можно сказать больше мертвы, чем живы, т.к. у них нет ни нормальной документации, ни нормального сообщества, которое сможет вам помочь (выводы такие делаю на основе беглого гугления).
Коммерческие проектыXilinx ISEПишу в первую очередь о нём, потому что с ним непосредственно работаю.
Это полноценная среда разработки, которая позволяет осуществить процесс создания ПЛИС от самого начала - написания прошивки, до самого конца - выпуска документации к ПЛИС. Программа бесплатна - нужна лишь регистрация на сайте производителя. После этого качаете здоровый архив (несколько гигов). Написано, что поддерживаемые ОС - только RedHat и SUSE, у меня на Ubuntu встало нормально.
Дальше - самое весёлое. Вы получаете несколько тысяч испольняемых файлов и примерно столько же файлов мануалов. И ни одной подсказки откуда начинать. Не буду томить: нужный бинарник - /opt/Xilinx/11.1/ISE/bin/lin/ise, нужный мануал - /opt/Xilinx/11.1/ISE/doc/usenglish/isehelp/manuals.pdf.
Запускаем - получаем испытательный полигон с межконтинентальными баллистическими ракетами и самонаводящимися противотанковыми реактивными снарядами вместо рогатки, чтобы стрелять по воробьям. Но, в принципе, со своими задачами это приложение справляется на ура - текст в нём писать можно, может быть не так удобно, как в любимом редакторе; синтаксис он тоже проверит. (См. скриншот по ссылке.)
Другие коммерческие проектыУ нас в стране самые популярные ПЛИС - Xilinx и Altera, про Xilinx мы уже поговорили. Altera тоже имеет бесплатную IDE для Linux, я к сожалению про неё ничего не могу сказать, т.к. не работаю с ПЛИС этой компании.
Таких уникальных сред разработки как ActiveHDL под Windows, которые умеют работать со всеми ПЛИС, я не нашёл, сама ActiveHDL умеет только под окнами бегать.
ВыводРазработкой ПЛИС под Linux заниматься можно вполне с комфортом - к нашим услугам как хардкорные Open Source проекты, так и продвинутые коммерческие. Плюсы свободных проектов - вы пишете текст и ведёте проект в своём любимом редакторе. Плюсы коммерческих - вам предоставляется полноценная среда разработки с компилятором, симулятором, библиотеками стандартных функций и подобными плюшками. Выбирать нам - всё зависит от целей. Если это учебные, то скорее всего стоит склониться к связке любимого редактора и GHDL, если же это ваша профессиональная деятельность, то вам улыбаются коммерческие проекты от фирм разработчиков ПЛИС.
Мне хоть уже и не пригодится, но топик актуальный. Думаю будет многим полезен.
Давненько ничего не писал на любимый welinux!
Помню ещё про слаку обещал в неделю посвящённую дистрибутивам, но так и не выполнил, но обещаю выполнить, т.к. слаку поставил и мнение имею, время надо найти, чтобы написать!