bitGateLab Digital · Обучение
Русский
Открыть симулятор

Обучение › Тема 1

Логические элементы: NOT, AND, OR, NAND, NOR, XOR и XNOR

7 мин чтения · Команда bitGateLab

Вся цифровая электроника, от светофора до процессора, строится из нескольких блоков, которые принимают решения с помощью нулей и единиц, — из логических элементов. Здесь вы познакомитесь с семью базовыми элементами: как они изображаются на схемах, как записываются в булевой алгебре и какая у каждого таблица истинности. В конце вы увидите, почему из элементов одного-единственного типа, NAND или NOR, можно собрать все остальные.

Логические уровни: что означают 0 и 1

В цифровой схеме каждый сигнал может находиться только в одном из двух состояний. Низкое напряжение (близкое к 0 V) мы называем логическим 0, или «ложью», а высокое (близкое к напряжению питания, например 5 V или 3.3 V) — логической 1, или «истиной». Логический элемент получает один или несколько входных сигналов и выдаёт выходной, который зависит только от текущих значений на входах: элемент ничего не запоминает. Поэтому говорят, что логические элементы образуют комбинационную логику.

Самый полный способ описать логический элемент — его таблица истинности: перечень всех возможных комбинаций входов и значения выхода для каждой из них. При n входах существует 2n комбинаций, так что у двухвходового элемента 4 строки, а у трёхвходового — 8.

ABY ABY AY ANDORNOT
Характерные обозначения элементов AND (прямая задняя сторона и скруглённая передняя), OR (вогнутая входная сторона и остриё) и NOT (треугольник с кружком).

Три основных элемента

NOT (НЕ, инвертор)

У него всего один вход, а на выходе — противоположное значение: если на входе 0, на выходе 1, а если на входе 1, на выходе 0. Записывается это как Y = A (встречаются также обозначения A' и ¬A). Его символ — треугольник с кружком на вершине; этот кружок — общепринятый знак «здесь происходит инверсия».

AY = A
01
10

AND (И)

Выход равен 1 только тогда, когда все входы равны 1. Записывается как произведение: Y = A·B или просто Y = AB. Представьте два выключателя, соединённых последовательно: лампа загорается, только если замкнуты оба.

OR (ИЛИ)

Выход равен 1, когда хотя бы один вход равен 1. Записывается как сумма: Y = A + B. Это то же самое, что два выключателя, соединённых параллельно. Внимание: в булевой алгебре 1 + 1 = 1, а не 2.

Производные элементы: NAND, NOR, XOR и XNOR

NAND (И-НЕ) — это AND, за которым стоит инвертор: Y = AB. Его выход равен 0 только тогда, когда все входы равны 1. NOR (ИЛИ-НЕ) — это инвертированный OR: Y = A + B; он равен 1 только тогда, когда все входы равны 0. На схемах у обоих на выходе нарисован кружок.

XOR (исключающее ИЛИ) равен 1, когда входы различаются: Y = A ⊕ B = AB + AB. Если входов больше двух, XOR равен 1 при нечётном количестве единиц, поэтому его используют для вычисления битов чётности. XNOR (исключающее ИЛИ-НЕ) — его дополнение, Y = A ⊕ B = AB + A B; он равен 1, когда входы одинаковы: это одноразрядный компаратор равенства.

Вот общая таблица истинности шести двухвходовых элементов:

ABANDORNANDNORXORXNOR
00001101
01011010
10011010
11110001
Приём для самопроверки: каждый инвертированный столбец (NAND, NOR, XNOR) — это в точности столбец базового элемента, в котором нули и единицы поменяны местами, строка за строкой.

Пример: вычислить выход небольшой схемы. Найдите Y = (A + B) · C при A = 0, B = 1, C = 1.

  1. OR: A + B = 0 + 1 = 1.
  2. Инверсия: 1 = 0.
  3. AND с C: 0 · 1 = 0.

Результат: Y = 0. При A = 0, B = 0, C = 1 элемент OR даёт 0, инвертор даёт 1, а AND даёт 1, так что Y = 1.

NAND и NOR: универсальные элементы

Логический элемент называется универсальным, если из одних только его копий можно построить NOT, AND и OR, а значит, и любую логическую функцию. NAND и NOR этим свойством обладают. У этого есть практическое следствие: производитель может выпускать ячейки только одного типа и строить из них всё устройство, а вы можете собрать целую схему на единственной микросхеме семейства 74HC (например, в 74HC00 находятся четыре двухвходовых элемента NAND).

Всё на NAND

Всё на NOR

Пример: XOR на четырёх NAND. Пусть N1 = AB, N2 = A·N1, N3 = B·N1 и Y = N2·N3. Проверьте все четыре случая:

ABN1N2N3Y
001110
011101
101011
110110

Столбец Y совпадает со столбцом XOR. Четыре элемента — одна микросхема.

Типичные ошибки

Попробуйте в симуляторе

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

  1. Поместите два входа, элемент NAND и выход и соедините их.
  2. Переберите на входах все четыре комбинации и запишите выход для каждой.
  3. Постройте таблицу истинности схемы и сравните её с таблицей из этой статьи.
  4. Соберите XOR на четырёх NAND из примера и убедитесь, что его таблица совпадает с таблицей одиночного элемента XOR.
  5. Если хотите перенести схему на виртуальную макетную плату, поставьте микросхему NAND семейства 74HC, подайте на неё питание и понаблюдайте за выходным светодиодом.

Упражнения

  1. Составьте таблицу истинности для Y = A + B.
    Ответ

    Для AB = 00, 01, 10, 11 выход равен 1, 0, 1, 1. Он равен 0 только при A = 0 и B = 1.

  2. Сколько строк в таблице истинности элемента AND с 4 входами и в скольких из них выход равен 1?
    Ответ

    24 = 16 строк; выход равен 1 только в одной (1111).

  3. Найдите выход трёхвходового элемента XOR при A = 1, B = 1, C = 1.
    Ответ

    1 ⊕ 1 = 0 и 0 ⊕ 1 = 1. Выход равен 1, потому что единиц три (нечётное количество).

  4. Сколько элементов NOR нужно, как минимум при таком способе, чтобы получить двухвходовый AND?
    Ответ

    Три: два NOR, включённых как инверторы (один для A, другой для B), и третий NOR, на который подаются A и B; его выход равен A + B = AB.

Чтобы научиться преобразовывать и упрощать выражения с этими элементами, переходите к теме «булева алгебра».