Я только начал изучать компьютерную инженерию, и у меня есть некоторые сомнения относительно поведения шлюза XOR.
Я проектировал схемы с Logisim, чьи XOR ведут себя не так, как я узнал. На мой взгляд, он должен вести себя как шлюз четности, обеспечивая высокий выход всякий раз, когда входы получают нечетную комбинацию. Это не для более чем двух входов. Как это должно вести себя?
Я также читал в книге, что ворота XOR не производятся с более чем двумя входами. Это верно? Зачем?
digital-logic
gabrieljcs
источник
источник
Ответы:
Существуют разные точки зрения относительно того, как должен вести себя логический элемент ИЛИ с более чем двумя входами. Чаще всего такой вентиль XOR ведет себя как каскад 2-входных вентилей и выполняет функцию нечетной четности. Тем не менее, некоторые люди интерпретируют значение исключающего ИЛИ более буквально и говорят, что выходные данные должны быть равны 1, если и только если ровно один из входных данных равен 1. Я действительно напоминаю, что Logisim использует последнюю интерпретацию, и где-то в моя ржавая память Я видел это в библиотеке ячеек ASIC. Одним из международных стандартных символов для ворот XOR является прямоугольник, помеченный знаком,
=1
который, как представляется, более соответствует определению «1 и только 1».РЕДАКТИРОВАТЬ: определение «исключающее ИЛИ» как «1 и только 1» встречается редко, но его можно найти. Например, IEEE-Std91a-1991 дает символ для исключающего ИЛИ на p. 62 с пометкой: «Выход находится в своем 1-состоянии, если один и только один из двух входов находится в своем 1-состоянии». Для более чем 2 входов стандарт рекомендует использовать символ «нечетная четность». Веб-сайты, на которых обсуждается эта запутанная ситуация, включают XOR: Интересные Ворота и демонстрации гейта в TAMS . Поиск в Google также найдет сайты, которые утверждают, что, строго говоря, нет такой вещи, как ворота XOR с более чем двумя входами.
источник
В XOR с двумя вентилями выход высокий, когда входы разные. Если входы одинаковые, выход низкий.
Отсюда и таблица истинности:
Вы можете найти вентиль XOR, который имеет более двух входов, но на самом деле они не являются XOR с 3 входами. Они XOR вводят A и B, и результат их «R» равен XOR с входом C. И результат R XOR C равен XOR с входом 4 и так далее.
Вот таблица истинности для трех введенных XOR:
Простой алгоритм контроля четности - это биты XOR в полученном сообщении, например, через Ethernet. Если отправитель и получатель знают, что XOR для битов сообщения должен быть равен 0 (один бит в сообщении предоставлен, чтобы иметь возможность добавить единицу, чтобы сообщение любой длины могло быть 0, когда XORed), тогда получатель может знать, если 1 бит был перевернут. Это плохая проверка четности, поскольку она может найти только нечетное количество битовых изменений, но показывает концепцию.
источник
Если вы возьмете 4 входа и подадите два к одному XOR и два к другому, тогда возьмите два выхода XOR и подайте их к третьему XOR, его выход будет делать то, что вы считаете нужным (я думаю).
источник
XOR не является полностью воротами паритета. Если вы определяете выход XOR как 1, когда один и только один из входов равен 1, тогда XOR с тремя входами даст вам 0 для входа all-1. Это используется не очень часто, и поэтому имеется мало 3-х входных XOR-гейтов.
Что большинство людей имеют в виду, когда говорят, что XOR - это сложение по модулю 2, которое точно является проверкой четности. Большинство вентилей, помеченных как XOR с 3 входами, на самом деле являются модулями с 2 входами. Для двух входов сложение по модулю 2 - это то же самое, что и XOR, но 0 из XOR, описанного выше, это вместо 1 в вентилях по модулю 2. Затворы по модулю 2 с произвольным числом входов могут быть получены из простых затворов XOR с двумя входами.
источник
Я немного поискал, увидев ваш вопрос, и нашел микросхему, представляющую собой входной XOR-вход с 3 входами. 74LVC1G386 от nxp. ссылка на сайт nxp с результатами поиска по этому номеру детали на сайте nxp: http://www.nxp.com/search?q=74lvc1g386&type=keyword&rows=10
источник
Итак, я пошел туда и проверил! Я написал небольшой файл verilog, смоделировал и посмотрел на форму волны.
Оказывается, правильная интерпретация для verilog: во вводной интерпретации 2 АКА этой статьи есть нечетное количество единиц.
источник
Согласно логике простого логического вентиля с несколькими входами, он принимает самое высокое значение среди всех входов, однако не принимает решения. Что касается EXOR (смешивание с половинным сумматором является простым совпадением, поскольку это не происходит в многозначной логике EXOR), то он принимает решение о том, какой из них самый высокий среди входных данных, но если самый высокий (включая 0 + 0). 1 + 1) одинаковы: он не может выбрать среди входных данных, что означает, что он не может принять решение, какой из них выбрать. Отсутствие децентрации означает, что выход равен нулю. Например, если кого-то просят купить максимальное количество конфет одной марки в одном магазине, и если есть две марки (основание = 2), он может выбрать ту, которая имеет наибольшее количество конфет, но если обе марки доступны бесплатно, он не может выбрать любой (означает 0,0), если оба бренда предлагают один и тот же номер (1, 1) из конфет он не может принять решение, значит, выход равен нулю. Эту же логику можно распространить на 3, 4 и более числа брендов (с более высоким основанием) сладостей. Это в равной степени применимо к многозначной логике. (x + x + .. + x = 0, где x может иметь любое значение), В трех входных логических элементах EXOR 1 + 1 + 1 = 0 (в отличие от обычной интерпретации 1 + 1 + 1 = 1, которая представляется неверной, будучи перепутал с паритетом). В.Т. Инголе, к.т.н.
источник