Todos los circuitos lógicos digitales, desde el más simple contador hasta el más sofisticado micro-procesador, son hechos interconectando combinaciones de simples “bloques de construcción”, llamados compuertas lógicas (Logic gates).
Se le llama compuerta porque es un dispositivo que puede usarse para permitir o no que el nivel que llega a un cable de entrada se repita en la salida, y lógica porque realiza una operación lógica.
Algunas compuertas utilizadas son:
Inversor (NOT). Producto lógico o multiplicador (AND): Se le conoce como producto lógico puesto que coincide con los resultados numéricos de la multiplicación. Suma lógica (OR): Se denomina suma lógica porque coincide en tres de los cuatro resultados de la suma aritmética, y el resultado de 1+1, en este caso es 1. Multiplicación invertida (NAND): Como su nombre lo dice, las salidas de esta pastilla, son las de la compuerta AND, pero invertidos. Suma invertida (NOR): Esta pastilla trabaja al igual que la NAND pero en vez de compararla con la AND, la podemos comparar con la OR. Esta hace la suma y la invierte. Suma exclusiva (XOR): Se le conoce como suma exclusiva, las salidas son ceros cuando las entradas son iguales y son unos cuando son diferentes.
Estas compuertas básicas, son diseñadas de acuerdo a su función como SI, NO, Y, O, o sea, las cuatro expresiones sencillas mínimas con las cuales se puede responder a situaciones de la vida real. Cada una de estas compuertas básicas tiene una o más entradas, una sola salida, y una pareja de terminales para conexión a la fuente de poder (pilas, baterías, adaptador de corriente, etc.).
Varias combinaciones de los BITS binarios 0 y 1 pueden ser aplicadas a las entradas de una compuerta, asumiendo que un cierto voltaje bajo representa al cero y un cierto voltaje alto equivale al BIT “uno”, esto es llamado lógica positiva; en la lógica negativa se invierten las definiciones.
BIT: Es una sigla formada con las palabras “dígito binario”, y se refiere a los dos símbolos 0 y 1 utilizados en el sistema binario para calcular y medir. Por simple conveniencia, para facilitar el paso de un sistema al otro, se adoptó el BIT “cero” como igual al número decimal “0″, y el BIT “uno” como igual al número decimal “1″(se conservaron igual estos dos símbolos), pero las combinaciones se leen diferentes. Veamos un ejemplo: La expresión numérica 110 tiene en decimal 3 cifras y se lee “ciento diez”; tiene en binario tres BITS y se lee “uno-uno-cero”.
En electrónica digital, más concretamente en el sistema numérico binario, no se habla de números de “tantas cifras”, como en el sistema decimal, sino que se dice que es un WORD de “tantos bits”. WORD significa “palabra” en ingles, pero en este caso se emplea más bien como sinónimo de número, o combinación de varios símbolos para expresar una cierta cantidad. Aunque un Word puede tener cualquier cantidad de bits, se ha popularizado entre los especialistas de computadoras en uso de words con ocho bits; estos son llamados sencillamente BYTES (00010111). Un Word que tenga cuatro BITS es denominado NIBLE (0001). Veamos un ejemplo:
0001011100101001 Es un Word con diecisiete BITS; es un Word con dos bytes, o sencillamente es un Word con cuatro nibles.
00010111 00101001 Es un Word igual al anterior, pero separados los bytes para una mejor visualización.
Igual que en el sistema decimal, los BITS “cero” al comienzo de un Word (lado izquierdo) no representan ninguna cantidad, pero se acostumbra colocarlos para facilitar el manejo en los circuitos electrónicos de cómputo.
La compuerta que simula la condición “SI”, tiene solamente una entrada y una salida. Transmite a la salida el mismo estado lógico “alto” o “bajo” que haya en la entrada (BIT 1 o BIT 0), por lo cual es generalmente usada para interconexión (INTERFACE) de circuitos lógicos no compatibles electrónicamente entre sí (diferentes impedancias, otros voltajes o corrientes, etc.). Se les conoce a estas compuertas con el nombre de BUFFER, por su acción reforzadora, pero es bueno aclarar que dicho término se aplica también a otras compuertas muy diferentes, para indicar que tienen salida apta para INTERFACE.
La compuerta que simula la condición lógica “NO”, tiene la propiedad de invertir a la salida la señal o nivel presente en la entrada. Se le utiliza también para servir de interfase (interconexión) entre dos circuitos que estén alimentados por fuentes de voltaje distinto. Entrega un estado bajo en su terminal de salida cuando a su única entrada llega una señal con voltaje dentro del rango establecido como “alto”. La anterior condición lo convierte en un BUFFER NEGADOR o simplemente compuerta NO” (NOT).
La compuerta “NO” invierte o complementa el estado lógico de su única entrada, por lo que se le conoce también como INVERSOR. La función “NO” es generalmente indicada por una barra o vínculo sobre el símbolo, para indicar que una entrada o una salida ha sido invertida. Así, si A es 0 y B es 1, tendremos que A = B (con línea arriba de la b, y algunas veces escrita como “no B”).
La compuerta que simula la condición “Y” (AND) es un circuito con capacidad para “decidir”, con dos o más entradas. La única salida de la compuerta AND es nivel lógico 0, a menos que todas sus entradas tengan nivel lógico 1. Solamente cuando las entradas A y B y C estén en “uno”, la salida será también “uno”.
La compuerta que simula la condición “0″ (OR) es también un circuito que hace decisiones, con dos o más entradas. Su salida es lógica 1 cuando cualquiera o todas sus entradas tienen un nivel lógico 1. Basta con que las entradas A o B o C estén en 1, para que la salida pase a 1.
La electrónica moderna usa electrónica digital para realizar muchas funciones. Aunque los circuitos electrónicos pueden resultar muy complejos, en realidad se construyen de un número muy grande de circuitos. En un circuito digital se transmite información binaria entre estos circuitos y se consigue un circuito complejo con la combinación de bloques de circuitos simples (compuertas lógicas).
La mayoría de las compuertas tienen dos entradas y una salida. En cualquier momento, cada compuerta está en una de las dos condiciones binarias low (0) el cual corresponde a falso o high (1) el cual corresponde a verdadero, representados por diferentes niveles de voltaje.
Generalmente el estado lógico de una compuerta cambia mucho a medida que el circuito procesa los datos. En la mayoría de las compuertas lógicas, el estado bajo es aproximadamente cero voltios, mientras el estado alto es aproximadamente cinco voltios positivos. Los sistemas digitales se construyen usando tres compuertas lógicas básicas. Estas compuertas son la compuerta AND, compuerta OR y la compuerta NOT. De estas tres compuertas lógicas se derivan otras tres: NOR, NAND y EOR (figura 9).
Los circuitos lógicos forman la base de los sistemas de cómputo digital de manera que para apreciar su funcionamiento es necesario entender algunos conceptos en álgebra booleana y lógica digital, es posible representar cualquier algoritmo ó circuito electrónico de cómputo utilizando un sistema de ecuaciones booleanas. La llamamos álgebra booleana en honor de George Boole, un matemático inglés quién fue poco comprendido en su época, su descubrimiento del “álgebra lógica” tuvo poco uso práctico en 1847 cuando fue introducida. El material relacionado con el álgebra booleana es de particular interés para quienes desean diseñar circuitos ó escribir software para control electrónico.
Álgebra booleana
El álgebra booleana es un sistema matemático deductivo centrado en los valores cero y uno (falso y verdadero). Un operador binario “ º “ definido en éste juego de valores acepta un par de entradas y produce un solo valor booleano, por ejemplo, el operador booleano AND acepta dos entradas booleanas y produce una sola salida booleana.
Para cualquier sistema algebraico existen una serie de postulados iniciales, de aquí se pueden deducir reglas adicionales, teoremas y otras propiedades del sistema, el álgebra booleana a menudo emplea los siguientes postulados:
Cerrado. El sistema booleano se considera cerrado con respecto a un operador binario si para cada par de valores booleanos se produce un solo resultado booleano. Conmutativo. Se dice que un operador binario “ º “ es conmutativo si A º B = B º A para todos los posibles valores de A y B. Asociativo. Se dice que un operador binario “ º “ es asociativo si (A º B) º C = A º (B º C) para todos los valores booleanos A, B, y C. Distributivo. Dos operadores binarios “ º “ y “ % “ son distributivos si A º (B % C) = (A º B) % (A º C) para todos los valores booleanos A, B, y C. Identidad. Un valor booleano I se dice que es un elemento de identidad con respecto a un operador binario “ º “ si A º I = A. Inverso. Un valor booleano I es un elemento inverso con respecto a un operador booleano “ º “ si A º I = B, y B es diferente de A, es decir, B es el valor opuesto de A.
Para nuestros propósitos basaremos el álgebra booleana en el siguiente juego de operadores y valores:
Los dos posibles valores en el sistema booleano son cero y uno, a menudo llamaremos a éstos valores respectivamente como falso y verdadero. El símbolo • representa la operación lógica AND. Cuando se utilizan nombres de variables de una sola letra se eliminará el símbolo •, por lo tanto AB representa la operación lógica AND entre las variables A y B, a esto también le llamamos el producto entre A y B. El símbolo “+” representa la operación lógica OR, decimos que A+B es la operación lógica OR entre A y B, también llamada la suma de A y B. El complemento lógico, negación ó NOT es un operador unitario, en éste texto utilizaremos el símbolo “ ‘ “ para denotar la negación lógica, por ejemplo, A’ denota la operación lógica NOT de A. Si varios operadores diferentes aparecen en una sola expresión booleana, el resultado de la expresión depende de la procedencia de los operadores, la cual es de mayor a menor, paréntesis, operador lógico NOT, operador lógico AND y operador lógico OR. Tanto el operador lógico AND como el OR son asociativos por la izquierda. Si dos operadores con la misma procedencia están adyacentes, entonces se evalúan de izquierda a derecha. El operador lógico NOT es asociativo por la derecha.
Utilizaremos además los siguientes postulados:
P1 El álgebra booleana es cerrada bajo las operaciones AND, OR y NOT. P2 El elemento de identidad con respecto a • es uno y con respecto a + es cero. No existe elemento de identidad para el operador NOT. P3 Los operadores • y + son conmutativos. P4 • y + son distributivos uno con respecto al otro, esto es, A•(B+C) = (A•B)+(A•C) y A+(B•C) = (A+B)•(A+C). P5 Para cada valor A existe un valor A’ tal que A•A’ = 0 y A+A’ = 1. Éste valor es el complemento lógico de A. P6 • y + son ambos asociativos, esto es, (AB)C = A(BC) y (A+B)+C = A+(B+C).
Es posible probar todos los teoremas del álgebra booleana utilizando éstos postulados.
Algunos de los teoremas más importantes son los siguientes:
Teorema 1: A + A = A Teorema 2: A • A = A Teorema 3: A + 0 = A Teorema 4: A • 1 = A Teorema 5: A • 0 = 0 Teorema 6: A + 1 = 1 Teorema 7: (A + B)’ = A’ • B’ Teorema 8: (A • B)’ = A’ + B’ Teorema 9: A + A • B = A Teorema 10: A • (A + B) = A Teorema 11: A + A’B = A + B Teorema 12: A’ • (A + B’) = A’B’ Teorema 13: AB + AB’ = A Teorema 14: (A’ + B’) • (A’ + B) = A’ Teorema 15: A + A’ = 1 Teorema 16: A • A’ = 0
Los teoremas siete y ocho son conocidos como Teoremas de De Morgan en honor al matemático que los descubrió.
Álgebra booleana y circuitos electrónicos
La relación que existe entre la lógica booleana y los sistemas de cómputo es fuerte, de hecho se dá una relación uno a uno entre las funciones booleanas y los circuitos electrónicos de compuertas digitales. Para cada función booleana es posible diseñar un circuito electrónico y viceversa, como las funciones booleanas solo requieren de los operadores AND, OR y NOT podemos construir nuestros circuitos utilizando exclusivamente éstos operadores utilizando las compuertas lógicas homónimas:
Un hecho interesante es que es posible implementar cualquier circuito electrónico utilizando una sola compuerta, ésta es la compuerta NAND:
Para probar que podemos construir cualquier función booleana utilizando sólo compuertas NAND, necesitamos demostrar cómo construir un inversor (NOT), una compuerta AND y una compuerta OR a partir de una compuerta NAND, ya que como se dijo, es posible implementar cualquier función booleana utilizando sólo los operadores booleanos AND, OR y NOT. Para construir un inversor simplemente conectamos juntas las dos entradas de una compuerta NAND. Una vez que tenemos un inversor, construir una compuerta AND es fácil, sólo invertimos la salida de una compuerta NAND, después de todo, NOT ( NOT (A AND B)) es equivalente a A AND B. Por supuesto, se requieren dos compuertas NAND para construir una sola compuerta AND, nadie ha dicho que los circuitos implementados sólo utilizando compuertas NAND sean lo óptimo, solo se ha dicho que es posible hacerlo. La otra compuerta que necesitamos sintetizar es la compuerta lógica OR, esto es sencillo si utilizamos los teoremas de De Morgan, que en síntesis se logra en tres pasos, primero se reemplazan todos los “•” por “+” después se invierte cada literal y por último se niega la totalidad de la expresión:
A OR B A AND B…………………..Primer paso para aplicar el teorema de De Morgan A’ AND B’…………………Segundo paso para aplicar el teorema de De Morgan (A’ AND B’)’………………Tercer paso para aplicar el teorema de De Morgan (A’ AND B’)’ = A’ NAND B’…..Definición de OR utilizando NAND
Gráficamente podemos representar las operaciones ejecutadas de la siguiente manera:
Si usted se está preguntando la necesidad de construir diferentes compuertas de la manera descrita, bien hay dos buenas razones, la primera es que las compuertas NAND son las más económicas y en segundo lugar es preferible construir circuitos complejos utilizando los mismos bloques básicos. Observe que es posible construir cualquier circuito lógico utilizando sólo compuertas de tipo NOR (NOR = NOT(A OR B)). La correspondencia entre la lógica NAND y la NOR es ortogonal entre la correspondencia de sus formas canónicas. Mientras que la lógica NOR es útil en muchos circuitos, la mayoría de los diseñadores utilizan lógica NAND.
Los circuitos de estado sólido pueden desempeñar funciones de lógica. Seria muy complicado y confusa mostrar cada transistor, diodo y resistencia en un diagrama lógico de estado sólido. En vez de eso, hemos inventado símbolos que representan la función lógica desempeñada por circuitos individuales. Entonces, construimos circuitos lógicos complejos al conectar muchos circuitos lógicos simples individuales, tales como el circuito AND.
Los circuitos lógicos simples individuales entonces constituyen los bloques funcionales de un circuito lógico extenso, con cada bloque funcional representado por un símbolo especial. Estos bloques funcionales se llaman, de forma generalizada compuertas lógicas, o simplemente compuertas.
Existen cinco compuertas lógicas básicas AND, OR, NOT, NAND y NOR. Las cuales son representadas de la siguiente manera:
Símbolos esquemáticos de las cinco compuertas lógicas. Una compuerta NOT se llama también inversor.
1. Las ventajas de las compuertas inversoras sobre las compuerta no inversoras (velocidad de operación mas rápida, menor consumo de energía de transistores en el circuito). 2. Familias de lógica de drenado de corriente comparadas con familias de fuente de corriente. 3. Las capacidades de fan-out de diversas familias lógicas: la idea de exceder la especificación de fan-out de drenado de corriente amenaza el nivel de salida en LO, mientras que exceder la especificación de fan-out de una familia de fuente de corriente comprende el nivel de salida en HI. 4. El alambrado de las salidas de la compuerta con funciones AND: la idea de conectar varias salidas para reproducir funciones AND comúnmente se permite si el transistor de salida tiene una resistencia de colector de muy alto valor, pero no esta permitido para circuitos de salida en mástil (tótem-pole), incluyendo los CMOS. 5. Las entradas suspendidas (desconectadas); la idea de que las entradas suspendidas se interpretan como estados LO por las familias de fuente de corriente, pero se interpretan como estados HI por las familias de drenado de corriente: el riesgo de ruido asociado con cualquier entrada suspendida y la no aceptación de entrada suspendidas para ningún transistor MOS. 6. Encapsulado del circuito e identificaciones de terminales (dos en línea, encapsulado plano, metálico). 7. Inmunidad relativa al ruido, la velocidad de operación (retardo de propagación), el consumo de energía y la densidad de fabricación de diversas familias de lógica. 8. Lógica positiva (nivel de voltaje mas positivo = 1, nivel menos positivo = 0) comparada con lógica negativa.
CIRCUITOS DE CONMUTACIÓN
Los circuitos lógicos digitales, o circuitos de conmutación, como se les llama con frecuencia, constan de combinaciones seriales y paralelas de elementos de conmutación llamados compuertas, o se implantan mediante arreglos lógicos programables o dispositivos similares. Desde el punto de vista matemático, las compuertas son solo rutas de señales abiertas o cerradas. Desde el punto de vista tecnológico, las compuertas son dispositivos electrónicos de conmutación de gran velocidad que pueden activarse o desactivarse en pocos nanosegundos. Las compuertas se utilizan para la construcción de circuitos lógicos que realizan funciones d conmutación.
Compuertas lógicas electrónicas
En los circuitos lógicos digitales, podemos asociar las variables de conmutación a las condiciones de entrada de las compuertas; es decir, a niveles de voltaje altos o bajos aplicados a las entradas de una compuerta. Las funciones de conmutación pueden corresponder a la salida de una compuerta o sistema de compuertas, representadas por un nivel de voltaje alto o bajo en la salida.
Señales eléctricas y valores lógicos
En los libros de datos, las tablas de verdad que definen la operación de los circuitos de compuertas lógicas se representan en términos de un voltaje alto (H) y otro bajo (L). El diseñador puede utilizar estos niveles de voltaje para representar los valores lógicos 0 y 1de diversas formas. La convención de lógica positiva utiliza un voltaje alto (H) para representar el 1 lógico y un voltaje bajo (L) para representar el 0 lógico. La convención de lógica negativa utiliza L para representar el 1 lógico y H para el 0 lógico. En un sistema de lógica mixta, se utiliza la lógica positiva para algunas señales y la negativa para otras.
Una señal de 1 lógico es afirmada, activa o verdadera. Una señal alta activa se afirma cuando es alta (en lógica positiva), mientras que una señal baja activa se afirma cuando es baja (en lógica negativa). Si una señal esta afirmada, es decir, si indica 0 lógico, es una señal no afirmada, negada o falsa. Utilizamos el término polaridad para referirnos a la naturaleza alta activa o baja activa de una señal lógica.
Al representar señales mediante variables lógicas, escribimos los nombres d la señal baja activa en forma complementada (por ejemplo, ā, a´, a*), y los de la señal alta activa en forma no complementada (a). Debemos elegir cada nombre de señal de modo que el nombre sugiera propósito de esta. Por ejemplo el nombre de señal RUN sugiere una señal afirmada (alta) para que comience a trabajar un equipo. Si la señal es baja activa, debemos utilizar el nombre de señal para indicar que el equipo trabajara cuando la señal este afirmada baja.
Símbolos de compuerta
Representamos cada compuerta en un diagrama de circuitos lógicos mediante un símbolo que incluye las entradas y las salidas. El numero de entradas en una compuerta se conoce como fan-in; (abanico de entrada). Hay módulos de circuitos estándar que contienen compuertas AND, OR, NAND, y NOR. Con un numeró limitado de opciones de fan-in; por lo general, las compuertas tiene 2, 3, 4 u 8 entradas. Los dispositivos lógicos programables y los circuitos adaptados proporcionan por lo general una amplia gama de opciones fan-in, lo que hace una correspondencia más directa entre el circuito y la expresión lógica por realizar.
La forma del cuerpo del símbolo representa la función lógica básica, u operación booleana, realizada por la compuerta (OR, AND, NOT u otras). Las burbujas dibujadas en las entradas o salida de un símbolo lógico indican señales bajas activas. Una burbuja en una entrada indica que la entrada es baja activa, es decir, que debe estar afirmada baja para obtener un 1 lógico como entrada de la función. La ausencia de una burbuja indica una entrada alta activa; la entrada se afirma con el valor 1 lógico. De igual manera, una burbuja en una salida indica una salida baja activa, lo que implica si la evaluación de la función produce 1, se obtiene un 0 lógico en la salida.
Figura 2.4. Símbolos para dispositivos de conmutación.
Componentes funcionales básicos
AND
Podemos determinar la tabla de verdad para el operador AND mediante el algebra de conmutación, cuyo resultado aparece en la figura 2.6a. esta tabla de verdad para el operador AND muestra que su salida es 1 si y solo si ambas entradas son simultáneamente 1.
La compuerta AND electrónica esta diseñada de modo que realice el operador AND en un sistema con lógica positiva. La tabla de verdad de una compuerta AND se da en la figura 2.6b, donde L representa un voltaje bajo y H un voltaje alto. Obsérvese que el operador AND de la figura 2.6a se realiza al sustituir 0 por L y 1 por H en la tabla de verdad de la compuerta AND. Los símbolos estándar para la compuerta AND aparecen en la figura 2.6c y d. en la figura 2.6d, observe que el símbolo de bloqueo estándar IEEE utiliza el símbolo & para indicar que la operación AND se ejecuta dentro del bloque.
Figura 2.6. La función lógica AND y la compuerta AND. (a) La función lógica AND. (b) Compuerta AND electrónica. © Símbolo estándar. (d) Símbolo de bloque IEEE.
OR
La función OR es idéntica al operador OR del algebra de conmutación; su tabla de verdad aparece en la figura 2.7a. obsérvese que la salida es 0 si y solo si ambas entradas son 0, y 1 si una o mas entradas son 1. La tabla de verdad correspondiente de una compuerta OR electrónica se da en la figura 2.7b. cabe señalar que la compuerta OR realiza el operador OR aparecen en la figura 2.7c y d. en la figura 2.7d, observe que el símbolo de bloque de IEEE contiene la designación ≥ 1. Esto significa que la suma matemática de los valores de las variables de entrada a y b determinan la salida de la compuerta. La salida es 1 cuando la suma de a y b es mayor o igual que 1, como se muestra en la siguiente tabla:
Figura 2.7. La función lógica OR y la compuerta OR. (a) La función lógica OR. (b) Compuerta OR electrónica. © Símbolo estándar. (d) Símbolo de bloque IEEE.
NOT
La compuerta NOT (fig. 2.8), o inversor, siempre tiene exactamente una entrada y se utiliza para implantar el concepto de complemento del algebra de conmutación. Cualquier variable tiene sus formas verdaderas (no complementada) y falsa (complementada), a y ā, respectivamente. Utilizamos una compuerta NOT para obtener una apartir de la otra.
Los símbolos estándar para la compuerta NOT, que se muestran en la figura 2.8c y d, incluyen una burbuja en la salida de la compuerta. Una burbuja en la salida de cualquier elemento de circuito lógico indica que un 1 lógico interno produce un 0 lógico externo y, de manera similar, un 0 lógico interno produce un 1 lógico externo. La compuerta NOT no realiza ninguna otra función lógica; por tanto, el valor lógico de la salida de una compuerta NOT es solo el complemento del valor lógico de su entrada.
Podemos visualizar una compuerta NOT como un cambio de polaridad de una señal alta activa a baja activa, o viceversa. En consecuencia podemos dibujar el símbolo de la compuerta NOT con una burbuja en la entrada o en la salida. Por convención, dibujamos la burbuja en la entrada de la compuerta cuando la señal de entrada es baja activa, y en la salida de la compuerta si la señal emitida es baja activa. La figura 2.9a muestra el uso recomendado del símbolo de compuerta NOT, haciendo concordar las burbujas con la señal baja activa, .
Las compuertas AND y OR se utilizan siempre que las entradas y salidas tienen la misma polaridad. Las compuertas NAND y NOR, se utilizan en los sistemas con lógica mixta, es decir, cuando las entradas son altas activas, o viceversa.
Figura 2.8. La función lógica NOT y la compuerta NOT. (a) La función lógica NOT. (b) La compuerta NOT electrónica. © Símbolo estándar. (d) Símbolo de bloque IEEE.
Figura 2.9. Concordancia de polaridad de la señal con las entradas y salidas de la compuerta NOT. (a) Uso preferida. (b) Uso inadecuado.
NAND
La compuerta NAND es una combinación de una compuerta AND seguida de una compuerta NOT. Definimos la función NAND como:
fNAND(a,b)=ab (2.20)
de esta ecuación queda claro que la compuerta NAND realiza la función lógica AND cuando sus señales de entrada son altas activas y su salida baja activa. Obtenemos la tabla de verdad para la función NAND y la compuerta NAND complementando las columnas de salida de las tablas de verdad para la función y la compuerta AND, respectivamente. Las tablas resultantes aparecen en las figuras 2.13a y b. la clave para entender la función NAND es observar que la salida es 0 si y solo si sus entradas son simultáneamente 1.
Las figuras 2.13c, d y e muestran los símbolos estándar para la compuerta NAND. Las burbujas en la terminal de la salida de la figura 2.13c indican la operación NOT, estableciendo la diferencia respecto a la compuerta AND. Obtenemos la forma de la figura 2.13d aplicando el teorema De Morgan a la expresión de la conmutación de la función NAND de la ecuación 2.20:
fNAND(a,b)=ab=a+b (2.21)
Figura 2.13. La función lógica NAND y la compuerta NAND. (a) La función lógica NAND. (b) Compuerta NAND electrónica. © Símbolo estándar. (d) Símbolo alternativo. ( e) Símbolo de bloque IEEE.
Así, una compuerta NAND para realizar la función OR cuando las señales de entrada son bajas activas y la salida es alta activa. Como explicamos en el caso de la compuerta NOT, las burbujas en el símbolo de la compuerta NAND siempre deben coincidir con las señales bajas activas. Así, utilizamos el símbolo de la figura 2.13c cuando la señal de la salida es baja activa, y el de la figura 2.13d cuando las señales de entrada son bajas activas. Las figuras 2.14a y b muestran el uso correcto e incorrecto, respectivamente, de los símbolos de compuerta NAND.
Figura 2.14. Concordancia de la polaridad de la señal con las entradas y salidas de la compuerta NAND. (a) Uso preferido. (b) Uso inadecuado.
NOR
La compuerta NOR es una combinación de compuerta OR seguida de una compuerta NOT, lo que representa la función:
fNOR(a,b)=a+b (2.22)
La compuerta NOT realiza la función lógica OR con entradas altas activas y una salida baja activa. Por tanto, la tabla de verdad para la función NOR y la compuerta NOR se obtiene complementando las columnas de salida de las tablas de verdad de la función OR y la compuerta OR, respectivamente. Las tablas resultantes aparecen en las figuras 2.16a y b. la clave para recordar la función de una compuerta NOR es la primera fila de la tabla de verdad; la salida de una compuerta NOR es 1 si y solo si ambas entradas son simultáneamente 0.
Figura 2.16. La función lógica NOR y la compuerta NOR. (a) la función lógica NOR. (b) Compuerta NOR electrónica. © Símbolo estándar. (d) símbolo alternativo. (e) símbolo de bloque IEEE.
CIRCUITOS LÓGICOS COMPUESTOS
Combinando dos o más de las compuertas básicas se puede obtener un circuito lógico compuesto, con características de operación muy importantes. Los dos más populares circuitos lógicos compuestos son el AND-NOT (Y - NO) y el OR-NOT (0 - NO). Se les conoce como compuertas NAND y NOR, con los símbolos y tablas de verdad mostrados en la figura 1.
Como aparece en la figura 2., varias combinaciones de compuertas iguales NAND (O también NOR) pueden implementar, simular, los circuitos anteriores AND y NOT y YES (Y, NO y SI). Esto es importante, pero sin duda la característica más fascinante de las funciones NAND y NOR es su equivalencia lógica. Gracias a una regla conocida como teorema De Morgan, una compuerta NAND de lógica positiva es equivalente a una compuerta NOR de lógica negativa y viceversa.
Puede comprobarse, escribiendo las correspondientes tablas de verdad y encontrando que ellas son verdaderamente idénticas. El teorema De Morgan simplifica la lógica digital, al punto en que las combinaciones de solamente compuertas NAND, o compuerta NOR, pueden implementar cualquier función lógica. La figura 3 muestra como se pueden lograr las funciones OR y NOR a base de solamente compuertas NAND. Observemos la manera como se conectan las terminales de entrada en las compuertas NAND, cuando se las quiere usar como INVERSORES, para pasar las entradas de lógica positiva a lógica negativa.
CIRCUITOS LÓGICOS COMBINACIONALES
El circuito lógico combinacional más simple es la compuerta OR EXCLUSIVA Exclusive-OR), cuyo símbolo y tabla de verdad aparece en la figura 4. Mientras que la compuerta OR común tiene una salida “1″ si cualquiera, o todas sus entradas son “1″, la compuerta OR EXCLUSIVA de dos entradas A y B sólo presenta en su salida Q el estado “1″ cuando cualquiera , solamente una de sus dos entradas A o B tiene el nivel eléctrico correspondiente al “1″. A esta compuerta se le escribe algunas veces XOR.
La OR EXCLUSIVA es algunas veces llamada compuerta de NO-EQUIVALENCIA, por el hecho de mostrar una salida “1″ solamente cuando las dos entradas “vean” diferentes niveles lógicos cuando ambas entradas sean iguales la salida pasa a “0″. Con base a lo anterior es bastante simple convertir una compuerta OR EXCLUSIVA en un circuito COMPARADOR, para lo cual bastará con colocar un inversor a la salida Q. UN COMPARADOR entrega una salida “1″ cuando ambas entradas sean iguales.
Si repasamos las reglas que existen para la suma de dos cantidades binarias, veremos que la compuerta OR Exclusiva es ideal para efectuar eléctricamente tal operación:
En la aritmética binaria:
0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10
En la suma de words con dos o más bits, puede ocurrir el mismo caso que se presenta en la suma de números decimales con varias cifras, cuando la suma de los dos primeros dígitos da una cantidad mayor de 9, se coloca en el resultado el dígito de menor valor el de la derecha y se “lleva” el restante a la siguiente columna, para ser sumado allí. Veamos un ejemplo:
248 + 176 = 424; 8 + 6 = 14 pero se coloca solamente el “4″ y se “lleva” el “1″, etc., etc.
En la suma binaria de los dígitos 1 + 1, se coloca el “0″ y se “lleva” el “1″, pudiéndose colocar como tal, 10, solamente cuando se obtenga el la última columna de la izquierda. A esa acción de “llevar” se le conoce en ingles como CARRY. Veamos un ejemplo:
1001 + 1101 = 10110 = 1 + 1 = 0 y “llevo”, más el “0″ que sigue vuelve a dar “1″, etc. Se puede decir que la suma de 1 + 1 es “cero” y el carry es “uno”.
Es fácil generar el BIT carry (lleva) en la salida de un circuito OR Exclusivo, para usarlo como un SUMADOR BINARIO (binary adder). Si estudiamos el circuito para implementar una OR Exclusiva, encontrará que, cuando las dos entradas A y B sean “1″, la salida de la compuerta AND No. 1 será también “1″, o sea el BIT carry que nosotros necesitamos. En el segundo circuito de la figura 5, nosotros usamos esta salida carry para formar un circuito que pueda sumar dos bits binarios cualquiera. A dicho circuito se le conoce como HALF HADDER (mitad sumador); es de bastante utilidad, pero tiene el inconveniente de aceptar sólo dos bits de entrada. Para poder completar las reglas de la suma binaria, necesitamos un circuito sumador que esté en capacidad de recibir y sumar también un BIT CARRY al resultado de las dos entradas A y B.
El circuito que cumple con dicho requisito es un FULL ADDER (sumador completo), y, como se aprecia en la figura 6, puede ser implementado con dos half adders y una compuerta OR. Es posible conectar esta clase de sumadores en cadena para formar un sumador binario capaz de sumar words binarios con múltiples bits. La figura 7, por ejemplo, muestra la manera como un 4-BIT sumador maneja la suma de dos words aplicados a sus entradas. Ensayemos sumando 1101 + 0101 en este circuito sumador, para comprobar que realmente trabaja.