При начальном изучении комбинационных логических схем принято использовать таблицы истинности. Это правильно, но при большом количестве входов и использовании инверторов быстро становится неудобным. Мы предлагаем альтернативный способ описания, делающий прозрачным смысл схем.
Для примера рассмотрим несколько вариантов схем:
![рис.1 рис.1](https://habrastorage.org/getpro/habr/upload_files/e2d/7c0/700/e2d7c0700574ad68f5624393cdf826ad.png)
Какие различия есть между изображенными элементами? Строить для каждого таблицу истинности, скучно, поэтому сразу дадим ответ: никаких:). Все они реализуют логическое И и описываются одной строчкой (смотри ниже).
Рассмотрим реальное напряжение, которое имеется на шинах логических схем. Оно имеет
вид безобразный и ужасный:)
![](https://habrastorage.org/getpro/habr/upload_files/360/b7b/913/360b7b91348ffc59c49f25d6586d8c2d.png)
Первый уровень абстракции это когда мы отрезаем всё что ниже 0.5 вольта
и говорим что это логический 0, отрезаем всё что выше 2.5 вольта
и говорим что это логическая 1.
Он используется в большинстве учебников по цифровой технике и позволяет, в частности, строить всякого рода таблицы истинности, удобные при конструировании и оптимизации сложных логических схем.
Это удобно только при небольшом количестве входов (попробуйте начертить такую таблицу для 8-входовой схемы XOR, используемой при расчете бита четности байта, посыпьте голову пеплом и возвращайтесь к этой статье:))
Мы рассматриваем следующий уровень абстракции, а именно переходим к понятию логического сигнала.
Сигнал это не 0 и не 1, а соответствие уровня виду входа или выхода логического элемента.
Будем говорить, что на прямом входе есть сигнал, если тем логическая 1,
а на инверсном, если там логический 0 (то же и для выходов).
Наличие сигнала отмечаем на схеме буквой «с», отсутствие — буквой «н».
Логический уровень отмечаем цветом «1» — красный, «0» — синий.
Такой подход позволяет полностью отказаться от таблиц истинности.
Теперь можно вернуться к первому рисунку. На правом элементе мы видим сигналы разной полярности на всех входах и сигнал на выходе. Аналогичная маркировка имеется и на других элементах.
Переход к использованию сигналов позволяет сформулировать краткие(однострочные) их описания вне зависимости от количества входов.
Описание комбинационных схем в терминах сигналов:
на выходе инвертора (повторителя) есть сигнал, если есть сигнал на входе:
![](https://habrastorage.org/getpro/habr/upload_files/6af/41c/54e/6af41c54e2b3fd66f82a77e72b8d1ddb.png)
на выходе схемы «И» есть сигнал, если есть сигналы на всех входах (именно эта строчка описывает каждый элемент на первом рисунке):
![](https://habrastorage.org/getpro/habr/upload_files/719/fb6/98b/719fb698b7349ff528f29c6e174b5a9e.png)
на выходе схемы «ИЛИ» есть сигнал, если есть сигнал хотя бы на одном входе:
![](https://habrastorage.org/getpro/habr/upload_files/7be/7f8/dee/7be7f8dee48680411bbe62b99952520e.png)
на выходе схемы «XOR» есть сигнал, если сигналы есть на нечетном числе входов:
![](https://habrastorage.org/getpro/habr/upload_files/2e4/842/ff3/2e4842ff3ca181959b5619dca119db39.png)
схема дешифратора (DC): сигнал появляется на выходе, номер которого задан числом на входе:
![](https://habrastorage.org/getpro/habr/upload_files/3c5/cc2/91c/3c5cc291c6420ac716ab616a7e2dfda3.png)
на выходах шифратора(CD) формируется номер входа, на котором есть сигнал:
![](https://habrastorage.org/getpro/habr/upload_files/3c2/84a/3cc/3c284a3cc317d4c2637317c699be3785.png)
схема МХ (мультиплексор): выход повторяет вход, номер которого задан числом на адресных входах:
![](https://habrastorage.org/getpro/habr/upload_files/cae/599/a45/cae599a45315034633618079cedac3f1.png)
DM (демультиплексор) выход, номер которого задан числом на адресе повторяет вход:
![](https://habrastorage.org/getpro/habr/upload_files/3dc/059/b73/3dc059b7318f9f56be9bfc979c7f02bf.png)
Аналогичным образом можно описать и другие комбинационные схемы. При этом ни количество входов ни их вид (прямой, инверсный) не имеют значение. Исходя из подобного описания совершенно очевидно, в частности, доказательство теоремы де Моргана.
Человеку гораздо проще оперировать одним предложением чем объемными таблицами истинности.
Для схем с устойчивыми состояниями (триггеров, счетчиков и т. п.) набор сигналов на входах
увеличивается до 4 (добавляем фронты), сохраняя прозрачность описания, но это уже тема другого поста:)
Вторая часть (триггеры)