Электроника:Цифровая электроника/Логические вентили/Вентили с более чем одним входом

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Перевод: Макаров В. (valemak) Контакты:</br>* Habr: @vakemak</br>* Сайт: www.valemak.com</br>Перевёл статей: 648.
Проверка/Оформление/Редактирование: Мякишев Е.А.


Вентили с более чем одним входом[1]

Использование логических вентилей

Когда речь идёт только об одном входе, область применения ограничена только инвертированием и буферизацией. Или, помимо этого, с одним логическим сигналом на входе можно сделать что-то ещё? Чтобы исследовать другие возможности логических вентилей, придётся добавлять больше входных клемм в схемы.

Добавление дополнительных входных выводов к логическому элементу увеличивает количество возможных состояний входа. С вентилем с одним входом, таким как инвертор или буфер, может быть только два возможных состояния входа: либо вход «высокий» (1), либо он «низкий» (0).

Как мы уже говорили ранее в этой главе, вентиль с двумя входами имеет четыре комбинации для общего входного состояния (00, 01, 10 и 11). Вентиль с тремя входами имеет восемь вариантов (000, 001, 010, 011, 100, 101, 110 и 111) для входных состояний.

Количество возможных состояний входа равно двум в степени, равной числу входов:

Количество всех возможных входных состояний = 2n,
где,
n = количество входов.

Это увеличение количества возможных входных состояний, очевидно, допускает более сложное поведение вентиля. Теперь, вместо простого инвертирования или усиления (буферизации) одного «высокого» или «низкого» логического уровня, выходной сигнал логического элемента будет определяться той комбинацией единиц и нулей, определяемой входными выводами.

Поскольку множество комбинаций возможно только с несколькими входными клеммами, существует много различных типов вентилей с несколькими входами, в отличие от вентилей с одним входом, которые могут быть только инверторами или буферами. В этом разделе рассмотрим все базовые типы вентилей, покажем их стандартные схемные обозначения, таблицы истинности и практические примеры. Фактические ТТЛ-схемы этих различных вентилей исследуем уже в следующих разделах.

Вентиль «И»

Это один из самых простых вентилей. Чтобы понять, почему этот логический элемент называется именно так, нужно уяснить, что выход этого вентиля будет «высокий» (1), тогда и только тогда, когда каждый вход (т.е и первый вход, и второй вход, и любой другой вход) будет «высоким» (1). Если любой из входов этого вентиля имеет «низкий» уровень (0), выход также гарантированно находится в «низком» состоянии.

Рис. 1. Схемное обозначение вентиля И с 2-мя или 3-мя входами.
Рис. 1. Схемное обозначение вентиля И с 2-мя или 3-мя входами.

Иногда встречаются логические элементы с более чем тремя входами, но гораздо реже, чем простейшая разновидность с двумя входами.

Таблица истинности для вентиля «И» с двумя входами

Таблица истинности логического элемента И с двумя входами выглядит так:

Рис. 2. Схемное обозначение и таблица истинности логического элемента И с двумя входами.
Рис. 2. Схемное обозначение и таблица истинности логического элемента И с двумя входами.

Пример работы схемы с вентилем «И»

Практическое применение этой таблицы истинности проиллюстрировано в следующей последовательности рисунков, где на оба входа логического элемента И подаются все возможные комбинации входных логических уровней. Светоизлучающий диод обеспечивает визуальную индикацию выходного логического уровня (свет есть = «высокий» выход, света нет = «низкий» выход):

Рис. 3. Лампочка не горит, так как все входы «низкие».
Рис. 3. Лампочка не горит, так как все входы «низкие».
Рис. 4. Лампочка не горит, так как один из входов «низкий».
Рис. 4. Лампочка не горит, так как один из входов «низкий».
Рис. 5. Лампочка не горит, так как один из входов «низкий».
Рис. 5. Лампочка не горит, так как один из входов «низкий».
Рис. 6. Лампочка зажглась, так как все входы «высокие».
Рис. 6. Лампочка зажглась, так как все входы «высокие».

Только когда все входы подняты до «высоких» логических уровней, выход логического вентиля И становится «высоким», таким образом активируя светодиод. Это происходит только для одного из четырёх возможных входных состояний (11).

Вентиль «И-НЕ»

Это идейная вариация логического вентиля И. Слово «И-НЕ» это объединение «И» и «НЕ».

По сути, вентиль И-НЕ ведет себя так же, как вентиль И, к выходу которого подключён вентиль НЕ (инвертор). Чтобы обозначить эту инверсию выходного сигнала, символ логического вентиля И-НЕ имеет «пузырёк» на выходном проводе.

Таблица истинности для логического элемента И-НЕ, что логично, в точности противоположна таблице истинности для логического элемента И:

Рис. 7. Схемное обозначение и таблица истинности вентиля «И-НЕ» с двумя входами.
Рис. 7. Схемное обозначение и таблица истинности вентиля «И-НЕ» с двумя входами.

Как и вентили И, вентили И-НЕ могут иметь более двух входов. В таких случаях применяется тот же общий принцип: выход будет «низким» (0) тогда и только тогда, когда все входы будут «высокими» (1). Если какой-либо вход находится на «низком уровне» (0), то выход будет «высокий» (1).

Вентиль «ИЛИ»

Следующим нашим логическим элементом для исследования является вентиль ИЛИ. Он так называется, потому что выход этого элемента будет «высоким» (1), если какой-либо из входов (т.е. или первый вход или второй вход или любой другой вход) будет «высоким» (1). Выход логического элемента ИЛИ становится «низким» (0) тогда и только тогда, когда все входы «низкие» (0).

Рис. 8. Схемное обозначение вентиля ИЛИ с 2-мя или 3-мя входами.
Рис. 8. Схемное обозначение вентиля ИЛИ с 2-мя или 3-мя входами.

Таблица истинности вентиля «ИЛИ» с двумя входами

Таблица истинности логического элемента ИЛИ с двумя входами выглядит так:

Рис. 9. Схемное обозначение и таблица истинности логического элемента ИЛИ с двумя входами.
Рис. 9. Схемное обозначение и таблица истинности логического элемента ИЛИ с двумя входами.

Пример работы схемы с вентилем «ИЛИ»

Следующая последовательность иллюстраций демонстрирует функцию логического элемента ИЛИ, при этом на 2 входа подаются все возможные комбинации логических уровней. Светодиод обеспечивает визуальную индикацию выходного логического уровня вентиля:

Рис. 10. Лампочка не горит, так как все входы «низкие».
Рис. 10. Лампочка не горит, так как все входы «низкие».
Рис. 11. Лампочка зажглась, так как один из входов «высокий».
Рис. 11. Лампочка зажглась, так как один из входов «высокий».
Рис. 12. Лампочка зажглась, так как один из входов «высокий».
Рис. 12. Лампочка зажглась, так как один из входов «высокий».
Рис. 13. Лампочка зажглась, так как все входы «высокие».
Рис. 13. Лампочка зажглась, так как все входы «высокие».

Состояние любого входа, повышенного до «высокого» логического уровня, приводит к тому, что выход логического элемента ИЛИ становится «высоким», таким образом активируя светодиод для трёх из четырех возможных входных состояний (01, 10 и 11).

Вентиль «ИЛИ-НЕ»

Как вы, скорее всего, догадались, вентиль ИЛИ-НЕ является вентилем ИЛИ с инвертированным выходом, точно так же, как вентиль И-НЕ является вентилем И с инвертированным выходом.

Рис. 14. Схемное обозначение и таблица истинности вентиля ИЛИ-НЕ с двумя входами.
Рис. 14. Схемное обозначение и таблица истинности вентиля ИЛИ-НЕ с двумя входами.

Вентили ИЛИ-НЕ, как и все прочие вентили с несколькими входами, которые мы видели до сих пор, могут быть изготовлены с более чем двумя входами. И в этих случаях применяется тот же логический принцип: «низкий» выход (0), если какой-либо из входов «высокий» (1). Выход «высокий» (1) только тогда, когда все входы «низкие» (0).

Вентиль «Отрицательное И»

Логический элемент «Отрицательное И» работает так же, как вентиль И, у которого все входы инвертированы (подключены через элементы НЕ). Стандартно на условном обозначении этого вентиля инвертированные входы снабжаются «пузырьками».

Первое что может прийти в голову у большинства людей – что логическое поведение вентиля «Отрицательное И» будто бы точно такое же, как и у вентиля И-НЕ. А на самом деле его таблица истинности фактически идентична вентилю ИЛИ-НЕ:

Рис. 15. Схемное обозначение, таблица истинности и эквивалентные схемы вентиля «Отрицательное И» с двумя входами.
Рис. 15. Схемное обозначение, таблица истинности и эквивалентные схемы вентиля «Отрицательное И» с двумя входами.

Вентиль «Отрицательное ИЛИ»

Следуя тому же шаблону, вентиль «Отрицательное ИЛИ» функционирует так же, как вентиль ИЛИ, у которого инвертированы все входы. В соответствии со стандартом на условном обозначении вентиля, эти инвертированные входы снабжены «пузырьками». Поведение и таблица истинности логического элемента «Отрицательное ИЛИ» такие же, как и у логического элемента И-НЕ:

Рис. 16. Схемное обозначение, таблица истинности и эквивалентные схемы вентиля «Отрицательное ИЛИ» с двумя входами.
Рис. 16. Схемное обозначение, таблица истинности и эквивалентные схемы вентиля «Отрицательное ИЛИ» с двумя входами.

Вентиль «Исключающее ИЛИ»

Все шесть последних типов вентилей представляют собой довольно прямые вариации трёх основных логических функций: И, ИЛИ и НЕ. А вот вентиль «Исключающее ИЛИ» – это совсем другое.

Логические элементы «исключающее ИЛИ» выводят «высокий» (1) логический уровень, если входы находятся на разных логических уровнях (либо 01, либо 10). И наоборот, они выдают «низкий» (0) логический уровень, если все ходы имеют одинаковые логические уровни (либо 00, либо 11).

Вентиль «Исключающее ИЛИ» (иногда, на английский манер, называемый как XOR) имеет собственные схемное обозначение и таблицу истинности:

Рис. 17. Схемное обозначение и таблица истинности вентиля «Исключающее ИЛИ» с двумя входами.
Рис. 17. Схемное обозначение и таблица истинности вентиля «Исключающее ИЛИ» с двумя входами.

Схемы, эквивалентные XOR-вентилю

Существуют разные эквивалентные схемы для логического элемента «Исключающее ИЛИ». Одна из них состоит из логических элементов И, ИЛИ и И-НЕ. Другая – из вентилей НЕ, И и ИЛИ. Можно придумать и другие варианты. Довольно прямой подход к моделированию логического элемента «Исключающее ИЛИ» состоит в том, чтобы начать с обычного логического элемента ИЛИ, а затем добавлять дополнительные вентили, чтобы запретить выходу принимать значение «высокий» (1), когда оба входа «высокие» (1):

Рис. 18. Принципиальная схема, эквивалентная вентилю «Исключающее ИЛИ», состоящая из одного И-НЕ, одного ИЛИ и одного И.
Рис. 18. Принципиальная схема, эквивалентная вентилю «Исключающее ИЛИ», состоящая из одного И-НЕ, одного ИЛИ и одного И.

В этой схеме крайний справа логический элемент И действует как буфер для выхода логического элемента ИЛИ всякий раз, когда на выходе логического элемента И-НЕ «высокий» уровень, то есть для первых трёх состояний входа (00, 01 и 10). Однако, если оба входа имеют «высокий» (1) уровень, логический элемент И-НЕ выводит «низкий» (0) логический уровень, который заставляет крайний справа логический элемент И выдавать «низкий» (0) выход.

Другая эквивалентная схема для логического элемента «Исключающее ИЛИ» использует стратегию двух вентилей И с инверторами, настроенных для генерации «высоких» (1) выходов для входных условий 01 и 10. Последний вентиль ИЛИ создаёт окончательный « высокий» выход, в случае «высокого» выхода хотя одного (и только одного) из логических элементов И:

Рис. 19. Ещё одна принципиальная схема, эквивалентная вентилю «Исключающее ИЛИ», состоящая из двух инверторов (НЕ), двух И и одного ИЛИ.
Рис. 19. Ещё одна принципиальная схема, эквивалентная вентилю «Исключающее ИЛИ», состоящая из двух инверторов (НЕ), двух И и одного ИЛИ.

Логические элементы «Исключающее ИЛИ» очень полезны для схем, в которых два или более двоичных числа должны сравниваться побитно. А также они используются для обнаружения ошибок (в частности, для проверки чётности) и преобразования кода (из двоичного в код Грея и наоборот).

Вентиль «Исключающее ИЛИ-НЕ»

Наконец, наш последний вентиль в сегодняшнем разборе – это вентиль «Исключающее ИЛИ-НЕ» (иногда можно встретить английское название XNOR). Это эквивалентно вентилю «Исключающее ИЛИ» с инвертированным выходом. Таблица истинности для этого элемента в точности противоположна таблице истинности для элемента «Исключающее ИЛИ»:

Рис. 20. Схемное обозначение и таблица истинности вентиля «Исключающее ИЛИ-НЕ» с двумя входами.
Рис. 20. Схемное обозначение и таблица истинности вентиля «Исключающее ИЛИ-НЕ» с двумя входами.

Как видно по таблице истинности, миссия логического элемента «Исключающее ИЛИ-НЕ» состоит в том, чтобы выводить «высокий» (1) логический уровень всякий раз, когда оба входа находятся на одном и том же логическом уровне (или 00 или 11). Если же входы имеют разные логические уровни, то вывод должен быть «низким».

Итог

  • Правило для вентиля И: «высокий» выход, только в том случае, если все входы «высокие».
  • Правило для вентиля ИЛИ: «высокий» выход, если хотя бы один из входов «высокий».
  • Правило для вентиля И-НЕ: «низкий» выход, только в том случае, если все входы «высокие».
  • Правило для вентиля ИЛИ-НЕ: «низкий» выход, если все входы «высокие».
  • Вентиль «Отрицательное И» ведёт себя как вентиль ИЛИ-НЕ.
  • Вентиль «Отрицательное ИЛИ» ведёт себя как вентиль И-НЕ.
  • Правило для вентиля «Исключающее ИЛИ»: «высокий» выход, если логические уровни входов разные.
  • Правило для вентиля «Исключающее ИЛИ-НЕ»: «высокий» выход, если логические уровни входов одинаковы.

См.также

Внешние ссылки