Для таких случаев я рекомендую Logic Friday 1. Вы можете ввести свою схему в качестве схемы затвора. Logic Friday 1 затем преобразует вашу запись в минимизированную форму суммирования. Он также может преобразовать эту двухуровневую форму обратно в многоуровневую схему затвора.
упрощение многоуровневой схемы далеко не тривиально. В случае большого количества входов вы можете получить огромное количество minterms (= sums-of-products). Может быть проще упростить схему в терминах local transformations, где вы заменяете заданное количество вентилей более простой подсхемой, которая реализует ту же функцию. Пример: AND (AND (x, y), z) эквивалентен AND (x, y, z). Также ищите узлы в вашей схеме, которые реализуют одну и ту же функцию и, таким образом, могут быть устранены.
Возможно, вы не должны искать самые маленькие/самые простые, но для наиболее быстрая схема. Это схема с минимальной задержкой между входами и выходами. Снова минимизация задержек - довольно тонкая цель для достижения и зависит от свойств задержки доступных типов ворот.
Альтернативный инструмент: bc2cnf. Этот инструмент командной строки преобразует файл списка соединений ворот в файл CNF продукта-of-sum. Затем этот файл CNF можно решить, используя SAT solver. Каждое решение соответствует одному minterm формы суммы продукции. Поэтому это не показывает вам упрощенную многоуровневую форму, но может помочь проверить функцию вашей схемы.