Está en la página 1de 11

44 Electrnica D igital

2 FUNCIONES BOOLEANAS Y SU SIMPLIFICACION 2.1. Funciones Lgicas


2.1. Funciones Lgicas
Dentro del lgebra de Boole de 2 elementos, una funcin booleana o funcin lgica
2.2. Simplificacin de funciones booleanas: mapas de Karnaugh es una expresin de operaciones booleanas enlazando variables que solamente pueden
2.3. Ejercicios de sntesis y simplificacin de funciones booleanas adquirir los valores 0 y 1. Una funcin booleana es una aplicacin que a cada conjunto de
2.4. Decodificadores y multiplexores; otras formas de configurar funciones valores booleanos de sus variables le asigna un y slo un valor booleano.

El lgebra de Boole permite expresar, en forma de funciones matemticas, tanto la La primera de las dos definiciones anteriores es de tipo descriptivo: describe la
forma algebraica de una funcin booleana; mientras que la segunda es de tipo
realizacin de clculos en el sistema binario como la adopcin de decisiones a travs de la
conceptual: identifica la funcin como correspondencia entre el conjunto de valores de
combinacin de proposiciones.
las variables y el valor booleano de la variable dependiente.
Cantidades y cualidades pueden ser representadas por conjuntos de ceros y unos,
En una funcin f designaremos con el nombre de variables de entrada xi al conjunto
es decir, mediante palabras binarias cuyos dgitos pueden adoptar solamente los valores 0
de sus variables propias y denominaremos variable de salida y a la variable dependiente o
y 1; cada dgito o bit corresponde a una variable. resultado de la propia funcin y = f(xi).
Una funcin booleana establece una dependencia entre una variable de salida "y" y De acuerdo con las definiciones anteriores, las funciones lgicas pueden
un conjunto de variables de entrada "a b c": una correspondencia entre el conjunto de representarse en dos formas diferentes:
valores de las variables de entrada y el valor de la variable de salida. - por su expresin algebraica o frmula booleana, como expresin de las
Las funciones booleanas son multiformes, es decir, pueden representarse de muy operaciones que ligan a sus variables;
diversas formas: desde el mero enunciado textual que expresa las especificaciones o - por su tabla operativa o tabla de verdad, expresando en forma de tabla la
requisitos que definen la funcin, hasta su forma algebraica como operaciones entre correspondencia entre la variable de salida y cada combinacin posible de valores
variables, pasando por su tabla funcional (o tabla de verdad) que detalla, en forma de de sus variables de entrada.
listado, el valor de la funcin para cada conjunto de valores de las entradas. Tambin puede expresarse una funcin en forma de enunciado o texto que manifiesta
las especificaciones o requisitos que dan lugar a dicha funcin y en forma grfica como
Precisamente el diseo del circuito digital correspondiente a una funcin booleana
circuito digital o esquema de puertas lgicas que produce los valores de salida de la
consiste en el cambio de forma de la misma, a partir de su enunciado, construyendo su funcin al recibir los correspondientes valores en sus entradas.
tabla funcional y extrayendo de ella la forma algebraica de la funcin; dicha expresin
algebraica puede ser trasladada directamente a un esquema de puertas lgicas que El proceso de sntesis o construccin digital de una funcin parte del enunciado o
conforma el circuito digital de dicha funcin. especificaciones de la misma, para configurar la tabla de verdad de la funcin y
obtener, a travs de ella, su expresin algebraica; una vez simplificada, dicha expresin
En este proceso resulta de mucha importancia la simplificacin de la expresin puede ser directamente trasladada a un esquema de puertas como representacin grfica
algebraica de la funcin, de forma que contenga el menor nmero de trminos y el menor del circuito digital que hace efectiva dicha funcin.
nmero de variables posible. Al reducir la expresin algebraica disminuye el tamao, la
complejidad y el coste (y, en muchos casos, aumenta la velocidad) del circuito digital que enunciado tabla funcional expresin algebraica esquema de puertas
permite obtener tal funcin. Con esta finalidad, los mapas de Karnaugh constituyen
una eficaz herramienta grfica de simplificacin a mano, mientras que el mtodo de Dada una funcin de m variables, cada una de las posibles combinaciones de valores
Quine-McCluskey proporciona las bases algortmicas para programar la simplificacin de dichas m variables recibe el nombre de vector de entrada; el nmero total de vectores
sobre un computador. de entrada ser 2m y tal ser el nmero de filas que ha de tener la tabla funcional
completa.
Tambin es posible configurar el circuito digital de una funcin booleana sin llegar a
su expresin algebraica, directamente desde su tabla funcional. Para ello pueden utilizarse Para cada vector de entrada podemos construir un trmino mnimo, formado por el
dos bloques digitales de tipo selector: el decodificador y el multiplexor; ambos incluyen producto booleano (operacin "y") de las m variables de entrada, estando cada una de
todas las posibilidades de valores de sus variables de entrada y permiten activar cada una ellas afirmada si su valor en el vector de entrada es 1 y negada cuando vale 0.
de dichas posibilidades.

Toms Polln Santamara. Tecnologa Electrnica. E.U.I.T.I.Z. Universidad de Zaragoza. tpollan@posta.unizar.es


2. Funciones booleanas 45 46 Electrnica D igital

Un trmino mnimo da resultado 1 al asignar a sus variables los valores del vector de Ejemplo: funcin "ser nmero primo" para nmeros de 3 dgitos.
entrada que le corresponde y, en cambio, para cualquier otro vector de entrada da
resultado 0. c b a ser n primo
0 0 0 0 c +b+a
As pues, tal como estn construidos, los trminos mnimos poseen la propiedad de
seleccionar o filtrar a su propio vector de entrada: a cada vector de entrada le 0 0 1 1 c.b.a
corresponde un trmino mnimo y cada termino mnimo es un discriminador o selector 0 1 0 1 c.b.a
del vector de entrada al que corresponde.
0 1 1 1 c.b.a
Ejemplos para 4 variables ( a, b, c, d):
1 0 0 0 c+b+a
vector de entrada 1001 trmino mnimo a.b.c.d 1.0.0.1 = 1
1 0 1 1 c.b.a
vector de entrada 1100 trmino mnimo a.b.c.d 1.1.0.0 = 1
1 1 0 0 c +b+a
vector de entrada 0010 trmino mnimo a.b.c.d 0.0.1.0 = 1
vector de entrada 0000 trmino mnimo a.b.c.d 0.0.0.0 = 1 1 1 1 1 c.b.a
vector de entrada 1111 trmino mnimo a.b.c.d 1.1.1.1 = 1
Para obtener la forma cannica de esta funcin hemos de tomar los trminos
nmero de vectores de entrada y de trminos mnimos posibles: 24 = 16 mnimos de los vectores de entrada que dan resultado 1.

Dualmente se construye el trmino mximo correspondiente a un vector de entrada y = c.b.a + c.b.a + c.b.a + c.b.a + c.b.a forma cannica
mediante la suma booleana (operacin "o") de sus variables, afirmadas cuando su valor es simplificando
0 y negadas cuando valen 1. Un trmino mximo da resultado 0 al asignar a sus variables
los valores del vector de entrada que le corresponde y adopta el valor 1 para cualquier otro = c.a + c.b + c.a = a + c.b
vector.
A cada vector de entrada le corresponden un trmino mximo y cada trmino La forma cannica dual de una funcin booleana corresponde a su expresin como
mximo es, asimismo, un selector o discriminador del vector al que corresponde. producto (operacin "y") de trminos mximos; para construirla se toman todos aquellos
trminos mximos que corresponden a vectores de entrada que hacen la funcin igual a 0
Ejemplos para 4 variables ( a, b, c, d) :
y se realiza el producto de ellos.
vector de entrada 1001 trmino mximo a + b + c + d 1+ 0 + 0 +1= 0
La propiedad de filtrado o seleccin que tienen los trminos mximos asegura que su
vector de entrada 1100 trmino mximo a + b + c + d 1+1+ 0 + 0 = 0 producto asigna resultado 0 para aquellos vectores de entrada cuyo trmino mximo est
vector de entrada 0010 trmino mximo a + b + c + d 0 + 0 +1+ 0 = 0 presente y resultado 1 para todos los dems vectores de entrada.
vector de entrada 0000 trmino mximo a + b + c + d 0+0+0+0=0 En el ejemplo anterior (funcin "ser nmero primo" para nmeros de 3 dgitos),
para obtener la forma cannica dual tomamos los trminos mximos de los vectores de
vector de entrada 1111 trmino mximo a + b + c + d 1+1+1+1= 0 entrada que dan resultado 0.
nmero de vectores de entrada y de trminos mximos posibles: 24 = 16
y = (c + b + a) . (c. + b + a) . (c + b + a) forma cannica dual
Se denomina forma cannica de una funcin booleana a su expresin como suma simplificando
(operacin "o") de trminos mnimos de sus variables; para construirla a partir de su tabla
funcional bastar tomar todos aquellos trminos mnimos que corresponden a vectores de = (b + a) . (c + a)
entrada que hacen la funcin igual a 1 y sumarlos.
La forma cannica de una funcin es nica, salvo en lo que se refiere al orden de los
Habida cuenta de la propiedad de filtrado o seleccin que tienen los trminos trminos y al de las variables en los mismos; igualmente es nica la forma cannica dual.
mnimos, dicha suma de trminos mnimos asigna resultado 1 para aquellos vectores de En cambio, una misma funcin puede tener expresiones simplificadas muy diversas.
entrada cuyo trmino mnimo se encuentra presente en la misma y resultado 0 para todos
los dems vectores de entrada.
2. Funciones booleanas 47 48 Electrnica D igital

Dos funciones de m variables diferirn en los trminos mnimos que contenga su Los mapas de Karnaugh son el mtodo habitual de simplificacin cuando se hace a
forma cannica; el nmero de funciones diferentes de m variables coincide con el de mano y el nmero de variables de la funcin es pequeo (no superior a 6). Para mayor
combinaciones posibles de sus 2m trminos mnimos: 2k siendo k = 2m. nmero de variables se recurre a la ayuda del computador, con programas de
simplificacin automtica que suelen estar basados en el algoritmo de Quine-
El nmero de vectores de entrada, y consiguientemente el de funciones posibles, MacCluskey.
crece fuertemente al hacerlo el nmero de variables de la funcin. Hay 16 funciones de 2
variables, las funciones de 4 variables tendrn 16 vectores de entrada, siendo posibles 216 La simplificacin de una funcin por medio de los mapas de Karnaugh se realiza
= 65.536 funciones y para 6 variables existen 64 vectores de entrada con un nmero de dibujando su tabla de operacin en un diagrama bidimensional segn la estructura
funciones posibles 264 superior a 1018 (trillones de ellas). siguiente:

BA BA
2.2. Simplificacin de funciones booleanas: mapas de Karnaugh C 00 01 11 10 DC 00 01 11 10
La aplicacin de los teoremas del lgebra permite simplificar las funciones, 0 00
reduciendo el nmero de puertas necesarias para su configuracin; en concreto, los
teoremas ms tiles para la simplificacin son los de idempotencia y absorcin:
1 01
a+a = a a+a = 1 a + a.b = a a + a.b = a + b
a.a = a a.a = 0 a.(a + b) = a a.(a + b) = a.b 11
y, en ocasiones, el teorema de consenso: a.b + a.c + b.c = a.b + a.c
Mapa de Karnaugh para 3 variables
10
Ejemplo: Y = d.c.b.a + d.c.b.a + d.c.b.a + d.c.b.a + d.c.b.a + d.c.b.a + d.c.b.a
( x + x = 1 aplicado a las siguientes parejas de trminos: 1 y 2 x=a; 3 y 4 x=b;
5 y 6 x=a ; 7 y 4 x=c , utilizando, en este ltimo caso, tambin, x=x+x) Mapa de Karnaugh para 4 variables

Y = d.c.b + d.c.a + d.c.b + d.b.a


( d + d = 1 aplicado a los trminos 1 y 3 y sacando factor comn en los otros dos) CBA
Y = c.b + d.a.(c + b) ED 000 001 011 010 110 111 101 100
( aplicando el teorema de Morgan al parntesis del segundo trmino )
00
Y = c.b + d.a.(c.b)
(y, finalmente, el teorema de absorcin x + x.z = x + z aplicado a ambos trminos) 01

Y = c.b + d.a .
11
La aplicacin directa de teoremas booleanos para simplificar las funciones requiere
una cierta habilidad, cuyos resultados dependen de la complejidad de la funcin y de la
experiencia e intuicin de quien la realiza. 10

Existen mtodos de simplificacin que aportan una formulacin sistemtica del


proceso y que aseguran la mxima simplificacin; los ms utilizados de ellos son el Mapa de Karnaugh para 5 variables
mtodo grfico de los mapas de Karnaugh, que se describe a continuacin, y el mtodo
algortmico de Quine-McCluskey (cuya descripcin se encuentra en el apndice A1).
2. Funciones booleanas 49 50 Electrnica D igital

Una forma sencilla de generar el cdigo Gray para nmeros sucesivos a partir del 0
CBA es la representada en el siguiente esquema:
FED 000 001 011 010 110 111 101 100
0 1 11 10 110 111 101 100 1100 1101
000
Las lneas verticales sealan la necesidad de aadir un nuevo dgito y actan a
001 manera de espejo, de forma que tras cada lnea vertical los nmeros empiezan por un
primer dgito adicional 1 y el resto de sus dgitos son iguales a los del nmero que se
011 encuentra en posicin simtrica respecto a dicha lnea vertical, simetra especular,
aadiendo, en su caso, los ceros que fueran necesarios.
010
El cdigo Gray aparece con frecuencia en los sistemas digitales por sus prestaciones
en relacin con la simplificacin y con la seguridad funcional, derivadas ambas de la
110 propiedad de que dos nmeros sucesivos solamente difieren en el valor de un dgito (son
iguales salvo en un bit).
111 Los trminos mnimos correspondientes a dos vectores sucesivos, segn el cdigo
Gray, son simplificables entre s pues difieren solamente en el valor de una de sus
101
variables. Por ello, los mapas de Karnaugh tienen la propiedad de que dos cuadros
100 adyacentes se pueden simplificar entre s.
El proceso de simplificacin en un mapa de 4 variables consiste en agrupar los
Mapa de Karnaugh para 6 variables cuadros para formar rectngulos que contengan un nmero de cuadros potencia de 2: 1, 2,
4, 8; los cuadros contenidos en cada uno de dichos rectngulos son simplificables entre s
La estructura de los mapas de Karnaugh aprovecha las propiedades del cdigo Gray, y conducen a un solo trmino:
en el que dos nmeros o vectores sucesivos difieren nicamente en el valor de una
variable. BA BA

Gray DC 00 01 11 10 DC 00 01 11 10
Binario
00 00 1
0 0 0
01 1 1 01 1
1 1 1
11 1 1 11 1
2 10 11
10 10 1
3 11 10 y = C.A y = B.A
4 100 110
BA BA
5 101 111 DC 00 01 11 10 DC 00 01 11 10
6 110 101 00 1 1 00 1 1
7 111 100 01 01
8 1000 1100 11 11
9 1001 1101 10 1 1 10 1 1
15 1111 1000 y = C.B y = C.A
(tngase en cuenta que el diagrama conecta consigo mismo por sus bordes vertical y horizontal)
2. Funciones booleanas 51 52 Electrnica D igital

Si bien en todos los casos anteriores se ha aplicado la simplificacin a cuadros con


BA BA valor 1, lo cual conduce a trminos en forma de productos, trminos producto, por
dualidad el mismo procedimiento de simplificacin puede aplicarse en forma anloga a
DC 00 01 11 10 DC 00 01 11 10
cuadros con valor 0, dando lugar a trminos suma.
00 00 1
Dada una funcin y representada su tabla de verdad en forma de mapa de Karnaugh
01 01 1 la expresin ms simple de dicha funcin como suma de trminos producto se obtiene
11 1 1 11 agrupando todos los cuadros de valor 1 en el menor nmero de rectngulos simplificables
y expresando la suma de los trminos que corresponden a dichos rectngulos.
10 10
Dualmente, la forma ms simple de tal funcin como producto de trminos suma se
y = D.C.B y = D.B.A obtiene agrupando los cuadros con valor 0 en el menor nmero de rectngulos y
En el caso de 5 variables, el mapa de Karnaugh est conformado por dos hojas de expresando el producto de los trminos duales que les corresponden.
dimensin 4 x 4 y son simplificables entre s aquellos rectngulos que se encuentran en Ejemplo:
posicin simtrica respecto a la separacin de las dos hojas:
Sea la funcin "ser nmero primo" en el caso de nmeros binarios de 5 dgitos
CBA edcba.
ED 000 001 011 010 110 111 101 100
cba
00 ed 000 001 011 010 110 111 101 100
01 1 1 1 1 00 0 1 1 1 0 1 1 0
11 1 1 1 1 01 0 0 1 0 0 0 1 0
10
11 0 0 0 0 0 1 1 0
y = D.B 10 0 1 1 0 0 1 0 0
Para 6 variables, el mapa de Karnaugh consta de 4 hojas de dimensin 4 x 4 e Recorriendo los cuadros con valor 1 para formar rectngulos simplificables desde la
igualmente la simplificacin entre hojas acta por simetra especular: izquierda hacia la derecha y de arriba hacia abajo :
CBA y = e.d.a + e.d.c.b + e.c.b.a + d.c.a + d.c.b.a + e.c.b.a
FED 000 001 011 010 110 111 101 100
Simplificando en forma de producto de sumas, para lo cual han de recorrerse los
000 cuadros con valor 0 formando rectngulos simplificables:
001 1 1 y = (b + a).(d + c + b).(d + a).(e + d + c).(e + a).(c + a).(e + d + c + b).(e + d + c + b)
011 1 1
010 Aunque esta segunda (producto de sumas) parece ms extensa que la anterior (suma
de productos), ambas contienen el mismo nmero de variables (22 variables).

110 En aquellos casos en que algn vector de entrada no puede presentarse nunca o bien
111 1 1 cuando no importa (da igual) el valor que adquiera la funcin booleana para algn vector
de entrada, se anota con X el valor que corresponde a tales vectores de entrada. El
101 1 1 smbolo X (dont care) expresa que es indiferente el valor que la funcin pueda tener y,
100 posteriormente, se utiliza en lugar de X el valor 0 o el valor 1 segn interese en el proceso
de simplificacin.
y = D.B.A
2. Funciones booleanas 53 54 Electrnica D igital

Consideremos las nueve cifras decimales codificadas en binario (cdigo BCD) y la Se indica con la notacin c+ el acarreo resultante de la suma y con c- el acarreo
misma funcin booleana "ser nmero primo" aplicada a ellas. anterior, que participa como sumando; la tabla funcional ser la siguiente:
El nmero binario para representar las cifras decimales, 0 - 9, ha de disponer de 4 c- b a suma: s acarreo: c+
dgitos dcba; son nmeros primos las siguientes cifras: 1, 2, 3, 5 y 7. El mapa de 0 0 0 0 0
Karnaugh correspondiente a la funcin que determina si una cifra decimal BCD es 0 0 1 1 0
nmero primo o no ser el siguiente:
0 1 0 1 0
BA
0 1 1 0 1
DC 00 01 11 10 1 0 0 1 0
00 0 1 1 1 1 0 1 0 1
01 0 1 1 0 1 1 0 0 1
1 1 1 1 1
11 X X X X
10 0 0 X X s = c - .(b.a + b.a) + c - .(b.a + b.a) = c- .(b a) + c - .(b a) =
suma:
El smbolo X en un cuadro indica que resulta indiferente el valor booleano que = c - .(b a) + c- .(b a) = c - (b a)
adopte la funcin para el correspondiente vector de entrada; en este caso ello es debido a
que no van a presentarse entradas con valor decimal superior a 9. c + = c- .b.a + c- .(b.a + b.a + b.a) = b.a + c- .(b.a + b.a) =
arrastre:
Los cuadros con valor X son tomados como 1 o como 0 segn interese a efectos = b.a + c - .(b a) = (b a) [c - (b a)]
simplificativos. De esta forma podemos agrupar los cuadros con valor 1 en dos
cuadrados (asignando valor 1 a los dos cuadros con valor X de la ltima fila), cuyos Para configurar estas funciones se requieren 3 puertas "y-negada" y 2 puertas
trminos producto son, respectivamente: "o-exclusiva" conectadas segn la figura siguiente:
a
y = d.a + c.b = d.a + c.b = (d.a) . (c.b) = (d a) (c b) b s

2.3. Ejercicios de sntesis y simplificacin de funciones booleanas c+


2.3.1. Expresar en forma de funciones booleanas la suma aritmtica de dos nmeros c-
binarios de varios dgitos
La suma aritmtica de dos bits requiere dos funciones booleanas, una para expresar el Si se desea utilizar nicamente puertas "y-negada" sern necesarias 11 puertas (ya
dgito resultante y la otra para el posible dgito de acarreo o arrastre (carry): que una puerta "o-exclusiva" puede configurarse con 4 puertas "y-negada").
1+1 = 10 ; resultado 0 y me llevo 1. Conectando n de estas clulas sumadoras en cadena (salida c+ unida a entrada c-
de la celda siguiente) se obtendr un sumador de dos nmeros de n dgitos.
Para configurar un sumador de nmeros de varios dgitos, podemos proceder
modularmente, empleando una celda para cada dgito: dicha celda ha de tener, adems de S4 S3 S2 S1 S0
las entradas correspondientes a los dos dgitos de ambos nmeros, una entrada adicional
de acarreo que reciba el arrastre (me llevo) resultante de la suma de los dgitos anteriores.
a c+ C.S. C.S. C.S. C.S.

b C.S.
Clula Sumadora s
c- A3 B3 A2 B2 A1 B1 A0 B0 0
2. Funciones booleanas 55 56 Electrnica D igital

2.3.2. Sean dos nmeros binarios de dos dgitos; deducir las tres funciones que realizan 2.3.3. Sean dos nmeros binarios de tres dgitos; expresar la funcin booleana que
la comparacin entre ambos nmeros (mayor, menor e igual), expresndolas corresponde a A B y generalizarla para nmeros de 5 dgitos
mediante operaciones "y-negada" (Nand) e inversores
Sean los dos nmeros: a2a1a0 y b2b1b0; A ser menor o igual que B
Sean los dos nmeros: a1a0 y b1b0; la forma sistemtica de sintetizar las funciones
- si el dgito ms significativo de A a2 es 0 y el de B b2 es 1
de comparacin entre ellos requiere escribir la tabla de verdad de las tres funciones, pero
resulta ms sencillo acudir a un razonamiento directo: - o tambin, si dichos dgitos son iguales y el siguiente dgito de A a1 es 0
- para comparar dos nmeros hay que comenzar por la cifra ms significativa y, en y el de B b1 es 1
el caso de que ambos dgitos sean iguales, irse desplazando hacia la derecha - o tambin, si son iguales a2 y b2 y, tambin, a1 y b1 y, adems, el dgito
efectuando la comparacin cifra a cifra de las unidades de A a0 es 0 y el de B b0 es 1 o bien son iguales a0 y b0.
- dos dgitos son iguales cuando ambos valen 0 o ambos valen 1: a.b + a.b .
[ ]
y = a 2 .b 2 + (a 2 .b 2 + a 2 .b 2 ). a 1.b1 + (a 1.b1 + a 1.b1 ).(a 0 .b 0 + a 0 .b 0 + a 0 .b 0 ) =
= a 2 .b 2 + (a 2 .b 2 + a 2 .b 2 ).[a 1.b1 + (a 1.b1 + a 1.b1 ).(a 0 + b 0 )]
Los dos nmeros propuestos sern iguales cuando tengan iguales su primer y su
segundo dgito:
y1 = (a1.b1 + a1.b1).(a 0 .b 0 + a 0 .b 0 ) = [(a1 b1 ) (a1 b1)] [(a 0 b0 ) (a 0 b0 )] La expresin anterior se puede simplificar, aplicando el teorema de absorcin:

[ ]
funcin que requiere 7 puertas "y-negada" y 5 inversores.
y = a 2 .b 2 + (a 2 + b 2 ). a 1.b1 + (a 1 + b1 ).(a 0 + b 0 )
El nmero A ser mayor que el B en caso de que el dgito a1 sea 1 y el b1 sea 0, o
tambin en caso de que, siendo ambos dgitos iguales, a0 tenga valor 1 y b0 sea 0: Y su generalizacin para nmeros de cinco dgitos, a4a3a2a1a0 y b4b3b2b1b0, es
y 2 = a1.b1 + (a1.b1 + a1.b1).(a 0 .b 0 ) = (a1 b1 ) [((a1 b1 ) (a1 b1)) (a0 b0 )] directa:

funcin que necesita otras 7 puertas "y-negada" y otros 5 inversores, pero 3 de las puertas { { [
a 4 .b 4 + (a 4 + b 4 ). a 3 .b 3 + (a 3 + b 3 ). a 2 .b 2 + (a 2 + b 2 ). a 1.b1 + (a 1 + b1 ).(a 0 + b 0 ) ]}}
y 4 inversores coinciden con puertas utilizadas en la funcin anterior.
A <B
B1
De la misma forma esta funcin puede generalizarse para nmeros de ms dgitos.
A1

2.3.4. El Concejo Municipal de una localidad pequea est formado por un alcalde con
dos votos, un secretario con otros dos votos y tres delegados de barrio con un voto
B0
A = B cada uno. Los acuerdos se toman por mayora simple, pero el voto en contra
A0 simultneo de los tres delegados supone un veto al acuerdo. Sintetizar y simplificar
la funcin booleana que expresa el resultado de las votaciones
Dada la complejidad de la funcin (32 vectores de entrada) y para obtener su
expresin simplificada, se expresa la tabla de verdad directamente en forma de mapa de
Karnaugh:
A >B

d1 d2 d3
as 000 001 011 010 110 111 101 100
La funcin A < B ha sido construida a partir de las dos anteriores (A=B y A>B):
dicha funcin debe adoptar el valor 1 cuando las otras dos valgan 0 (es decir cuando no
00 0 0 0 0 0 0 0 0
sea ni A=B ni A>B): y 3 = y1.y 2 = y1 + y2 = y1y2 = y1 y2 01 0 0 1 0 1 1 1 0
11 0 1 1 1 1 1 1 1
Se necesitan en total 12 puertas "y-negada" (Nand) y 8 inversores.
10 0 0 1 0 1 1 1 0
2. Funciones booleanas 57 58 Electrnica D igital

En el anterior mapa de Karnaugh todos los cuadrados con valor 1 pueden agruparse 2.3.6. Sea la funcin booleana siguiente, expresada en forma de suma de productos;
de 4 en 4 y as resultan los siguientes trminos producto, comenzando de arriba hacia obtener la expresin algebraica de dicha funcin en forma de producto de sumas
abajo y de izquierda a derecha:
y = d.c.b + d.b.a + d.c.b + d.b.a
y = s.d 2 .d3 + a.s.d1 + a.s.d 2 + a.d 2 .d3 + s.d1.d2 + a.d1.d2 + s.d1.d3 + a.d1 .d3 + a.s.d3
Se trata, en primer lugar, de obtener el mapa de Karnaugh de dicha funcin; para ello
tomamos cada trmino producto, identificamos las casillas que le corresponden y
y agrupando trminos anlogos:
anotamos en ellas el valor 1:
y = s.(d 2 .d3 + d1.d2 + d1.d3 ) + a.s.(d1 + d2 + d3 ) + a.(d 2 .d3 + d1.d 2 + d1.d 3) =
- al trmino d.c.b le corresponden las dos casillas en que d = 0, c = 0 y b = 0,
= a.s.(d1 + d 2 + d 3) + (s + a).(d 2 .d3 + d1.d 2 + d1.d 3 ) es decir, las dos primeras casillas horizontales del mapa;
Solucin a la que podra haberse llegado por simple razonamiento directo: - al trmino d.b.a le corresponden las dos casillas en que d =0, b = 0 y a = 0,
Se aprobar un acuerdo cuando voten a favor el alcalde y el secretario y uno cualquiera es decir, las dos primeras casillas verticales;
de los delegados, o tambin cuando lo hagan el alcalde o el secretario y dos delegados. - al trmino d.c.b le corresponden las dos casillas en que d = 1, c = 0 y b = 1,
Esta frase constituye la lectura en lgica proposicional de la funcin anterior. es decir, las dos ltimas casillas horizontales del mapa;
- al trmino d.b.a le corresponden las dos casillas en que d = 1, b = 1 y a = 0,
2.3.5. En una instalacin se controla la presin, la temperatura y la intensidad elctrica
es decir, las dos ltimas casillas verticales del mapa.
consumida, de forma que debe activarse una alarma cuando alguno de estos
parmetros sobrepase un valor lmite detectado por un transductor con salida Se completa el mapa de Karnaugh con ceros en las casillas vacas, resultando el de
digital ("1" por encima de dicho valor y "0" por debajo). Se controla tambin la la figura siguiente:
tensin que alimenta la instalacin, de forma que la alarma tambin se active
cuando sta sea inferior a un valor mnimo. Construir la funcin booleana que ba
debe accionar la alarma dc 00 01 11 10
TP 00 1 1 0 0
VI 00 01 11 10 01 1 0 0 0
00 1 1 1 1 11 0 0 0 1
01 1 1 1 1 10 0 0 1 1
11 1 1 1 1 Los ceros pueden ser agrupados en 3 cuadrados, que dan lugar a una expresin
10 0 1 1 1 algebraica en forma de producto de sumas ms reducida que la expresin inicial en suma
de productos:
El mapa de Karnaugh de esta funcin est completamente cubierto por el valor 1
salvo en una posicin; por ello, resulta ms apropiada la sntesis de la funcin por y = (d + b).(d + b).(c + a )
trminos mximos, pues solamente es preciso recoger uno de ellos.
"alarma" = V + I + T + P
es decir, la alarma suena cuando la tensin est por debajo del valor umbral o cuando la
intensidad, la temperatura o la presin estn por encima del valor lmite.
2. Funciones booleanas 59 60 Electrnica D igital

2.3.7. La combinacin ganadora de la primitiva del jueves da 23 de enero de 2003 2.3.8. Se desea controlar una lmpara mediante tres interruptores conmutados, de forma
puede expresarse mediante la funcin booleana siguiente; cules son los nmeros que actuando sobre cualquiera de ellos se pueda cambiar el estado de la lmpara.
que forman dicha combinacin ganadora escritos en base 10 (decimal)? Determinar la funcin booleana necesaria
y = (f + d + c).(f + d + b).(f + d + c).(c + b + a ). Suponemos que con todos los interruptores en la posicin 0 la lmpara est apagada, si
pasa uno cualquiera de ellos a la posicin 1 la lmpara se enciende, si son dos los que
.(e + d).(e + b).(d + a ).(b + a )
pasan a posicin 1 la lmpara se apaga y, finalmente, con los tres interruptores en
Recurdese que la lotera primitiva utiliza los nmeros del 1 al 49 y deben posicin 1 la lmpara se encontrar encendida.
seleccionarse 6 de dichos nmeros para formar una combinacin; a estos efectos, el C B A luz
nmero 0 y los nmeros superiores a 49 no interesan (valor X).
0 0 0 0
Se trata de obtener la tabla de dicha funcin para seleccionar sobre ella los vectores
de entrada que hacen la funcin igual a 1; la forma ms rpida de obtener dicha tabla 0 0 1 1 y = c.b.a + c.b.a + c.b.a + c.b.a
funcional consiste en rellenar el correspondiente mapa de Karnaugh, a partir de los 0 1 0 1
trminos suma de la funcin (las casillas que corresponden a estos vectores suma deben
tener valor 0, la casilla 0 y las superiores a 49 deben tener valor X y el resto valor 1). 1 0 0 1
0 1 1 0 = c.(b.a + b.a) + c.(b.a + b.a)
1 0 1 0
CBA
1 1 0 0
FED 000 001 011 010 110 111 101 100
1 1 1 1 = c (b a)
000 X 0 0 0 0 0 0 0
La funcin anterior puede realizarse con interruptores mecnicos en la forma que se
001 0 0 0 0 1 0 1 0
indica en la siguiente figura:
011 0 0 0 0 1 0 0 0
010 0 0 1 0 0 0 0 0
B

110 0 0 X X X X X X A C
111 X X X X X X X X
A B
101 0 0 1 1 0 0 0 0
A
100 0 0 0 0 0 0 0 0
B
Los vectores de entrada correspondientes a casillas con valor 1 son los siguientes:
en la que el conmutador C se encuentra en su posicin afirmada y negarlo significa
001101 001110 010011 011110 101010 101011 efectuar un giro de 90 sobre su centro. Obsrvese que los interruptores de los extremos A
y B son del tipo de interruptores conmutados considerados en el tema anterior (I.3.3
nmeros binarios que, expresados en base 10, corresponden a los siguientes nmeros lgebra de Conmutadores), mientras que el interruptor intermedio C realiza una
decimales: conmutacin del tipo conexin paralela - conexin cruzada:
13 14 19 30 42 43 - conecta A - B y A - B en una posicin y A - B y A - B en la otra.
Este esquema de interruptores conmutados es ampliable a n interruptores, siendo los
de los extremos de tipo simple A, B y los n-2 intermedios del tipo complejo C.
2. Funciones booleanas 61 62 Electrnica D igital

2.4. Decodificadores y multiplexores; otras formas de configurar funciones En un decodificador estn presentes todos los trminos mnimos de sus entradas; para
construir una funcin booleana de tales entradas, segn su forma cannica, bastar reunir
Sean tres variables de entrada; podemos construir todos sus trminos mnimos: sobre una puerta "o" los trminos mnimos que corresponden a valor 1 en la tabla de la
bastarn para ello 8 puertas "y" de 3 entradas y 3 inversores. funcin, es decir, llevar a una puerta "o" las salidas del decodificador que corresponden a
000
vectores de entrada que activan la funcin (dan resultado 1).

001 Por ejemplo, para construir de esta forma la funcin "ser nmero primo" de 4
dgitos utilizaremos un decodificador de 4 lneas de control seguido de una puerta "o"
010 que recibe aquellas salidas con valor 1 en la tabla de verdad de la funcin: las
correspondientes a los nmeros primos 1, 2, 3, 5, 7, 11 y 13.
011
Tabla funcional
100 dcba y 0000
D 0001
101 0000 0 E 0010
0001 1 <- C 0011
110 0010 1 <- O 0100
0011 1 <- 0101 y
D 0110
111
0100 0 I 0111
0101 1 <- F 1000
0110 0 I 1001
C B A 0111 1 <- C 1010
1000 0 A 1011
Este bloque digital, cuyas salidas corresponden a los diversos trminos mnimos 1001 0 1100
D
de sus entradas, recibe el nombre de decodificador; tal denominacin se debe a que 1010 0 O
1101
decodifica un nmero binario de m dgitos sobre 2m lneas, de forma que para cada 101 1 1 <- 1110
R 1111
nmero o vector de entrada activa una salida diferente. 1100 0
1101 1 <-
Un decodificador es un bloque digital con m lneas de entrada y 2m lneas de salida 1110 0
que corresponden a los 2m posibles vectores de entrada (nmeros binarios de m bits): la 1111 0 d c b a
lnea de salida correspondiente al nmero binario establecido en las entradas se encontrar
a 1 y el resto de lneas de salida estar a 0.

000 As como el decodificador selecciona una de entre sus 2m lneas de salida, un


C 001 multiplexor es un bloque digital que selecciona una de entre 2m lneas de entrada; para
010 ello dispone de m lneas de control y en cada momento el nmero binario establecido en
B 011 ellas determina la lnea de entrada que queda conectada a la salida.
100 Para seleccionar cada lnea de entrada por su nmero binario bastar realizar la
101
A 110 operacin "y" entre la lnea de entrada y el trmino mnimo que corresponde a dicho
111 nmero binario; una posterior operacin "o" en la salida recoger el resultado de dicha
seleccin (recibir las salidas de las citadas puertas "y").
La figura anterior representa un decodificador de 3 lneas de entrada: en cada
momento el nmero binario presente en ellas determina cul de las 8 lneas de salida se
encuentra activada (valor booleano 1).
2. Funciones booleanas 63 64 Electrnica D igital

La figura siguiente representa un multiplexor de 4 lneas de entrada y 2 de control; en En el ejemplo de la funcin "ser nmero primo" de 4 dgitos, para construirla con
cada momento el nmero binario presente en las entradas de control determina cul de las un multiplexor de 4 lneas de control, conectaremos a 1 las lneas de entrada del
4 lneas de entrada se encuentra conectada con la salida. multiplexor que presentan tal valor en la tabla de verdad de la funcin (las
correspondientes a los nmeros primos 1, 2, 3, 5, 7, 11 y 13); el resto de las lneas de
0 entrada se conectarn a 0.
1 Tabla funcional
Mux. salida
2 dcba y
0
3 0000 0 1
0001 1 <- 1
B A 0010 1 <- 1
0011 1 <- 0
0100 0 1
0
La funcin booleana que corresponde a este multiplexor es la siguiente: 0101 1 <-
1
0110 0 mux y
y = L 0 .B.A + L1 .B.A + L 2 .B.A + L 3 .B.A 0111 1 <-
0
0
que puede construirse con puertas "y-negada" (Nand) en la siguiente forma: 1000 0 0
[ ( ) ( ) ( )
y = Nand Nand L 0 , B, A , Nand L1 , B, A , Nand L 2 , B, A , Nand(L 3 , B, A ) . ] 1001
1010
0
0
1
0
101 1 1 <- 1
lnea 0 1100 0 0
1101 1 <- 0
lnea 1
1110 0
1111 0
d c b a
salida
lnea 2

lnea 3

B A
Decodificadores y multiplexores son selectores de lnea:
Para construir una funcin booleana utilizando un multiplexor bastar con fijar en sus - un decodificador activa una de entre n lneas de salida
lneas de entrada los valores de la tabla de verdad de la misma; de esta forma, las - y un multiplexor selecciona una de entre n lneas de entrada y la pone en
variables de control seleccionan sobre la propia tabla de la funcin el valor booleano que comunicacin con su lnea de salida.
le corresponde al vector de entrada.
Cada uno de ellos proporciona una forma de configurar una funcin de sus variables
Esta forma de configurar funciones booleanas mediante multiplexores, cuyas lneas de control:
de entrada reciben los valores de la tabla de verdad de la funcin, se denomina - la forma cannica a partir de un decodificador (suma de trminos mnimos m)
look-up-table (LUT): construccin tabular (mirar sobre su tabla). - la forma tabular sobre un multiplexor (look-up-table LUT).
Ambas formas de construir una funcin booleana no precisan de la expresin
algebraica de la misma; se obtienen directamente de su tabla funcional.

También podría gustarte