~ cd 2.1. установка yosys
2.1.1. Пакет(ы) САПР
Yosys является частью пакета программ Tabby CAD Suite и OSS CAD Suite! Самый простой способ использовать yosys — установить бинарный программный пакет, который содержит все необходимые зависимости и сопутствующие инструменты.
- Свяжитесь с YosysHQ, чтобы получить ознакомительную лицензию Tabby CAD Suite и ссылку на скачивание.
- Перейдите по адресу https://github.com/YosysHQ/oss-cad-suite-build/releases, чтобы загрузить бесплатный пакет OSS CAD Suite. Следуйте инструкциям по установке на GitHub.
2.1.2. Установка из источника
Это материал постоянно обночвляется, но актуальные инструкции по установке см. в github readme.md.
2.1.2.1. Поддерживаемые платформы
Поддерживаются и регулярно тестируются следующие платформы:
- Linux
- macOS
Другие платформы, которые могут работать, но инструкции могут быть неактуальны и не проверяются регулярно:
- FreeBSD
- WSL
- Windows с (например) Cygwin
2.1.2.2. Необходимые условия для сборки
Необходим компилятор C++ с поддержкой C++17, а также некоторые стандартные инструменты, такие как GNU Flex, GNU, Bison, Make и Python. Некоторые дополнительные инструменты: readline, libffi, Tcl и zlib; являются необязательными, но включены по умолчанию (см. настройки ENABLE_* в Makefile). Graphviz и Xdot используются командой show для отображения схем.
sudo sudo apt-get install build-essential clang lld bison flex \
libreadline-dev gawk tcl-dev libffi-dev git make \
graphviz xdot pkg-config python3 libboost-system-dev \
libboost-python-dev libboost-filesystem-dev zlib1g-dev
brew install bison flex gawk libffi git graphviz \
pkg-config python3 tcl-tk xdot bash boost-python3
2.1.2.3. Запуск системы сборки
make
sudo make install
Это позволит собрать, а затем установить Yosys, сделав его доступным в командной строке под именем yosys. Обратите внимание, что при этом также загружается, собирается и устанавливается ABC (с использованием yosys-abc в качестве имени исполняемого файла).
make config-clang
make config-gcc
make CXX="g++-11"
2.1.3. Дерево исходных текстов и система сборки
Дерево исходников Yosys организовано в следующих каталогах верхнего уровня:
- backends/
Этот каталог содержит подкаталог для каждого из модулей бэкенда. - docs/
Содержит исходный текст документации на английском языке, включая изображения и примеры кода. - examples/
Содержит примеры кода для использования Yosys с некоторыми другими инструментами, включая демонстрацию Yosys Python api, и синтез для различных цепочек инструментов, таких как Intel и Anlogic. - frontends/
Эта директория содержит подкаталог для каждого из модулей фронтенда. - guidelines/
Содержит рекомендации для разработчиков, включая свод правил и руководство по стилю кодирования. - kernel/
Этот каталог содержит всю основную функциональность Yosys. Сюда входят функции и определения для работы со структурами данных RTLIL (rtlil.h|cc ), функция main() (driver.cc), файлы внутреннего фреймворка для генерации сообщений журнала (log.h|cc ), внутренний фреймворк для регистрации и вызова парсеров (register.h|cc ), некоторые команды ядра, которые на самом деле не являются парсерами (select.cc, show.cc, … ) и несколько других небольших служебных библиотек. - libs/
В этой папке находятся вспомогательные библиотеки, устанавливающиеся вместе со сборками Yosys. - Misc/
Прочая мелочь, которая больше никуда не подходит. - passes/
Эта директория содержит поддиректорию для каждого раздела или группы разделов. - techlibs/
Этот каталог содержит имитационные модели и стандартные имплементации для ячеек из внутренней библиотеки ячеек. - tests/
Этот каталог содержит набор модульных и регрессионных тестов, используемых в Yosys.
Makefile верхнего уровня включает в себя frontends/*/Makefile.inc, passes/*/Makefile.inc и backends/*/Makefile.inc. Поэтому при расширении Yosys достаточно создать новый каталог в frontends/, passes/ или backends/ с вашими исходниками и Makefile.inc. Ядро Yosys автоматически определяет все команды связаны с Yosys. Поэтому нет необходимости добавлять дополнительные команды в центральный список команд.
Хорошими отправными точками для чтения примеров исходного кода, чтобы узнать, как писать передачи, являются passes/opt/opt_dff.cc и passes/opt/opt_merge.cc.
Краткое руководство по началу работы и инструкции по сборке см. в файле README верхнего уровня. Сборка Yosys основана исключительно на Makefiles.
Пользователи IDE Qt Creator могут сгенерировать файл проекта QT Creator с помощью make qtcreator. Пользователи среды Eclipse могут использовать тип проекта «Makefile Project with Existing Code» в диалоге Eclipse «New Project» (доступен только после установки плагина CDT) для создания проекта Eclipse с целью программирования расширений для Yosys или просто просмотра кодовой базы Yosys.