DocsTech
/
ICARUS VERILOG
/

~ cd 1. руководство по установке icarus verilog

Icarus Verilog может быть установлен из исходного кода или из предварительно упакованных бинарных дистрибутивов. Если вам не нужны самые последние версии, и доступны предварительно упакованные двоичные файлы, то лучше всего начать именно с них.

Установка из исходного кода

Icarus разработан для Unix-подобных сред, но может быть скомпилирован и на Windows-системах с помощью среды Cygwin или компиляторов MinGW. Ниже приведены общие шаги по получению исходного кода Icarus Verilog, компиляции и установке. Обратите внимание, что существуют прекомпилированные и/или упакованные версии для различных систем, поэтому если вы найдете подходящую упакованную версию, то это будет самый простой способ установки.

Исходный код Icarus хранится в системе управления исходным кодом git. Вы можете использовать git для получения последней версии разработки или последней версии определенной ветки. Стабильные релизы размещаются в ветках, в частности, стабильные релизы v11 находятся в ветке «v11-branch» Чтобы получить версию кода для разработки, перейдите в любую необходимую папку для установки ПО и выполните следующие действия:
...
Копировать
git config --global user.name "Your Name Goes Here"
git config --global user.email you@yourpublicemail.example.com
git clone https://github.com/steveicarus/iverilog.git

Первые две строки необязательны и используются для того, чтобы сообщить git, кто вы. Эта информация будет важна, если/когда вы отправите патч. Мы рекомендуем добавить эту информацию сейчас, чтобы не забыть сделать это позже. Клон создаст каталог с именем iverilog, содержащий дерево исходных текстов, и заполнит этот каталог самым актуальным исходным текстом из HEAD репозитория.

Перейдите в этот каталог, используя:
...
Копировать
cd iverilog

Обычно этого достаточно, поскольку теперь вы указываете на самый актуальный код разработки, и вы неявно создали ветку «master», которая отслеживает голову разработки. Однако если вы хотите действительно работать в v11-ветке (ветка, в которой находятся последние патчи для v11), то вы проверяете эту ветку командой:

% git checkout —track -b v11-branch origin/v11-branch

Это создаст локальную ветку, которая будет отслеживать ветку v11 в репозитории, и переключит вас на новую ветку v11. Отслеживание очень важно, так как оно заставляет извлечения из репозитория повторно объединять вашу локальную ветку с удалённой v11-веткой. Вы всегда работаете над локальной веткой, а затем сливаетесь только тогда, когда делаете push/pull из удаленного репозитория.

Теперь, когда вы клонировали репозиторий и опционально выбрали ветку, над которой хотите работать, ваше локальное дерево исходников можно синхронизировать с исходниками разработки с помощью команды git:
...
Копировать
git pull

Система git запоминает репозиторий, из которого он был клонирован, поэтому вам не нужно вводить его заново при извлечении.

Наконец, файлы конфигурации собираются дополнительным шагом:
...
Копировать
sh autoconf.sh

Затем исходный текст компилируется в соответствии с требованиями вашей системы. Что делать дальше, смотрите в конкретных инструкциях по сборке для вашей операционной системы.

Для работы скрипта необходимо установить autoconf и gperf. Если вы получаете ошибки, такие как:
...
Копировать
Autoconf in root...
autoconf.sh: 10: autoconf: not found
Precompiling lexor_keyword.gperf
autoconf.sh: 13: gperf: not found.

Вам необходимо загрузить и установить инструменты autoconf и gperf.

Специфические параметры конфигурации Icarus Verilog

Icarus Verilog использует многие стандартные опции конфигурации, и здесь они описываться не будут. Следующие опции специфичны для Icarus Verilog:
...
Копировать
--enable-suffix\[=suffix\]

Эта опция позволяет пользователю собирать Icarus с суффиксом по умолчанию или с заданным пользователем суффиксом. В более старых стабильных версиях этот флаг включен по умолчанию, например, (V0.8 по умолчанию будет собираться с суффиксом «-0.8»). Все версии имеют соответствующий суффикс по умолчанию («-\<base_version>»).

Все программы или каталоги помечаются этим суффиксом. например, (iverilog-0.8, vvp-0.8 и т. д.). Вывод iverilog будет ссылаться на правильные файлы и каталоги времени выполнения. Время выполнения проверит, что запускается файл с совместимой версией, например (вы не можете запустить файл V0.9 с помощью времени выполнения V0.8).
...
Копировать
--with-valgrind
Эта опция добавляет дополнительный код очистки памяти и код управления пулом для лучшей проверки утечек памяти при наличии valgrind. Эта опция не нужна при проверке основных ошибок с помощью valgrind.
...
Копировать
--enable-libvvp

Программа vvp собирается в виде небольшой внешней заглушки, связанной с общей библиотекой libvvp.so, которая может быть связана с другими программами, чтобы они могли запускать симуляцию vvp.

Компиляция в Linux/Unix

(Примечание: Вам потребуется установить bison, flex, g++ и gcc) Это, вероятно, самый простой случай. Учитывая, что у вас есть дерево исходных текстов из вышеприведенных инструкций, компиляция и установка, как правило, просты:
...
Копировать
./configure
make
(su to root)
make install
Обычно «make install» нужно выполнять от имени root, чтобы он мог устанавливать в такие каталоги, как «/usr/local/bin» и т. д. Вы можете изменить место установки, передав префикс команде «configure»:
...
Копировать
./configure --prefix=/my/special/directory

Это сконфигурирует исходный код для последующей установки в указанный вами каталог. Обратите внимание, что пакеты «rpm» с двоичными файлами для Linux обычно конфигурируются с «-prefix=/usr» в соответствии со стандартом файловой системы Linux.

Убедитесь, что у вас последняя версия flex, иначе вы получите ошибку при проходе файла lexor.lex.

Компиляция в Macintosh OS X

Так как Mac OS X является BSD-разновидностью Unix, вы можете установить Icarus Verilog из исходных текстов, используя описанную выше процедуру. Для этого необходимо установить программу Xcode, которая включает в себя компиляторы C и C++ для Mac OS X. Пакет доступен для бесплатной загрузки с сайта разработчиков Apple. После установки Xcode вы можете собрать Icarus Verilog в окне терминала, как и при любой другой установке Unix.

Для версий, более новых, чем 10.3, необходимо обновить инструмент GNU Bison (поставляется вместе с Xcode) до версии 3.
...
Копировать
brew install bison
echo 'export PATH="/usr/local/opt/bison/bin:\$PATH"' \>\> ~/.bash_profile

Icarus Verilog также доступен через менеджер пакетов Homebrew: «brew install icarus-verilog».

Компиляция для Windows

Существует этап упрощенной установки с помощью установщика .exe, но рекомендуется устанавливать кросс-компилятора mingw или MSYS2.

Упрощенная установка

Необходимо скачать установщик .exe и запустить, следуя всем инструкциям. Далее нужно зайти в переменные среды вашего компьютера и проверить, если ли в переменной PATH путь к папке bin в корневой директории, установки Icarus Verilog(у меня папка iverilog). Если нет, нужно добавить.

Кросс-компилятора mingw

Это инструкции по сборке двоичных файлов Icarus Verilog для Windows с помощью инструментов кросс-компилятора mingw в Linux.

Для начала вам понадобятся пакеты mingw64-cross-* для вашего дистрибутива linux, что даст вам возможность установить команды x86_64-w64-mingw32-* в вашей системе. Установка кросс-окружения выходит за рамки данной статьи.

Сначала выполните конфигурацию с помощью этой команды:
...
Копировать
./configure --host=x86_64-w64-mingw32

Это сгенерирует Make-файлы, необходимые для кросс-компиляции всего с помощью компилятора mingw32. Скрипт configure сгенерирует пути к именам команд, так что команды x86_64-w64-mingw32-gcc и т. д. будут находиться в вашем пути.

Далее выполните компиляцию с помощью команды:
...
Копировать
make

В configure сгенерированы флаги кросс-компилятора, но есть несколько битов, которые нужно скомпилировать родным компилятором. (Например, version.exe используется в процессе сборки, но не установлен.) Скрипт configure должен был все это исправить.

Существует также вариант сборки MSYS2, который вы можете найти в репозитории в разделе msys2/.

Главная
Курсы
Вебинары
1. Руководство по установке Icarus Verilog
2. Начало работы с Icarus Verilog
3. Симуляция с помощью Icarus Verilog
4. Флаги командной строки iverilog
5. Формат командного файла
6. Атрибуты
Закрыть