stringtranslate.com

исключающее ИЛИ-вентиль

Вентиль XOR (иногда EOR или EXOR и произносится как Исключающее ИЛИ ) — это цифровой логический вентиль , который дает истинный (1 или HIGH) выходной сигнал, когда количество истинных входов нечетно. Вентиль XOR реализует исключающее или ( ) из математической логики ; то есть истинный выходной сигнал получается, если один и только один из входных данных вентиля является истинным. Если оба входа ложны (0/LOW) или оба верны, результат будет ложным. XOR представляет собой функцию неравенства, т. е. выходное значение истинно, если входные данные не похожи друг на друга, в противном случае выходное значение является ложным. Способ запомнить XOR: «должен быть один или другой, но не оба».

Вентиль XOR может служить «программируемым инвертором», в котором один вход определяет, инвертировать ли другой вход или просто передать его без изменений. Следовательно, он функционирует как инвертор (вентиль НЕ), который можно активировать или деактивировать с помощью переключателя. [1] [2]

XOR также можно рассматривать как сложение по модулю 2. В результате вентили XOR используются для реализации двоичного сложения в компьютерах. Полусумматор состоит из вентиля «ИСКЛЮЧАЮЩЕЕ ИЛИ» и вентиля « И» . Вентиль также используется в вычитателях и компараторах . [3]

Алгебраические выражения или или или все представляют собой логический элемент исключающее ИЛИ с входами A и B. Поведение XOR суммировано в таблице истинности , показанной справа.

Символы

Существует три схематических обозначения элементов XOR: традиционные символы ANSI и DIN и символ IEC . В некоторых случаях символ DIN используется с ⊕ вместо ≢. Для получения дополнительной информации см. Символы логических вентилей .

«=1» на символе IEC указывает, что выход активируется только одним активным входом.

Логические символы ⊕, J pq и ⊻ могут использоваться для обозначения операции XOR в алгебраических выражениях.

C-подобные языки используют символ каретки^ для обозначения побитового исключающего ИЛИ. (Обратите внимание, что в этих языках каретка не обозначает логическое соединение (И), несмотря на сходство символов.)

Выполнение

Вентиль XOR чаще всего реализуется с использованием схем МОП-транзисторов . Некоторые из этих реализаций включают в себя:

КМОП

Существует несколько возможных дополнительных реализаций вентиля XOR металл-оксид-полупроводник ( КМОП ). Одна реализация показана ниже.

Пример КМОП-вентиля XOR

nMOS- и pMOS- транзисторы устроены так, что входные пары активируют 2 pMOS-транзистора вверху слева или 2 pMOS-транзистора вверху справа соответственно, подключая Vdd к выходу для образования высокого логического уровня. Оставшиеся пары входов активируют каждый из двух путей nMOS внизу к Vss для получения низкого логического уровня. [4]

Это реализация на двенадцати транзисторах, поскольку для генерации и необходимы два дополнительных инвертора с двумя затворами каждый, не показанные на схеме .

Другая возможная реализация, в которой не используются инвертированные входы, использует инвертирующую логику И-ИЛИ . [5] Это использовалось, например, в процессоре Intel 386 . Требуется 10 транзисторов.

КМОП-вентиль XOR с использованием AOI-Logic

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

Вентиль XOR также может быть реализован с использованием вентилей передачи с логикой проходного транзистора .

Реализация шлюза передачи XOR-ворота

В этой реализации для генерации используются два вентиля передачи и два инвертора, не показанные на схеме, и всего восемь транзисторов, что на четыре меньше, чем в предыдущей конструкции. Функция XOR реализуется путем передачи на выход инвертированного значения A, когда B имеет высокий уровень, и передачи значения A, когда B имеет низкий логический уровень. поэтому, когда на обоих входах низкий уровень, передающий вентиль внизу выключен, а верхний включен и пропускает A, через который низкий уровень, поэтому выходной сигнал низкий. Когда оба имеют высокий уровень, только тот, который находится внизу, активен и пропускает инвертированное значение A, и, поскольку A высокий, выход снова будет низким. Аналогично, если B остается высоким, а A низким, выходной сигнал будет высоким, как и ожидалось, а если B низкий, но A высокий, значение A проходит, и выходной сигнал становится высоким, завершая таблицу истинности для вентиля XOR. [6]

Компромисс по сравнению с предыдущей реализацией заключается в том, что, поскольку вентили передачи не являются идеальными переключателями, с ними связано сопротивление, поэтому в зависимости от уровня входного сигнала их каскадирование может ухудшить выходные уровни. [7]

Оптимизированная проводка логики проходных затворов

Предыдущую реализацию передающего вентиля можно дополнительно оптимизировать с восьми до шести транзисторов, реализовав функциональность генерирующего инвертора и нижнего проходного затвора всего с двумя транзисторами, расположенными как инвертор, но с подключенным истоком pMOS вместо Vdd и источник nMOS подключен вместо GND. [7]

Оптимизированная передача. Логическая схема вентиля XOR.

Два крайних левых транзистора, упомянутых выше, выполняют оптимизированную условную инверсию A, когда B находится на высоком логическом уровне, используя логику проходного транзистора для уменьшения количества транзисторов, а когда B находится на низком логическом уровне, их выход находится в состоянии с высоким импедансом. Два посередине представляют собой передающий вентиль , который переводит выходной сигнал в значение A, когда B находится на низком логическом уровне, а два крайних правых транзистора образуют инвертор, необходимый для генерации, используемый передающим вентилем и логической схемой проходного транзистора. [8]

Как и в предыдущей реализации, следует учитывать прямое соединение входов с выходами через транзисторы затвора или через два крайних левых транзистора, особенно при их каскадировании. [7]

Альтернативы

Схема вентиля XOR с использованием трех смешанных вентилей

Если элемент определенного типа недоступен, схема, реализующая ту же функцию, может быть построена из других доступных элементов. Схема, реализующая функцию исключающее ИЛИ, может быть тривиально построена из вентиля исключающее ИЛИ, за которым следует вентиль НЕ . Если мы рассмотрим выражение , мы можем построить схему вентиля XOR напрямую, используя вентили AND, OR и NOT . Однако для этого подхода требуется пять ворот трех разных типов.

В качестве альтернативы, если доступны разные элементы, мы можем применить булеву алгебру для преобразования, как указано выше, и применить закон де Моргана к последнему члену, который нужно получить , что можно реализовать, используя только четыре элемента, как показано справа. интуитивно, XOR эквивалентно OR, за исключением случаев, когда оба A и B имеют высокий уровень. Таким образом, И для ИЛИ с последующим И-НЕ, которое дает низкий уровень только тогда, когда оба A и B имеют высокий уровень, эквивалентно исключающему ИЛИ.

Схема вентиля «ИСКЛЮЧАЮЩЕЕ ИЛИ» может быть составлена ​​из четырех вентилей И-НЕ . Фактически, вентили И-НЕ и ИЛИ-НЕ являются так называемыми «универсальными вентилями», и любая логическая функция может быть построена либо из логики И-НЕ , либо только из логики ИЛИ-НЕ . Если четыре вентиля И-НЕ заменить вентилями ИЛИ-НЕ , в результате образуется вентиль ИСКЛЮЧАЮЩЕЕ ИЛИ , который можно преобразовать в вентиль Исключающее ИЛИ путем инвертирования выхода или одного из входов (например, с помощью пятого вентиля ИЛИ-НЕ ).

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

Для конструкций NAND верхняя компоновка требует меньшего количества вентилей. Для конструкций NOR нижнее расположение обеспечивает преимущество более короткой задержки распространения (временной задержки между изменением входа и изменением выхода).

Стандартные пакеты чипов

Чип Philips 4070 с четырьмя входами и двумя входами XOR на печатной плате

Чипы XOR легко доступны. Наиболее распространенными стандартными кодами чипов являются:

Более двух входов

Буквальная интерпретация имени «исключающее или» или соблюдение прямоугольного символа IEC поднимает вопрос о правильном поведении с дополнительными входами. [11] Если бы логический элемент мог принимать три или более входных данных и выдавать истинный выходной сигнал, если только один из этих входных данных был бы истинным, то это, по сути, был бы « горячий» детектор (и действительно, это справедливо только для двух входов). ). Однако на практике это редко реализуется таким образом.

Чаще всего последующие входные данные применяются через каскад двоичных операций «исключающее ИЛИ»: первые два сигнала подаются на логический элемент «исключающее ИЛИ», затем выход этого элемента подается на второй логический элемент «исключающее ИЛИ» вместе с третьим сигналом. и так далее для всех оставшихся сигналов. В результате получается схема, которая выдает 1, когда количество единиц на ее входах нечетное, и 0, когда количество входящих единиц четное. Это делает его практически полезным в качестве генератора четности или сумматора по модулю 2 .

Например, микросхема 74LVC1G386 рекламируется как логический вентиль с тремя входами и реализует генератор четности. [12]

Приложения

Пример схемы полусумматора
Пример принципиальной схемы полного сумматора

Вентиляторы «ИСКЛЮЧАЮЩЕЕ ИЛИ» и «И» — две наиболее часто используемые структуры в приложениях СБИС . [13]

Дополнительно использует

Логический элемент XOR можно использовать как однобитовый сумматор , который складывает любые два бита для получения одного бита. Например, если мы добавим 1плюс 1в двоичном формате , мы ожидаем двухбитовый ответ 10(т. е. 2в десятичном формате). Поскольку конечный бит суммы в этом выводе достигается с помощью XOR, предыдущий бит переноса вычисляется с помощью логического элемента AND . Это основной принцип в Half Adders . Схема полного сумматора немного большего размера может быть объединена в цепочку для сложения более длинных двоичных чисел.

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

Генератор псевдослучайных чисел

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

Корреляция и обнаружение последовательности

Вентиль XOR выдает a 0, когда оба входа совпадают. При поиске определенного битового шаблона или последовательности PRN в очень длинной последовательности данных можно использовать серию логических элементов XOR для параллельного сравнения строки битов из последовательности данных с целевой последовательностью. Затем можно подсчитать количество 0выходных данных, чтобы определить, насколько хорошо последовательность данных соответствует целевой последовательности. Корреляторы используются во многих устройствах связи, таких как приемники и декодеры CDMA , для исправления ошибок и кодирования каналов. В приемнике CDMA корреляторы используются для извлечения полярности конкретной последовательности PRN из объединенного набора последовательностей PRN.

Коррелятор, ищущий 11010последовательность данных, 1110100101будет сравнивать входящие биты данных с целевой последовательностью при каждом возможном смещении, подсчитывая при этом количество совпадений (нулей):

1110100101 (данные)11010 (цель)00111 (исключающее ИЛИ) 2 нулевых бита1110100101 11010 00000 5 нулевых битов1110100101 11010 01110 2 нулевых бита1110100101 11010 10011 2 нулевых бита1110100101 11010 01000 4 нулевых бита1110100101 11010 11111 0 нулевых битовСовпадения по смещению: .  : :: : : : : -----------0 1 2 3 4 5

В этом примере наилучшее совпадение происходит, когда целевая последовательность смещена на 1 бит и все пять битов совпадают. При смещении на 5 бит последовательность точно соответствует своей обратной. Глядя на разницу между количеством единиц и нулей, выходящих из банка элементов XOR, легко увидеть, где возникает последовательность и инвертирована она или нет. Более длинные последовательности легче обнаружить, чем короткие.

Фазовые детекторы

Элементы XOR могут использоваться в простейших фазовых детекторах . [14] : 425 

Аналитическое представление

является аналитическим представлением вентиля XOR:

является альтернативным аналитическим представлением.

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

Рекомендации

  1. ^ Броеш, Джеймс Д. (2012). Практические программируемые схемы: руководство по ПЛИС, конечным автоматам и микроконтроллерам. Эльзевир Наука. п. 20. ISBN 978-0323139267.
  2. ^ Ван Хаутвен, Лоуренс (2017). Крипто 101 (PDF) . п. 17.
  3. ^ Флетчер, Уильям (1980). Инженерный подход к цифровому дизайну . Прентис-Холл. п. 98. ИСБН 0-13-277699-5.
  4. Педрони, Волней А. (25 января 2008 г.). Цифровая электроника и дизайн с использованием VHDL. Морган Кауфманн. ISBN 978-0-08-055755-7. Проверено 8 ноября 2022 г.
  5. ^ Шириф, Кен. «Две интересные схемы XOR внутри процессора Intel 386» . Проверено 14 января 2024 г.
  6. Оклобдзия, Вожин Г. (26 декабря 2001 г.). Справочник по компьютерной инженерии. ЦРК Пресс. ISBN 978-0-8493-0885-7. Проверено 8 ноября 2022 г.
  7. ^ abc Проектирование комбинационных логических элементов в КМОП (PDF) . п. 233 . Проверено 9 ноября 2022 г.
  8. Аннаратоне, Сильвия (6 декабря 2012 г.). Проектирование цифровой КМОП-схемы. Springer Science & Business Media. ISBN 978-1-4613-2285-6. Проверено 8 ноября 2022 г.
  9. ↑ Аб Ферджалла, Мохаммед (15 июня 2011 г.). Введение в цифровые системы: моделирование, синтез и моделирование с использованием VHDL. Джон Уайли и сыновья. п. 38. ISBN 978-1-118-00770-9. Проверено 9 ноября 2022 г.
  10. ^ Росс, Дикон; Лоу, Дуг (24 сентября 2013 г.). Электроника «Все в одном» для чайников — Великобритания. Джон Уайли и сыновья. п. 647. ИСБН 978-1-118-58971-7. Проверено 9 ноября 2022 г.
  11. ^ https://www.edn.com/the-xor-versus-sum-modulo-2
  12. ^ 74LVC1G386. Архивировано 29 декабря 2009 г. в техническом описании Wayback Machine.
  13. ^ «Сравнение различных методов проектирования вентилей XOR и AND с использованием инструмента моделирования EDA» . Элементы XOR и AND являются наиболее важными базовыми строительными блоками любых приложений СБИС.
  14. ^ Рабай, Ян М. (1996). Цифровые интегральные схемы: взгляд на проектирование . Река Аппер-Сэддл, Нью-Джерси: Прентис-Холл. ISBN 978-0-13-178609-7.