В теории автоматов комбинационная логика (также называемая логикой, независимой от времени [1] ) — это тип цифровой логики , реализуемый булевыми схемами , где выход является чистой функцией только текущего входа. Это отличается от последовательной логики , в которой выход зависит не только от текущего входа, но и от истории входа. Другими словами, последовательная логика имеет память , а комбинационная — нет.
Комбинационная логика используется в компьютерных схемах для выполнения булевой алгебры на входных сигналах и на сохраненных данных. Практические компьютерные схемы обычно содержат смесь комбинационной и последовательной логики. Например, часть арифметико-логического устройства , или АЛУ, которая выполняет математические вычисления, построена с использованием комбинационной логики. Другие схемы, используемые в компьютерах, такие как полусумматоры , полные сумматоры , полувычитатели , полные вычитатели , мультиплексоры , демультиплексоры , кодеры и декодеры, также созданы с использованием комбинационной логики.
Практическое проектирование комбинационных логических систем может потребовать рассмотрения конечного времени, необходимого для того, чтобы практические логические элементы отреагировали на изменения на своих входах. Когда выход является результатом объединения нескольких различных путей с различным количеством переключающих элементов, выход может на мгновение изменить состояние, прежде чем установится в конечном состоянии, поскольку изменения распространяются по различным путям. [2]
Комбинационная логика используется для построения схем, которые производят заданные выходы из определенных входов. Построение комбинационной логики обычно выполняется с использованием одного из двух методов: суммы произведений или произведения сумм. Рассмотрим следующую таблицу истинности :
Используя сумму произведений, все логические утверждения, дающие истинные результаты, суммируются, давая результат:
Используя булеву алгебру , результат упрощается до следующего эквивалента таблицы истинности:
Минимизация (упрощение) формул комбинационной логики осуществляется с использованием следующих правил, основанных на законах булевой алгебры :
С использованием минимизации (иногда называемой логической оптимизацией ) можно получить упрощенную логическую функцию или схему, а логическая комбинационная схема становится меньше и ее легче анализировать, использовать или строить.