Основные логические операции (and, or, xor, not). Логический элемент исключающее или Исключающее или для 3 элементов

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

Схема выделения фронта и среза импульса

В данной схеме три элемента «Исключающий ИЛИ» используются для задержки импульсов. DD1.4 — суммирующий. Выходные импульсы имеют стабильные фронты и срезы. Длительность каждого выходного импульса равна утроенному времени задержки переключения каждого из трех элементов. Временной промежуток между фронтами выходных импульсов равен длительности входного импульса. Так же это устройство удваивает частоту входного сигнала.

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

Иногда появляется необходимость получить элемент «исключающее ИЛИ» из отдельных стандартных логических элементов. Примером может служить схема элемента «исключающее ИЛИ» реализованная на четырех элементах 2-И-НЕ. На рисунке 3 показана схема «исключающее ИЛИ» в четырех ее состояниях. Здесь показаны все возможные логические уровни на каждом из используемых логически элементов 2-И-НЕ.

Такие элементы входят в схему . В данной схеме элемент «Исключающий ИЛИ» выполнен на четырех элементах 2-И-НЕ, входящих в один корпус микросхемы К561ЛА7.

Формирователь дискретного сигнала с разностной частотой

Схема формирователя показана на рисунке 4. Здесь логический элемент «исключающее ИЛИ» также реализован на четырех элементах 2-И-НЕ.

На входы 1 и 2 формирователя падают импульсы прямоугольной формы (см. графики 1 и 2), которые различаются частотой следования. Узел на логических элементах DD1.1-DDI.4 перемножает эти сигналы. Выходной импульсный сигнал (график 3) с элемента DD1.4 подается на интегрирующую цепь R3, С1, преобразующую его в сигнал треугольной формы (график 4) с частотой, равной разности частот входных сигналов, а ОУ DA1 преобразует полученный сигнал в меандр (см. график 5). Резистором R1 регулируют длительность положительной и отрицательной полуволн выходного сигнала. Очень интересная схема. Радиоконструктору, есть над чем подумать. Например, сигнал, показанный на третьем графике, является сигналом ШИМ синусоиды.
Конечно диапазон использования элементов «исключающее ИЛИ» намного шире. Я привел здесь на мой взгляд более интересные для радиолюбителей.

Нормальные формы Дизъюнктивная x ¯ ⋅ y + x ⋅ y ¯ {\displaystyle {\overline {x}}\cdot y+x\cdot {\overline {y}}} Конъюнктивная (x ¯ + y ¯) ⋅ (x + y) {\displaystyle ({\overline {x}}+{\overline {y}})\cdot (x+y)} Полином Жегалкина x ⊕ y {\displaystyle x\oplus y} Принадлежность предполным классам Сохраняет 0 Да Сохраняет 1 Нет Монотонна Нет Линейна Да Самодвойственна Нет

Сложе́ние по мо́дулю 2 (исключа́ющее «ИЛИ» , XOR , строгая дизъюнкция , поразрядное дополнение , побитовый комплемент , инвертирование по маске , жегалкинское сложение , логическое вычитание , логи́ческая неравнозна́чность ) - булева функция , а также логическая и битовая операция . В случае двух переменных результат выполнения операции истинен тогда и только тогда, когда один из аргументов истинен, а второй - ложен. Для функции трёх и более переменных результат выполнения операции будет истинным только тогда, когда количество аргументов, равных 1, составляющих текущий набор, - нечётное. Такая операция естественным образом возникает в кольце вычетов по модулю 2 , откуда и происходит название операции.

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

В теории множеств сложению по модулю 2 соответствует операция симметричной разности двух множеств.

В префиксной записи m a x (a , b) − m i n (a , b) {\displaystyle max(a,b)-min(a,b)} .

Обозначения [ | ]

Запись может быть префиксной («польская запись ») - знак операции ставится перед операндами, инфиксной - знак операции ставится между операндами и постфиксной - знак операции ставится после операндов. При числе операндов более 2 префиксная и постфиксная записи экономичнее инфиксной записи. Чаще всего встречаются следующие варианты записи:
⊕ 2 (a , b) , a {\displaystyle \oplus _{2}(a,b),~a} ^ b , a ⊕ b , a ⊕ 2 b , a + 2 b , {\displaystyle b,~a\oplus b,a\oplus _{2}b,a+_{2}b,} a ≠ b, a ≠ b , (a , b) ⊕ 2 , a X O R b {\displaystyle a\neq b,(a,b)\oplus _{2},a~XOR~b}

В таблице символов Юникод есть символы для сложения по модулю 2: XOR - U+22BB (⊻), CIRCLED PLUS - U+2295 (⊕) и PLUS SIGN WITH SUCSCRIPT TWO - U+2A27 (⨧), а также символ для суммы по модулю 2: MODULO TWO SUM - U+2A0A (⨊).

Свойства [ | ]

Булева алгебра [ | ]

В булевой алгебре сложение по модулю 2 - это функция двух, трёх и более переменных (они же - операнды операции, они же - аргументы функции). Переменные могут принимать значения из множества . Результат также принадлежит множеству { 0 , 1 } {\displaystyle \{0,1\}} . Вычисление результата производится по простому правилу, либо по таблице истинности . Вместо значений 0 , 1 {\displaystyle 0,1} может использоваться любая другая пара подходящих символов, например f a l s e , t r u e {\displaystyle false,true} или F , T {\displaystyle F,T} или «ложь», «истина», но при этом необходимо доопределять старшинство, например, t r u e > f a l s e {\displaystyle true>false} .

Таблицы истинности:

a {\displaystyle a} b {\displaystyle b} a ⊕ b {\displaystyle a\oplus b}
0 0 0
1 0 1
0 1 1
1 1 0

Правило: результат равен , если оба операнда равны; во всех остальных случаях результат равен 1 {\displaystyle 1} .

a {\displaystyle a} b {\displaystyle b} c {\displaystyle c} a ⊕ b ⊕ c {\displaystyle a\oplus b\oplus c}
0 0 0 0
1 0 0 1
0 1 0 1
1 1 0 0
0 0 1 1
1 0 1 0
0 1 1 0
1 1 1 1

Правило: результат равен , если нет операндов, равных 1 {\displaystyle 1} , либо их чётное количество.

Программирование [ | ]

В языках /C++ , Java , , Ruby , PHP , JavaScript , Python и т. д. битовая операция поразрядного дополнения обозначается символом « ^ », в языках Паскаль , Delphi , Ada , Visual Basic - зарезервированным словом xor , в языке ассемблера - одноимённой логической командой. При этом сложение по модулю 2 выполняется для всех битов левого и правого операнда попарно. Например,

Если

A = 01100101 2 {\displaystyle a=01100101_{2}}

B = 00101001 2 {\displaystyle b=00101001_{2}} , начиная со стандарта C99 , оператор « ^ » над операндами логического типа возвращает результат применения логической операции XOR. В С++ оператор « ^ » для логического типа bool возвращает результат согласно описанным правилам, для остальных же типов производится его побитовое применение.

Связь с естественным языком [ | ]

В естественном языке операция «сложение по модулю» эквивалентна двум выражениям:

  1. «результат истинен (равен 1), если A не равно B (A≠B)»;
  2. «если A не равно B (A≠B), то истина (1)».

Часто указывают на сходство между сложением по модулю 2 и конструкцией «либо … либо …» в естественном языке. Составное утверждение «либо A, либо B» считается истинным, когда истинно либо A, либо B, но не оба сразу; в противном случае составное утверждение ложно. Это в точности соответствует определению операции в булевой алгебре, если «истину» обозначать как 1 {\displaystyle 1} , а «ложь» как .

Эту операцию нередко сравнивают с дизъюнкцией потому, что они очень похожи по свойствам, и обе имеют сходство с союзом «или» в повседневной речи. Сравните правила для этих операций:

Операция ⊕ {\displaystyle \oplus } исключает последний вариант («оба сразу») и по этой причине называется исключающим «ИЛИ». Операция ∨ {\displaystyle \lor } включает последний вариант («оба сразу») и по этой причине иногда называется включающим «ИЛИ». Неоднозначность естественного языка заключается в том, что союз «или» может применяться в обоих случаях.

Квантовые вычисления [ | , могут быть поставлены под сомнение и удалены. Вы можете улучшить статью, внеся более точные указания на источники.

Поведение

Элементы Исключающее ИЛИ, Исключающее ИЛИ-НЕ, Нечётность и Чётность вычисляют соответствующую функцию от значений на входах и выдают результат на выход.

По умолчанию, неподключенные входы игнорируются - то есть, если входы действительно не имеют ничего подключенного к ним - даже провода. Таким образом, вы можете добавить 5-входовый элемент, но подключить только два входа, и он будет работать как 2-входовый элемент; это избавляет вас от необходимости беспокоиться о настройке количества входов каждый раз при создании элемента. (Если все входы не подключены, то на выходе значение ошибки X .) Некоторые пользователи, однако, предпочитают, чтобы Logisim настаивал, чтобы все входы были подключены, поскольку это соответствует реальным элементам. Вы можете включить это поведение, выбрав меню Проект > Параметры…, перейдя на вкладку Моделирование, и выбрав вариант Ошибка для неопределённых входов для Выход элемента при неопределённости.

Двухвходовая таблица истинности для элементов следующая.

x y Исключающее ИЛИ Исключающее ИЛИ-НЕ Нечётность Чётность
0 0 0 1 0 1
0 1 1 0 1 0
1 0 1 0 1 0
1 1 0 1 0 1

Как вы можете видеть, элементы Нечётность и Исключающее ИЛИ ведут себя одинаково в случае двух входов; аналогично, элементы Чётность и Исключающее ИЛИ-НЕ ведут себя одинаково. Но если входов с определённым значением больше двух, то элемент Исключающее ИЛИ будет давать на выходе 1, когда единица строго на одном входе, тогда как элемент Нечётность даст на выходе 1, когда единица на нечётном количестве входов. Элемент Исключающее ИЛИ-НЕ будет давать на выходе 1, когда входов с единицей строго не один, тогда как элемент Чётность даст 1, когда входов с единицей чётное количество. Элементы Исключающее ИЛИ и Исключающее ИЛИ-НЕ имеют атрибут, названный Многовходовое поведение, который позволяет настроить их на использование поведения элементов Нечётность и Чётность.

Если на каких-либо входах значение ошибки (например, если противоречивые значения поступают на один и тот же провод) или плавающее значение, то на выходе будет значение ошибки.

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

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

Контакты (предполагается, что компонент направлен на восток)

Западный край (входы, разрядность соответствует атрибуту Биты данных)

Входы компонента. Их будет столько, сколько указано в атрибуте Количество входов.

Заметьте, что если вы используете фигурные элементы, то западный край элементов Исключающее ИЛИ и Исключающее ИЛИ-НЕ будет искривлён. Тем не менее, входные контакты расположены вряд. Logisim отрисовывает короткие отрезки чтобы показать это; если вы перекроете отрезок, программа будет без предупреждений предполагать, что вы не хотели перекрыть его. При использовании "Вида для печати", эти отрезки не будут отрисованы, если не подключены к проводам.

Восточный край (выход, разрядность соответствует атрибуту Биты данных)

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

Атрибуты

Когда компонент выбран, или уже добавлен, клавиши от 0 до 9 меняют его атрибут Количество входов, комбинации от Alt-0 до Alt-9 меняют его атрибут Биты данных, а клавиши со стрелками меняют его атрибут Направление.

Направление Направление компонента (его выхода относительно его входов). Биты данных Разрядность входов и выходов компонента. Размер элемента Определяет, следует отрисовывать широкую или узкую версию компонента. Это не влияет на количество входов, которое определяется атрибутом Количество входов; правда, если количество входов превышает 3 (для узкого компонента) или 5 (для широкого), то элемент будет отрисовываться с "крыльями", чтобы вместить запрошенное количество входов. Количество входов Определяет, сколько контактов на западном крае будет иметь компонент. Многовходовое поведение (только для Исключающее ИЛИ и Исключающее ИЛИ-НЕ) Когда входов три или более, то значение на выходе элементов Исключающее ИЛИ и Исключающее ИЛИ-НЕ будет основано или на том, что 1 строго на одном входе (по умолчанию), или на нечётном количестве входов.

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

Рис. 4.1. Обозначения элементов Исключающее ИЛИ: зарубежные (слева) и отечественные (справа)

Под функцией Исключающее ИЛИ понимается следующее: единица на выходе появляется тогда, когда только на одном входе присутствует единица. Если единиц на входах две или больше, или если на всех входах нули, то на выходе будет нуль. Таблица истинности двухвходового элемента Исключающее ИЛИ приведена в табл. 4.1. Обозначения, принятые в отечественных и зарубежных схемах, показаны на рис. 4.1. Надпись на отечественном обозначении элемента Исключающее ИЛИ "=1" как раз и обозначает, что выделяется ситуация, когда на входах одна и только одна единица.

Элементов Исключающее ИЛИ в стандартных сериях немного. Отечественные серии предлагают микросхемы ЛП5 (четыре двухвходовых элемента с выходом 2С), ЛЛ3 и ЛП12, отличающиеся от ЛП5 выходом ОК. Слишком уж специфическая функция реализуется этими элементами.

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

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

В качестве сумматора по модулю 2 элемент Исключающее ИЛИ используется также в параллельных и последовательных делителях по модулю 2, служащих для вычисления циклических контрольных сумм. Но подробно эти схемы будут рассмотрены в лекциях 14,15.

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

Рис. 4.2. Элемент Исключающее ИЛИ как управляемый инвертор

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

Рис. 4.3. Применение элемента Исключающее ИЛИ для смешивания двух неодновременных сигналов

Рис. 4.4. Выделение фронтов входного сигнала с помощью элемента Исключающее ИЛИ

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

Так же, как и стандартные Булевы выражения, информация на входах и выходах различных логических элементов или логических схем может быть собрана в единую таблицу – таблицу истинности.

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

В качестве примера, рассмотрим логическую схему с двумя входами и одним выходом. Входные сигналы отметим как «А» и «В», а выход «Q». Есть четыре (2²) возможных комбинаций входных сигналов, которые можно подать на эти два входа («ON — наличие сигнала» и «OFF — отсутствие сигнала»).

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

Тогда четыре возможные комбинации «А» и «В» для 2-входного логического элемента можно представить в следующем виде:

  1. «OFF» — «OFF» или (0, 0)
  2. «OFF» — «ON» или (0, 1)
  3. «ON» — «OFF» или (1, 0)
  4. «ON» — «ON» или (1, 1)

Следовательно, у логической схемы имеющей три входа будет восемь возможных комбинаций (2³) и так далее. Для обеспечения легкого понимания сути таблицы истинности, мы будем изучать ее только на простых логических элементах с числом входов не превышающим двух. Но, несмотря на это, принцип получения логических результатов для многовходных элементов схемы остается таким же.

Практически, таблица истинности состоит из одного столбца для каждой из входных переменных (например, А и В), и один последний столбец для всех возможных результатов логической операции (Q). Следовательно, каждая строка таблицы истинности содержит один из возможных вариантов входных переменных (например, A = 1, B = 0), и результат операции с этими значениям.

Таблица истинности

Элемент «И»

Для логического элемента «И» выход Q будет содержать лог.1, только если на оба входа («А» и «В») будет подан сигнал лог.1

Микросхемы, содержащие логический элемент «И»:

  • К155ЛИ1, аналог SN7408N
  • К155ЛИ5 с открытым коллектором, аналог SN74451N
  • К555ЛИ1, аналог SN74LS08N
  • К555ЛИ2 с открытым коллектором, аналог SN74LS09N

Элемент «ИЛИ»

Выход Q, элемента «ИЛИ», будет иметь лог.1, если на любой из двух входов или же на оба входа сразу подать лог.1


Микросхемы, содержащие логический элемент «ИЛИ»:

  • К155ЛЛ1, аналог SN7432N
  • К155ЛЛ2 с открытым коллектором, аналог SN75453N
  • К555ЛЛ1, аналог SN74LS32N

Элемент «НЕ»

В данном случае выход Q, логического элемента «НЕ», будет иметь сигнал противоположный входному сигналу.

Микросхемы, содержащие логический элемент «НЕ»:

  • К155ЛН1, аналог SN7404N
  • К155ЛН2 с открытым коллектором, аналог SN7405N
  • К155ЛН3, аналог SN7406N
  • К155ЛН5 с открытым коллектором, аналог SN7416N
  • К155ЛН6, аналог SN7466N

Элемент «И-НЕ»

На выходе Q элемента «И-НЕ» будет лог.1 если на обоих входах одновременно отсутствует сигнал лог.1

Микросхемы, содержащие логический элемент «И-НЕ»:

  • К155ЛА3, аналог SN7400N
  • К155ЛА8, аналог SN7401N
  • К155ЛА9 с открытым коллектором, аналог SN7403N
  • К155ЛА11 с открытым коллектором, аналог SN7426N
  • К155ЛА12 с открытым коллектором, аналог SN7437N
  • К155ЛА13 с открытым коллектором, аналог SN7438N
  • К155ЛА18 с открытым коллектором, аналог SN75452N

Элемент «ИЛИ-НЕ»

Только если на оба входа логического элемента «ИЛИ-НЕ» подать лог.0 мы получим на его выходе Q сигнал соответствующий лог.1

Микросхемы, содержащие логический элемент «ИЛИ-НЕ»:

  • К155ЛЕ1, аналог SN7402N
  • К155ЛЕ5, аналог SN7428N
  • К155ЛЕ6, аналог SN74128N

Элемент «Исключающее ИЛИ»

В данном случае выход Q будет содержать лог.1, если на вход элемента «Исключающее ИЛИ» поданы два противоположных друг другу сигнала.

Микросхемы, содержащие логический элемент «Исключающее ИЛИ»:

  • К155ЛП5, аналог SN7486N

Подведем итог, собрав все полученные ранее результаты работы логических элементов в единую таблицу истинности:

2024 professiya-online.ru. Программы. Интернет. Windows. Советы. Гаджеты. Ноутбуки.