Справка Boolflow
Руководство пользователя симулятора цифровых логических схем
Что такое Boolflow?
Boolflow — бесплатный симулятор цифровых логических схем прямо в браузере. Никакой установки, никаких аккаунтов — откройте сайт и сразу начинайте строить схемы.
Вы можете размещать логические вентили, соединять их проводами, переключать входы и наблюдать в реальном времени, как сигналы распространяются по схеме. Boolflow поддерживает комбинационную логику, последовательные схемы (триггеры, счётчики), многослойный холст и программируемые логические модули (PLM).
Встроенный экспорт позволяет одним нажатием преобразовать схему в исходный код на Verilog, VHDL или C++.
Первая схема
Самый быстрый способ освоить Boolflow — собрать простую схему с вентилем И с нуля. Займёт около двух минут.
- 1Откройте вкладку «Базовые» в верхней панели и нажмите на чип AND. Вентиль И появится на холсте.
- 2Перейдите во вкладку «Вх / Вых». Нажмите INPUT дважды — появятся два входных переключателя. Затем нажмите OUTPUT один раз.
- 3Наведите курсор на INPUT-1, пока на его правом краю не появится кружок. Перетащите от него к верхнему левому входу вентиля AND. Повторите: INPUT-2 → нижний левый вход AND.
- 4Перетащите от правого выхода AND → левый вход OUTPUT.
- 5Нажимайте на узлы INPUT, переключая между 0 и 1. OUTPUT загорится зелёным только когда оба входа равны 1 — это и есть логика И.
Совет: нажмите кнопку «Таблица истинности» в панели, чтобы автоматически увидеть все четыре комбинации входов.
Добавление элементов
Верхняя панель состоит из двух строк. Первая содержит вкладки категорий: Базовые, Вх/Вых, Триггеры, Арифметика, Плексеры, Память, Слои, ПЛМ. Нажмите на вкладку, чтобы просмотреть её элементы.
Вторая строка (полоса с чипами) показывает все элементы выбранной категории. Нажмите на чип, чтобы разместить его на холсте.
- Drag & drop: перетащите чип прямо из полосы на холст — элемент появится в том месте, где вы его отпустили.
- На мобильном: полоса чипов и строка вкладок прокручиваются горизонтально. Листайте влево-вправо для просмотра всех элементов.
Соединение блоков
Наведите курсор на любой узел — на его левом (входы) и правом (выходы) краях появятся маленькие кружки (разъёмы). Перетащите от выходного разъёма к входному разъёму другого узла, чтобы провести соединение.
Провод всегда идёт от выхода → ко входу. Один выход может питать несколько входов. Один вход принимает только один провод.
- Удаление провода: тройной клик по соединению.
- Провода прокладываются автоматически — ручная трассировка не нужна.
- Зелёный провод / разъём = сигнал 1. Серый = 0. Оранжевый ? = отключён или неизвестен.
Значения сигналов: 0, 1 и ?
Boolflow использует три уровня сигнала:
- 0 — логический ноль. Отображается серыми разъёмами и проводами.
- 1 — логическая единица. Отображается зелёными разъёмами и бейджами.
- ? — неизвестно или не подключено. Появляется, когда у обязательного входа нет провода. Вентиль с входом ? тоже выдаёт ? на выходе.
Взаимодействие с узлами
Основные действия происходят прямо на холсте:
- Клик по INPUT — переключает между 0 и 1.
- Клик по CLOCK — запускает или останавливает генератор.
- Перетаскивание узла — свободное перемещение по холсту.
- Тройной клик по узлу — удаляет узел и все его провода.
- Тройной клик по проводу — удаляет только этот провод.
- Перетаскивание по пустому холсту — выделение области. Все узлы внутри выделяются.
- Ctrl+C / Ctrl+V — копирование и вставка выделенных узлов (провода между ними включены). Вставка смещена на 40 пx.
- Ctrl+Z / Ctrl+Y — отмена / повтор (до 60 шагов).
- Двойной клик по VIA или метке — открывает диалог переименования.
Горячие клавиши
- Ctrl+Z — отменить
- Ctrl+Y — повторить
- Ctrl+C — скопировать выделенные узлы
- Ctrl+V — вставить скопированные узлы
- Delete — удалить выделенные узлы и провода
- Тройной клик по узлу — удалить узел и его провода
- Тройной клик по проводу — удалить провод
- Клик по INPUT — переключить 0 / 1
- Клик по CLOCK — запустить / остановить
- Двойной клик по VIA / Метке — переименовать
- Прокрутка — масштабирование
- Средняя кнопка мыши — панорамирование
Слои — многослойный холст
Boolflow поддерживает до 4 независимых слоёв холста (L1–L4), как медные слои на печатной плате. Каждый слой имеет собственные узлы и провода.
Переключайте слои кнопками L1–L4 на левой панели холста. Активный слой выделяется цветом; цветная полоса отображается вдоль нижнего края холста.
Элементы разных слоёв не взаимодействуют без переходных отверстий (VIA).
VIA — соединения между слоями
VIA — специальный элемент из вкладки «Слои», передающий сигнал между слоями.
- Отправитель: разместите VIA на одном слое и подключите к его входу провод.
- Получатель: разместите VIA с тем же именем на другом слое без подключения входа — он автоматически выдаёт сигнал отправителя.
- Имя: двойной клик по VIA для переименования. Все VIA с одинаковым именем образуют единую электрическую сеть по всем слоям.
- Цветные кнопки во вкладке «Слои» (● L1 … ● L4) мгновенно размещают VIA с нужным именем и цветом.
CLOCK и тактируемые элементы
Узел CLOCK генерирует периодический прямоугольный сигнал с настраиваемой частотой (Гц). Нажмите, чтобы запустить или остановить.
Триггеры (D, JK, T) и счётчики (CNT4, DCNT4, UDCNT4) реагируют на нарастающий фронт (переход 0→1) тактового сигнала.
EDGE_DET формирует однотактный импульс на нарастающем фронте; FALL_DET — на спадающем. CLK_DIV делит частоту тактового сигнала на 2.
Генераторы CLOCK работают на всех слоях одновременно.
PLM — Программируемый логический модуль
Блоки PLM (PLM6–PLM20) имеют настраиваемое число входов и выходов (3–10 входов, 2–8 выходов). Нажмите кнопку ✎ внутри узла, чтобы открыть редактор формул.
Каждый выход задаётся булевым выражением с операторами: & (И), | (ИЛИ), ! (НЕ), ^ (ИСК. ИЛИ) и скобками. Имена сигналов совпадают с именами входов.
Пример: O0 = A & !B | C — «выход 0 равен 1, когда A=1 И B=0, ИЛИ C=1».
Экспорт кода (Verilog / VHDL / C++)
В панели инструментов доступны три формата экспорта для активного слоя:
- Verilog — синтезируемый Verilog (IEEE 1364). Режимы: только модуль / + testbench (до 256 векторов, совместим с EDA Playground).
- VHDL — VHDL (IEEE 1076 / NUMERIC_STD). Режимы: только entity / + testbench.
- C++ — функция на C++11 с типами bool и uint8_t. Топологическая сортировка гарантирует правильный порядок операторов. Режимы: только функция / + main() (выводит таблицу истинности).
- Экспортируются только комбинационные элементы. Последовательные элементы (триггеры, счётчики, CLOCK) пропускаются с предупреждением.
Таблица истинности
Нажмите кнопку «Таблица истинности» в панели для мгновенного вычисления таблицы активного слоя.
- Перебираются все комбинации значений INPUT (до 10 входов = 1024 строки).
- Значения выходов отображаются в реальном времени — зелёный = 1, серый = 0, оранжевый ? = не подключено.
- Кнопка «Экспорт CSV» скачивает таблицу в формате, совместимом с таблицами.
Сохранение и загрузка
Boolflow сохраняет схемы как локальные файлы — сервер и аккаунт не нужны.
- Сохранить — введите имя и нажмите «Скачать». Файл .boolflow.json сохранится в папку загрузок. Все 4 слоя включены.
- Загрузить — нажмите «Открыть файл…» и выберите ранее сохранённый .boolflow.json. Схема загружается мгновенно.
- Поддерживаются форматы v1.0 и v2.0.
Проверка целостности цепи
Нажмите кнопку «Проверить» (красная) для сканирования активного слоя на ошибки подключения.
- Незаполненный вход — у узла есть входной порт без провода (при симуляции выдаёт ?).
- Висячий выход — ни один выход узла не подключён к другим элементам.
- После проверки все проблемные узлы выделяются на холсте. Баннер показывает количество найденных проблем.
Встроенные примеры
Нажмите кнопку «Примеры» в панели, чтобы открыть галерею готовых схем. Каждый пример можно загрузить на любой слой и изучить или доработать.
- Полусумматор (на вентилях)
- Полный сумматор (компонент)
- Мультиплексор 2:1
- 4-битный сумматор
- Дешифратор 3:8
- Приоритетный шифратор 8:3
- 4-битный счётчик
- 1-битное АЛУ
- SR-защёлка, D-защёлка, триггеры D / JK / T
- 4-битный регистр, сдвиговый регистр, компаратор и другие