Acabei de começar a estudar engenharia de computação e estou com algumas dúvidas em relação ao comportamento do portão XOR.
Projetei circuitos com o Logisim, cujos XORs se comportam de maneira diferente do que aprendi. Para mim, ele deve se comportar como uma porta de paridade, fornecendo uma saída alta sempre que as entradas receberem uma combinação ímpar. Porém, isso não ocorre para mais de duas entradas. Como deve se comportar?
Também li em um livro que os portões XOR não são produzidos com mais de duas entradas. Isso está correto? Por quê?
digital-logic
gabrieljcs
fonte
fonte
Respostas:
Existem diferentes pontos de vista sobre como um portão OR exclusivo com mais de duas entradas deve se comportar. Na maioria das vezes, esse portão XOR se comporta como uma cascata de portas de 2 entradas e executa uma função de paridade ímpar. No entanto, algumas pessoas interpretam o significado de OR exclusivo mais literalmente e dizem que a saída deve ser 1 se e somente se exatamente uma das entradas for 1. Parece-me que lembro que o Logisim usa a última interpretação e em algum lugar minha memória enferrujada eu a vi em uma biblioteca de células ASIC. Um dos símbolos padrão internacionais para uma porta XOR é um retângulo rotulado com o
=1
qual parece ser mais consistente com a definição "1 e apenas 1".EDIT: A definição de OR exclusivo como "1 e apenas 1" é incomum, mas pode ser encontrada. Por exemplo, IEEE-Std91a-1991 fornece o símbolo para o OR exclusivo na p. 62 com a nota: "A saída fica no seu estado 1 se uma e apenas uma das duas entradas estiver no seu estado 1". Para mais de 2 entradas, o padrão recomenda o uso do símbolo "paridade ímpar". Os sites que discutem essa situação confusa incluem XOR: The Interesting Gate e demos de gate no TAMS . Uma pesquisa no Google também exibirá sites que afirmam que, estritamente falando, não existe um portão XOR com mais de duas entradas.
fonte
Em um XOR de duas portas, a saída é alta quando as entradas são diferentes. Se as entradas são as mesmas, a saída é baixa.
Daí esta tabela de verdade:
Você pode encontrar um portão XOR que possui mais de duas entradas, mas na verdade não são um XOR de 3 entradas. Eles inserem XOR A e B e o resultado deles "R" é XOR com a entrada C. E o resultado de R XOR C é XOR com a entrada 4 e assim por diante.
Aqui está uma tabela verdade para as três entradas XOR mostradas:
Um algoritmo de paridade simples é o XORing bits em uma mensagem recebida, por exemplo, Ethernet. Se o remetente e o destinatário souberem que o XOR dos bits da mensagem deve ser 0 (um bit na mensagem é fornecido para poder adicionar um, para que uma mensagem de qualquer tamanho possa ser 0 quando o XOR), o destinatário pode saber se 1 bit foi invertido. Esta é uma verificação de paridade ruim, pois só pode encontrar um número ímpar de alterações de bits, mas mostra o conceito.
fonte
Se você pegar 4 entradas e alimentar dois a um XOR e dois a outro, pegue as duas saídas XOR e alimente-as com um terceiro XOR, sua saída fará o que você acredita (eu acho).
fonte
O XOR não é completamente um portão de paridade. Se você definir a saída do XOR como 1 quando uma e apenas uma das entradas for 1, um XOR de três entradas fornecerá 0 para a entrada 1. Isso não é usado com muita frequência e, portanto, existem poucas portas XOR de 3 entradas.
O que a maioria das pessoas quer dizer quando diz que XOR é a adição do módulo 2, que é exatamente um verificador de paridade. A maioria das portas rotuladas como XORs de 3 entradas são de fato portas de adição do módulo 2. Para duas entradas, a adição do módulo 2 é a mesma que o XOR, mas o 0 do XOR descrito acima é um 1 nas portas do módulo 2. As portas do módulo 2 com um número arbitrário de entradas podem ser produzidas a partir de portas XOR simples de duas entradas.
fonte
Eu fiz um pouco de pesquisa ao ver sua pergunta e encontrei um IC que é um portão XOR de 3 polegadas. 74LVC1G386 da nxp. o link para o site nxp que mostra os resultados da pesquisa para este número de peça no site nxp é http://www.nxp.com/search?q=74lvc1g386&type=keyword&rows=10
fonte
Então, eu fui lá e testei! Escrevi um pequeno arquivo verilog, simulei e observei a forma de onda.
Acontece que a interpretação correta para o verilog é: Há uma quantidade ímpar de 1s na entrada AKA Interpretation 2 deste artigo
fonte
De acordo com a lógica da simples entrada múltipla OU do portão, ele assume o maior valor entre todas as entradas, mas não toma uma decisão. No que diz respeito ao EXOR (misturar-se com o meio adicionador sendo apenas uma coincidência, como isso não acontece na lógica de múltiplos valores EXOR), toma-se uma decisão sobre qual é o mais alto entre as entradas, mas se o mais alto (incluindo 0 + 0 .. 1 + 1) são os mesmos; ele não seleciona entre as entradas, significa que não pode tomar uma decisão de qual escolher. Nenhuma decisão significa que a saída é zero. Por exemplo, se alguém for convidado a comprar o número máximo de doces de uma marca em uma casa de bonecas e se houver duas marcas (raiz = 2), ele poderá selecionar a que tiver maior contagem de doces, mas se ambas as marcas estão disponíveis gratuitamente, ele não pode selecionar nenhum (significa 0,0) da mesma forma se ambas as marcas oferecerem o mesmo número (1, 1) dos doces que ele não pode tomar uma decisão significa que a saída é zero. A mesma lógica pode ser estendida para 3, 4 ou mais número de marcas (maior número de marcas) de doces. Isso é igualmente aplicável à lógica de múltiplos valores. (x + x + .. + x = 0 onde x pode ter qualquer valor), em três entradas porta EXOR 1 + 1 + 1 = 0 (contra a interpretação normal 1 + 1 + 1 = 1 que parece estar errada, sendo misturado com paridade). VT Ingole, PhD
fonte