При построении комбинационных схем на микросхемах в отдельных случаях можно уменьшить количество корпусов микросхем, используя дешифратор. Поскольку дешифратор на n входов реализует все конституенты единицы, то для реализации переключательной функции от n переменных достаточно с помощью элемента ИЛИ получить дизъюнкцию конституент единицы на тех наборах, на которых функция принимает единичные значения. Это означает, что если для реализации переключательной функции применяется дешифратор с прямыми выходами, то необходимо на элемент ИЛИ подать выходы дешифратора, соответствующие тем наборам входных переменных, на которых функция равна единице.
Если дешифратор имеет инверсные выходы, то в соответствии с правилом де-Моргана вместо элемента ИЛИ следует использовать элемент И-НЕ. Дешифратор наиболее целесообразно использовать при реализации систем переключательных функций, в частности при реализации преобразователей кодов.
а) дешифратор б) дешифратор с инверсными
с прямыми выходами выходами
Рисунок 1 – Реализация некоторой функции с помощью дешифратора
Имея мультиплексор, как и в случае с дешифратором, можно легко реализовать произвольную переключательную функцию. Чаще всего такой способ синтеза позволяет значительно,(как и в случае с дешифратором) уменьшить число микросхем в проектируемой схеме. Это возможно, поскольку мультиплексор содержит полный дешифратор, выходными функциями которого являются коституенты единицы, и схему ИЛИ на выходе. Таким образом, с помощью мультиплексора можно построить любую переключательную функцию в совершенной форме. Совершенные формы функций не порождают эффекта «гонок», а это дает преимущество схеме построенной на мультиплексорах. Для синтеза переключательных функций n переменных можно использовать мультиплексор с n-1 адресными входами. Для проектирования произвольных комбинационных схем на мультиплексорах используется три метода:
- Табличный, то есть с использованием таблицы истинности;
- Разложением функции на одну или несколько переменных;
- С использованием диаграмм Вейча.
DC и MUX можно использовать как отдельно, так и в комбинации. Для случаев, когда разница между числом аргументов функции и числом адресов мультиплексора составляет два бита и более, применяются схемы с каскадным соединением элементов, а также комбинированные схемы из дешифраторов и мультиплексоров. Например, MUX 2 –> 1.