Transcript Clase 10

Slide 1

Circuitos Combinacionales
Implementación de Funciones Booleanas, Simplificación de Funciones Booleanas
e Implementación NAND y NOR


Slide 2

CircuitosCombinacionales–Implementaciónde funcionesbooleanas

Circuitos Combinacionales
Un circuito combinacional es un conjunto de compuertas interconectadas cuya salida en un momento
dado, es función solamente de la entrada en ese instante. Como ocurre con una compuerta sencilla, la
aparición de la entrada viene seguida casi inmediatamente por la aparición de la salida. con solo
retardos de compuerta.
En general, un circuito combinacional consiste en n entradas binarias y m salidas binarias. Al igual que
una compuerta, un circuito combinacional puede definirse de tres formas:
• Tabla verdad: para cada una de las 2" combinaciones posibles de las señales de entrada, se
enumera el valor binario de coda una de las m señales de salida.
• Símbolo gráfico: describe la organización de las interconexiones entre compuertas.
• Ecuaciones booleanas: cada señal de salida se expresa como una función booleana de las señales
de entrada.


Slide 3

CircuitosCombinacionales–Implementaciónde funcionesbooleanas

Implementación de Funciones Booleanas
Cualquier función booleana se puede implementar en electrónica en la forma de una red de
compuertas. Para una función dada, hay una serie de implementaciones alternativas. Considérese la
función booleana representada por la tabla de verdad de mostrada a continuación. Podemos expresar
esta función sencillamente detallando las combinaciones de los valores de A , B, y C que hacen que F
valga 1:


Slide 4

CircuitosCombinacionales–Implementaciónde funcionesbooleanas
Hay tres combinaciones de los valores de entrada que hacen que F valga 1, y si ocurre cualquiera de
estas tres combinaciones, el resultado será 1. Este tipo de expresión, por razones evidentes, se conoce
como la forma suma de productos (SOP, sum of products). La siguiente figura muestra una sencilla
implementación con compuertas AND. OR y NOT.


Slide 5

CircuitosCombinacionales–Implementaciónde funcionesbooleanas
Se puede obtener también otra forma de la tabla verdad. La forma SOP indica que la salida es 1 si
cualquiera de las combinaciones de entrada que producen 1 es cierta. También se puede decir que la
salida es 1 si ninguna de las combinaciones de entrada que producen un 0 es cierta. Por lo tanto:

Esto puede ser reescrito usando una generalización del teorema de DeMorgan:

Entonces

Esta función está representada en la forma de productos de suma (POS, product of sums), cuya
implementación se muestra en la siguiente figura. Por claridad, las compuertas NOT no se muestran,
En su lugar, se asume que cada señal de entrada y su complemento están disponibles. Esto simplifica
el diagrama lógico y hace que las entradas a las compuertas más legibles.


Slide 6

CircuitosCombinacionales–Implementaciónde funcionesbooleanas


Slide 7

CircuitosCombinacionales–Simplificaciónde funcionesbooleanas
Entonces, una función booleana puede ser implementada en las formas SOP o POS. En este punto,
parecería que la elección depende del hecho de que la tabla de verdad contiene más 1s o más 0s para
la función de salida. La forma SOP tiene un término para cada 1, y la forma POS tiene un término para
cada 0. Sin embargo, hay más consideraciones:

• Generalmente es posible obtener una expresión booleana más sencilla de la tabla verdad que de
las formas SOP o POS.
• Puede ser preferible implementar la función con compuertas sencillas (NAND o NOR) .
El significado del primer punto es que, con una expresión booleana más sencilla, se necesitan menos
compuertas para implementar la función. Para llevar a cabo esta simplificación se pueden usar tres
métodos:
• Simplificación algebraica
• Mapas de Karnaugh
• Tablas de Quine-McKluskey


Slide 8

CircuitosCombinacionales–Simplificaciónde funcionesbooleanas–SimplificaciónAlgebraica

Simplificación Algebraica
La simplificación algebraica supone la aplicación de las identidades del álgebra boolena para reducir
una expresión booleana a una con menos elementos. Por ejemplo, supongamos de nuevo la ecuación

Un poco de razonamiento puede llevar a una expresión equivalente:

O, de manera más simple,

Esta expresión se puede implementar como se ve en la siguiente figura. La simplificación de la
ecuación se ha hecho esencialmente por observación. Para expresiones más complejas, se requieren
métodos más sistemáticos.


Slide 9

CircuitosCombinacionales–Simplificaciónde funcionesbooleanas–Mapasde Karnaugh

Mapas de Karnaugh
Para objeto de simplificación, los mapas de Karnaugh son una forma conveniente de representar una
función booleana con pocas variables (hasta un máximo de cuatro variables). El mapa es un arreglo de
2n cuadrículas, que representan las posibles combinaciones de los valores de n variables binarias. La
siguiente figura, en el inciso a, muestra el mapa de cuatro cuadrículas para una función de dos
variables.
Es conveniente, para propósitos futuros,
enumerar las combinaciones en el orden 00,
0 1 , 11 y 10 (un solo un bit cambia de valor
de una combinación a otra en esta
secuencia).
Como las cuadrículas corresponden a
combinaciones que se van a usar para
escribir información, las combinaciones se
escriben habitualmente en la parte superior
de la cuadrículas.
En el caso de tres variables, la representación
es un arreglo de ocho cuadrículas (inciso b),
con los valores de una de las variables a la
izquierda y los valores de las otras dos
variables encima de las cuadriculas. Para
cuatro variables, se necesitan 16 cuadrículas,
con la disposición indicada en el inciso c.


Slide 10

CircuitosCombinacionales–Simplificaciónde funcionesbooleanas–Mapasde Karnaugh
El mapa se puede usar para representar cualquier función booleana de la siguiente forma. Cada
cuadrícula corresponde a un único producto en la forma de suma de productos, con valor 1
correspondiente a la variable y valor 0 correspondiente al NOT (complemento) de dicha variable.
• Por lo tanto, el producto 𝐴𝐵 corresponde a la cuarta columna del inciso b de la figura. Para cada
uno de estos productos de la función, se coloca un 1 en la cuadrícula correspondiente. Por lo tanto,
para el ejemplo de dos variables, el mapa corresponde a A𝐵 + 𝐴𝐵. Dada la tabla de verdad de
una función booleana, es fácil construir el mapa: para cada combinación de los valores de las
variables que dan como resultado 1 en la tabla verdad, se pone un 1 en la cuadrícula
correspondiente . El inciso b de la figura anterior muestra el resultado para la tabla verdad de la
función de tres variables (A, B y C) que se ha usado como ejemplo anteriormente. Para pasar de
una expresión booleana a un mapa, primero es necesario poner la expresión en lo que se
denomina forma canónica: cada término de la expresión debe contener cada variable. Así, por
ejemplo, si se tiene la ecuación

Se debe primero expandir en la forma completa

Y posteriormente convertir la ecuación a un mapa.


Slide 11

CircuitosCombinacionales–Simplificaciónde funcionesbooleanas–Mapasde Karnaugh
Los rótulos o etiquetas usados en el inciso d de la figura enfatizan la relación entre las variables
y las filas y columnas del mapa. Aquí, las dos filas que abarca el símbolo A son aquellas en las que
la variable A vale 1; las filas que no abarca el símbolo A son aquellas en las que A vale 0 (lo mismo
ocurre para B , C, y D).

Una vez que se ha creado el mapa de una función, podemos escribir, a menudo, una expresión
algebraica sencilla anotando el conjunto de 1s del mapa. El principio es el siguiente: Dos casillas
adyacentes cualesquiera difieren en solo una de las variables. Si dos casillas adyacentes contienen
un 1, entonces los correspondientes términos producto difieren solo en una variable. En tal caso,
los dos términos se pueden fundir en uno eliminando esta variable. Por ejemplo, en la siguiente
figura, inciso a, las dos casillas o cuadrículas adyacentes corresponden a los términos 𝐴𝐵𝐶𝐷 y
𝐴𝐵𝐶𝐷. Entonces, la función se expresa

Este proceso se puede ampliar de varias formas. Primero, el concepto de adyacencia se puede
ampliar para incluir el recubrimiento alrededor del borde del mapa. Por tanto, la casilla más alta
de una columna es adyacente a la más baja, y la casilla más a la izquierda de la fila es adyacente a
la que está más a la derecha. Estas condiciones se ilustran en los incisos b y c de la siguiente
figura. Segundo, podemos agrupar no solo dos casillas, sino 2n cuadrículas adyacentes (es decir, 2,
4, 8, etc.) Los tres siguientes ejemplos de la figura muestran agrupaciones de cuatro casillas. Hay
que destacar que en este caso, dos de las variables son eliminadas. Los tres últimos ejemplos
muestran grupos de ocho cuadrículas que permiten eliminar tres variables.


Slide 12

CircuitosCombinacionales–Simplificaciónde funcionesbooleanas–Mapasde Karnaugh


Slide 13

CircuitosCombinacionales–Simplificaciónde funcionesbooleanas–Mapasde Karnaugh
Se pueden resumir las reglas de simplificación como sigue:
1.
2.

3.

Entre las casillas marcadas (casillas con un 1), encontrar las casillas que pertenezcan a un único
bloque lo más grande posible de 1, 2, 4 u 8 casillas y encerrar en un círculo el bloque.
Seleccionar bloques adicionales de casillas marcadas que sean tan grandes como sea posible y en
menor número posible, pero que incluya a cada casilla marcada al menos una vez. Los resultados
pueden no ser únicos en algunos casos. Por ejemplo, si una casilla marcada se combina con
exactamente otras dos casillas, y no hay una cuarta para completar un grupo mayor, entonces se
debe elegir cual de las dos agrupaciones usar. Cuando se enmarcan (encierran en círculo) grupos,
se permite usar el mismo valor de 1 más de una vez.
Seguir dibujando círculos alrededor de las casillas marcadas aisladas (sencillas), o pares de casillas
marcadas adyacentes, o grupos de cuatro, ocho, y así en delante, de tal manera que cada casilla
marcada pertenece a al menos un círculo. Usar el menor número posible de estos bloques para
incluir todas las casillas marcadas.

Es necesario mencionar una característica adicional de los mapas de Karnaugh. En algunos casos,
ciertas combinaciones de valores de las variables no se dan nunca, y, por consiguiente, la salida
correspondiente no se produce tampoco. Estas se denominan condiciones de indiferencia (don’t care
conditions). Para cada una de estas condiciones, se coloca la letra D o X en la casilla correspondiente
del mapa. Cuando se hace la agrupación y simplificación, cada «d» puede tratarse como un 1 o un 0,
eligiendo lo que conduzca a una expresión más sencilla.


Slide 14

CircuitosCombinacionales–Simplificaciónde funcionesbooleanas–Mapasde Karnaugh
Ejemplo: El inciso a de siguiente figura se basa en la ecuación

e ilustra el procedimiento de simplificación. Si quedan 1s aislados después de haber efectuado el
agrupamiento, entonces, cada uno de ellos se rodea con un círculo como si fuera un grupo de unos.
Finalmente, antes de pasar el mapa a una expresión simplificada booleana, cualquier grupo de unos
que esté completamente solapado (redundante) por otros grupos se puede eliminar (inciso b de la
figura). En este caso el grupo horizontal es redundante y se puede ignorar a la hora de crear la
expresión booleana.


Slide 15

CircuitosCombinacionales–Simplificaciónde funcionesbooleanas–Mapasde Karnaugh
Ejemplo: Sistema que incrementa en uno el valor de un dígito decimal empaquetado (BCD). El
resultado es también un dígito decimal en BCD y la suma es módulo 10, es decir, 9 + 1 = 10. Note que
las combinaciones de 4 bits no utilizadas en BCD se marcan como condiciones de indiferencia (don’t
care).


Slide 16

CircuitosCombinacionales–Simplificaciónde funcionesbooleanas–MétodoQuine-McKluskey

Método Quine-McKluskey
Para casos de más de cuatro variables, el método del mapa de Karnaugh se va haciendo cada vez más
complejo y confuso. Con cinco variables, se necesitan dos mapas de 16 x 16, con un mapa situado
encima del otro en tres dimensiones para conseguir la adyacencia. Seis variables requieren cuatro
tablas de 16 X 16 en cuatro dimensiones! Un procedimiento alternativo es una técnica tabular,
denominada método de Quine-McKluskey. El método es adecuado para la programación de una
herramienta en un computadora que permita obtener automáticamente expresiones booleanas
minimizadas (simplificadas).
El método se explica mejor mediante un ejemplo. Considere la siguiente expresión:

Asúmase que esta expresión se derivó de una tabla de verdad. Se desea producir una expresión
mínima apropiada para ser implementada con compuertas lógicas.
• El primer paso es construir una tabla en la que cada fila corresponda a un término producto de la
expresión. Los términos se agrupan de acuerdo con el numero de variables complementadas. Es
decir, se empieza con el término sin complementos, si es que existe, luego todos los términos con
un complemento, y así sucesivamente. La siguiente tabla muestra la lista de la expresión del
ejemplo, con líneas horizontales usadas para indicar el agrupamiento. Para mayor claridad, cada
término se representa con un 1 para cada variable sin complementar y un 0 para cada variable
complementada. Entonces, se agrupan los términos de acuerdo al número de 1s que contienen. La
columna índice es simplemente el equivalente decimal y es usado posteriormente.


Slide 17

CircuitosCombinacionales–Simplificaciónde funcionesbooleanas–MétodoQuine-McKluskey
• El primer paso es construir una tabla en la que cada fila corresponda a un término producto de la
expresión. Los términos se agrupan de acuerdo con el numero de variables complementadas. Es
decir, se empieza con el término sin complementos, si es que existe, luego todos los términos con
un complemento, y así sucesivamente. La siguiente tabla muestra la lista de la expresión del
ejemplo, con líneas horizontales usadas para indicar el agrupamiento. Para mayor claridad, cada
término se representa con un 1 para cada variable sin complementar y un 0 para cada variable
complementada. Entonces, se agrupan los términos de acuerdo al número de 1s que contienen. La
columna índice es simplemente el equivalente decimal y es usado posteriormente.
• El siguiente paso es encontrar todos los pares de términos que difieren en solo una variable, es
decir, todos lo pares de términos que son iguales excepto que una variable es 0 en uno de los
términos y 1 en el otro. Debido a la manera en la que se agrupan los términos, esto se puede hacer
empezando con el primer grupo y comparando cada término del primer grupo con cada término
del segundo grupo. Después se compara cada término del segundo grupo con todos los términos
del tercer grupo, y así sucesivamente. Cuando se encuentra un emparejamiento o coincidencia, se
coloca una marca en cada término, se combina el par eliminando la variable en la que difieren los
dos términos, y se añade a una nueva lista. Por ejemplo, los términos 𝐴𝐵𝐶 𝐷 y 𝐴𝐵𝐶𝐷 se combinan
para producir el término 𝐴𝐵𝐶. Este proceso continúa hasta que se haya examinado la tabla original
entera. El resultado es una nueva tabla con las siguientes entradas:


Slide 18

CircuitosCombinacionales–Simplificaciónde funcionesbooleanas–MétodoQuine-McKluskey
• La nueva tabla es organizada en grupos, como se indicó anteriormente, en la misma forma que la
primera tabla. La segunda tabla se procesa igual que la primera tabla. Es decir, los términos que
difieren en solo una variable se marcan y el nuevo término que se produce se pone en una tercera
tabla. En este ejemplo, la tercera tabla que se hace contiene solamente un término: BD.

• En general, el proceso continuaría a través de sucesivas tablas hasta que se tiene una tabla en la
que no haya emparejamientos o coincidencias. En este caso, hay implicadas tres tablas.
• Una vez que se haya completado el proceso descrito anteriormente, se han eliminado muchos de
los posibles términos de la expresión. Aquellos términos que no hayan sido eliminados se usan
para construir una matriz, como se ilustra en la siguiente tabla. Cada fila de la matriz corresponde a
uno de los términos que no se han eliminado (no fueron marcados) en cualquiera de las tablas
usadas anteriormente. Cada columna corresponde con uno de lo términos de la expresión original.
Se coloca una X en cada intersección de una fila y una columna tal que el elemento de la fila sea
“compatible" con el elemento de la columna. Es decir, las variables presentes en el elemento de fila
tienen el mismo valor que las variables presentes en el elemento de la columna. Después. se rodea
con un circulo cada X que este sola en una columna. Entonces, se sitúa un cuadrado alrededor de
cada X en cualquier fila en la que hay una X dentro de un círculo. Si cada columna ahora tiene ya
sea una X dentro de un cuadrado o círculo, entonces se termina, y esos elementos de fila cuyas Xs
han sido marcadas constituyen la expresión mínima. Entonces, en nuestro ejemplo, la expresión
final es:


Slide 19

CircuitosCombinacionales–Simplificaciónde funcionesbooleanas–MétodoQuine-McKluskey

• En los casos en los que algunas columnas no tengan ni un circulo ni un cuadrado, se necesita un
proceso adicional. Esencialmente, se continúa añadiendo elementos de fila hasta que todas las
columnas sean cubiertas.
Resumiendo el método Quine-McKluskey para intentar justificar intuitivamente cómo funciona. La
primera fase de la operación es razonablemente directa. El proceso elimina variables innecesarias en
los términos producto. Entonces, la expresión ABC + 𝐴𝐵𝐶 es equivalente a AB, ya que

Tras la eliminación de las variables, queda una expresión que es claramente equivalente a la expresión
original. Sin embargo, puede haber términos redundantes en la expresión, tal como se encuentran
agrupaciones redundantes en los Mapas de Karnaugh . La organización de la matriz asegura qué cada
término en la expresión original sea incluido (cubierto) y se hace de forma que minimiza el número de
términos en la expresión final.


Slide 20

CircuitosCombinacionales–ImplementaciónNAND y NOR

Implementación NAND y NOR
Otra con sideración en la implementación de funciones booleanas concierne a los tipos de
compuertas usadas. Es a menudo deseable implementar una funci6n booleana únicamente con
compuertas NAND o solo con compuertas NOR. Aunque pueda no tratarse de la implementación con
un mínimo de compuertas, tiene la ventaja de la regularidad, los que puede simplificar el proceso de
fabricación . Consideremos de nuevo la ecuación

Dado que el complemento del complemento de un valor es su valor original,

Aplicando el teorema de DeMorgan,

Lo cual tiene tres formas de NAN, como se ilustra a continuación: