Je viens de commencer à étudier l'ingénierie informatique et j'ai des doutes concernant le comportement de la porte XOR.
J'ai projeté des circuits avec Logisim, dont les XOR se comportent différemment de ce que j'ai appris. Pour moi, il devrait se comporter comme une porte de parité, donnant une sortie élevée chaque fois que les entrées reçoivent une combinaison étrange. Ce n'est pas le cas, cependant, pour plus de deux entrées. Comment devrait-il se comporter?
J'ai également lu dans un livre que les portes XOR ne sont pas produites avec plus de deux entrées. Est-ce exact? Pourquoi?
digital-logic
gabrieljcs
la source
la source
Réponses:
Il existe différents points de vue concernant le comportement d'une porte OU exclusif avec plus de deux entrées. Le plus souvent, une telle porte XOR se comporte comme une cascade de portes à 2 entrées et remplit une fonction de parité impaire. Cependant, certaines personnes interprètent le sens de OU exclusif plus littéralement et disent que la sortie doit être un 1 si et seulement si exactement l'une des entrées est un 1. Je semble me rappeler que Logisim utilise cette dernière interprétation, et quelque part dans ma mémoire rouillée je l'ai vu dans une bibliothèque de cellules ASIC. L'un des symboles standard internationaux pour une porte XOR est un rectangle étiqueté avec
=1
lequel semble être plus cohérent avec la définition "1 et seulement 1".EDIT: La définition de OU exclusif comme "1 et seulement 1" est rare mais elle peut être trouvée. Par exemple, IEEE-Std91a-1991 donne le symbole pour le OU exclusif sur p. 62 avec la note: "La sortie se trouve à son état 1 si une et une seule des deux entrées se trouve à son état 1." Pour plus de 2 entrées, la norme recommande d'utiliser le symbole "parité impaire" à la place. Les sites Web qui discutent de cette situation confuse incluent XOR: The Interesting Gate et des démos de portes chez TAMS . Une recherche Google fera également apparaître des sites qui prétendent qu'à strictement parler, il n'y a pas de porte XOR avec plus de deux entrées.
la source
Sur un XOR à deux portes, la sortie est élevée lorsque les entrées sont différentes. Si les entrées sont les mêmes, la sortie est faible.
D'où cette table de vérité:
Vous pouvez trouver une porte XOR qui a plus de deux entrées, mais ce n'est pas en fait un XOR à 3 entrées. Ils XOR entrée A et B et le résultat d'eux "R" est alors XOR avec entrée C. Et le résultat de R XOR C est alors XOR avec entrée 4 et ainsi de suite.
Voici une table de vérité pour les trois entrées XOR montrées:
Un algorithme de parité simple consiste à XORing bits dans un message reçu sur par exemple Ethernet. Si l'expéditeur et le récepteur savent que XORing, les bits de message doivent être 0 (un bit dans le message est fourni pour pouvoir en ajouter un de sorte qu'un message de n'importe quelle longueur puisse être 0 lorsqu'il est XORed), alors le récepteur peut savoir si 1 bit a été retourné. Il s'agit d'un mauvais contrôle de parité car il ne peut trouver qu'un nombre impair de changements de bits, mais montre le concept.
la source
Si vous prenez 4 entrées et alimentez deux à un XOR et deux à un autre, alors, prenez les deux sorties XOR et alimentez-les vers un troisième XOR, sa sortie fait ce que vous pensez qu'il devrait (je pense).
la source
XOR n'est pas complètement une porte de parité. Si vous définissez la sortie de XOR comme 1 lorsqu'une et une seule des entrées est 1, un XOR à trois entrées vous donnera 0 pour l'entrée tout-1. Ceci n'est pas utilisé très souvent et il y a donc peu de portes XOR à 3 entrées.
Ce que la plupart des gens veulent dire quand ils disent que XOR est l'addition de modulo 2 qui est exactement un vérificateur de parité. La plupart des portes étiquetées comme XOR à 3 entrées sont en fait des portes d'addition modulo 2. Pour deux entrées, l'addition de modulo 2 est la même chose que XOR mais le 0 du XOR décrit ci-dessus est à la place un 1 dans les portes modulo 2. Les portes Modulo 2 avec un nombre arbitraire d'entrées peuvent être produites à partir de portes XOR à deux entrées simples.
la source
j'ai fait un peu de recherche en voyant votre question et j'ai trouvé un IC qui est une porte XOR à 3 entrées. 74LVC1G386 de nxp. le lien vers le site nxp montrant les résultats de recherche pour ce numéro de pièce sur le site nxp est http://www.nxp.com/search?q=74lvc1g386&type=keyword&rows=10
la source
Alors j'y suis allé et j'ai testé! J'ai écrit un petit fichier verilog, simulé et regardé la forme d'onde.
Il s'avère que l'interprétation correcte de Verilog est la suivante: il y a un nombre impair de 1 dans l'entrée AKA Interprétation 2 de cet article
la source
Selon la logique de la porte OU à entrées multiples simples, il prend la valeur la plus élevée parmi toutes les entrées, mais il ne prend pas de décision. En ce qui concerne EXOR (être mélangé avec un demi-additionneur n'est qu'une coïncidence, car cela ne se produit pas dans la logique à valeurs multiples EXOR), il décide quelle est la plus élevée parmi les entrées mais si la plus élevée (y compris 0 + 0 .. 1 + 1) sont les mêmes, il ne parvient pas à sélectionner parmi les entrées signifie qu'il ne peut pas prendre la décision à choisir. Aucune décision ne signifie que la sortie est nulle.Par exemple, si quelqu'un est invité à acheter le nombre maximum de bonbons d'une marque dans une poupée et s'il y a deux marques (radix = 2), il peut sélectionner celle qui a le plus grand nombre de bonbons, mais si les deux marques sont disponibles gratuitement, il ne peut pas en sélectionner de même (signifie 0,0) de même si les deux marques proposent le même numéro (1, 1) de bonbons qu'il ne peut pas prendre de décision signifie que la sortie est nulle. La même logique peut être étendue pour 3, 4 ou plus de marques (radix supérieur) de bonbons. Cela s'applique également à la logique à valeurs multiples. (x + x + .. + x = 0 où x peut avoir n'importe quelle valeur), en trois entrées porte EXOR 1 + 1 + 1 = 0 (par opposition à l'interprétation normale 1 + 1 + 1 = 1 qui semble être faux, étant confondu avec la parité). VT Ingole, PhD
la source