Está en la página 1de 44

Unidad 2: Circuitos Combinacionales y Secuenciales

CIRCUITOS COMBINACIONALES CON COMPUERTAS

3.1. Introducción
Los circuitos de conmutación más tradicionales son los basados en contactos.
Pero más modernamente los circuitos e conmutación se hicieron electrónicos: primero
con válvulas de vacío, luego con transistores, actualmente con circuitos integrados. El
mismo nombre ha también cambiado, ya que los circuitos de conmutación electrónicos
suelen llamarse, preferentemente, circuitos lógicos. Este cambio tecnológico ha
permitido eliminar partes móviles, reducir costos y tamaños, mejorar la calidad y la
confiabilidad, y aumentar la velocidad de operación. Por esta razón los circuitos lógicos
electrónicos han reemplazado a los circuitos de conmutación con contactos en todas las
aplicaciones, excepto en aquellas pocas en que se saca provecho de la mayor robustez
de los circuitos con contactos.
En los circuitos lógicos electrónicos se definen los dos estados característicos
del álgebra de conmutación de manera muy diferente a como lo hacen los circuitos de
contactos. Así, mientras estos últimos definen los estados 0 y 1 como correspondientes
a los estados normal y operado de los contactos, y la continuidad o no en la transmisión,
en los circuitos lógicos estos estados lógicos se definen como dos niveles distintos de
tensión. Así, un circuito lógico podrá tener una o más entradas y una o más salidas,
cada una de las cuales solo podrá tener un nivel de tensión que sea uno de 2 niveles
predeterminados (o próximos a ellos, ya que en la práctica se requiere y acepta cierta
tolerancia).
Los circuitos lógicos suelen clasificarse en dos tipos:
• combinacionales
• secuenciales
En los circuitos lógicos combinacionales el estado de las salidas (es decir, su
nivel de tensión) es, en cada momento, una función lógica del estado presente en las
diferentes entradas en ese momento, es decir, depende de la combinación particular de
los valores que toman en cada instante dichas entradas. En cambio, en los circuitos
lógicos secuenciales el estado de la salida es, no sólo función del estado que tienen en
ese momento las entradas, sino también de la secuencia previa de las mismas.
Postergaremos para otro capítulo el estudio de los circuitos lógicos secuenciales,
y nos restringiremos por el momento al caso de los circuitos lógicos combinacionales,
cuyo estudio comenzaremos tratando el tema de las compuertas.

3.2. Las compuertas


Se han definido nueve circuitos lógicos combinacionales básicos que suelen ser
utilizados como bloques funcionales para la realización de circuitos lógicos más
complejos. Estos circuitos básicos son denominados compuertas (en inglés, gates) y
pertenecen a esa categoría los siguientes circuitos.

1
• la compuerta AND
• la compuerta OR
• la compuerta inversora
• la compuerta NAND
• la compuerta NOR
• la compuerta XOR
• la compuerta XNOR
• la compuerta buffer
• la compuerta de transmisión
Las tres primeras compuertas son las llamadas compuertas fundamentales,
porque son las que implementan, como enseguida veremos, a las operaciones
fundamentales del Algebra de conmutación (producto lógico, suma lógica y negación).
Ellas permiten realizar cualquier función lógica ya que, como sabemos, las citadas
operaciones fundamentales del Álgebra de conmutación permiten expresar cualquier
función lógica.
Las siguientes cinco compuertas son denominadas compuertas derivadas y,
aunque no son imprescindibles, facilitan la realización de algunas funciones lógicas.
La última compuerta citada, la compuerta de transmisión, es una compuerta
especial que permite combinar la operación de variables digitales con señales
analógicas.
Veamos a continuación cada una de estas compuertas.

3.2.1. Las compuertas fundamentales

3.2.1.1. La compuerta AND


La compuerta AND (también llamada en forma castellanizada compuerta Y) es
el circuito lógico de 2 o más variables de entrada que cumple la función producto lógico
(es decir la operación AND) entre ellas, esto es, que presenta un 1 a su salida sólo
cuando todas sus entradas están en estado 1. Así, la figura 3-1 muestra el símbolo de
uso habitual para representar a las compuertas AND, ejemplificado para el caso de una
compuerta de 2 entradas, y la tabla de verdad correspondiente.

3.2.1.2. La compuerta OR
La compuerta OR (también llamada en forma castellanizada compuerta O) es el
dual de la compuerta AND, y se define como el circuito lógico de 2 o más variables de
entrada que cumple la función suma lógica (es decir, la operación OR) entre ellas, esto
es, que presenta un 1 a su salida sólo cuando alguna(s) de sus entradas está(n) en
estado 1. Así, la figura 3-2 muestra el símbolo de uso habitual para representar a las

2
compuertas OR, ejemplificado para el caso de una compuerta de 2 entradas y la tabla
de verdad correspondiente.

Figura 3-2 - Símbolo y tabla de verdad de una compuerta OR de 2 entradas

3.2.1.3. La compuerta inversora


La compuerta inversora (también llamada compuerta NOT o, simplemente
inversor o negador) es el circuito que realiza la función negación del Algebra de
conmutación, es decir, que presenta un 0 a su salida cuando su única entrada esta en
1 (y viceversa). Así, la figura 3-3 muestra el símbolo de uso habitual para representar al
inversor. Y la tabla de verdad correspondiente. El pequeño círculo colocado a la salida
del símbolo se denomina indicador de negación y en la simbología habitual de las
compuertas señala que el terminal al que está asociado (una salida en este caso, pero
puede ser también una entrada) tiene un proceso de negación interno a la compuerta.

Figura 3-3 - Símbolo y tabla de verdad de un inversor

3.2.2. Las compuertas derivadas

3.2.2.1. La compuerta NAND


La compuerta NAND es una compuerta equivalente a una compuerta AND (de
cualquier número de entradas) seguida de un inversor, es decir, con su salida negada,
de donde deriva su denominación (una abreviatura de NOT AND), En la figura 3-4 se
muestra su circuito equivalente, símbología y la tabla de verdad correspondiente a una
NAND de 2 entradas.

Figura 3-4 - Circuito equivalente, símbolo y tabla de verdad de una compuerta NAND

Se notará de la tabla de verdad que la compuerta NAND puede definirse como


una compuerta que tiene un 0 en su salida cuando todas sus entradas están en 2. O,
alternativamente, como aquella cuya salida es 1 cuando alguna(s) de sus entradas
esta(n) en 0. Unos párrafos más adelante volveremos sobre esta definición alternativa.

3
En el símbolo de la compuerta NAND hemos utilizado el ya definido indicador de
negación.
Vemos que la expresión a la salida de una compuerta NAND es la negación del
producto de las entradas. Pero aplicando la ley de De Morgan acerca de la negación de
un producto, puede encontrarse una nueva expresión algebraica para la salida de una
compuerta NAND. Manteniéndonos en el ejemplo anterior de una compuerta de 2
entradas (pero anticipando que el resultado será extrapolare al caso de mayor número
de entradas), se puede escribir;

𝐵. 𝐴 = 𝐵 + 𝐴
Y esta expresión indica que la salida de la compuerta NAND también puede
expresarse con la suma de sus entradas negadas, por lo que también admite como
circuito equivalente el de una compuerta OR con todas sus entradas negadas, es decir,
una compuerta OR precedida de inversores en todas sus entradas.
Surgen, entonces, un nuevo circuito equivalente y n nuevo símbolo (que
denominaremos alternativos) para esta compuerta, los que se muestran en la figura
siguiente, donde en el símbolo alternativo hemos vuelto a usar el indicador de negación,
pero esta vez asociado a las entradas.

Figura 3-5 - Circuito equivalente y símbolo alternativos de una compuerta NAND

Dado que los símbolos “normal” y alternativo para la compuerta NAND son
equivalentes y puede utilizarse indistintamente uno u otro, cabe preguntarse sobre la
ventaja de tener dos símbolos. Si bien uno sólo bastaría para todos los circuitos, hay
casos en que uno de los dos símbolos muestra más claramente la función que realiza
la compuerta y, en esos casos, debería ser el preferido. Veamos a continuación dos de
esos casos.
En primer lugar, recordemos que hemos definido una compuerta NAND como
aquella que presenta un 0 en su salida sólo cuando todas sus entradas están en estado
1, pero que también podía ser definida, alternativamente, como aquella cuya salida está
en 1 cuando alguna(s) de sus entradas esta(n) en 0. Es común asociar las palabras
“alguna de las entradas” y “todas las entradas a una OR y una AND respectivamente,
mientras que los términos “está en 0” o “está en 1 a la presencia o ausencia
respectivamente de un indicador de inversión en la correspondiente entrada o salida.
En esas condiciones, el símbolo normal de la NAND “dice” que la salida está en 0
cuando todas las entradas están en 1, mientras que el símbolo alternativo “dice” que la
que salida está en 1 cuando alguna de las entradas está en 0. Por lo tanto, en cada caso
se debería preferir el símbolo que más se corresponda con la forma en que se prefiere
visualizar el funcionamiento de la compuerta.
En segundo lugar, el símbolo alternativo también tiene su campo de aplicación
al dibujar circuitos complejos que incluyen varias compuertas interconectadas. En esos
casos se prefiere utilizar los símbolos alternativos en aquellos lugares del circuito donde,
al hacerlo, se logra que en ambos extremos de una conexión (o en ninguno de ellos)

4
aparezcan indicadores de negación, pues en ese caso la acción de ambas inversiones
puede cancelarse mentalmente, y el circuito resulta más fácil de analizar. Así, la figura
siguiente muestra un mismo circuito que emplea tres compuertas NAND, pero dibujado
de dos formas distintas: en la primera se ha utilizado el símbolo normal de esas
compuertas, mientras que en la segunda se ha hecho empleado el símbolo alternativo
para una de ellas, logrando que en ambos extremos de las conexiones entre las
compuertas haya indicadores de negación.

Figura 3-6 - Ejemplo en que se saca ventaja del uso de la simbología alternativa

El lector no tendrá inconvenientes en determinar para el primer circuito la


expresión correspondiente a la salida del mismo, aunque para ello deberá efectuar
algunas manipulaciones algebraicas. Por el contrario, la cancelación mental de las dos
negaciones presentes en las interconexiones en el segundo circuito hace evidente que
la expresión de la salida es:
X=AB+CD
Se ve entonces, que un uso apropiado de los símbolos alternativos puede
simplificar la interpretación de un circuito lógico con varias compuertas interconectadas.
Una característica importante de las compuertas NAND es que es una compuerta
universal, entendiendo por tal que cualquier función lógica puede ser realizada utilizando
exclusivamente este tipo de compuerta. Demostraremos esta propiedad, probando que
con compuertas NAND se pueden realizar inversores, compuertas AND y compuertas
OR, y concluyendo que, como con estas compuertas fundamentales se puede realizar
cualquier función lógica, también puede esto hacerse usando exclusivamente
compuertas NAND. Para esta demostración en tres partes nos basaremos en la figura
3-7.

Figura 3-7 - Inversor, compuerta AND y compuerta OR realizadas con compuertas NAND

En dicha figura se comprueba que:


• Una compuerta NAND que tenga todas sus entradas en paralelo y conectadas a
una única variable, por aplicación de la propiedad de idempotencia (A.A=A), se
comporta como un inversor de esa única variable.
• Un inversor (hecho con una compuerta NAND) colocado a la salida de otra
compuerta NAND, compensa el inversor que ya tiene a la salida dicha compuerta
y da lugar al equivalente de una compuerta AND.

5
• Una compuerta NAND (en este caso por mayor claridad representada por su
símbolo alternativo) precedida en cada una de sus entradas por sendos
inversores (cada uno de ellos hecho a su vez por medio de una compuerta
NAND), da lugar al equivalente de una compuerta OR.

3.2.2.2. La compuerta NOR


La compuerta NOR (dual de la NAND) es una compuerta equivalente a una
compuerta OR (de cualquier número de entradas) seguida de un inversor, es decir, con
su salida negada, de donde deriva su denominación (una abreviatura de NOT OR). En
la figura 3-8 se muestra el circuito equivalente, la simbología y la tabla de verdad
correspondiente a una NOR de 2 entradas.

Figura 3-8 - Circuito equivalente, símbolo y tabla de verdad de una compuerta NOR.

Se notará de la tabla de verdad que la compuerta NOR puede definirse como


una compuerta que tiene un 0 a su salida cuando alguna(s) de sus entradas está(n) en
1. O, alternativamente, como aquella cuya salida es 1 cuando todas sus entradas están
en 0. Esta última forma de definir a una compuerta NOR da origen a que se emplee un
símbolo alternativo al que muestra la figura 3-8, según se ve en la figura 3-9.

Figura 3-9 - Circuito equivalente y símbolo alternativos de la compuerta NOR.

El procedimiento para justificar este símbolo alternativo es totalmente análogo al


visto para el caso de la compuerta NAND, y en la figura anterior se realiza con el auxilio
de una de las leyes de De Morgan. Allí se prueba que puede lograrse una compuerta
NOR, no sólo a partir de una compuerta OR seguida de un inversor a su salida (como
se hiciera en la figura 3-8) sino también a partir de una compuerta AND precedida de
inversores en cada una de sus entradas (por eso en el símbolo alternativo se usa una
AND con indicadores de inversión en todas sus entradas). Debe quedar claro que ambos
símbolos, el “normal” y el alternativo, representan a la misma compuerta NOR, y por lo
tanto, pueden ser usados indistintamente. La conveniencia de la existencia de dos
símbolos es, nuevamente, para permitir que, de ser posible, en el dibujo de la línea de
interconexión entre la salida de una compuerta y la entrada de otra haya, o bien un
indicador de negación en ambos extremos (para poder eliminarlos mentalmente al
estudiar el comportamiento del circuito por cancelarse ambas inversiones mutuamente),
o bien no lo haya en ninguno de ellos.
Una característica importante de las compuertas NOR es que también ella es
una compuerta universal, es decir, que cualquier función lógica puede ser realizada
utilizando exclusivamente este tipo de compuerta. Demostraremos esta propiedad en

6
forma similar a lo hecho con relación a la compuerta NAND es decir, probando que con
compuertas NOR se pueden realizar inversores, compuertas AND y compuertas OR, y
concluyendo que como con estas compuertas fundamentales se puede realizar
cualquier función lógica, también puede esto hacerse usando exclusivamente
compuertas NOR. Para esta demostración en tres partes nos basaremos en la figura 3-
10.

Figura 3-10 - Inversor, compuerta OR y compuerta AND hechas con compuertas ÑOR

En dicha figura se comprueba que:


• Una compuerta NOR que tenga todas sus entradas en paralelo y conectadas a
una única variable, por aplicación de la propiedad de idempotencia (A+A=A), se
comporta como un inversor de esa variable.
• Un inversor (hecho con una compuerta NOR) conectado a la salida de una
compuerta NOR compensa el inversor que ya tiene a la salida dicha compuerta
y da lugar al equivalente de una compuerta OR.
• Una compuerta NOR (en este caso representada por su símbolo alternativo para
mayor claridad) precedida en cada una de sus entradas por sendos inversores
(cada uno de ellos hecho a su vez por medio de una compuerta NOR), da lugar
al equivalente de una compuerta AND.

3.2.2.3. La compuerta XOR


La compuerta XOR (también llamada compuerta O exclusiva o, en inglés,
exclusive OR) es una compuerta de estrictamente 2 entradas que presenta a su salida
la suma módulo 2 de ambas entradas o, lo que es lo mismo, la función O-exclusiva de
las mismas. Su símbolo habitual y la tabla de verdad correspondiente se muestran en la
figura 3-11.

Figura 3-11 - Símbolo y tabla de verdad de una compuerta XOR

Ya en el capítulo 2 habíamos deducido las expresiones que daban la función O-


exclusiva, que eran las expresiones canónicas que se dan a continuación, pues no
había simplificación posible.

7
𝐴⨁𝐵 = 𝐴𝐵 + 𝐴𝐵

𝐴⨁𝐵 = (𝐴 + 𝐵)(𝐴 + 𝐵)
Si se requiriese realizar una función O-exclusiva empleando convencionalmente
las compuertas básicas o universales, es fácil comprobar que se necesitarían 5
compuertas para realizar cualquiera de las dos expresiones anteriores. Es por ello muy
útil, cuando se necesita realizar la función O-exclusiva, disponer de un tipo de compuerta
que la implementa directamente.
Las compuertas XOR no se prestan para implementar en forma simple funciones
lógicas cualquiera, como lo hacen las compuertas NAND y NOR, por lo que no son
usadas con ese propósito. Su uso habitual es para implementar ciertas funciones que
sacan provecho de su particular tabla de verdad. Es decir que sus aplicaciones son muy
específicas, por ejemplo, para realizar una suma módulo 2.
Pero la realización de una suma módulo 2 de varias variables se ve dificultada
por el hecho de que la compuerta XOR sólo tiene 2 entradas. Sin embargo, esto no
constituye un problema mayor pues puede resolverse fácilmente aplicando la propiedad
asociativa que tiene la suma, por lo que, por ejemplo, la suma módulo 2 de cuatro
variables A, B, C y D puede escribirse como sigue:
𝐴⨁𝐵⨁𝐶⨁𝐷 = (((𝐴⨁𝐵)⨁𝐶)⨁𝐷)
Expresión que puede ser realizada con compuertas XOR de la forma que
muestra la figura 3-12.

Figura 3-12 - Una forma de realización de la suma módulo 2 de cuatro variables

Pero la misma suma puede aplicarse la propiedad asociativa de manera


diferente, y llegar a la expresión siguiente:
𝐴 ⊕ 𝐵⨁𝐶⨁𝐷 = (𝐴⨁𝐵)⨁(𝐶⨁𝐷)
Expresión que puede ser la realizada con compuertas XOR de la forma que
muestra la figura 3-13.

Figura 3-13 - Otra forma de realización de la suma módulo 2 de cuatro variables

8
Los circuitos que muestran las dos figuras anteriores realizan ambos la función
deseada, empleando el mismo material (ambos requieren 3 compuertas XOR). De
hecho nos interesa comparar ambas figuras para determinar si uno de los dos circuitos
es preferible con respecto al otro, aunque no por razones de economía ya que, como
acabamos de ver, ambos circuitos emplean el mismo material y ninguno puede
considerarse desde ese punto de vista, más económico que el otro. Pero analicemos la
velocidad de operación, lo que nos permitirá sacar algunas conclusiones generales,
válidas para todo tipo de compuertas.
Aún cuando hemos considerado hasta aquí a las compuertas como dispositivos
ideales cuyas salidas reaccionan instantáneamente a los cambios en sus entradas, en
la práctica ello no es así y las salidas de las compuertas reales reaccionan con un ligero
atraso a un cambio en sus entradas, como se verá más adelante. La magnitud de ese
atraso es característica de cada compuerta real y se denomina tiempo de propagación
de la misma. Resulta evidente que un circuito complejo ofrecerá un tiempo de
propagación total frente al cambio en algunas de las entradas que será la suma de los
tiempos de propagación de las distintas compuertas que dicha entrada debe “atravesar”
antes de influir sobre la salida. Sin entrar en detalles cuantitativos finos, este tiempo de
propagación será tanto más grande cuanto más elevado sea el número de compuertas
que dicha entrada debe atravesar. Por ello, para tener un medio aproximado de
comparar tiempos de propagación de diferentes circuitos se utiliza el concepto de
número de niveles de un circuito lógico.
El número de niveles de un circuito lógico se define como el máximo de los
números de compuertas que deben atravesar las distintas señales de entrada hasta
llegar a influir sobre la salida. Es decir, la cantidad de compuertas que debe traspasar
la señal de entrada en condición más desfavorable, esto es, la más “alejada” de la salida.
Por ejemplo, los circuitos de las últimas dos figuras tienen respectivamente 3 niveles y
2 niveles, porque ése es el número de compuertas que debe atravesar la entrada más
alejada (en la última figura todas las entradas están igualmente alejadas, pero en la
anterior las más alejadas son A y B). Cabe aclarar que en el cómputo de niveles se
conviene en que no deben tomarse en consideración los inversores. Esto se justifica
porque, de no hacerlo así, al determinar el número de niveles no podrían contabilizar
por igual todas las compuertas encontradas en el camino porque algunas incluyen
inversores en su interior.
De lo visto surge que de los dos circuitos propuestos para hacer la suma módulo
2 de 4 variables, que resulta preferible es el segundo, por tener un nivel menos que el
primero.
El número de niveles de un circuito lógico es un concepto general muy importante
cuyo interés no se restringe al caso de compuertas XOR. Por lo que no deberá extrañar
al lector que este concepto aparezca repetidamente en esta publicación, tanto en este
capitule como en siguientes.

3.2.2.4. La compuerta XNOR


La existencia de la compuerta XOR sugiere la creación de otra compuerta que
efectúe la función dual. Esta compuerta dual existe, pero, dado de que el dual de la
función suma módulo 2 es igual a la negación de esa misma función (como hemos visto
en el capítulo anterior), a la compuerta dual de la XOR se prefiere en general

9
considerarla más su inversa que su dual, por lo que se la denomina compuerta XNOR
o NOR exclusiva (y no XAND como se haría si se hubiese deseado enfatizar la dualidad).
El símbolo con que habitualmente se representa a la compuerta XNOR (inspirado en el
de una compuerta XOR con su salida negada) y la tabla de verdad correspondiente se
muestran se muestran en la figura 3-15.

Figura 3-14 – Símbolo y tabla de verdad de una compuerta XNOR

De dicha tabla de verdad se concluye que la compuerta XNOR es una compuerta


de estrictamente 2 entradas cuya salida es 1 cuando ambas entradas son 0 o cuando
ambas son 1 o, lo que es equivalente, cuando ambas entradas son idénticas. Por esta
razón la compuerta XNOR es también llamada, por algunos autores, compuerta
identidad, y suele ser utilizada como un comparador elemental.

3.2.2.5. La compuerta buffer


La compuerta buffer (o, simplemente, el buffer) es un circuito lógico de una única
entrada y una única salida, que opera en forma transparente, es decir, que en todo
momento la salida está en el mismo estado lógico en que se encuentra su entrada. Su
símbolo, basado en el del inversor, pero sin el indicador de inversión puesto a la salida,
es el que muestra la figura 3-15.

Figura 3-15 - Símbolo del buffer

En primera aproximación parecería que se trata de un circuito lógico innecesario,


pues su función podría ser cumplida con una conexión directa entre entrada y salida.
Sin embargo, el buffer no puede ser reemplazado por una conexión directa en los
siguientes casos, típicos de aplicación de los buffers:
• cuando se necesita que el buffer posea alguna característica especial en su
entrada (por ejemplo, que sea tipo Schmitt, o tolerante a tensiones de entrada
mayores que lo habitual, entradas especiales que se describirá más adelante en
este mismo capítulo).
• cuando se necesita que el buffer posea alguna característica especial en su
salida (por ejemplo, que sea de 3 estados o de colector abierto, salidas
especiales que se verán más adelante en este mismo capítulo).

3.2.2.6. Introducción al control de flujo de señales


Una aplicación particularmente interesante de las compuertas es al control del
flujo de señales. Es frecuente en electrónica tener que controlar el pasaje de señales de

10
una unidad a otra y gobernar el mismo por medio de otra señal emitida por una unidad
de control. Los casos más simples de control de flujo de señales son:
• El condicionamiento o habilitación: el dejar pasar o no una señal de entrada
• La inversión controlada: el dejar pasar una señal de entrada o su inversa
• La multiplexacion: dejar pasar una de las varias señales de entrada
El tema de la multiplexacion es particularmente rico. En este apartado nos
restringiremos al caso simple de un multiplexor de 2 vías (es decir, dos señales de
entrada), pero volveremos sobre este tema en un apartado posterior, y le daremos
además un tratamiento integral en el capítulo 4.
La figura que sigue muestra el circuito que realiza con llaves cada una de estas
funciones, la tabla de verdad correspondiente, la expresión algebraica que resulta de la
tabla de verdad, y el circuito electrónico que realiza la función. Lógicamente que la
versión electrónica tiene muchas ventajas con relación a la implementación con llaves,
tales como ausencia de partes móviles, menor tamaño, mayor velocidad, etc.
El condicionador deja pasar a la salida la señal de entrada cuando la señal de
control tiene un 1 que habilita ese traspasa, y de lo contrario pone un 0. El circuito con
llaves es tan intuitivo que no merece explicación. Confeccionada la tabla de verdad (Z=0
cuando C=0 y Z=A cuando C=1) se observa que es la misma tabla que el producto lógico
(Z=CA). Por lo que este circuito se realiza con una simple compuerta AND.
El inversor controlado deja pasar la señal o su inversa, por lo que brinda la
capacidad de intercalar, a voluntad, una inversión en una rama de circuito. El circuito es
tan intuitivo que no merece explicación. Confeccionada la tabla de verdad (Z=A cuando
Z=A cuando C=1) se observa que es la misma tabla que la suma módulo 2. Por lo que
este circuito se realiza con una simple compuerta XOR.
El multiplexor de 2 vías de entrada deja pasar a una de ellas cuando la señal de
control está en 0, y la otra, cuando está en 1. Consideremos el caso en que cuando la
señal de control C está en 0, es la entrada A la que pasa, ocurriendo lo propio con la
entrada B cuando esté C en 1. El circuito con llaves es tan intuitivo que no merece
explicación. Confeccionada la tabla de verdad (Z=A cuando C=0 y Z=B cuando C=1),
puede hacerse el mapa de Karnaugh para encontrar la expresión más simple (tarea que
se deja al lector) para llegar a que 𝑍 = 𝐴𝐶 + 𝐵𝐶 , que puede fácilmente realizarse con
compuertas como la figura muestra.

11
Figura 3-16 - Algunos circuitos para el control del flujo de señales

3.2.3. La compuerta de transmisión


Existe un tipo de compuerta especial, denominada compuerta de transmisión,
llave analógica o también conmutador bilateral, que se comporta como un contacto
accionado por una señal lógica, es decir, como un relé electrónico. La figura 3-17
muestra en forma conceptual su funcionamiento, y el símbolo corrientemente utilizando
para este tipo de compuerta.

Figura 3-17 - Principio de funcionamiento y simbología de una compuerta de transmisión

Cuando la señal de control está en 0, el conmutador está abierto y no existe


continuidad entre los terminales marcados IN/OUT. Por el contrario, cuando la señal de
control está en 1, el conmutador está cerrado y hay continuidad entre los terminales
marcados IN/OUT. Dado que un conmutador permite la circulación de corriente en
cualquiera de los dos sentidos, la entrada y la salida del conmutador pueden tomarse
indistintamente en cualquiera de los terminales IN/OUT, lo que justifica su denominación
de conmutador bilateral.

12
La señal aplicada al terminal elegido como entrada no tiene necesariamente que
ser una señal binaria, sino que puede ser cualquier tensión comprendida entre los
niveles correspondientes al 0 y al 1, por lo que el circuito puede usarse para conmutar
señales analógicas en ese intervalo de tensiones. Eso lo que la diferencia del
condicionador que vimos en el apartado anterior. Y es, justamente, la aplicación principal
de esta compuerta, lo que justifica su otra denominación, llave analógica. En esta
aplicación la compuerta de transmisión presenta con relación a los contactos la ventaja
de su conmutación de un estado a otro más rápida (a velocidad electrónica, sin
contactos móviles). Pero tiene las desventajas de no tener, cuando el conmutador está
cerrado, una resistencia tan baja entre sus terminales; ni tampoco una tan alta cuando
el conmutador está abierto.

3.2.4. Simbología alternativa para las compuertas


Hemos visto los símbolos normales de las diferentes compuertas, y también
símbolos alternativos para las compuertas NAND y NOR. Pero veremos a continuación
que todos los tipos de compuertas (excepto las de transmisión) admiten un segundo
símbolo alternativo, como pasamos a justificar.
Recordando que en un capítulo anterior fue estudiada la ley de Shannon que
establece que la negación de una función lógica es igual a la función dual con todas las
variables independientes negadas. Podemos concluir (cambiando la negación de
miembro) que una función lógica es igual a la negación de su función dual con todas las
variables independientes negadas.
Por lo tanto, una conclusión de gran interés del Teorema de Shannon es que un
circuito lógico cualquiera resulta equivalente al circuito lógico que es su dual, al que se
le han invertido todas las entradas y salidas. La figura 3-18 esquematiza esta conclusión.

Figura 3-18 - Esquematización del Teorema de Shannon. Ambos circuitos son equivalentes

Por ejemplo, una compuerta AND resulta equivalente a una compuerta OR (su
dual) con todas las entradas y salidas de esta compuerta negadas. De acuerdo con esto,
la compuerta AND admite un símbolo alternativo basado en el símbolo normal de la
compuerta OR con indicadores de negación adheridos a todas sus entradas y salida,
como lo muestra la figura 3-19 en su parte superior izquierda.
La misma figura muestra también los símbolos alternativos de las otras
compuertas que hemos estudiado, de los cuales los correspondientes a las compuertas
NAND y NOR ya eran conocidos por nosotros. En todos los casos los símbolos
alternativos se han obtenido por el siguiente procedimiento de dos pasos:
1) reemplazar el símbolo normal de la compuerta por el símbolo normal de la
compuerta dual, es decir, reemplazando las AND por OR y viceversa, las NAND

13
por NOR y viceversa, y las XOR por XNOR y viceversa. En este paso no deben
modificarse los símbolos de inversores y buffers, que son duales de sí mismos.
2) Colocar indicadores de negación en las entradas y las salidas para denotar la
presencia allí de inversores. Sin embargo, si el símbolo del dispositivo ya incluía
un indicador de negación en su salida, retirarlo ya que dos negaciones
consecutivas se cancelan mutuamente.

Figura 3-19 - Símbolos alternativos de las diferentes compuertas

El criterio habitualmente seguido para decidir el empleo de uno u otro de los


símbolos de una determinada compuerta en el dibujo de un circuito ya lo hemos
comentado en los apartados anteriores: se prefiere utilizar los símbolos alternativos en
aquellos lugares del circuito donde, al hacerlo, se logra que en ambos extremos de una
conexión ( o en ninguno de ellos) aparezcan indicadores de negación, pues en ese caso
la acción de ambas inversiones puede cancelarse mentalmente, y el circuito resulta más
fácil de analizar.

3.2.5. Simbología IEEE


La simbología que hemos estado usando hasta ahora tiene su origen en una
norma militar de los EEUU y es la más difundida y empleada actualmente, razón por la
que hemos adoptado en esta obra. Sin embargo, corresponde señalar que hay otra
simbología importante, que es la establecida por la norma IEEE 91. Según esta norma,
las distintas compuertas se distinguen, no ya por su forma distintiva, porque todas se
dibujan como rectángulos, sino por su indicador colocado en la parte superior interna
del rectángulo que identifica la función realizada. Por ejemplo:
• El indicado & identifica a una compuerta AND(porque el símbolo ingles
ampersand representa a esta operación)
• El indicador ≥1 identifica a una compuerta OR(por aquello de que al menos 1 de
las entradas debe estar en 1 para que la salida sea 1)
• El indicador 1 identifica, en el caso de que la compuerta tenga 2 entradas, a una
compuerta XOR (por aquello de que exactamente 1 de las entradas debe estar
en 1 para que la salida sea 1). En el caso de que haya una sola entrada, identifica
a un buffer.

14
A su vez, como indicador de negación, se usa un pequeño triángulo.
La figura que sigue muestra la forma de representar algunas compuertas. Sin
embargo, la figura no puede destacar lo más valioso de esta simbología, que es su
capacidad de representar funciones complejas. No entraremos en ese detalle, pero el
lector interesado podrá encontrarlo en la propia norma o en la literatura que sobre ella
se ha escrito.

Figura 3-20 - Símbolos de algunas compuertas según la norma IEEE 91

3.3. Análisis de circuitos lógicos combinacionales


Cuando se dispone de un circuito lógico formado por varias compuertas, el
análisis del mismo es el procedimiento que permite estudiarlo para determinar su
comportamiento o verificarlo si este es conocido.
Este análisis se realiza normalmente en 3 pasos:
1) A partir del circuito se encuentran las expresiones algebraicas correspondientes
a las distintas salidas.
2) A partir de las expresiones algebraicas de las salidas se realiza la
correspondiente tabla de verdad, donde las distintas salidas son tabuladas en
función de los diferentes estados en que se pueden encontrar las entradas.
Antes de esta tabulación se puede, opcionalmente, tratar de simplificar en algo
las expresiones obtenidas para que la tabulación se haga en forma más sencilla.
3) A partir de la tabla de vedad se trata de encontrar una descripción verbal del
comportamiento del circuito, o de verificarlo si este era conocido.
El procedimiento para efectuar el primer paso, es decir, a partir del circuito dado
hallar la(s) expresión(es) algebraica(s) de la(s) salida(s) en función de las entradas, es
muy simple: a partir de las entradas del circulo debe ir determinando las expresiones
algebraicas correspondientes a las distintas compuertas en función de las entradas,
avanzando progresivamente desde las compuertas más alejadas de la(s) salida(s) hasta
llegar finalmente a la(s) expresión(es) correspondiente(s) a ésta(s). La figura 3-21
ejemplifica lo dicho.

15
Figura 3-21 - Ejemplo de análisis de un circuito lógico combinacional

El único inconveniente que puede aparecer al llevar a cabo este punto en un


circuito con compuertas, es que se llegue a una situación de círculo vicioso en que no
puede encontrarse la expresión lógica a la salida de una compuerta sin haber obtenido
primero la expresión a la salida de otra compuerta, pero que esta última expresión no
pueda hallarse sin conocer previamente la correspondiente a la salida de la primer
compuerta mencionada. Estas situaciones se dan cuando existen conexiones de
retroalimentación entre compuertas, es decir, cuando la salida de una compuerta es
aplicada a la entrada de otra, cuya salida tiene a su vez influencia sobre alguna de las
entradas de la primera compuerta. Esta situación puede inclusive surgir en un circuito
simple, como en el caso de la figura 3-22, en que el lector apreciará que debido a este
motivo no es posible determinar las expresiones lógicas correspondientes a las salidas
de ninguna de las compuertas. Sin embargo, esta situación debe interpretarse como
que el circuito analizado no es un circuito combinacional, sino un circuito secuencial,
para el cual las herramientas de análisis son distintas y no pueden utilizarse las que acá
estamos estudiando. Los mismos se estudiarán en un capítulo posterior.

Figura 3-22 - Ejemplo de un circuito con compuertas que no es un circuito combinacional

En cuanto a la forma de efectuar los pasos 2 y 3 es tan simple que no justifica


que sea detallada. El paso 2 ha sido estudiado en un capítulo anterior y el paso 3 no es
sino efectuar una descripción verbal, completa pero condensada, del contenido de la
tabla de verdad.

3.4. Síntesis de circuitos lógicos combinacionales


La síntesis de un circuito lógico consiste en efectuar el diseño de un circuito que
satisfaga una descripción dada de funcionamiento.
El procedimiento normal de diseño de un circuito lógico combinacional
empleando compuertas exige la realización de los siguientes pasos:

16
1) análisis de la descripción del funcionamiento y obtención de las expresiones
algebraicas que ligan las salidas con las entradas
2) implementación de las expresiones algebraicas con compuertas
Veamos ahora en detalle cada uno de estos pasos.

3.4.2. Implementación de las expresiones algebraicas con compuertas


La implementación de las expresiones algebraicas con compuertas se ocupa de
obtener los circuitos que realizan con compuertas las diferentes expresiones mínimas
halladas anteriormente. Dado que las expresiones mínimas pueden ser tanto del tipo
Suma de Productos como del tipo Producto de Sumas, debe estudiarse la
implementación de ambos tipos de expresiones. A este propósito se dedican,
respectivamente, los siguientes dos apartados.

3.4.2.1. Implementación de expresiones tipo Suma de Productos


Ya hemos visto que las expresiones mínimas tipo Suma de Productos que se
obtienen del mapa de Karnaugh por agrupación de los unos en dicho mapa, conducen
en forma directa a una implementación en dos niveles de dicha expresión que utiliza
compuertas AND en el primer nivel y una compuerta OR en el segundo. Veamos un
ejemplo de esto. Retomemos el ejemplo 3-1 para ver cómo puede implementarse la
salida C’ Los métodos que veremos serán de tipo general, por lo que servirán para
cualquier otra función lógica, incluidas, por supuesto, las otras salidas D’, B’, y A’.
Dicha salida, recordemos, debía satisfacer la siguiente expresión:

𝐶 ′ = 𝐶𝐴 + 𝐶𝐵 + 𝐷
La que puede implementarse con compuertas AND-OR de la manera que
muestra la figura 3-23:

Figura 3-23 - Implementación de la función C' con compuertas AND-OR

Pero veremos que la citada expresión Suma de Productos puede implementarse


de cuatro formas distintas, es decir, tres formas adicionales a la recién vista realización
con compuertas AND-OR. A estas tres formas adicionales se llega, partiendo de la
implementación con AND-OR mediante los siguientes artificios:
1) anteponiendo una doble inversión en cada una de las entradas de la compuerta
del segundo nivel.
2) Anteponiendo una doble inversión en cada una de las entradas de todas las
compuertas del primer nivel
3) Realizando conjuntamente las dos operaciones recién mencionadas.

17
Veamos cómo llega a las tres formas adicionales deseadas mediante los procedimientos
mencionados, aplicados al ejemplo que estamos considerando.
1) Al anteponer una doble inversión en cada una de las entradas de la compuerta
OR de segundo nivel, adjuntaremos una de las inversiones a la propia entrada
de la compuerta OR, mientras que la otra inversión se asociara con la salida de
la compuerta AND del primer nivel a que dicha entrada esta conecta. Es así
como se pasa del circuito de la figura 3-23 al de la figura 3-24, en el que se
notara que las compuertas del primer nivel quedan transformadas en compuertas
NAND, y lo mismo ocurre con las compuertas del segundo nivel. La aplicación
del procedimiento descripto deja en el primer nivel a las NAND representadas
por su símbolo normal y en el segundo por el símbolo alternativo, pero por
supuesto que el circuito puede llegar a redibujarse cambiando los símbolos, si
así se lo desea. Se notará que cuando una variable ingresa directamente a la
compuerta de segundo nivel sin pasar por una de primer nivel (caso de la variable
D en la figura 3-23) la inversión que debería aplicarse a la salida de la compuerta
de primer nivel inexistente, hace que deba intercalarse un inversor.

Figura 3-24 - Implementación do lo función C’ con compuertas NAND-NAND

Este resultado admite ser generalizado, y concluirse así que la expresión Suma
de Productos puede también implementarse en dos niveles usando compuertas
NAND-NAND tanto para el primer como para el segundo nivel. Las variables que
ingresen a las compuertas NAND de primer nivel lo harán de la misma forma
(normal o invertida) con que figuran en la expresión Suma de Productos,
mientras que aquellas que ingresen directamente al segundo nivel deben estar
invertidas respecto a la expresión.
2) Nuevamente partiendo de la realización con compuertas AND-OR de la función
C’ (figura 3-23), al anteponer una doble inversión en cada una de las entradas
de todas las compuertas AND del primer nivel, adjudicaremos una de las
inversiones a la propia entrada de la compuerta AND, mientras que la otra
inversión se asociará con la variable que está conectada a dicha entrada. Es así
como se pasa del circuito de la figura 3-23 al de la figura 3-25, en el que se
notará que las compuertas del primer nivel quedan transformadas en compuertas
NOR (representadas por su símbolo alternativo), mientras que las variables de
entrada deben ingresar invertidas con relación a la forma como lo hacían en la
figura 3-23 o, lo que es equivalente, invertidas con relación a la forma como se
presentan en la expresión Suma de Productos que se está implementando. Se
notará, sin embargo, que cuando una variable ingresa directamente a la
compuerta de segundo nivel sin pasar por una de primer nivel (caso de la variable
D en la figura 3-23) al no haberse intercalado los dos inversores por carecer de
esa compuerta de primer nivel, esa variable no debe ser invertida.

18
Figura 3-25 - Implementación de la función C’ con compuertas NOR-OR

Este resultado admire ser generalizado, y concluirse así que la expresión Suma
de Productos puede también implementarse en dos niveles usando compuertas
NOR-OR para el primer y el segundo nivel respectivamente, pero las variables
que ingresan a las compuertas NOR del primer nivel deben estar invertidas con
relación a la forma con que figuran en la expresión Suma de Productos.
3) Nuevamente partiendo de la realización con compuertas AND-OR de la función
C’ (figura 3-23), en este caso realizaremos conjuntamente los artificios
mencionado en el punto 1 y en el punto 2. El resultado final es el que exhibe la
figura 3-26, donde se observa que la compuerta de segundo nivel queda
transformada en una NAND, las de primer nivel en OR (en ambos casos estas
compuertas están representadas por un símbolo alternativo), y todas las
variables de entrada deben ingresar invertidas con relación a la forma como lo
hacían en la figura 3-23 o, lo que es equivalente, invertidas con relación a la
forma como se presentan en expresión Suma de
Productos que se está implementando.

Figura 3-26 - Implementación de la función C’ con compuertas OR-NAND

Este resultado admite ser generalizado, y puede así concluirse que la expresión
Suma de Productos puede también implementarse en dos niveles usando
compuertas OR-NAND para el primer y el segundo nivel respectivamente, pero
las variables que ingresan al circuito deben estar invertidas con relación a la
forma con que figuran en la expresión Suma de Productos.
Resumiendo, existen 4 formas de implementar una expresión tipo Suma de Productos.
Esas 4 formas usan para el primer y segundo nivel, respectivamente, las compuertas:
• AND-OR
• NAND-NAND
• NOR-OR
• OR-NAND
Las variables de entrada se ingresan al circuito en una forma que depende de las
compuertas empleadas:

19
• en el caso del circuito AND-OR las variables se ingresan de la misma forma
como figuran en la expresión que se está implementando.
• en el caso del circuito NAND-NAND las variables se ingresan de la misma forma
como figuran en la expresión, excepto aquellas que inciden directamente en la
compuerta NAND de segundo nivel, que deben invertirse.
• en el caso del circuito NOR-OR las variables se ingresan en forma invertida con
relación a como figuran en la expresión, excepto aquellas que inciden
directamente en la compuerta OR de segundo nivel que no deben invertirse.
• en el caso del circuito OR-NAND todas las variables se ingresan en forma
invertida con relación a como figuran en la expresión.
Las cuatro formas indicadas requieren la misma cantidad de compuertas en los
niveles primero y segundo, pero algunas demandan menos inversores que otras. Esta
pequeña diferencia no suele ser considerada y en la práctica la adopción de una de
estas cuatro formas se realiza normalmente por razones de preferencia por un tipo u
otro de compuerta, como se comenta en un apartado posterior.
Tal como se ha explicado, cualquiera de los 4 circuitos que surgen de la
expresión tipo Suma e Productos puede ser realizado directamente, a partir de dicha
expresión, y sin efectuar las transformaciones graficas que acá hemos realizado para
justificar el procedimiento. Sin embargo, algunos lectores quizás deseen arribar a los
circuitos mencionados a partir de manipulaciones algebraicas que terminen expresiones
particularmente adaptadas para ser implementadas por ellos. Para ilustrar tal
posibilidad, se cierra este apartado con el siguiente cuadro.

Se deja la expresión como Suma de A partir de la Suma de Productos se le niega


Productos dos veces y se aplica De Morgan solo 1 una
vez (a la suma).
𝐶 ′ = 𝐷 + 𝐶𝐴 + 𝐶𝐵
La expresión se presta directamente para 𝐶 ′ = 𝐷 + 𝐶𝐴 + 𝐶𝐵 = 𝐷 + 𝐶𝐴 + 𝐶𝐵 = 𝐷. 𝐶𝐴. 𝐶𝐵
ser implementada con compuertas AND- La expresión se presta directamente para ser
OR. implementada con compuertas NAND-NAND

A partir de la Suma de Productos, a cada 1) A partir de la expresión del casillero de


producto se le aplica De Morgan al revés. la izquierda, se la niega 2 veces y se
aplica De Morgan sólo 1 vez (a la
𝐶 ′ = 𝐷 + 𝐶𝐴 + 𝐶𝐵 = 𝐷 + 𝐶 + 𝐴 + 𝐶 + 𝐵 suma)
La expresión se presta directamente para
ser implementada con NOR-OR 𝐶 ′ = 𝐷 + 𝐶 + 𝐴 + 𝐶 + 𝐵 = 𝐷(𝐶 + 𝐴)(𝐶 + 𝐵)
2) O, a partir de la expresión del casillero
superior se aplica De Morgan sólo a los
productos parciales

𝐶′ = 𝐷. 𝐶𝐴. 𝐶𝐵 = 𝐷(𝐶 + 𝐴)(𝐶 + 𝐵)


La expresión resultante de cualquiera de los
dos métodos (es la misma) se presta
directamente para ser implementada con
compuertas OR-NAND

20
3.4.2.2. Implementación de expresiones tipo Producto de Sumas
Ya hemos visto que las expresiones mínimas tipo Producto de Sumas que se
obtienen del mapa de Karnaugh por agrupación de los ceros en dicho mapa, conducen
en forma directa a una implementación en dos niveles de dicha expresión que utiliza
compuertas OR en el primer nivel y una compuerta AND en el segundo. Veamos un
ejemplo de esto. Continuemos estudiando la implementación de la función C’ del
ejemplo 3-1. La misma debía satisfacer la siguiente expresión.

𝐶 ′ = (𝐷 + 𝐵 + 𝐴)(𝐷 + 𝐶)
La que puede implementarse con compuertas AND-OR de la manera que
muestra la figura 3-27.

Figura 3-27 - Implementación de la función C’ con compuertas OR-AND

Pero la citada expresión Producto de Sumas puede implementarse de cuatro


formas distintas, es decir, tres formas adicionales a la ya mencionada realización con
compuertas OR-AND. A estas tres formas adicionales se llega, partiendo de la
implementación con OR-AND, mediante los siguientes artificios:
1) anteponiendo una doble inversión en cada una de las entradas de la compuerta
del segundo nivel.
2) anteponiendo una doble inversión en cada una de las entradas de todas las
compuertas del primer nivel
3) realizando conjuntamente las dos operaciones recién mencionadas
Se observará que lo indicado es totalmente análogo a lo expuesto en el apartado
anterior para el caso de la implementación de expresiones tipo Suma de Productos, por
lo que no se justifica una descripción detallada de la aplicación de dichos
procedimientos, aunque si una presentación de los resultados que se alcanzan. Así, las
figuras 3-28, 3-29, y 3-30 muestran los otros tres circuitos que se derivan a la figura 3-
27, como el lector podrá comprobar.

Figura 3-28 - Implementación de la función C' con compuertas NOR-NOR

21
Figura 3-29- implementación de la función C' con compuertas NAND-AND

Figura 3-30 - Implementación de la función C’ con compuertas AND-NOR

Resumiendo, estos resultados, existen 4 formas dc implementar una expresión


tipo Producto de Sumas. Esas 4 formas usan para el primer y segundo nivel,
respectivamente, las compuertas:
• OR-AND
• NO-NOR
• NAND-AND
• AND-NOR
Las variables de entrada se ingresan al circuito en una forma que depende de las
compuertas empleadas:
• el caso del circuito OR-AND las variables se ingresan dc la misma forma como
figuran en la expresión que se está implementando
• en el caso del circuito NOR-NOR las variables se ingresan de la misma forma
como figuran en la expresión, excepto aquellas que inciden directamente en la
compuerta NOR de segundo nivel, que deben invertirse.
• en el caso del circuito NAND-AND las variables se ingresan en forma invertida
con relación a como figuran en la expresión, excepto aquellas que inciden
directamente en la compuerta AND de segundo nivel que no deben invertirse.
• en el caso del circuito AND-NOR todas las variables se ingresan en forma
invertida con relación a como figuran en la expresión.
Las cuatro formas indicadas requieren la misma cantidad de compuertas en los
niveles primero y segundo, pero algunas demandan menos inversores que otras. Esta
pequeña diferencia no suele ser considerada decisiva, y en la práctica la adopción de
una de estas cuatro formas se realiza normalmente por razones de preferencia por un
tipo u otro de compuerta, como se comenta en el próximo apartado.

22
Tal como se ha explicado, cualquiera de los 4 circuitos que surgen de la
expresión tipo Suma e Productos puede ser realizado directamente, a partir de dicha
expresión, y sin efectuar las transformaciones gráficas que acá hemos realizado para
justificar el procedimiento. Sin embargo, algunos lectores quizás deseen arribar a los
circuitos mencionados a partir de manipulaciones algebraicas que terminen con
expresiones particularmente adaptadas para ser implementadas por ellos. Para ilustrar
tal posibilidad, cierra este apartado con el siguiente cuadro.

Se deja la expresión como Producto de A partir del Producto de Sumas se la niega


Sumas dos veces y se aplica De Morgan sólo 1 vez
(al producto)
𝐶 ′ = (𝐷 + 𝐶)(𝐷 + 𝐵 + 𝐴)
𝐶 ′ = (𝐷 + 𝐶)(𝐷 + 𝐵 + 𝐴) = 𝐷 + 𝐶 + 𝐷 + 𝐵 + 𝐴
La expresión se presta directamente para ser
implementada con compuertas OR-AND La expresión se presta directamente para ser
implementada con compuertas NOR-NOR

A partir del Producto de Sumas, a cada suma 1) A partir de la expresión del casillero
se le aplica De Morgan al revés. de la izquierda, se la niega 2 veces y
se aplica De Morgan sólo 1 vez (al
𝐶 ′ = (𝐷 + 𝐶)(𝐷 + 𝐵 + 𝐴) = 𝐷. 𝐶. 𝐷. 𝐵𝐴 producto)
La expresión se presta directamente para ser
implementada con compuertas NAND-AND 𝐶 ′ = 𝐷. 𝐶. 𝐷. 𝐵𝐴 = 𝐷. 𝐶 + 𝐷. 𝐵𝐴
2) O, a partir de la expresión del
casillero superior si aplica De Morgan
sólo a las sumas parciales

𝐶 ′ = 𝐷 + 𝐶 + 𝐷 + 𝐵 + 𝐴 = 𝐷. 𝐶 + 𝐷. 𝐵𝐴
La expresión resultante de cualquiera de los
dos métodos (es la misma) se presta
directamente para ser implementada con
compuertas AND-NOR

3.4.2.3. Comentarlos finales sobre la implementación de expresiones


En la práctica, para implementar una función lógica se adopta |a expresión Suma
de Productos o la Producto de Sumas, según cual sea la más simple. Cuando no hay
una considerablemente más simple que la otra, la adopción se hace, en general,
atendiendo a cuál se presta mejor para ser implementada con el tipo de compuerta de
nuestra preferencia o disponible comercialmente. Por ejemplo, si preferimos o
disponemos de compuertas NAND, preferimos la expresión Suma de Productos para
implementarla en la forma similar a la figura 3-24.
Apliquemos lo dicho para complementar el diseño del circuito propuesto en el
ejemplo 3-1. Deseamos usar compuertas NAND. El circuito correspondiente a la salida
C’ es el de la figura 3-24, el que con el agregado de los circuitos correspondientes a las
otras salidas queda como el de la figura 3-31. El lector comprobara, en esta figura, como

23
se han compartido compuertas entre algunas salidas. La realización de este circuito
demanda;
• 4 compuertas NAND de 3 entradas
• 3 compuertas NAND de 2 entradas
• 4 inversores

Figura 3-31 - Implementación del Ejemplo 3-1 con compuertas NAND-NAND

3.4.3. Formas degeneradas


Hemos visto que utilizando compuertas AND, OR, NAND y NOR en dos niveles
(con varias compuertas del mismo tipo actuando en el primer nivel, y una única
compuerta del mismo o distinto tipo actuando en el segundo nivel) se puede implementar
las expresiones mínimas tipo Suma de Productos y Producto de Sumas. Pero existen
16 formas de elegir las compuertas de primer y segundo nivel de la lista de cuatro
compuertas mencionadas, y sabemos que sólo 8 de estas formas permiten lograr esa
implementación. Las otras 8 formas son llamadas formas degeneradas, ya que
degeneran en una única operación. Por ejemplo, la utilización de compuertas AND-AND
para el primer y segundo nivel respectivamente degenera en el equivalente de una única
operación AND (a tal punto que esto es usado cuando se requiere una compuerta AND
de gran número de entradas). A continuación, se dan las 8 formas degeneradas, junto

24
con la indicación acerca de cuál es la operación única en que degeneran. La primera de
las formas listadas es la conexión AND-AND que se analizara recién. El análisis de las
otras 7 formas degeneradas para verificar la operación a la que degeneran se deja a
cargo del lector.
1) AND-AND => AND
2) AND-NAND => NAND

3) OR-OR => OR
4) OR-NOR => NOR
5) NAND-OR => NAND
6) NAND-NOR => AND
7) NOR-AND => NOR

8) NOR-NAND => OR

A.10 Componentes digitales


En los diseños de circuitos digitales de alto nivel suelen utilizarse, además de las
compuertas individuales, conjuntos de compuertas lógicas denominadas componentes
o bloques funcionales. Esto permite abstraer un cierto nivel de complejidad circuital, así
como caracterizar su eficiencia. La próxima sección describe algunos de los
componentes más comunes.

A.10.1 Niveles de integración


Hasta este punto se ha puesto énfasis en el diseño de circuitos lógicos
combinatorios. Dado que el análisis fue realizado con compuertas lógicas individuales,
se puede decir que el enfoque ha sido el de utilizar circuitos integrados en pequeña
escala (SS1, small scale integration), en los que hay 10 a 100 elementos por circuito
integrado. (La palabra “elementos”, en este caso, hace referencia a transistores y otros
elementos discretos.) Aun cuando en la práctica a veces se requiere trabajar en este
nivel, típicamente para circuitos de alta eficiencia, el advenimiento de la microelectrónica
permite trabajar en niveles de integración mayores. En la tecnología de integración en
media escala (MSI, médium scale integration) aparecen entre 100 y 1.000 componentes
en un único circuito. La tecnología de integración en gran escala (LSI, large scale
integration) trata con circuitos que contienen 1.000 a 10.000 componentes por circuito
integrado, y la tecnología de integración en mayor escala (VLSI, very large scale
integration) va todavía más allá. No hay fronteras estrictas entre las distintas clases de
integración, pero las distinciones son útiles para comparar la complejidad relativa de los
distintos circuitos. El tratamiento de esta sección tiene que ver básicamente con
componentes MSI.

A.10.2 Multiplexores
Un circuito multiplexor (MUX) es un elemento que conecta una cantidad dada
de entradas a una salida única. En la figura A.22 se muestra el diagrama en bloques y
la tabla de verdad de un multiplexor de 4 entradas y una salida. La salida F adopta el
valor correspondiente a la entrada de datos seleccionada por las líneas de control A y
B. Por ejemplo, si AB = 00, el valor que aparece en la salida es el que corresponde a la
entrada D0. El circuito Y-0 correspondiente se muestra en la figura A.23.

25
Figura A.22 – Diagrama en bloques y tabla de verdad para un multiplexor de 4 entradas de datos.

Cuando se diseñan circuitos utilizando multiplexores, se los considera como un


bloque funcional, el que puede representarse como una “caja negra” según se ve en la
figura A.22. Si se utiliza este criterio, en vez de considerar el circuito lógico de la figura
A.23, se evitan los detalles innecesarios en el diseño de circuitos complejos.

Figura A.23 • Circuito Y-0 que implementa el multiplexor de cuatro entradas.

La implementación de funciones booleanas puede realizarse por medio de


multiplexores. En la figura A.24 se implementa la función mayoría usando un multiplexor
de 8 entradas. Las entradas de datos se toman directamente de la tabla de verdad de
la función implementada, y se asignan las variables A, B y C como entradas de control.
El multiplexor implementa la función transfiriendo a la salida los unos correspondientes
a cada término mínimo de la función. Las entradas cuyos valores son 0 corresponden a
los elementos del multiplexor que no se requieren para la implementación de la función,
y como resultado hay compuertas lógicas que no se utilizan. Si bien en la
implementación de funciones booleanas siempre hay porciones del multiplexor que no
se utilizan, el uso de multiplexores es amplio debido a que su generalidad simplifica el
proceso de diseño y su modularidad simplifica la implementación.

26
Figura A.24 – La función mayoría implementada con un multiplexor de 8 entradas

Como otro ejemplo, considérese la implementación de una función de tres


variables usando un multiplexor de cuatro entradas. La figura A.25 ilustra una tabla de
verdad de tres variables y un multiplexor de cuatro entradas que implementa la función
F. Las entradas de datos se toman del conjunto (0, I, C,𝐶 ) y la agrupación se obtiene
de acuerdo con lo que se muestra en la tabla de verdad. Cuando AB=00, la función F=0
independientemente del valor de C y, por lo tanto, la entrada de datos 00 del multiplexor
tendrá un valor fijo de 0. Cuando AB = 01, F= 1 independientemente de C, por lo que la
entrada de datos 01 adopta un valor 1. Cuando AB=10, la función F=C dado que su
valores 0 cuando C es 0 y es 1 cuando C es 1. Finalmente, cuando AB=11, la función
F-𝐶 , por lo tanto, la entrada de datos 11 adopta el valor 𝐶 . De esta manera, se puede
implementar una función de tres variables usando un multiplexor con dos entradas de
control.

Figura A.25 • Una función de tres variables implementada con un multiplexor de cuatro entradas de
datos.

A.10.3 Demultiplexores
Un demultiplexor (DEMUX) es un circuito que cumple la función inversa a la de
un multiplexor. La figura A.26 ilustra el diagrama en bloques correspondiente a un
demultiplexor de cuatro salidas, cuyas entradas de control son A y B, y su
correspondiente tabla de verdad. Un demultiplexor envía su única entrada de datos D a
una de sus salidas Fi de acuerdo con los valores que adopten sus entradas de control.
La figura A.27 muestra el circuito de un de multiplexor de cuatro salidas.

27
Figura A.26 – Diagrama en bloques y tabla de verdad de un demultiplexor de cuatro salidas.

Una de las aplicaciones en las que se utilizan los demultiplexores es el envío de


datos desde un origen único hacia un conjunto de destinos, como en el caso de un
circuito de llamada de ascensores que deriva la llamada al ascensor más cercano. Los
demultiplexores no son de uso habitual en la implementación de funciones booleanas,
aun cuando existen formas de aplicarlos (véase el problema A.17).

Figura A.27 • Circuito lógico de un demultiplexor de cuatro salidas.

A.10.4 - Decodificadores
Un decodífícador traduce una codificación lógica hacia una ubicación espacial.
En cada momento, solo una de las salidas del decodificador está en el estado activo (1
lógico), según lo que determinen las entradas de control. La figura A.28 muestra el
diagrama en bloques y la tabla de verdad de un decodificador de 2 entradas a 4 salidas,
cuyas entradas de control son A y B. El diagrama lógico correspondiente a la
implementación del decodificador se muestra en la figura A.29. Un circuito decodificador
puede usarse para controlar otros circuitos, aunque a veces puede resultar inadecuado
habilitar cualquiera de esos otros circuitos. Por esa razón, se incorpora en el circuito
decodificador una línea de habilitación, la que fuerza todas las salidas a nivel 0 (inactivo)
cuando se le aplica un 0 en la entrada. (Nótese la equivalencia lógica entre el
demultiplexor con su entrada en 1 y el decodificador.)

28
Figura A.28 – Diagrama en bloques y tabla de verdad de un decodificador 2 a 4.

Una aplicación para un circuito decodificador puede ser la traducción de


direcciones de memoria a sus correspondientes ubicaciones físicas. También puede
utilizarse en la implementación de funciones booleanas. Dado que cada línea de salida
corresponde a un término mínimo distinto, puede implementarse una función por medio
de la suma lógica de las salidas correspondientes a los términos que son ciertos en la
función. Por ejemplo, en la figura A.30 se puede ver la implementación de la función
mayoría con un decodificador de 3 a 8. Las salidas no utilizadas se dejan
desconectadas.

Figura A.29 – Un circuito de compuertas Y para el decodificador 2 a 4

Figura A.30 * La función mayoría implementada por un decodificador 3 a 8.

A.10.5 Codificadores de prioridad


Un codificador traduce un conjunto de entradas en un código binario y puede
pensarse como el circuito opuesto al de un decodificador. Un codificador de prioridad es
un tipo de codificador en el que se establece un ordenamiento de las entradas. El
diagrama en bloques y la tabla de verdad de un codificador de prioridad de 4 entradas
a 2 salidas se muestra en la figura A.31. El esquema de prioridades impuesto sobre las
entradas hace que A. tenga una prioridad mayor que AM. La salida de dos bits adopta
los valores 00, 01, 10 u 11, dependiendo de las entradas activas y de sus prioridades

29
relativas. Cuando no hay entradas activas, las salidas llevan, por defecto, a asignarle
prioridad a la entrada A0 (F0F1 = 00).

Figura A.31 • Diagrama en bloques y tabla de verdad de un codificador de prioridad de 4 a 2.

Los codificadores de prioridad se utilizan para arbitrar entre una cantidad de


dispositivos que compiten por un mismo recurso, como cuando se produce el intento de
acceso simultáneo de una cantidad de usuarios a un sistema de computación. La figura
A.32 ilustra el diagrama circuital para un codificador de prioridad de 4 entradas y 2
salidas. (El circuito ha sido simplificado utilizando métodos descriptos en el apéndice B,
pero su comportamiento de entrada-salida puede verificarse sin necesidad de conocer
el método de reducción que se ha utilizado.)

Figura A.32 – Diagrama lógico de un codificador de prioridad de 4 a 2.

El semisumador

Se denomina semisumador a un circuito que admite dos bits como entrada y genera
como salida:
• Un bit que representa la suma de los dos bits de entrada.
• Otro bit que representa el acarreo generado por la suma.
La tabla de verdad de este circuito pue puede deducirse a partir de las reglas de
la suma binaria.

30
A partir de esta tabla de verdad se puede observar que la suma puede
implementarse con una operación XOR y el acarreo de salida con una operación AND.

sumador completo

Figura A.36 • Ejemplo de suma de dos números binarios sin signo.

La tabla de verdad de la figura A.37 describe un elemento conocido como


sumador completo, el que se muestra en forma esquemática en la figura. Un
semisumador, que podría utilizarse en la columna de la derecha (la de las unidades)
suma dos bits y genera una suma y un arrastre, en tanto que un sumador completo
suma dos bits más uno de arrastre y genera un bit de suma y uno de arrastre. No se
utiliza el semisumador en este ejemplo para lograr la mínima cantidad de componentes
distintos.

31
Figura A.37 • Tabla de verdad de un sumador completo.

La principal diferencia entre un sumador completo y un semisumador es que el


sumador completo admite un valor que represente un acarreo de entrada.
De esta manera se puede implementar el circuito sumador completo usando dos
puertas XOR, dos puertas AND y una puerta OR;

También es posible implementar el sumador completo utilizando dos circuitos


semisumadores;
• El primer semisumador suma los dos bits
• El segundo suma el resultado con el acarreo de entrada
• Habrá acarreo de salida si cualquiera de los dos semisumadores genera un acarreo

Se conectarán en cascada cuatro sumadores completos para formar un sumador


lo suficientemente grande como para permitir la suma de los dos números usados en el
ejemplo de la figura A.36. Este sumador se ilustra en la figura A.38, en la cual el sumador
de la derecha recibe un arrastre de entrada siempre en 0.
El lector podrá apreciar que el valor de la suma en una columna dada no puede
obtenerse hasta que se determine el valor del arrastre que sale de la columna anterior.
El circuito se denomina sumador con arrastre en serie, debido a que los valores
correctos del arrastre viajan a través del circuito, de derecha a izquierda. Asimismo, el
lector puede observar que aun cuando el circuito tiene aspecto de funcionar en paralelo,
en realidad los resultados de cada columna se determinan en secuencia empezando
desde la derecha. Esta es una desventaja fundamental de este tipo de circuitos. En el
capítulo 3 se analizan los métodos que permiten acelerar la suma.

32
Figura A.38 • Sumador de cuatro bits implementado con sumadores completos conectados en cascada.
.

A.11 Lógica secuencial


La primera parte de este apéndice fue dedicada a los circuitos lógicos
combinatorios, en los que las salidas quedan totalmente determinadas como función de
las entradas. Un circuito lógico secuencial, conocido como máquina de estados finitos,
toma una entrada y un estado actual para generar una salida y un nuevo estado. Esta
máquina de estados Finitos se distingue de un circuito combinatorio en que la historia
de las entradas del circuito secuencial tiene influencia sobre sus estados y sobre su
salida. Este concepto es importante en la implementación de circuitos de memoria, así
como en el diseño de unidades de control en una computadora.

A.11.1 El circuito biestable (flip flop) S-R


Un circuito secuencial básico es el llamado biestable SR (biestable es una
traducción no literal de la palabra inglesa latch; la razón de la denominación de biestable
se da más adelante). Veamos su génesis a partir del circuito de la figura, del que se dan
unas formas de onda típicas:

Figura - Circuito elemental con memoria con características biestables

Este es el circuito de memoria más elemental concebible: una compuerta OR de


dos entradas con su salida conectada a una de sus entradas, mientras que la otra
entrada es llamada S o set (por "poner" en inglés), denominación que enseguida
justificaremos. La mencionada conexión entre una salida y una entrada se denomina
retroalimentación.
La figura muestra también una nomenclatura habitual: a la señal de salida, al
retroalimentarse a la entrada, si bien se le mantiene el nombre, se lo pasa a letras
minúsculas, razón por la cual a la entrada que recibe esta realimentación se la ha
denominado como q. Esto permite que el circuito anterior pueda ser representado por la
ecuación:
Q=S+q

33
BIESTABLES, CIRCUITOS SECUENCIALES EN MODO FUNDAMENTAL
Si suponemos que inicialmente la entrada S está en 0 y también lo está la salida
Q, el circuito perdura en ese estado mientras no haya un cambio en S. Si S pasa a ser
1, esto pone a la salida Q en 1, tomando también este valor la entrada q a la que esta
salida está conectada. Por consiguiente, aún cuando vuelva S a 0, la salida
permanecerá en estado 1 por estarlo así la entrada retroalimentada. El circuito es capaz,
entonces, de memorizar si es que en el pasado alguna vez fue 1 la entrada S.
Nótese que, en este circuito, cuando S está en 0, la salida pueda estar en dos
estados estables diferentes 1 o 0, dependiendo de si estuvo alguna vez S en 1 o no,
respectivamente. Esta biestabilidad de la salida es la que da el nombre de biestables a
los circuitos que de él se derivan, como los que pasamos a ver a continuación.
Un circuito de memoria como el descripto tiene el inconveniente de que la única
forma que hay para hacerle "olvidar" su pasado es retirarle la tensión de alimentación,
por ejemplo apagando el equipo. Esto no sólo es impráctico sino que tampoco es
selectivo, ya que borra la memoria de todos los circuitos similares que hubiera en el
equipo. Una forma más práctica de lograr que "olvide" es bloqueando su salida por
medio de un circuito apropiado. Esto puede lograrse, como muestra la figura 6-2,
mediante una compuerta AND gobernada por medio de una señal R o reset (por
"reponer", en inglés, y que en castellano puede también traducirse como borrar o
despejar). Así, si R está en 0 la salida de la compuerta OR está habilitada y el circuito
se comporta de la manera ya dicha, mientras que si R está en 1 la salida Q pasa a ser
0, al igual que la señal retroalimentada, perdiéndose la memorización del 1
anteriormente aparecido en S, aún cuando la señal R vuelva a 0. La figura muestra
también formas de onda típicas.

Figura - Circuito elemental de memoria modificado (biestable SR con reset prioritario)

La ecuación a que responde dicho circuito, según surge de la propia figura, es


Q =(S + q).𝑹
En la práctica, las señales S y R suelen ser excluyentes, es decir, si se aplica
una de ellas no tiene sentido aplicar simultáneamente la otra. Sin embargo, si se
aplicaran ambas simultáneamente, la ecuación anterior y el análisis del circuito
muestran que la salida Q iría a 0, es decir, se impone el reset, por lo que este biestable
a veces es denominado biestable SR con reset prioritario.
Podemos resumir el comportamiento de un biestable SR con reset prioritario
diciendo que:
• La aparición de la entrada S (estando R ausente) pone la salida en 1
• La aparición de la entrada R (estando S ausente) pone la salida en 0
• La ausencia de ambas entradas deja al circuito memorizando el valor que tenía
en el momento en que se retiró la última de las entradas que estuvo en 1.
• La presencia de ambas entradas simultáneamente pone la salida en 0

34
Este resumen se acostumbra a presentar en la siguiente tabla de verdad,
denominada tabla característica del biestable SR con reset prioritario.

Este biestable a menudo es realizado, en ambientes industriales, mediante


lógica de contactos y relés como pasamos a ver a continuación. En ese ámbito, sin
embargo, no suele ser denominado biestable SR sino sistema de arranque y parada. El
circuito correspondiente es el que muestra la figura siguiente.

Figura - Circuito de arranque y parada

Los pulsadores S y R (S normalmente abierto y R normalmente cerrado) reciben,


como muestra la figura, los nombres alternativos de arranque y parada (start y stop en
la nomenclatura inglesa). La razón para esto se explica a continuación. En general,
aunque la figura no lo muestra, el relé usado en este circuito (identificado como Q en la
figura) tiene otros contactos encargados de conmutar la alimentación eléctrica a un
motor o a otro equipo eléctrico. De tal manera que esos contactos se cierran cuando el
relé tiene su bobina energizada, haciendo que el motor esté en marcha, mientras que si
el relé no está energizado, los contactos al estar abiertos tienen el motor parado. La
presión del botón de arranque (S) acciona el relé (el que queda retenido en ese estado
aún cuando el botón de arranque sea liberado, por la acción del llamado contacto de
retención del relé identificado como q) y el motor pasa a funcionar. La presión posterior
sobre el botón de parada (R) desenergiza al relé y detiene al motor.
A partir del circuito con memoria de la figura 6-1 hemos logrado incorporarle la
entrada R que permite su borrado a través de bloquear la salida cuando la misma está
presente, y llegar al circuito de la figura 6-2. Pero una forma alternativa de lograr este
propósito de forzar el “olvido” es usando la entrada R para bloquear, no la salida, sino
la trayectoria de retroalimentación. El circuito que implementa esta idea alternativa es el
siguiente.

Figura - Biestable SR con set prioritario

35
Se notará que este circuito no es totalmente diferente al de la figura 6-2, sino que
es similar pero toma la salida Q de la salida de la compuerta OR en vez de tomarlo,
como en el caso anterior, de la salida de la compuerta AND. Este cambio introduce
ciertas modificaciones, tanto a la ecuación correspondiente como al comportamiento del
circuito, que veremos a continuación.
La ecuación correspondiente a la figura anterior y que surge directamente de la
misma, es la siguiente:
Q = S +𝑹.q
Si bien este circuito se comporta muy similarmente al de la figura 6-2, se
diferencia de él cuando ambas entradas S y R están en 1, caso en que, según se obtiene
reemplazando en la ecuación anterior, la salida va a 1. Se recordará que, en la práctica,
las señales S y R suelen ser excluyentes; sin embargo, si se aplicaran ambas
simultáneamente a este circuito, como la salida va a 1, es decir, que se impone el set,
este biestable a veces es denominado biestable SR con set prioritario, y tiene la
siguiente tabla característica.

También este circuito es realizable con contactos y relés para hacer un circuito
de arranque y parada, pero normalmente no es empleado porque resultaría de arranque
prioritario, y consideraciones de seguridad aconsejan que en estos sistemas sea
prioritaria la orden de parada.
En general, los diseñadores de circuitos que incorporan biestables SR tratan de
evitar que las entradas S y R sean simultáneamente 1 (aunque esto no siempre se
logra). Si se respeta esta condición, los circuitos de las figuras 6-2 y 6-4 tienen idéntico
comportamiento y la tabla característica, al tomar en cuenta la limitación que se
autoimponen los diseñadores, queda común a ambos y de la siguiente manera.

El biestable SR realizado con compuertas universales


Los circuitos de las figuras 6-2 y 6-4 pueden ser modificados de manera de
emplear compuertas universales, es decir, compuertas NOR o NAND.
Así, podemos partir de la ecuación correspondiente al biestable SR con reset
prioritario que, habíamos visto, era:
Q = (S + q). 𝑹
La expresión anterior puede ser manipulada algebraicamente hasta llegar a la
fórmula siguiente, cuya igualdad con la anterior el lector podrá comprobar aplicando las
leyes de De Morgan

36
𝑄 = (𝑆 + 𝑞) + 𝑅
Esta expresión, tiene dos sumas negadas, puede implementarse por medio de
dos compuertas NOR. Procediendo de la manera conocida pero dándole al circuito un
aspecto simétrico, se llega al circuito siguiente.

Figura; Biestabie SR hecho con compuertas NOR y con sus dos salidas.

Si bien este biestabie es de reset prioritario, en lo que sigue supondremos el


cumplimiento de la autorrestricción de considerar prohibida la posibilidad de que S y R
sean simultáneamente iguales a 1.
La realización simétrica del biestabie que muestra la figura anterior, tiene una
característica interesante. Se observa que, dada la simetría, es posible usar dos salidas
del circuito, tomando cada una de ellas a la salida de una de las compuertas ÑOR. Una
de las salidas es la salida normal Q, mientras que la función de la otra puede
demostrarse que es la negación de Q (aunque esto es sólo cierto si cumple la prohibición
de aplicar S y R ambas en 1 al mismo tiempo). Demostraremos esta propiedad
razonando por el absurdo:
• Las dos salidas no pueden ser simultáneamente 1, porque en ese caso ambas
NOR tendrían una de sus entradas en 1 (la conectada a la salida de la otra NOR),
y sus salidas deberían ser 0, en contradicción con la suposición de que ambas
eran 1. Este caso es, entonces, imposible.
• Las dos salidas no pueden ser simultáneamente 0, porque en ese caso ambas
NOR tendrían que tener alguna entrada en 1; y como no lo serían las entradas
que están conectadas a la salida de la otra NOR que estamos postulando que
serían 0, ello exigiría que tanto S como R fuesen 1, y como esta condición ha
sido excluida, este caso es, entonces, prohibido.
• Como consecuencia, si las salidas no pueden ser ambas 1 ni ambas 0, deben
ser una 0 y la otra 1, y ser entonces una la inversa de la otra.
Pero para llegar a un circuito similar hecho con compuertas NAND se pudo haber
partido de la ecuación correspondiente al biestabie SR con set prioritario, que era:
Q = S + 𝑹.q
O, transformándola algebraicamente:

𝑸 = 𝑺. 𝑹. 𝒒
Como esta ecuación contiene dos productos negados, el circuito respectivo
puede realizarse mediante 2 compuertas NAND. El nuevo circuito resultante para el
biestabie SR es otro circuito simétrico con dos salidas, las que nuevamente son una la
negación de la otra mientras se asegure que las entradas S y R no pueden ser 1
simultáneamente. El circuito es el de la figura 6-6. Nótese que las entradas pasan a ser
S negada y R negada, por lo que no es infrecuente que este circuito deba ser
complementado con dos inversores.

37
Figura - Biestable SR hecho con compuertas NAND

Los dos circuitos anteriores son las formas más habituales de realizar un
biestable SR, ya que requiriendo su implementación de tan sólo dos compuertas, no es
ofrecido el biestable SR como circuito integrado comercial.
Como se decía anteriormente; Un circuito biestable, o flip flop, es un conjunto de
compuertas lógicas que mantiene estable el estado de la salida aun luego de que las
entradas pasen a un estado inactivo. La salida de un flip flop queda determinada tanto
por las entradas actuales como por la historia de las mismas; en consecuencia, no es
suficiente el uso de un circuito combinatorio para capturar este comportamiento. Un flip
flop se puede utilizar para almacenar un bit de información, sirviendo además como
bloque constructivo para memorias de computadora.
Si una o ambas entradas de una compuerta NOR de dos entradas está en 1, la
salida de la compuerta NOR es 0; en los demás casos la salida vale 1. Según se ha
visto con anterioridad en este apéndice, el tiempo requerido para que una señal se
propague desde las entradas de una compuerta lógica hasta sus salidas no es nulo, y
existe un cierto retardo , que representa el tiempo de propagación a través de la
compuerta. Para el análisis, el retardo suele considerarse acumulado a la salida de la
compuerta, como se indica en la figura A.41. El retardo acumulado no se indica en los
diagramas circuitales pero su presencia está implícita.
El tiempo de propagación a través de la compuerta NOR afecta el funcionamiento
de un flip flop. Considérese el flip flop set-reset (S-R) de la figura A.42, que consiste en
dos compuertas NOR conectadas entre sí. Si se aplica un 1 en la entrada S, la salida 𝑄
pasa a adoptar el valor 0 luego de un tiempo , lo que hace que la salida Q adopte el
valor 1 (suponiendo 0 como estado inicial de R) luego de un retardo 2 . Como
resultado de este tiempo de propagación finito (no nulo), durante un pequeño instante
de tiempo  las dos salidas Q y 𝑄 adoptan el valor 0, lo que no corresponde desde el
punto de vista lógico. Esta situación se solucionará en el análisis posterior de la
configuración circuítal conocida como maestro-esclavo (master-slave). Si se aplica
ahora un 0 en la entra da S, la salida Q mantendrá su estado hasta algún momento
posterior en que se lleve la entrada R a 1. El flip flop S-R, por ende, retiene un único bit
de información y sirve como elemento básico de memoria.

38
Figura A.41 * Una compuerta NOR con un retardo acumulado en la salida.

Figura A.42 • Un circuito flip flop S-R.

Existe más de una manera de plantear un flip flop S-R, por lo que el uso de
compuertas NOR interconectadas es solo una de esas configuraciones. Puede
implementarse un flip flop S-R utilizando dos compuertas NAND interconectadas, caso
en el cual el estado de reposo es el que corresponde a S=R-1. Con el uso del teorema
de DeMorgan, se pueden convertir las compuertas NOR de un flip flop S-R en
compuertas Y, según se ve en la figura A.43. Operando con inversores, se reemplazan
las compuertas Y por compuertas NAND, y luego se invierten los sentidos activos de S
y de R para eliminar los inversores de entrada remanentes.

Figura A.43 • Conversión de un flip flop S-R implementado con compuertas NOR en una implementación
con compuertas NAND.

A.11.2 El flip flop S-R sincrónico


Considérese ahora que las entradas del flip flop S-R pueden generarse desde
las salidas de algún otro circuito cuyas entradas, a su vez, pueden generarse desde las
salidas de otros circuitos, formando una cascada de circuitos lógicos. Esta estructura
refleja el formato de los circuitos digitales convencionales. No obstante, en la
interconexión en cascada de circuitos lógicos pueden surgir problemas con aquellas
transiciones que se produzcan en momentos indeseados.
Considérese el circuito de la figura A.44. Si las señales A, B y C cambian todas
desde su estado lógico 0 al estado 1, la señal C puede llegar a la compuerta XOR antes
de que A y B hayan completado su propagación a través de la compuerta Y. Esto
producirá un 1 momentáneo en la salida correspondiente a la entrada S, salida que
volverá a 0 cuando la salida de la compuerta Y se termine de establecer y se realice la
operación de XOR correspondiente. En este punto, puede ocurrir que S haya estado en
1 el tiempo suficiente como para llevar a 1la salida del flip flop, destruyendo
eventualmente la integridad del bit almacenado.

39
Figura A.44 –Un circuito con riesgos.

Cuando en un circuito biestable sus estados son sensibles a la secuencia


temporal en que recibe las señales de entrada, la consecuencia puede ser una
variación transitoria de algún estado o salida del circuito, los que, por índeseados,
derivan en un mal funcionamiento del mismo. Se suele decir que los circuitos que
pueden producir perturbaciones transitorias indeseadas tienen riesgos. Un riesgo puede
manifestarse como una perturbación en las salidas o no, según las condiciones
operativas del circuito en un momento dado.
Con el objeto de lograr una sincronización controlada de los circuitos de lógica
secuencial, se suele incorporar una señal de sincronismo o reloj, con la cual cada
circuito de estados (como lo son los flip flops) se sincroniza a sí mismo al aceptar
cambios de sus entradas solo en instantes determinados. Un circuito de reloj produce
una secuencia continua de ceros y unos, como lo ilustra la forma de onda de la figura
A.45. El tiempo que requiere la señal de reloj para subir, caer y volver a subir se conoce
como período de la señal. Los flancos rectos que se ilustran en la forma de onda de la
figura representan una señal cuadrada ideal. En la práctica, los flancos no son verticales
debido a que el crecimiento y la caída de la señal no son instantáneos.

Figura A.45 – Forma de onda de una señal de reloj

Se define como frecuencia de la señal de reloj a la inversa de su período. Para


un período de 25 ns/ciclo, la frecuencia correspondiente es de 1/25 ciclos/ns, lo que
corresponde a 40 millones de ciclos por segundo, o 40 MHz. La tabla A.2 muestra una

40
serie de abreviaturas que se utilizan habitualmente en la representación de períodos y
frecuencias.

Figura A.2 • Prefijos normalizados para la denominación de periodos y frecuencias.

El uso de una señal de sincronismo permite la eliminación de riesgos por medio


de la creación de un circuito biestable sincrónico, que se muestra en la figura A.46,
el que incluye una entrada CLK como señal de sincronismo. Las entradas S y R ya no
pueden cambiar el estado del circuito hasta que no se reciba un nivel alto en CLK. Por
consiguiente, si los cambios en S y R se producen mientras la señal de reloj está en su
estado inactivo (bajo), cuando la señal de reloj pase a 1 los nuevos estados de S y R
estables, se almacenarán en el flip flop.

Figura A.46 • Un circuito S-R sincrónico.

A.11.3 El flip flop D y la configuración maestro-esclavo


El circuito S-R analizado tiene una desventaja: para almacenar un 1 o un 0, hace
falta aplicar un 1 a alguna de dos entradas diferentes (S o R) dependiendo del valor que
se pretenda almacenar. Una alternativa diferente, que permite aplicar un 0 o un 1 a la
misma entrada, lleva a la configuración correspondiente a un flip flop D, que se ilustra
en la figura A.47. El flip flop D se obtiene conectando las entradas S y R entre ellas a
través de un circuito inversor. Cuando se activa la señal de reloj, el valor de D queda
almacenado en el flip flop.

41
Figura A.47 - Un circuito D sincrónico. La entrada C representa la señal de sincronismo en la forma
simbólica del flip flop.

Cuando se usa el flip flop D en situaciones en las que existe realimentación


desde la salida hacía la entrada a través de otros circuitos, esta realimentación puede
provocar que el flip flop cambie sus estados más de una vez en un ciclo de reloj. Con el
objeto de asegurar que el flip flop cambia una sola vez por ciclo de reloj, se suele cortar
el lazo de realimentación a través de la estructura conocida como maestro-esclavo, que
se muestra en la figura A.48. El flip flop maestro-esclavo consiste en dos flip flops
encadenados, donde el segundo utiliza una señal de sincronismo que está negada con
respecto a la que utiliza el primero de ellos. El flip flop maestro cambia cuando la entrada
principal de reloj está en su estado alto, pero el esclavo no puede cambiar hasta que
esa entrada no vuelva a bajar. Es lo significa que la entrada D se transfiere a la salida
Qs del flip flop esclavo recién cuando la señal de reloj sube y vuelve a bajar. El triángulo
utilizado en el símbolo del flip flop maestro-esclavo indica que las transiciones de la
salida ocurren solo en un flanco creciente (transición O-1) o decreciente (transición 1-0)
de la señal de reloj. No se producen transiciones continuas en la salida cuando la señal
de reloj se encuentra en su nivel alto, como ocurre con el circuito sincrónico simple. Para
la configuración de la figura A.48, la transición de la salida se produce en el flanco
negativo de la señal de sincronismo.

Fiflura A.48 * Un flip flop maestro-esclavo.

Un flip flop activado por nivel puede cambiar sus estados en forma continua
cuando la señal de reloj está en su estado activo (alto o bajo, según como se haya
diseñado el flip flop). Un flip flop activado por flanco solo cambia en una transición
creciente o decreciente de la señal de reloj. En algunos textos no suele aparecer el
símbolo del triángulo en la entrada de reloj para distinguir entre flip flops activados por
flanco y por nivel, e indican una forma u otra de funcionamiento de alguna manera no
muy definida. En la práctica, la notación no es demasiado rigurosa. En este texto se
utiliza el símbolo triangular en la entrada de reloj, haciendo ver también el tipo de flip
flop a partir de la forma en que se lo utiliza.

42
A.11.4 Flip flops J-K y T
Además de los flip flops S-R y D, son muy comunes los flip flops J-K y T. El flip
flop J-K se comporta en forma similar al flip flop S-R, excepto porque cuando las dos
entradas valen simultáneamente 1, el circuito conmuta el estado anterior de su salida.
El flip flop T (por “toggle”) alterna sus estados, como ocurre en el flip flop J-K, cuando
sus entradas están ambas en 1. Los diagramas lógicos y los símbolos de los flip flops
J-K y T se muestran, respectivamente, en las figuras A.49 y A.50.

Figura A.49 • Diagrama lógico y símbolo de un flip flop J-K básico.

Figura A.50 • Diagrama lógico y símbolo de un flip flop T.

Otra vez, puede surgir algún inconveniente cuando en un flip flop J-K se tienen
las dos entradas J y K en 1 y se lleva la señal de sincronismo a su estado activo. En
esta situación, el flip flop puede cambiar de estado más de una vez mientras el reloj está
en su estado alto. Esta es otra situación en la que se hace apropiado el uso de un flip
flop J-K de estructura maestro-esclavo. El esquema de un flip flop J-K maestro-esclavo
se ilustra en la figura A.51. El problema de la “oscilación infinita” se resuelve con esta
configuración, aun cuando la misma crea otro inconveniente. Si se mantiene una entrada
en nivel alto durante un tiempo dado mientras la señal de reloj se encuentra activa,
aunque fuese porque se encuentre en una transición previa a establecerse, el flip flop
puede llegar a ver el 1 como si fuera una entrada válida. La situación se resuelve si se
eliminan los riesgos en los circuitos que controlan las entradas.
Se puede resolver el problema de la “captura de unos” por medio de la
construcción de flip flops activados por flanco, en los que el estado de la entrada se
analiza solo en las transiciones del reloj (de alto a bajo si el circuito se activa por flanco
negativo o de bajo a alto si se trata de un flip flop activado por flanco positivo), instantes
en los cuales las entradas deberían estar estables.
La figura A.52 ilustra la configuración de un flip flop D activado por flanco
negativo. Cuando la entrada de reloj está en su estado alto, los circuitos de entrada
entregan ceros al flip flop S-R principal (de salida). La entrada D puede cambiar una
cantidad arbitraria de veces, aún con la señal de sincronismo activa, sin afectar el estado
del circuito principal.

43
Figura A.51 – Diagrama lógico y símbolo de un flip flop J-K maestro-esclavo.

Figura A.52 • Flip flop D activado por flanco negativo.

Cuando el reloj pasa a su estado bajo, el estado del circuito principal solo se ve afectado
por los estados estables de los circuitos de entrada. Con el reloj en su estado bajo, aun
cuando la entrada D cambie, el circuito principal no se ve afectado.

Bibliografía:
• Jorge SINDERMAN, TÉCNICAS DIGITALES, DISPOSITIVOS,
CIRCUITOS, DISEÑO Y APLICACIONES, 2da. Edición, Nueva Librería,
Marzo del 2007, ISBN 978 -987-1104-51-2.
• Miles J Murdocca, Principios de Arquitectura de Computadoras, Ed. Pearson,
Prentice Hall

44

También podría gustarte