Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
En el captulo anterior vimos que el lgebra Boleana es un arma poderosa para el estudio de los
circuitos lgicos.
AB + B
A+B
la cual es mucho ms sencilla. Se hace evidente que hay casos en los cuales el lgebra Boleana no es
suficiente. Tenemos pues que recurrir a otras tcnicas que la complementen.
Los diagramas de subconjuntos nos proporcionan una manera sencilla de poder visualizar las
relaciones que puede haber entre varias variables. Quiz los diagramas ms sencillos de todos son
los que representan al "1" lgico, el cual podemos representar como un cuadro completamente
lleno, y al "0" lgico, el cual podemos representar como un cuadro completamente vaco:
En este tipo de diagramas, no slo podemos representar el "uno" y el "cero". Tambin podemos
representar variables. El diagrama ms sencillo de todos es el que utilizamos para representar una
sola variable, el cual est dividido en dos partes: una parte "llena" que es la parte en la cual la
variable A toma el valor de "1" (a la izquierda, de color ciano), y la parte "vaca" que es la parte en la
cual la variable A toma el valor de "0" (a la derecha, sin color):
Pero con estos diagramas no slo podemos representar a la variable. Tambin podemos representar
el inverso lgico de la variable, el cual ser como se muestra a continuacin:
Del mismo modo, podemos representar una segunda variable B y el complemento de la misma de la
siguiente manera:
Hagmonos ahora otra pregunta: cul sera la regin en la cual las variables A y B se unen (en
lugar de intersectarse), la porcin del diagrama en donde podemos estar ya sea en A en B, o sea la
regin que representara la suma Boleana A+B de dichas variables? La respuesta se d a
continuacin:
Y el rea que representa la suma Boleana de los complementos de ambas variables es la siguiente:
Por su parte, la expresin Boleana AB+AB que representa la salida de un bloque OR-
EXCLUSIVO es la siguiente:
Si queremos superimponer en el mismo mapa una tercera variable C, lo podemos hacer de la
siguiente manera:
El mismo procedimiento constructivo se puede extender hacia una quinta variable e inclusive hacia
una sexta variable, aunque la ventaja de visualizacin se va perdiendo rpidamente encima de las
cuatro variables.
tras lo cual obtenemos un mapa que represente las regiones que ambos mapas
de A+B yC+D tengan en comn, o sea la regin comn en la que ambos se intersectan, lo cual
equivale a llevar a cabo la operacin lgica AND de A+B y de C+D.
Los diagramas de subconjuntos permiten verificar de manera casi inmediata todos los teoremas
Boleanos que fueron demostrados en el captulo anterior. Por ejemplo, el teorema que dice:
A+A=1
Con cambios mnimos, los diagramas de subconjuntos nos sirven de base para introducirnos a una
de las herramientas de simplificacin de circuitos lgicos ms populares que hay. Estudiaremos a
continuacin el siguiente mapa para dos variables boleanas A y B conocido como el mapa de
Karnaugh, inventado en 1952 por Edward W. Veitch y refinado posteriormente por Maurice
Karnaugh, un ingeniero de telecomunicaciones trabajando para Bell Labs:
Ahora bien, tambin podemos representar variables sencillas en el mapa de Karnaugh. Supngase
que deseamos representar B en el mapa de Karnaugh. Esto lo logramos de la siguiente manera:
Estudiamos ahora un hecho de importancia trascendental. Este ltimo mapa de Karnaugh nos
indica que B es igual a la suma de los minterms AB y AB, lo cual podemos comprobar mediante el
lgebra Boleana como sigue:
AB + AB = (A + A)B = (1)B = B
Tenemos aqu nuestra primera indicacin sobre cmo podemos usar el mapa de Karnaugh para
simplificar circuitos lgicos.
Salida = AB + AB
Salida = A
La regla general para simplificar un circuito usando el mapa de Karnaugh es examinar el mapa que
le corresponde y determinar los agrupamientos ms grandes de grupos adyacentes que se pueden
describir con el menor nmero de variables boleanas.
AB + B
Su mapa de Karnaugh con una simplificacin posible tendr el siguiente aspecto (el "minterm"
correspondiente a la variable B est enmarcado dentro de una lnea verde cubriendo todo el rengln
representativo de B, mientras que el "minterm" AB es puesto antes de los agrupamientos
simplificadores en la esquina inferior izquierda) :
Como se puede ver, es posible hacer dos agrupamientos de grupos adyacentes, los cuales estn
descritos por la expresin:
A+B
Asimismo, el mapa de Karnaugh nos indica cules son las expresiones que no se pueden simplificar.
Por ejemplo, la siguiente expresin:
AB + AB
Existen tambin mapas de Karnaugh para expresiones con tres o ms variables, algunos de los
cuales se muestran al final de esta introduccin.
Supngase que deseamos simplificar un circuito con tres variables de entrada A, B y C cuya salida
es la siguiente:
En este caso, tenemos que utilizar el mapa de Karnaugh para tres variables:
El mapa de Karnaugh para la expresin lgica dada se muestra a continuacin:
La primera simplificacin es evidente. Los minterms ABC y ABC pueden ser agrupados para ser
representados por la relacin BC (esta agrupacin es la que corresponde a los unos que estn
encerrados dentro del rectngulo rojo). La siguiente simplificacin no es tan obvia.
Obsrvese que si conectamos los vrtices del mapa alrededor de un cilindro (esto es, si enrollamos el
mapa y unimos el lado izquierdo con el lado derecho), se puede llevar a cabo otra simplificacin. En
efecto, los minterms ABC y ABC se pueden agrupar dentro de la relacin BC (correspondiente a
los unos que estn encerrados dentro del rectngulo verde).
BC + BC
Como se muestra en el mapa, los maxtems A+B y A+B se pueden agrupar dentro del "maxterm" B.
Asimismo, los maxterms A+B y A+B se pueden agrupar para formar el "maxterm" A.
Puesto que la salida del circuito sigue siendo el producto de sus maxterms, la salida en este caso
ser:
Salida = (A)(B) = AB
El mapa de Karnaugh se puede extender para manejar cuatro variables, como se muestra a
continuacin:
Para intentar simplificar un circuito lgico con cinco variables, podemos recurrir a un mapa de
Karnaugh como el siguiente:
Existe otro tipo de representacin para el mapa de Karnaugh, la cual es completamente equivalente
a la que ya hemos visto. Bajo esta representacin, a continuacin tenemos un mapa de Karnaugh
para dos variables A y B:
Para tres variables de entrada A, B y C, bajo la representacin alterna un mapa de Karnaugh tendr
el siguiente aspecto:
Aqu el casillero correspondiente a la entrada ABC= 011 estar situado en el segundo rengln y en
la segunda columna. Y el casillero correspondiente a la entrada ABC=101estar situado en el
primer rengln y en la cuarta columna.
Y para cuatro variables A, B, C y D, el mapa de Karnaugh para este tipo de representacin ser el
siguiente:
El acomodo de variables en el mapa se puede llevar a cabo de acuerdo con las preferencias
personales de cada persona, lo principal es que en el mapa aparezcan de modo apropiado todas las
variables con todos sus diversos valores posibles de "unos" y "ceros".
Empezamos con el circuito lgico puesto en la esquina inferior izquierda, obteniendo del mismo la
expresin de su salida lgica Out puesta en la esquina superior izquierda:
Out = AB + AB + AB
Esta expresin est justo en la forma que requerimos (suma-de-productos) para construr el mapa
de Karnaugh usando minterms. El trmino AB nos produce un "1" cuando A=0 y B=1, y esta es
nuestra primera entrada en el mapa de Karnaugh. El trmino AB nos produce un "1"
cuando A=1 y B=0, y esta es nuestra segunda entrada en el mapa de Karnaugh. Y por ltimo, el
trmino AB nos produce un "1" cuando A=1 y B=1, y esta es nuestra tercera entrada en el mapa de
Karnaugh.
El siguiente paso consiste en llevar a cabo los agrupamientos que nos pueden dar una simplificacin
del circuito. Estos son mostrados en el mapa de Karnaugh puesto en la esquina superior derecha. El
primer agrupamiento como "minterm" ms sencillo es la variable A (agrupando los valores de A=1)
y el segundo agrupamiento como "minterm" ms sencillo es la variable B (agrupando los valores
de B=1). Los "minterms" simplificados en el mapa de Karnaugh nos dicen que podemos reemplazar
la expresin original por la siguiente expresin (en suma-de-produtos) ms simplificada:
Out = A + B
El circuito lgico simplificado se muestra en la esquina inferior derecha del diagrama, el cual
requiere un solo componente lgico, un OR, a diferencia del circuito original que requera de cuatro
componentes, tres AND y un OR.
Considrese ahora un circuito lgico cuya salida Out est dada por la siguiente expresin:
Este circuito lgico con tres variables de entrada tiene una salida dada como suma de productos, lo
cual nos permite localizar los "1" de los minterms que van dentro del mapa de Karnaugh y lo cual
nos permite llevar a cabo la simplificacin "enrollando" el mapa alrededor de un cilindro como se
muestra:
Out = C
A continuacin tenemos otro mapa de Karnaugh, ahora para un circuito con cuatro variables de
entrada A, B, C y D, tanto antes como despus de haber encontrado un conjunto de posibles
simplificaciones:
Existen muchos casos en los cuales no todas las combinaciones lgicas de "ceros" y "unos" a la
entrada de un circuito son necesarias; un ejemplo de ello es el de un decodificador que toma un
nmero binario de cuatro bits a su entrada y lo convierte en una combinacin de siete salidas para
encender selectivamente los segmentos de un indicador luminoso numrico hecho a base de diodos
emisores de luz LED; en este caso no se utilizar ninguna de las combinaciones entre "1010" y
"1111" puesto que no representan dgito alguno en el sistema numrico decimal. Cuando tenemos
algunas condiciones dentro de un circuito lgico en las cuales la salida puede ser ya sea un "0" un
"1" sin consecuencia alguna para el diseo final (conocidas en la literatura de habla inglesa como
condiciones don't care), podemos representar dichas condiciones simplemente con una "X" que se
sobreentiende que puede tener un valor de "0" de "1". A continuacin tenemos otro mapa de
Karnaugh para un circuito con cuatro variables de entrada A, B, C, D, y cuatro condiciones "X",
tanto antes como despus de haber encontrado para dicho circuito un conjunto de posibles
simplificaciones:
Como puede verse en una de las simplificaciones, la simplificacin encerrada bajo una lnea de color
rojo, estamos aprovechando la ventaja de que "X" puede representar ya sea un "0" un "1" para
tomarlo como un "1" y juntarlo con los dems "unos" del agrupamiento. Esto mismo se ha llevado a
cabo en la simplificacin encerrada bajo una lnea de color azul en donde tambin hemos agrupado
"unos".
Por lo general, para un circuito lgico con ms de cuatro variables de entrada el uso del mapa de
Karnaugh va perdiendo su ventaja visual como instrumento de simplificacin. Para un circuito
lgico con ms de cinco o seis variables de entrada, se recomienda el uso de otro mtodo o inclusive
de alguno de varios programas computacionales especializados para lograr minimizar un circuito
lgico a su expresin ms sencilla, muchos de los cuales estn basados en otro mtodo de
simplificacin de circuitos lgicos que va de la mano con el mapa de Karnaugh, el mtodo de
Quine-McCluskey, del cual se dar a continuacin una introduccin.
El estudio del mtodo de Quine-McCluskey nos lleva a definir de manera ms formal cierta
terminologa que hemos pasado por alto, empezando con la definicin de los implicantes
primarios (prime implicants). En primer lugar, para una salida Y, un implicante se define como
un producto normal de dos o ms variables (normal en el sentido de que cada variable en el
producto aparece una sola vez, con lo cual se descalifica a expresiones comoAAB o ABBC) que
implica a Y (esto es, produce un "1" en la columna correspondiente a la salida del circuito en su
Tabla de Verdad), como en la expresin:
Y = AB + ABC + BC
en donde los implicantes son AB, ABC y BC porque cualquiera de ellos implica a Y. Definido esto,
definimos a continuacin a un implicante primario como un implicante deY tal que si cualquiera
de sus variables es removida, el trmino que nos queda ya no implica a Y. Esto quiere decir que en
la expresin anterior AB y BC son implicantes primarios (no es posible remover ninguna de las
variables en ellos sin que pierdan su relevancia), mientras que ABC no es un implicante primario ya
que si se le remueve la variable A esto nos deja con el trmino BC que sigue implicando a Y porque
dicho trmino est contenido en la expresin original de Y. El hecho de que un implicante no sea un
implicante primario tiene que ver directamente con una simplificacin Boleana como la siguiente:
ABCD + ABC = ABC(D + 1) = ABC
Al cubrir el tema del mtodo de Quine-McCluskey, es rutinario en los libros de texto utilizar una
notacin en la cual a los minterms se les designa de acuerdo con el valor numrico binario que
poseen en su notacin de "unos" y "ceros". Esta notacin proporciona una manera compacta de
listar los minterms de una expresin Boleana, lo cual nos puede resultar conveniente en expresiones
con ms de cuatro variables. Bajo la notacin compacta, en una funcin Boleana de tres variables el
minterm ABC proveniente de la combinacin binaria "111" es representado precisamente con dicha
combinacin binaria, simplificada a su equivalente decimal que es 7, mientras que el
minterm ABC proveniente de la combinacin "000" es representado por el decimal 0. Del mismo
modo, un minterm como ABC es representado por "011" o bien por el decimal 3. Esto permite
representar una expresin Boleana como:
como la suma de los minterms cuyos equivalentes decimales son 011 (3), 100 (4) y 001 (1), o ms
elegantemente usando la letra griega sigma mayscula () que indica una sumacin de trminos:
f(A,B,C,D) = m(001,011,100)
f(A,B,C,D)= m(1,3,4)
en donde "m" se lee como "la suma de minterms"
Z = m(000,001,100,101)
Z = m(0,1,4,5)
f(A,B,C,D) = m(0000,0001,0010,0011,0101,0111,1000,1010,1100,1101,1111)
f(A, B, C, D) = m(0,1,2,3,5,7,8,10,12,13,15)
Si algn trmino contiene menos variables que el nmero total de variables especificado por la
Tabla de Verdad, cada variable "ausente" en el trmino es simbolizada en el sitio que le corresponde
con un guin (-). De este modo, para una funcin Boleana de tres variables, ACes representado
como "1-0" y BC es representado como "-11".
Cabe agregar que bajo la notacin compacta tambin podemos representar los trminos
redundantes X, aquellos cuyo valor no importa que sea "1" "0" en el diseo de un circuito lgico.
Por ejemplo, para la siguiente Tabla de Verdad en la cual se muestran dos trminos redundantes
marcados con una "X", los cuales corresponden a los minterms ABCD yABCD que en notacin
compacta vendran siendo m9 y m14:
la representacin en notacin compacta usando minterms ser:
El mtodo Quine-McCluskey, el cual hace uso repetido del axioma Boleano A+A=1, involucra la
siguiente secuencia de pasos, la cual es obvia para quien haya tenido ya alguna prctica en el uso de
los mapas de Karnaugh:
Primer paso: Se van agrupando los minterms dependiendo de la cantidad de "unos" que tengan en
su representacin binaria. Esta cantidad es conocida como el ndice de la representacin
(0000 tiene un ndice de 0, 0010 y 1000 tienen ambas un ndice de 1,1010 y 0011 y 1001 tienen
las tres un ndice de 3, y 1111 tiene un ndice de 4). As, en la siguiente expresin Boleana de cinco
variables:
el agrupamiento de los trminos de acuerdo con sus ndices es el que se muestra a continuacin:
Segundo paso: Se van comparando los grupos vecinos (vecinos en lo que respecta a sus ndices), y se
van reemplazando pares de trminos que difieren nicamente en un solo "1", los cuales son
conocidos como trminos adyacentes. Este proceso de combinacin requiere poner el guin que
simboliza tanto el "0" como el "1" (lo cual corresponde directamente al "agrupamiento" de dos
celdas vecinas en el mapa de Karnaugh) al llevarse a cabo la combinacin, como lo muestra el
siguiente esquema en el cual los valores ABCD=1110 yABCD=1111 se pueden combinar como 111-
por diferir los ndices de ambos en solo un "1":
Podemos reemplazar dos trminos adyacentes cualesquiera que contengan un solo guin en una
posicin que corresponda al bit no apareado. Al ir llevando a cabo este procedimiento, para
comodidad nuestra, podemos ir "checando" con una "palomita" o "marcando" con una "equis" de
alguna manera los minterms que van siendo utilizados para crear trminos comunes para que as no
sean includos nuevamente por equivocacin.
Tercer paso: Repetimos la bsqueda hasta que no sea posible encontrar ms trminos adyacentes.
Dos trminos adyacenes que contengan guiones son considerados adyacentes solo s todas las
posiciones con guiones se correspondan en ambos trminos y todas excepto una sola posicin literal
contengan el mismo valor. En la expresin Boleana que estamos utilizando como ejemplo, estos
pasos aparecen resumidos en la manera que se muestra a continuacin (obsrvese que tenemos aqu
dos listas, la primera que aparece en el extremo izquierdo, y la lista puesta en el medio y la cual fue
obtenida de la primera):
Cuarto paso: Removemos todos los trminos que aparezcan duplicados y listamos los trminos que
sobrevivieron al proceso, indicando cules de los minterms originales estn cubiertos por los
trminos sobrevivientes.
Quinto paso: Seleccionamos el nmero mnimo de implicantes residuales necesarios para cubrir
todos los minterms, lo cual puede ser algo laborioso de encontrar conforme aumenta el nmero de
variables. Los ltimos pasos estn resumidos en el siguiente arreglo reticular en el cual listamos
todos los implicantes primarios (en la columna extrema izquierda) y todos los minterms de la
funcin (en el rengln superior), en donde cada minterm cubierto por algn implicante primario es
marcado en la posicin apropiada:
Sexto y ltimo paso: Recogemos el conjunto seleccionado de implicantes primarios para generar
una expresin Boleana minimizada.
Tanto el mapa de Karnaugh como el mtodo de Quine-McCluskey se pueden extender para llevar a
cabo la simplificacin de circuitos lgicos de varias entradas y varias salidas, o sea de entradas
mltiples y salidas mltiples, tales como un diseo de tres entradas A, B y C, y dos salidas H1 y H2,
cuya Tabla de Verdad sea la siguiente:
Sin embargo, esta situacin no involucra la invencin de ningn nuevo tipo de mapa de Karnaugh.
En realidad, la situacin mostrada en este ejemplo requiere de la construccin dedos mapas de
Karnaugh, uno para la salida H1 y el otro para la salida H2. Esto es obvio cuando nos damos cuenta
de que la Tabla de Verdad mostrada es un resumen de dos Tablas de Verdad, una para H1 y la otra
para H2. Del mismo modo, un circuito lgico con tres entradas y cinco salidas requerir de la
construccin de cinco mapas de Karnaugh, uno para cada una de las cinco salidas. La cantidad de
salidas de un circuito lgico es la que determina la cantidad de mapas de Karnaugh que sern
requeridos para tratar de minimizar los componentes que sern usados. En el ejemplo mostrado,
tenemos dos mapas, el mapa correspondiente a la salida H1:
y el mapa correspondiente a la salida H2:
Una vez que tenemos todos los mapas de Karnaugh a la mano, tenemos dos opciones: la primera
consiste en tratar de simplificar lo ms posible los circuitos correspondientes a cada una de las
salidas de manera independiente consultando nica y exclusivamente el mapa de Karnaugh que
corresponda a cada salida, y es la opcin ms fcil de todas. La segunda opcin consiste en tratar de
simplificar las salidas buscando los trminos comunesque aparezcan en los mapas y que se puedan
agrupar con el fin de evitar repeticiones innecesarias mediante el uso de sub-circuitos que pueden
alimentar en forma comn a dos o ms salidas, lo cual requiere tener todos los mapas lado a lado. A
continuacin se muestran los mapas de Karnaugh para un circuito lgico con cuatro variables de
entrada a, b, c y d, y dos salidas X y Y, en los cuales vindolos juntos a primera vista se antojan
algunas simplficaciones posibles notando las celdas que tienen en comn:
La aplicacin de los conceptos aqu aprendidos a un circuito multi-salidas para lograr su
simplificacin ptima se puede convertir en un asunto algo elaborado. Sin embargo, no se entrar
ms a fondo en un estudio sobre una extensin de la tcnica del mapa de Karnaugh (y mucho menos
del mtodo de Quine-McCluskey) bajo hoy anticuadas filosofas de economizacin porque en la
prctica con el bajo costo del "hardware" puede salir ms caro tener a un ingeniero consumiendo
varios das o inclusive varias semanas de su tiempo para lograr la simplificacin de un circuito pese
a que con el bajo costo actual de la microelectrnica no se logre un ahorro que justifique la inversin
del tiempo de ingeniera en estos ejercicios intelectuales. Puesto de otra manera, en la simplificacin
de circuitos lgicos elaborados hay que tener en cuenta tambin el factor costo para saber si vale la
pena invertir tiempo valioso de ingenieros competentes cuando hay otras tcnicas (como el uso de
las memorias ROM y PROM que sern tratadas en un captulo posterior) que han hecho obsoletas
las inversiones excesivas en tiempo de diseo. Si en otros tiempos por el alto costo inclusive de un
simple inversor lgico NOT construdo con un bulbo electrnico como el popular 6SN7 (utilizado
ampliamente en la construccin de radios de bulbos y televisores de blanco y negro) era deseable e
inclusive necesario economizar todas las funciones lgicas que fuese posible en un diseo, esto es ya
una cosa del pasado, y hoy hay que adaptarse a los nuevos tiempos.