Логические вентили

Сущность цифровой электроники — выработка выходных цифровых сигналов в соответствии с входными. Например, сумматор может принять на свои входы два 16-разрядных числа и сформировать на выходе 16-разрядную сумму (плюс перенос). Можно сделать также схему для умножения двух чисел. Такого типа операции должен уметь выполнять процессор.

Другая задача — сравнение двух чисел с целью удостовериться в том, что «все системы действуют нормально». Если дополнить паритетным битом число, подлежащее передаче по каналу связи, таким образом, чтобы общее количество «единиц» в нем стало четным, то проверка паритета на приемной стороне обеспечивает простой контроль правильности передачи.

ЛОГИЧЕСКИЕ ВЕНТИЛИ

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

Существует другой класс задач, которые требуют знания прежнего состояния входных сигналов. Для решения этих задач необходимо применять «последовательные» схемы.
К задачам такого типа относится:

— преобразование строки двоичных разрядов из последовательной формы (один разряд следует за другим во времени) в параллельную группу разрядов
— подсчет числа единиц
— распознавание заданной определенной кодовой комбинации и последовательности битов, или, например, формирование одного выходного импульса после поступления четырех входных.

Для решения всех этих задач требуется в какой-либо форме цифровая память. Основным устройством для построения этой памяти служит триггер (или мультивибратор с двумя устойчивыми состояниями).
Логические вентили и комбинационная логика являются основой для построения любых цифровых схем.

Вентиль ИЛИ

Выход вентиля ИЛИ имеет ВЫСОКИЙ уровень, если хотя бы на одном из его входов присутствует ВЫСОКИЙ уровень. Это можно выразить с помощью «таблицы истинности», представленной на рисунке ниже, где показан вентиль ИЛИ на 2 входа.К задачам такого типа относится:
ЛОГИЧЕСКИЕ ВЕНТИЛИ. вентиль или
Вентиль ИЛИ
вентиль или. таблица истинности

В общем случае число входов не ограничено, однако в стандартном корпусе микросхемы обычно размещаются четыре 2-входовых вентиля, три 3-входовых или два 4-входовых. Например, на выходе 4-входового вентиля ИЛИ «ВЫСОКИЙ» уровень будет присутствовать в том случае, если он подан на любой из его входов. Для обозначения операции ИЛИ в булевой алгебре используется символ +. Функция «А ИЛИ В» записывается как А+В.

Вентиль И

Выход вентиля И имеет высокий уровень только в том случае, если ВЫСОКИЙ уровень присутствует на обоих его входах. Схематическое изображение вентиля и его таблица истинности показаны на рисунке ниже.

Логические вентили. вентиль и
Вентиль И
вентиль и. таблица истинности

Вентили И, выпускаемые промышленностью также как и вентили ИЛИ, могут иметь 3, 4, а иногда и большее число входов. Например, 8-входовой вентиль И вырабатывает на выходе ВЫСОКИЙ уровень только в том случае, если на всех его входах действует ВЫСОКИЙ уровень.

Для обозначения операции И в булевой алгебре используется точка (•), которая может быть опущена, функция «А и В» записывается как А•В или просто АВ.

Функция НЕ (инвертор)

Иногда бывает нужно получить дополнение (инверсию) логического сигнала. Эту функцию выполняет инвертор — вентиль, который имеет только один вход (рисунок ниже).

инвертор. Логические вентили
Инвертор
инвертор. таблица истинности

Для обозначения операции НЕ в булевой алгебре используется черта над символом или апостроф.  «НЕ А» записывается как Логические вентили или А’. Для удобства вместо черты над буквой для указания отрицания часто используются символы /, *, —, ‘. Таким образом, «НЕ А» можно записать любым из следующих способов: А’, —А, *А, /А, А*, А/.

Вентили И-НЕ и ИЛИ-HE

Вентили могут совмещать инвертирование с выполнением функций И и ИЛИ
вентиль и-не.
Вентиль И-НЕ
вентиль и-не. таблица истинности
Логические вентили
Вентиль ИЛИ-НЕ
вентиль иЛИ-не. таблица истинности

Такие вентили имеют более широкое распространение, чем просто И и ИЛИ

Исключающее ИЛИ

Большой интерес представляет логическая функция «Исключающее ИЛИ», хотя она не относится к числу основных (см. рисунок).

ВЕНТИЛЬ ИСКЛЮЧАЮЩЕЕ ИЛИ
ИСКЛЮЧАЮЩЕЕ ИЛИ
вентиль ИСКЛЮЧАЮЩЕЕ ИЛИ. таблица истинности

На выходе вентиля «Исключающее ИЛИ» ВЫСОКИЙ уровень сформируется в том случае, если он будет подан на один из его входов (но не на оба одновременно). Другими словами, ВЫСОКИЙ уровень действует на выходе тогда, когда входы имеют различное состояние. Этот вентиль может иметь только два входа. Операция «Исключающее ИЛИ» подобна сложению двух бит по модулю 2.

Схемы вентилей на дискретных элементах

На рисунке показан диодный вентиль И

Логические вентили
Диодный вентиль И
Если на каком-либо его входе действует НИЗКИЙ уровень, то он будет действовать и на выходе, а ВЫСОКИЙ уровень на выходе возникает только в том случае, если он будет присутствовать на обоих входах.
Эта схема обладает рядом недостатков:

а) НИЗКИЙ уровень на выходе выше НИЗКОГО уровня на входе на величину падения на диоде. Естественно, слишком много диодов ставить нельзя.
б) отсутствует «разветвление по выходу», т. е. возможность питать одним выходом несколько входов, так как выходная нагрузка действует на входной сигнал
в) низкое быстродействие, обусловленное резисторной нагрузкой.

Вообще логические схемы, построенные на дискретных элементах, не обладают теми свойствами, которые присущи интегральным микросхемам. Преимущества логических схем на микросхемах связаны отчасти с применением специальной технологии (например, ионная имплантация), которая позволяет получать хорошие характеристики.
Простейшая схема транзисторного вентиля ИЛИ-HE показана на рисунке
транзисторный вентиль или-не
Эта схема использовалась в семействе логических элементов РТЛ (резисторно-транзисторная логика), которые из-за низкой стоимости были популярны в 1960-х годах, но в настоящее время они совершенно не употребляются. ВЫСОКИЙ уровень, действующий по любому входу (или по обоим одновременно), откроет хотя бы один транзистор и на выходе возникнет НИЗКИЙ уровень. Поскольку по своей сути такой вентиль является инвертирующим, то для того, чтобы получить из него вентиль ИЛИ, к нему нужно добавить инвертор.

Взаимозаменяемость вентилей

При построении цифровых схем надо помнить, что из вентиля одного типа можно получить вентиль другого типа. Например, если вам нужен вентиль И, а у вас есть половина стандартной интегральной микросхемы серии 7400 (4 И-НЕ на два входа), то можно произвести замену, как показано на рисунке
вентиль И из двух И-НЕ. Логические вентили

Второй вентиль используется в качестве инвентора, в результате этого получается функция И.

Путем многократного использования инвентируемого вентиля (например, И-НЕ) одного типа можно реализовать любую комбинационную функцию. Однако это не относится к неинвентирующему вентилю, так как с его помощью функцию НЕ получить нельзя. Именно по этой причине скорее всего вентили И-НЕ получили наибольшее распространение в логических схемах.

Логические обозначения при заданных уровнях

Вентиль И будет иметь ВЫСОКИЙ уровень на выходе, когда ВЫСОКИЙ уровень будет действовать на обоих его входах. Если ВЫСОКИЙ уровень обозначает «истину», то «истина» будет на выходе в том случае, если она присутствует на всех входах. Другими словами, при использовании положительной логики вентиль И выполняет логическую функцию И. То же самое касается и вентиля ИЛИ.

Что произойдет, если «истину» будет обозначать НИЗКИЙ уровень. Вентиль И даст на выходе НИЗКИЙ уровень, если на любом из его входов была «истина» (НИЗКИЙ уровень), но это функция ИЛИ. С другой стороны, вентиль ИЛИ сформирует НИЗКИЙ уровень лишь в том случае, если «истина» будет на обоих его входах. Но это функция И.

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

Например, если нужно определить, имеет ли один из трех входов НИЗКИЙ уровень, необходимо использовать 3-входовой вентиль И-НЕ. По всей вероятности, этим методом пользуется большинство разработчиков цифровых схем. Следуя этим путем, начертим вентиль И-НЕ, даже если по отношению к своим входам он выполняет функцию ИЛИ-HE (при отрицательной логике). При этом обозначим входы, как показано на рисунке

3-входовой вентиль И-НЕ

В данном примере сигналы сброса — СБРОС’ (CLEAR’), ОС’-ОБЩИЙ СБРОС, MR’ (master reset) и УСТАНОВКА В «0» (RESET’), поступающие из различных точек схемы, будут иметь уровни отрицательной логики. Выходной сигнал СБРОС, представленный в положительной логике, будет подаваться на различные устройства, которые должны сбрасываться, если любой из сигналов установки в исходное состояние имеет НИЗКИЙ уровень («истина»). 

Другой способ решения задачи сигналов отрицательной логики состоит в использовании метода «заданных уровней». Если вентиль И выполняет функцию ИЛИ, используя на входах отрицательную логику, то изобразим его, как показано на рисунке.

Вентиль ИЛИ на 3 входа с отрицательными входными сигналами

Вентиль ИЛИ на 3 входа с отрицательными входными сигналами аналогичен по выполняемой функции 3-входовому вентилю И-НЕ. Эта эквивалентность представляет собой важный принцип — свойство логических цепей, который называется теоремой Моргана.

Таким образом можно менять И на ИЛИ и наоборот, проинвертировав при этом выход и все входы.

Следует отметить два важных момента:

1. Термин «отрицательная логика» не означает, что логические уровни имеют отрицательную полярность. Он лишь говорит, что «истинное» утверждение определяется тем из двух состояний, которое имеет меньший уровень (НИЗКИЙ).

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

Смотрите также: