È 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 1 ⊕ x 2 ) ⊕ x 3 = x 1 ⊕ ( x 2 ⊕ x 3 ) , è possibile implementare solo le funzioni del modulo x i 1 ⊕ . . . ⊕ x i k dove x i j ∈ { x 1 , x 2 }XOR(X1⊕X2)⊕X3=X1⊕(X2⊕X3)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 1 ⊕ x 2 , che non sono equivalenti a AND.X1X2X1X2X1⊕X2


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.