Tots els sistemes lògics poden ser convertits a circuits amb portes NAND, tal com va demostrar matemàticament Henry M. Sheffer l'any 1913 en la revista Transactions of the American Mathematical Society (Sheffer 1913). Això també aplica per a les portes NOR. En principi, qualsevol funció lògica combinatòria es pot realitzar amb prous portes NAND.

NAND Una porta NAND és una porta AND negada. Té la següent taula de veritat:

Fitxer:NAND ANSI Labelled.svgQ = A NAND B +Taula de veritat Input A Input B Output Q 0 0 1 0 1 1 1 0 1 1 1 0

Creació d'altres portes usant portes NAND Una porta NAND és una porta universal, és a dir: qualsevol altra porta pot ser representada per una combinació de portes NAND.

NOT Una porta NOT pot ser creada unint els inputs d'una NAND gate. Com que una porta NAND és equivalent a una porta AND seguida d'una porta NOT, ajuntant els inputs d'una porta NAND s'acaba obtenint una porta NOT.

Porta NOT desitjadaConstrucció amb NANDFitxer:NOT ANSI Labelled.svgFitxer:NOT from NAND.svgQ = NOT(A) = A NAND A+Taula de veritat Input A Output Q 0 1 1 0

AND Una porta AND pot ser creada invertint l'output d'una porta NAND, com es mostra a continuació:

Porta AND desitjadaConstrucció amb NANDFitxer:AND ANSI Labelled.svgFitxer:AND from NAND.svgQ = A AND B= (A NAND B) NAND (A NAND B)+Taula de veritat Input A Input B Output Q 0 0 0 0 1 0 1 0 0 1 1 1

OR Si la taula de veritat d'una porta NAND és examinada o si s'apliquen les lleis de De Morgan, es pot veure que si qualsevol dels inputs és 0, llavors l'output serà 1. En una porta OR, tanmateix, l'output haurà de ser 1 si qualsevol dels inputs és 1. És per això que, si els inputs s'inverteixen, qualsevol input alt -1- causarà un output alt.

Porta OR desitjadaConstrucció amb NANDFitxer:OR ANSI Labelled.svgFitxer:OR from NAND.svgQ = A OR B= (A NAND A) NAND (B NAND B)+Taula de veritat Input A Input B Output Q 0 0 0 0 1 1 1 0 1 1 1 1

NOR Una porta NOR és una porta OR amb l'output invertit. L'output serà alt -1- quan ni l'input A ni el B siguin alts.

Porta NOR desitjadaConstrucció amb NANDFitxer:NOR ANSI Labelled.svgFitxer:NOR from NAND.svgQ = A NOR B= [ (A NAND A) NAND (B NAND B) ] NAND [ (A NAND A) NAND (B NAND B) ]+Taula de veritat Input A Input B Output Q 0 0 1 0 1 0 1 0 0 1 1 0

XOR Una porta XOR pot ser creada connectant quatre portes NAND com es mostra a continuació. Aquesta construcció comporta un retard de propagació tres vegades més gran que el d'una simple porta NAND.

Porta XOR desitjadaConstrucció amb NANDFitxer:XOR ANSI Labelled.svgFitxer:XOR from NAND.svgQ = A XOR B= [ A NAND (A NAND B) ] NAND [ B NAND (A NAND B) ]+Taula de veritat Input A Input B Output Q 0 0 0 0 1 1 1 0 1 1 1 0 Alternativament, l'imput B de la porta XNOR amb el retard de propagació de 3 portes pot ser invertit. Aquesta construcció usa cinc portes enlloc de quatre:

Porta desitjadaConstrucció amb NANDFitxer:XOR ANSI Labelled.svgFitxer:XOR from NAND 2.svgQ = A XOR B= [ B NAND (A NAND A) ] NAND [ A NAND (B NAND B) ]

XNOR Una porta XNOR pot ser creada connectant l'output de 3 portes NAND (connectades com si fossin una porta OR) i l'output de la porta NAND als inputs respectius de la porta NAND. Aquesta construcció comporta un retard de propagació tres vegades més gran que el d'una simple porta NAND i usa fins a cinc portes.

Porta XNOR desitjadaConstrucció amb NANDFitxer:XNOR ANSI Labelled.svgFitxer:XNOR from NAND 2.svgQ = A XNOR B= [ (A NAND A) NAND (B NAND B) ] NAND (A NAND B)+Taula de veritat Input A Input B Output Q 0 0 1 0 1 0 1 0 0 1 1 1

Alternativament, es pot usar la versió de 4 portes d'una porta XOR amb un inversor. Aquesta construcció té una propagació de quatre cops (enlloc de tres vegades) el d'una simple porta NAND.

Porta desitjadaConstrucció amb NANDFitxer:XNOR ANSI Labelled.svgFitxer:XNOR from NAND.svgQ = A XNOR B= { [ A NAND (A NAND B) ] NAND [ B NAND (A NAND B) ] } NAND { [ A NAND (A NAND B) ] NAND [ B NAND (A NAND B) ] }

MUX UN multiplexor o porta MUX és una porta de tres inputs que usa una de les entrades, que rep el nom de bit selector, per seleccionar un dels altres dos inputs, anomenats bits de dades, que donarà com a output.Nisan, N. & Schocken, S., 2005. In: From NAND to Tetris: Building a Modern Computer from First Principles. s.l.:The MIT Press, p. 20. Available at: http://www.nand2tetris.org/chapters/chapter%2001.pdf

Porta MUX desitjadaConstrucció amb NANDQ = [ A AND NOT(S) ] OR (B AND S)= [ A NAND (S NAND S) ] NAND (B NAND S)+Taula de veritat Input A Input B SelectOutput Q 0 0 00 0 1 00 1 0 01 1 1 010010011110101111

DEMUX Un demultiplexor fa la funció oposada a un multiplexor: agafa un únic input i el retransmet en l'output indicat pel bit selector. Porta DEMUX desitjadaConstrucció amb NANDDEMUX Gate+Taula de veritat Input Select Output A Output B0000101001001101

Enllaços externs TTL NAND i portes AND - Tot sobre circuits Passos per derivar XOR a partir de portes NAND Portes NAND , Demostració d'una simulació iterativa d'un circuit de portes NAND creat amb el simulador Teahlab.

Referències

Bibliografia

Categoria:Portes lògiques