È possibile scrivere una porta AND usando le porte XOR?


21

Come potrei esprimere un cancello AND usando solo porte XOR?


1
perché vuoi esprimere e cancelli con xor e in che cosa?
ABD

1
Sto leggendo qualcosa sulla crittografia omomorfa , in particolare questo documento eprint.iacr.org/2013/094.pdf noto anche come schema LTV. Qui si afferma che la moltiplicazione significa AND, l'aggiunta tra due bit significa XOR. Quindi chiedo se è possibile riscrivere lo schema usando solo XOR? Forse dovrei migrare la domanda su Cryptography beta?
user2991856,



Risposte:


36

Non puoi.

Poiché è associativo, ovvero ( x 1x 2 ) x 3 = x 1( x 2x 3 ) , è possibile implementare solo le funzioni del modulo x i 1. . . x i k dove x i j{ x 1 , x 2 }XOR(X1X2)X3=X1(X2X3)Xio1...XioKXioj{X1,X2}. Ciò equivale a (a seconda della parità del numero di istanze di e x 2 ) 0, x 1 , x 2 o x 1x 2 , che non sono equivalenti a AND.X1X2X1X2X1X2


5
Potresti voler consentire anche 0 e 1 come input. Tuttavia, non otterrai ancora AND, anche se otterrai anche la negazione di quanto sopra.
Taemyr,

19

Hmmm. Non si può certo fare con l'algebra booleana, ma potrei collegarne uno fisicamente. Il trucco sta nel collegare uno degli ingressi a un cavo di alimentazione di un gate XOR.

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

Il gate XOR è cablato come buffer non invertente. Il trucco è che se si collega VCC a GND (o per estensione una terra logica), l'uscita è un GND debole.

Dichiarazione di non responsabilità: funziona sul silicio che ho, ma potrebbe non funzionare su tutto il silicio.


8
Qualche spiegazione di come funziona renderebbe questa una risposta molto migliore.
David Richerby,

Il primo gate non è ridondante in questo caso?
Nit

1
Cosa sono .|, |>?
Wojowu,

1
@Wojowu ground e Vcc, presumo.
John Dvorak,

4
"potrebbe non funzionare su tutto il silicio." ... sì, e potrebbe persino danneggiarne alcuni: l'applicazione di un ingresso a un gate fisico con l'alimentazione spenta o, peggio ancora, l'accensione successiva, è fuori specifica per molte parti (ri: effetto latchup CMOS !). Inoltre, la "vera" tensione di uscita del primo gate è inferiore alla tensione di alimentazione e, a seconda di quanto è più bassa, si sposterà significativamente l'interpretazione dei livelli di ingresso sul secondo gate. E non è improbabile (diodi di protezione, uscita complementare ...) che I2 sarà un efficace cortocircuito verso massa quando il cancello inferiore non è alimentato.
rackandboneman,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.