Генератор комбинационных схем

Язык: Русский | English
Документация: Русский | English
Функционал: русский | English Версионирование (SemVer): русский | English Журнал изменений: русский | English
Вклад: русский | English
Запросы на слияние (MR): русский | English

License: MIT GitHub forks GitHub Repo stars GitHub watchers

codecov GitHub Release GitHub Release Date

GitHub commit activity GitHub commits since latest release GitHub last commit

GitHub Issues or Pull Requests GitHub Issues or Pull Requests

Alt

Оглавление:

[!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-матрицы, например:

Пример: sudo bash scripts/setup/install-deps-ubuntu-24.04.sh.

Подробнее: BUILDING.md, SCRIPTS.md.

Режим разработчика

Несколько советов, которые помогут Вам создать и протестировать этот проект в качестве разработчика и потенциального участника представлены здесь.

↑ Contents

Добавление нового генератора

Процесс добавления нового генератора описан в отдельном файле.

↑ Contents

Сборка программы

Для сборки программы необходимо выполнить следующие команды из начальной директории:

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

Подробная схема сборки описана здесь, мануал по скриптам — здесь.

↑ Contents

Запуск генерации комбинационных схем из командной строки

Для проведения генерации из командной строки необходимо подготовить JSON файл с описанием параметров генерации, а после выполнить следующую команду:

build/CircuitGenGenerator --json_path <path_to_json>

↑ Contents

JSON файлы

Для генерации комбинационных схем с использованием командной строки необходимо создать JSON файл.

Подробное описание структуры файлов представлено здесь.

↑ Contents

Описание префикса папок генерации

Каждый генератор по окончании работы создает папки с уникальным для данного генератора префиксом.

Подробное описание префиксов папок представлено здесь.

↑ Contents

Лицензия

Смотрите файл с лицензией.

↑ Contents