Введение
Логический элемент XOR – цифровой логический элемент (например, SN7486 или CD4030B). + Элемент XOR – таблица истинности. Вход Выход A B A XOR B
XOR digital logic gate (e. g. SN7486 or CD4030B)
+ XOR gate truth tableInput Output A B A XOR B
Элемент XOR (иногда EOR или EXOR, произносится как Exclusive OR) – это цифровой логический элемент, выдающий истинный (1 или HIGH) сигнал, когда число истинных входов нечетно. Элемент XOR реализует логическую операцию исключающего ИЛИ; то есть, истинный выход получается, если ровно один из входов истинен. Если оба входа ложны (0/LOW) или оба истинны, выход будет ложным. XOR представляет функцию неравенства, то есть выход истинен, если входы различны, и ложен в противном случае. Легко запомнить XOR по принципу: "должен быть один или другой, но не оба". Элемент XOR может служить "программируемым инвертором", где один вход определяет, инвертировать другой вход или оставить его без изменений. Таким образом, он функционирует как инвертор (НЕ элемент), который может быть активирован или деактивирован переключателем. XOR также можно рассматривать как сложение по модулю 2. В результате, элементы XOR используются для реализации двоичного сложения в компьютерах. Полусумматор состоит из элементов XOR и AND. Этот элемент также используется в схемах вычитания и сравнения. Алгебраические выражения A ⊕ B, A'B + AB', или A ≠ B представляют элемент XOR с входами A и B. Поведение XOR обобщено в таблице истинности, представленной справа.
Реализация
Элемент XOR чаще всего реализуется с использованием схем на МОП-транзисторах. Некоторые из этих реализаций включают:
И-О-Инвертировать
Врата XOR могут быть реализованы с помощью логики AOI.
Ворота передачи
Врата XOR также могут быть реализованы с использованием передающих ворот с логикой прохождения. Эта реализация использует два передающих ворот и два инвертора, не показанных на схеме, для генерации , в общей сложности восемь транзисторов, на четыре меньше, чем в предыдущей конструкции. Функция XOR реализуется путем передачи на выход инвертированного значения A, когда B высокий, и значения A, когда B находится в логическом низком состоянии. Когда оба входа низкие, передающий ворот внизу выключен, а верхний включен и пропускает A, который низкий, поэтому выход низкий. Когда оба высоких, активен только нижний ворот и пропускает инвертированное значение A, и поскольку A высокий, выход снова будет низким. Аналогично, если B остается высоким, но A низкий, выход будет , что соответствует ожидаемому высокому уровню, а если B низкий, но A высокий, значение A проходит и выход высокий, завершая таблицу истинности для XOR-вентиля. Компромисс по сравнению с предыдущей реализацией заключается в том, что поскольку передающие ворот не являются идеальными переключателями, они имеют сопротивление, поэтому, в зависимости от силы входного сигнала, их каскадное соединение может ухудшить выходные уровни. Два самых левых транзистора, упомянутые выше, выполняют оптимизированную условную инверсию A, когда B находится в логическом высоком состоянии, используя логику прохождения для уменьшения количества транзисторов, а когда B находится в логическом низком состоянии, их выход находится в состоянии высокого импеданса. Два средних транзистора образуют передающий ворот, который устанавливает выход на значение A, когда B находится в логическом низком состоянии, а два правых транзистора формируют инвертор, необходимый для генерации , используемый передающим ворот и схемой логики прохождения. Как и в предыдущей реализации, следует учитывать прямое соединение входов с выходами через транзисторы проходных ворот или через два самых левых транзистора, особенно при их каскадном соединении. 4030: Четырехканальные двухвходные XOR-вентили CMOS. 7486: TTL четырехканальные двухвходные XOR-вентили. Если логический вентиль должен принимать три или более входов и выдавать истинный выход, если только один из этих входов истинен, то он фактически будет детектором одного активного сигнала (и это действительно относится только к двум входам). Однако на практике это редко реализуется таким образом. Чаще всего последующие входы рассматриваются как применяемые через каскад бинарных операций исключающего ИЛИ: первые два сигнала подаются на XOR-вентиль, затем выход этого вентиля подается на второй XOR-вентиль вместе с третьим сигналом и так далее для любых оставшихся сигналов. В результате получается схема, которая выдает 1, когда количество 1 на входах нечетное, и 0, когда количество входящих 1 четное. Это делает ее практически полезной в качестве генератора четности или сумматора по модулю 2. Например, микросхема 74LVC1G386 рекламируется как трехвходной логический вентиль и реализует генератор четности.
Приложения
Вентили XOR и AND — две наиболее часто используемые структуры в приложениях VLSI.
Добавление
Логический элемент XOR может использоваться как однобитный сумматор, складывающий любые два бита для получения одного бита результата. Например, если сложить 1 и 1 в двоичной системе, мы ожидаем двухбитный ответ – 10 (то есть 2 в десятичной системе). Поскольку младший бит суммы в этом результате получается с помощью XOR, старший бит переноса вычисляется с помощью элемента AND. Это основной принцип работы полусумматора. Схема полного сумматора, немного сложнее, может быть объединена последовательно для сложения двоичных чисел большей длины. В некоторых случаях входы элемента OR (например, в полном сумматоре) или элемента XOR никогда не могут быть одновременно равны 1. Поскольку это единственная комбинация, при которой выходные сигналы элементов OR и XOR отличаются, элемент OR можно заменить элементом XOR (или наоборот), не изменяя логику схемы. Это удобно, если схема реализуется с использованием простых интегральных микросхем, содержащих только один тип элемента на чипе.
Генератор псевдослучайных чисел
Генераторы псевдослучайных чисел (PRN), в особенности линейные регистры сдвига с обратной связью (LFSR), определяются на основе операции исключающего ИЛИ. Следовательно, подходящая схема из XOR-элементов может моделировать линейный регистр сдвига с обратной связью для генерации случайных чисел.
Фазовые детекторы
Элементы ИСКЛЮЧАЮЩЕЕ ИЛИ могут использоваться в простейших фазовых детекторах.
Буфер или инверсия сигнала
XOR-вентиль может быть использован для простого переключения между режимами буферизации и инвертирования сигнала. Например, XOR-вентили можно добавить к выходу схемы декодера семисегментного индикатора, чтобы предоставить пользователю возможность выбора между активным низким и активным высоким уровнем выходного сигнала.