Lógica NAND

Símbolo de una puerta NAND

La lógica NAND hace referencia al hecho de que, debido a que la función NAND tiene una funcionalidad completa, todos los sistemas lógicos se pueden convertir en puertas NAND, tal y como demostró matemáticamente Henry M. Sheffer en 1913 en la publicación Transactions of the American Mathematical Society (Sheffer 1913). Esto también es cierto para las puertas NOR. En principio, cualquier función lógica combinatoria puede realizarse con suficientes puertas NAND.

Una puerta NAND es una puerta AND negada. Tiene la siguiente tabla de verdad:

Q = A NAND B

Tabla de verdad
Input A Input B Output Q
0 0 1
0 1 1
1 0 1
1 1 0

Creación de otras puertas usando puertas NAND

Una puerta NAND es una puerta universal, es decir; cualquier otra puerta puede ser representada por una combinación de puertas NAND.

Una puerta NOT se crea uniendo las entradas de una puerta NAND. Dado que una puerta NAND es equivalente a una puerta AND seguida de una puerta NOT, juntando las entradas de una puerta NAND se acaba obteniendo una puerta NOT.

Puerta NOT deseada Construcción con NAND
Q = NOT( A ) = A NAND A
Tabla de verdad
Input A Output Q
0 1
1 0

Una puerta AND se crea invirtiendo la salida de una puerta NAND como se muestra a continuación.

Puerta AND deseada Construcción con NAND
Q = A AND B = ( A NAND B ) NAND ( A NAND B )
Tabla de verdad
Input A Input B Output Q
0 0 0
0 1 0
1 0 0
1 1 1

Si se examina la tabla de verdad para una puerta NAND o al aplicar las Leyes de De Morgan, se puede ver que si alguna de las entradas es 0, entonces la salida será 1. En una puerta OR, sin embargo, la salida debe ser 1 si cualquier entrada es 1. Por lo tanto, si las entradas están negadas, cualquier entrada alta activará una salida alta.

Puerta OR deseada Construcción con NAND
Q = A OR B = ( A NAND A ) NAND ( B NAND B )
Tabla de verdad
Input A Input B Output Q
0 0 0
0 1 1
1 0 1
1 1 1

Una puerta NOR es una puerta OR con una salida negada. La salida será alta cuando ni la entrada A ni la entrada B sean altas.

Puerta NOR deseada Construcción con NAND
Q = A NOR B = [ ( A NAND A ) NAND ( B NAND B ) ] NAND
[ ( A NAND A ) NAND ( B NAND B ) ]
Tabla de verdad
Input A Input B Output Q
0 0 1
0 1 0
1 0 0
1 1 0

Una puerta XOR puede ser creada conectando cuatro puertas NAND como se muestra a continuación. Esta construcción conlleva un retraso de propagación tres veces mayor que el de una simple puerta NAND.

Puerta XOR deseada Construcción con NAND
Q = A XOR B = [ A NAND ( A NAND B ) ] NAND
[ B NAND ( A NAND B ) ]
Tabla de verdad
Input A Input B Output Q
0 0 0
0 1 1
1 0 1
1 1 0

Alternativamente, la entrada B de la puerta XNOR con el retardo de propagación de 3 puertas se puede invertir. Esta construcción utiliza cinco puertas en lugar de cuatro.

Puerta deseada Construcción con NAND
Q = A XOR B = [ B NAND ( A NAND A ) ] NAND
[ A NAND ( B NAND B ) ]

Una puerta XNOR puede ser creada conectando la salida de 3 puertas NAND (conectadas como una puerta OR) y la salida de una puerta NAND a las entradas respectivas de una puerta NAND. Esta construcción conlleva un retraso de propagación tres veces mayor que el de una sola puerta NAND y utiliza cinco puertas.

Puerta XNOR deseada Construcción con NAND
Q = A XNOR B = [ ( A NAND A ) NAND ( B NAND B ) ] NAND
( A NAND B )
Tabla de verdad
Input A Input B Output Q
0 0 1
0 1 0
1 0 0
1 1 1

Alternativamente, se puede usar la versión de 4 puertas de una puerta XOR con un inversor. Esta construcción conlleva un retraso de propagación cuatro veces mayor (en lugar de tres veces) que el de una sola puerta NAND y utiliza cinco puertas.

Puerta deseada Construcción con NAND
Q = 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 una puerta MUX es una puerta de tres entradas que utiliza una de las entradas, llamada bit selector, para seleccionar una de las otras dos entradas, llamada bitios de datos, y enviando a la salida solo el bit de datos seleccionado.[1]

Puerta MUX deseada Construcción con NAND
Q = [ A AND NOT( S ) ]
OR ( B AND S )
= [ A NAND ( S NAND S ) ]
NAND ( B NAND S )
Tabla de verdad
Input A Input B Selector Output Q
0 0 0 0
0 1 0 0
1 0 0 1
1 1 0 1
0 0 1 0
0 1 1 1
1 0 1 0
1 1 1 1

DEMUX

Un demultiplexor realiza la función opuesta de un multiplexor; toma una sola entrada y la canaliza a una de dos salidas posibles de acuerdo con un bit de selector que especifica qué salida elegir.[1]

Puerta DEMUX deseada Construcción con NAND:

DEMUX Gate

Tabla de verdad
Input Selector Output A Output B
0 0 0 0
1 0 1 0
0 1 0 0
1 1 0 1

Véase también

Enlaces externos

Referencias

  1. a b 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 Archivado el 10 de enero de 2017 en Wayback Machine.