Est-il possible d'écrire une porte ET en utilisant des portes XOR?

21

Comment pourrais-je exprimer une porte ET en utilisant uniquement des portes XOR?

user2991856
la source
1
pourquoi tu veux exprimer et portes avec xor et en quoi?
ABD
1
Je lis quelque chose sur le cryptage homomorphe, à savoir ce papier eprint.iacr.org/2013/094.pdf également connu sous le nom de schéma LTV. Là, il est indiqué que la multiplication signifie ET, l'addition entre deux bits signifie XOR. Je demande donc s'il est possible de réécrire le schéma en utilisant uniquement XOR? Peut-être que je devrais migrer la question vers Cryptography beta?
user2991856
4
Connexe: exhaustivité fonctionnelle
CodesInChaos
2
Connexe: stackoverflow.com/questions/6106934/…
rackandboneman

Réponses:

36

Tu ne peux pas.

Puisque est associatif, c'est-à-dire ( x 1x 2 ) x 3 = x 1( x 2x 3 ) , vous ne pouvez implémenter que des fonctions de la forme x i 1. . . x i kx i j{ x 1 , x 2 }XOR(X1X2)X3=X1(X2X3)Xje1...XjekXjej{X1,X2}. Cela équivaut (selon la parité du nombre d'instances de et x 2 ) à 0, x 1 , x 2 ou x 1x 2 , qui ne sont pas équivalents à AND.X1X2X1X2X1X2

Ariel
la source
5
Vous pouvez également autoriser 0 et 1 comme entrées. Cependant, vous n'obtiendrez toujours pas ET, bien que vous obtiendrez également la négation de ce qui précède.
Taemyr
19

Hmmm. Cela ne peut pas être fait avec l'algèbre booléenne, c'est sûr, mais je pourrais en câbler une physiquement. L'astuce consiste à câbler l'une des entrées à un câble d'alimentation d'une porte XOR.

                     I2
                     |
      0  I1          |
      |   |          |
     \|   |/         |
     |\   / |        |
.|---| \ /  |--------/
     \  V  /  
      \   /  
       \ /  
        V 
        |            
     AND OUTPUT

La porte XOR est câblée en tant que tampon non inverseur. L'astuce impliquée est que si vous câblez VCC à GND (ou par extension une masse logique), la sortie est un GND faible.

Avertissement: cela fonctionne sur le silicium que j'ai, mais peut ne pas fonctionner sur tout le silicium.

Joshua
la source
8
Une explication de la façon dont cela fonctionne en ferait une bien meilleure réponse.
David Richerby
La première porte n'est-elle pas redondante dans ce cas?
Nit
1
Quels sont ces .|, |>?
Wojowu
1
@Wojowu ground et Vcc, je présume.
John Dvorak
4
"pourrait ne pas fonctionner sur tout le silicium." ... oui, et pourrait même en endommager certains - l'application d'une entrée à une porte physique avec l'alimentation coupée, ou pire encore la mise sous tension par la suite, est hors spécifications pour beaucoup de pièces (re: effet de verrouillage CMOS !). De plus, la "vraie" tension de sortie de la première porte est inférieure à votre tension d'alimentation et, en fonction de son abaissement, changera considérablement l'interprétation des niveaux d'entrée à la deuxième porte. Et il n'est pas improbable (diodes de protection, sortie complémentaire ...) que I2 soit un court-circuit efficace à la masse lorsque la grille inférieure n'est pas alimentée.
rackandboneman