Генератор комбинационных схем
Язык: Русский | English
Документация: Русский | English
Версионирование (SemVer): русский | English
Вклад: русский | English
Запросы на слияние (MR): русский | English
- Правила именования переменных
- Добавление нового генератора
- Сборка программы
- Запуск генерации комбинационных схем из командной строки
- JSON файлы
- Описание префикса папок генерации
- Лицензия
[!IMPORTANT]
Главный репозиторий проекта: https://github.com/vvzunin/CircuitGen
Проект поддерживает сборку на Linux, Windows и macOS через CMake presets. Основной сценарий разработки и CI тестировался на Ubuntu (в том числе в WSL). Руководство разработчика доступно по ссылке.
Установка зависимостей
Актуальные списки пакетов и доп. шаги (CMake с Kitware при необходимости, clang-format, lcov 2+ на Ubuntu 22.04, Doxygen, TeX для документации и т.д.) — в скриптах scripts/setup/ по ОС из CI-матрицы, например:
install-deps-ubuntu-22.04.shinstall-deps-ubuntu-24.04.shinstall-deps-debian-13.sh-
install-deps-fedora-42.sh/install-deps-fedora-43.sh
Пример: sudo bash scripts/setup/install-deps-ubuntu-24.04.sh.
Подробнее: BUILDING.md, SCRIPTS.md.
Режим разработчика
Несколько советов, которые помогут Вам создать и протестировать этот проект в качестве разработчика и потенциального участника представлены здесь.
Добавление нового генератора
Процесс добавления нового генератора описан в отдельном файле.
Сборка программы
Для сборки программы необходимо выполнить следующие команды из начальной директории:
bash scripts/dev/build-debug.sh
Для сборки покрытия:
bash scripts/dev/coverage.sh
Для релизной сборки:
bash scripts/release/build.sh
Для релизной сборки с тестами (CI parity):
bash scripts/release/test.sh
Локальная сборка dev-контейнера (по аналогии с CI) выполняется так:
bash scripts/docker/build-images.sh
По умолчанию будут собраны образы circuitgen/generator/ubuntu-24.04/ci:local,
circuitgen/generator/ubuntu-24.04/dev:local и
circuitgen/generator/ubuntu-24.04/release:local (см. scripts/docker/docker-paths.sh).
Другую ОС можно выбрать через TARGET_OS или DOCKER_CI_SYSTEM:
TARGET_OS=fedora-42 bash scripts/docker/build-images.sh
Переопределить теги и registry-префикс можно через переменные окружения:
CI_IMAGE_TAG=my-ci DEV_IMAGE_TAG=my-dev RELEASE_IMAGE_TAG=my-release DOCKER_CI_SYSTEM=ubuntu:24.04 bash scripts/docker/build-images.sh
Подробная схема сборки описана здесь, мануал по скриптам — здесь.
Запуск генерации комбинационных схем из командной строки
Для проведения генерации из командной строки необходимо подготовить JSON файл с описанием параметров генерации, а после выполнить следующую команду:
build/CircuitGenGenerator --json_path <path_to_json>
JSON файлы
Для генерации комбинационных схем с использованием командной строки необходимо создать JSON файл.
Подробное описание структуры файлов представлено здесь.
Описание префикса папок генерации
Каждый генератор по окончании работы создает папки с уникальным для данного генератора префиксом.
Подробное описание префиксов папок представлено здесь.
Лицензия
Смотрите файл с лицензией.