~ cd 1. руководство по установке icarus verilog
Icarus Verilog может быть установлен из исходного кода или из предварительно упакованных бинарных дистрибутивов. Если вам не нужны самые последние версии, и доступны предварительно упакованные двоичные файлы, то лучше всего начать именно с них.
Установка из исходного кода
Icarus разработан для Unix-подобных сред, но может быть скомпилирован и на Windows-системах с помощью среды Cygwin или компиляторов MinGW. Ниже приведены общие шаги по получению исходного кода Icarus Verilog, компиляции и установке. Обратите внимание, что существуют прекомпилированные и/или упакованные версии для различных систем, поэтому если вы найдете подходящую упакованную версию, то это будет самый простой способ установки.
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 pull
Система git запоминает репозиторий, из которого он был клонирован, поэтому вам не нужно вводить его заново при извлечении.
sh autoconf.sh
Затем исходный текст компилируется в соответствии с требованиями вашей системы. Что делать дальше, смотрите в конкретных инструкциях по сборке для вашей операционной системы.
Autoconf in root...
autoconf.sh: 10: autoconf: not found
Precompiling lexor_keyword.gperf
autoconf.sh: 13: gperf: not found.
Вам необходимо загрузить и установить инструменты autoconf и gperf.
Специфические параметры конфигурации Icarus Verilog
--enable-suffix\[=suffix\]
Эта опция позволяет пользователю собирать Icarus с суффиксом по умолчанию или с заданным пользователем суффиксом. В более старых стабильных версиях этот флаг включен по умолчанию, например, (V0.8 по умолчанию будет собираться с суффиксом «-0.8»). Все версии имеют соответствующий суффикс по умолчанию («-\<base_version>»).
--with-valgrind
--enable-libvvp
Программа vvp собирается в виде небольшой внешней заглушки, связанной с общей библиотекой libvvp.so, которая может быть связана с другими программами, чтобы они могли запускать симуляцию vvp.
Компиляция в Linux/Unix
./configure
make
(su to root)
make install
./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.
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/.