Está en la página 1de 14

5.

LÓGICA COMBINACIONAL

I TEORÍA
5.1 SIMPLIFICACIÓN DE FUNCIONES

Para ver la importancia que tiene la simplificación de funciones obtenga las funciones lógicas
de F1 y F2 con sus correspondientes tablas de verdad de los siguientes circuitos.

F2=

Si no ha cometido ningún error habrá llegado a la conclusión de que ambos circuitos son
equivalentes. Si hubiera que implementar esta función en la práctica nos decantaríamos por la
solución que necesite el menor número de circuitos integrados. Esto se consigue a partir de la
ecuación simplificada de una función lógica. En el ejemplo anterior F2 es la función
simplificada de F1.

Existen varios métodos para simplificar funciones entre los cuales podemos destacar el
algebraico, el gráfico de Karnaugh o el numérico de Mc Clouskey [Mandado 3.2.2]
[CD_Enlace_04_1]. A continuación trataremos los dos primeros.
48
5.1.1 MÉTODO ALGEBRAICO

Para la simplificación por este método no sólo bastará con conocer todas las propiedades y
teoremas del álgebra de Boole, además se debe desarrollar una cierta habilidad lógico-
matemática.

Comencemos simplificando la siguiente función:

F = A’C’ + ABC + BC’ + A’B’C + A’BC

Observando cada uno de los sumando podemos ver que hay factores comunes en los
sumandos 2º con 5º y 4 con 5º que conllevan simplificación. Luego

F = A’C’ + BC’ + BC(A + A’) + A’C(B + B’)

Note que el término 5º se ha tomado dos veces, de acuerdo con el Teorema 2 visto en el Tema
2 ( A + A = A). Aplicando las propiedades 3ª y 4ª (punto 1 del Tema 2), nos queda

F = A’C’ + BC’ + BC + A’C

Repitiendo nuevamente el proceso,

F = A’( C’ + C) + B( C’ + C) = A’ + B

Puede que esta simplificación no le haya resultado complicada, sin embargo esto no es
siempre así. Antes de seguir leyendo, intente simplificar la función F1 del punto anterior para
obtener F2.

¿Ha llegado fácilmente a la solución? Si es así, es porque dispone de esa habilidad lógico-
matemática de la que hablábamos más arriba. Si no llegó a ella no desespere, si no posee
dicha habilidad innata, la puede conseguir con la práctica. Veamos cómo llegar a la solución:

F1 = A’B’ + A’BC’ + AB’ = B’(A’ + A) + A’(B’ + BC’) = B’ + A’(B’ + BC’)

Centrémonos ahora en el paréntesis

B’ + BC’ = B’(C + C’) + BC’ = B’C + B’C’ + BC’ = B’(C + C’) + C’( B’ + B) = B’ + C’

Y sustituyendo,

F1 = B’ + A’(B’ + C’) = B’ + A’B’ + A’C’ = B’(1 + A’) + A’C’ = B’ + A’C’ = F2

Como puede apreciar, el método algebraico no resulta cómodo y lo que es peor, una vez
simplificada una ecuación nos pueden quedar serias dudas de si hemos conseguido
simplificarla al máximo. El método gráfico nos resolverá estos inconvenientes.

5.1.2 MÉTODO DE KARNAUGH

Este método consiste en formar diagramas de 2n cuadros, siendo n el número de variables,


dispuestos de tal forma que se puede pasar de un cuadro a otro en las direcciones horizontal o
vertical, cambiando únicamente una variable, ya sea en forma negada o directa.
49
A continuación pueden observarse los diagramas, también llamados mapas de Karnaugh, para
dos, tres y cuatro variables (para un número superior se utilizan otros métodos como el
numérico).

Es una práctica común numerar cada celda con el número decimal correspondiente al término
canónico que albergue, para facilitar el trabajo a la hora de plasmar una función canónica.

Para simplificar una función lógica por el método de Karnaugh se seguirán los siguientes
pasos:

1º) Se dibuja el diagrama correspondiente al número de variables de la función a simplificar.

2º) Se coloca un 1 en los cuadros correspondientes a los términos canónicos que forman parte
de la función.

3º) Se agrupan mediante lazos los unos de casillas adyacentes siguiendo estrictamente las
siguientes reglas:

a) Dos casillas son adyacentes cuando se diferencian únicamente en el estado de una


sola variable.

b) Cada lazo debe contener el mayor número de unos posible, siempre que dicho
número sea potencia de dos (1, 2, 4, etc.)

c) Los lazos pueden quedar superpuestos y no importa que haya cuadrículas que
pertenezcan a dos o más lazos diferentes.

d) Se debe tratar de conseguir el menor número de lazos con el mayor número de


unos posible.

4º) La función simplificada tendrá tantos términos como lazos posea el diagrama. Cada
término se obtiene eliminando la o las variables que cambien de estado en el mismo lazo.

Para aclarar todo esto vamos a realizar dos simplificaciones de una misma función a partir de
sus dos formas canónicas:

F = 3(0,2,3,4,7) = 3(1,2,6)

De acuerdo con los pasos vistos anteriormente, el diagrama de cada función quedará del
siguiente modo:

50
Lazo 1

Lazo 2 Lazo 3

La función simplificada tendrá tres sumandos en un caso y dos productos en el otro. Si nos
fijamos en el mapa correspondiente a la suma de productos, observamos que en el lazo 1
cambia la variable A (en la celda 0 es negada y en la 4 directa), en el lazo 2 es la C y en el lazo
3 vuelve a ser A. por lo tanto, la ecuación simplificada es:

F = B’C’ + A’B + BC

Razonando de modo similar en el mapa de productos de sumas, nos quedará:

F = (B + C’)(A’ + B’ + C)

5.2 FUNCIONES INCOMPLETAS

Hasta ahora todas las funciones estudiadas tienes definido un valor lógico, 0 ó 1, para cada
una de las posibles combinaciones. Estas funciones se denominan completas o totalmente
definidas. También existen funciones con una o varias combinaciones no definidas, llamadas
funciones incompletas. Esta situación puede deberse por las dos causas siguientes:

1ª) Hay combinaciones de entrada que no existen, por lo que a la salida se le puede asignar
indistintamente el valor 0 o el 1.

2ª) En ciertas combinaciones de entrada la salida del sistema lógico está inhibida, siendo por
lo tanto su valor indiferente.

En la tabla de verdad de una función incompleta, los términos indiferentes se designan


mediante una equis (X). En cuanto a la forma canónica se separan los términos definidos de
los que no lo son (indicados mediante el símbolo ).

A la hora de simplificar una función incompleta, los términos indiferentes servirán como
“comodines” a la hora de tomar lo lazos, esto es, si nos interesa que sea un 1 porque así el
lazo es mayor, lo tomaremos como 1, y en caso contrario como 0.

Veamos a continuación un ejemplo que aclare todo lo anterior. Partiremos de la siguiente


tabla de verdad:

51
D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
F 1 0 0 X 1 0 1 1 X 1 0 0 1 X 1 X

Sus funciones canónicas son las siguientes:

F = 4 (0,4,6,7,9,12,14) +  (3,8,13,15) = 4 (4,5,10,13,14)  (0,2,7,12)

Como ejercicio pruebe a pasar de una función canónica a otra a partir de la ecuación de
equivalencia vista en el Tema 2.

Por último simplifiquemos a partir de la suma de productos (la simplificación a partir de


productos de suma se deja a cargo del alumno). Observe el mapa de Karnaugh y cómo se han
tomado los lazos para conseguir una mayor simplificación.

La función simplificada resulta ser:

F = C’D’ + AC’ + BC

Y la solución en productos de suma:

F = (B + C’)(A + C + D’)

5.3 IMPLEMENTACIÓN DE FUNCIONES

Una vez simplificada una función que se vaya a utilizar en la práctica deberemos estudiar los
elementos físicos con la que realizarla. Los elementos físicos serán por lo general circuitos
integrados, aunque puntualmente podremos utilizar elementos discretos si fuera necesario. El
objetivo a perseguir será el de implementar la función lógica con el mínimo número de
elementos físicos que cumplan con las necesidades planteadas.

A continuación veremos distintas formas de implementar una función.

5.3.1 MONTAJE CON PUERTAS UNIVERSALES

Generalmente una función simplificada se podrá realizar con puertas AND, OR y NOT, pero
esto conlleva a tener que utilizar tres tipos de circuitos integrados aumentando el número de
elementos a utilizar. Las puertas NAND y NOR tienen la particularidad de poder realizar
cualquier tipo de función, de ahí su nombre de universales, y ello permite a veces reducir el
número de elementos a utilizar para implementar una función.

Para realizar una función lógica, una vez simplificada, con puertas universales se seguirán los
siguientes pasos:

1º) Se aplica una doble negación a toda la función, con lo que no varía.

52
2º) Se eliminan las sumas, si se desea implementar con NAND, o los productos, si se desea
implementar con NOR, aplicando el teorema de De Morgan..

3º) Si aún quedan sumas o productos, se aplican a cada una de ellas una doble negación para
aplicar nuevamente el teorema de De Morgan..

Como ejemplo vamos a trabajar con la función simplificada del punto anterior:

F = C’D’ + AC’ + BC

Una implementación directa con circuitos TTL o CMOS nos obliga a utilizar tres IC’s. A
continuación podemos ver el esquema con circuitos TTL.
A B C D

IC1
1 2
1
3 4

5 6

9 8

11 10
IC2
13 12 1 IC3
&
2 3 1
1
7404 2 3
4
5 6 4
5 6
F
9
10 8 9
10 8
12
13 11 12
13 11
7408
7432

Con CMOS podríamos haber utilizado los circuitos 4069 (seis inversores), 4081 (cuatro
puertas AND de dos entradas y 4075 (tres puertas OR de tres entradas).

Veamos implementando con puertas NAND si conseguimos hacer el mismo circuito con
menos dispositivos. Damos una doble negación a las funciones simplificadas y eliminamos las
sumas:

F = (C’D’ + AC’ + BC)’’ = [(C’D’)’(AC’)’(BC)’]’

F = [(B + C’)(A + C + D’)]’’ = [[(B + C’)]’’[(A + C + D’)]’’]’’ = [(B’C)’(A’C’D)’]’’

Podemos observar que en ambos casos podemos obtener la función con dos IC’s, el 7400 y el
7410 en TTL, o el 4011 y el 4013 en CMOS, con cuatro puertas de dos entradas y tres puertas
de tres entradas respectivamente en cada tecnología. También es posible obtener ambas
funciones con dos elementos con NAND de dos entradas. A continuación podemos ver en el
circuito correspondiente a la primera implementación que deberá intentar razonar.

53
Puede practicar obteniendo el circuito con puertas NOR. En la práctica se montará la solución
válida más económica.

5.3.2 MONTAJE AND POR CONEXIÓN

En el tema anterior vimos que las puertas con salida en colector (o drenador) abierto pueden
utilizarse para realizar el montaje AND por conexión. Con ello podemos conseguir ahorrar
puertas AND que puede que nos lleve a una solución con un menor número de IC’s.

Sea por ejemplo la siguiente función y su simplificación:

F = 4 (3,4,5,6,7,11,15) = A’B + CD

Si damos una doble inversión y aplicamos el teorema de De Morgan, nos quedará:

F = (A’B + CD)’’ = [(A’B)’(CD)’]’

Y podremos implementarla con un solo elemento como el 7401, según podemos ver en el
siguiente esquema.

54
5.3.3 MONTAJE CON PUERTAS X-OR

La utilización de puertas X-OR de dos entradas permite a veces reducir el número total de
puertas para la implementación de una función lógica.

Cuando en un mapa de Karnaugh aparecen varios unos formando diagonales podemos probar
con los mapas para simplificación con X-OR. A continuación se ofrecen los mapas para tres y
cuatro variables (observe las diferencias con los de Karnaugh).

A continuación se ofrecen cuatro ejemplos con la función resultante.

A B CD

( A  B )(C  D) ( A  B)C

5.4 RESOLUCIÓN DE PROBLEMAS LÓGICOS

A la hora de resolver un problema de lógica combinacional seguiremos, en general, los


siguientes pasos:

1º) Formación de la tabla de verdad a partir del enunciado del problema.

55
2º) Simplificación de la función o funciones.

3º) Implementación con el menor número de elementos físicos o con el menor costo.

4º) Representación del esquema y comprobación del funcionamiento.

Veamos a continuación un ejemplo: El motor de una prensa, MP, se pone en marcha mediante
la actuación simultánea de tres pulsadores, A, B y C. Si se pulsan solamente dos cualesquiera,
la prensa funcionará pero se activará una lámpara, L, de manipulación incorrecta. Si se pulsa
un solo dispositivo, también se encenderá la lámpara pero no deberá activarse la prensa.
Diseñar el sistema de control.

1º) De acuerdo con el enunciado del problema tenemos la siguiente tabla de verdad:

A 0 0 0 0 1 1 1 1
B 0 0 1 1 0 0 1 1
C 0 1 0 1 0 1 0 1
MP 0 0 0 1 0 1 1 1
L 0 1 1 1 1 1 1 0

Que se corresponde con las siguientes funciones canónicas:

MP = 3 (3,5,6,7) = 3 (3,5,6,7)
L = 3 (1,2,3,4,5,6) = 3 (0,7)

2º) Aplicando Karnaugh obtenemos las siguientes funciones simplificadas

MP = AB + AC + BC = (A + B)(A + C)(B + C)
L = BC’ + A’C + AB’ = (A’ + B’ + C’)(A + B + C)

3º) Realicemos ahora un estudio para ver cómo implementar las funciones con el menor
número de elementos. El número que se indica entre paréntesis tras una puerta indica su
número de entradas.

a) Implementación directa con suma de productos

Puertas necesarias:

MP = AB + AC + BC => 3 AND(2) + 1 OR(3)


L = BC’ + A’C + AB’ => 3 AND(2) + 3 NOT + 1 OR(3)

Circuitos necesarios:

2 AND(2) + 1 NOT + 1 OR(3) => TTL: 7408 x 2 – 7404 – 7432


CMOS: 4081 x 2 – 4069 – 4075

NOTA: Al no disponerse de OR de 3 entradas en TTL se deben implementar con dos OR de 2


entradas del circuito 7432.

b) Implementación directa con productos de sumas


56
Puertas necesarias:

MP = (A + B)(A + C)(B + C)=> 2 AND(2) + 3 OR(2)


L = (A’ + B’ + C’)(A + B + C) => 1 AND(2) + 3 NOT + 2 OR(3)

Circuitos necesarios:

1 AND(2)+1 NOT +1 OR(2)+1 OR(3) => TTL: 7408 – 7404 – 7432 x 2


CMOS: 4081 – 4069 – 4071 – 4075

c) Implementación con puertas NAND

Puertas necesarias:

MP = [(AB)’(AC)’(BC)’]’ => 3 NAND(2) + 1 NAND(3)


L = [(BC’)’(A’C)’(AB’)’]’ => 6 NAND(2) + 1 NAND(3)

Circuitos necesarios:

2 NAND(2) + 1 NAND(3) => TTL: 7400 x 2 – 7410


CMOS: 4011 x 2 – 4013

d) Implementación con puertas NOR

Puertas necesarias:

MP = [(A + B)’ + (A + C)’ + (B + C)’]’ => 3 NOR(2) + 1 NOR(3)


L = [(A’ + B’ + C’)’ + (A + B + C)’]’ => 4 NOR(2) + 2 NOR(3)

Circuitos necesarios:

2 NOR(2)+1 NOR(3) => TTL: 7402 x 2 – 7427


CMOS: 4001 x 2 – 4025

e) Implementación mediante AND por conexión

NAND OC
Puertas necesarias:

MP = [(AB)’(AC)’(BC)’]’ => 4 NAND(2) OC


L = [(BC’)’(A’C)’(AB’)’]’ => 7 NAND(2) OC)

Circuitos necesarios: 7401 X 3

NOR OC
Puertas necesarias:

MP = (A + B)’’(A + C)’’(B + C)’’ => 6 NOR(2) OC


L = [(A’ + B’)’’ + C’)]’’[(A + B)’’ + C)]’’ => 11 NOR(2) OC

57
Circuitos necesarios: 7433 X 5

1 NOR(2)+1 NOR(3) => TTL: 7402 – 7427


CMOS: 4001 – 4025

4º) De acuerdo con el estudio anterior las opciones c) y d) son las que implementarán la
función con menos elementos. A continuación se puede observar el esquema con puertas
NOR en tecnología CMOS.

II IMPROVE YOUR TECHNICAL ENGLISH

1 A logic problem: Voting System


As a practical example of the use of Boolean algebra design, suppose you are asked to design
the following voting system.

Three voters and one chairman1 can cast2 votes. The chairman is asked to throw3 a casting
vote if the three voters do not reach a unanimous decision. If the chairman votes “yes” he adds
1 to the total vote; if he votes “no” he subtracts 1 from the total vote. The vote is carried4, i. e.
the answer is “yes”, if 2 or 3 votes in total (including the chairman’s vote) are cast in its
favour, otherwise the vot is “no”.

58
The following truth table summarises all possible combinations of votes cast. The table is
divided into two parts. The first part shows the outcome when the chairman votes “no” and a
1 is subtracted from the total “yes” votes. The second part shows the outcome when the
chairman votes “yes” and a 1 is added from the total “yes” votes.

chairman’s voters total “yes” outcome


vote A B C D votes of vote
not asked 0 0 0 0 0
0 0 0 1 0 0
0 0 1 0 0 0
0 0 1 1 1 0
0 1 0 0 0 0
0 1 0 1 1 0
0 1 1 0 1 0
not asked 1 1 1 3 1
not asked 0 0 0 0 0
1 0 0 1 2 1
1 0 1 0 2 1
1 0 1 1 3 1
1 1 0 0 2 1
1 1 0 1 3 1
1 1 1 0 3 1
not asked 1 1 1 3 1

1) presidente 2) emitir 3) aprobado 4) llevado

2 Karnaugh Minimizer program


Boolean Algebra assistant program [K- Minimizer] is an interactive program extremely easy
to use. A must-have1 tool for the freshmen electrical engineering student.

The program is intended2 for the developers of small digital devices or simply of
radioamateurs, and as for those who is familiar with Boolean algebra, for the electrical
engineering students. The program allows to minimize Boolean function by a graphic method
of Karnaugh maps.

The given program is called to facilitate minimization of Boolean function by a method of


Karnaugh maps. The program has the simple and convenient interface, evident image of
received results of minimization. The program draws the so-called largest circle and displays
the prime implicant solution.

Program Features

 Shows output in either SOP(DNF) or POS(CNF) format


 Will find and eliminate redundant terms
 Will handle3 don't care conditions.
 Advanced minimization tool allow you to handle 4-23 variables.
 Convert boolean formula to VHDL or Verilog code.
 Formula => Schematic tool convert boolean formula to NAND or AND/OR
schematic.
 Supported European and USA gate systems.
59
 Allows you to click on a term in a given expression and view it on the map.
 The program will indicate the corresponding term with a fill cells.
 Draws 2 - 8 variable Karnaugh Map
 Simplifies expressions that you type in.
 Fill map with several ways:
Truth table
Sets
Boolean formula
 Multi lingual user interface. Now available: English ,Spanish, Italian , Russian, Dansk,
Portugues, Nederlands, Norsk, Czech and Magyar
 Allow to edit variables names to different than A,B,C... etc.
 Export Map to HTML table to easyer creation of synthesis reports.
 Automated creation of reports after analyze.

1) imprescindible 2) destinado 3) manejará

60
III PRÁCTICA Y EJERCICIOS

1. APARTADOS PRÁCTICOS
1. Obtenga razonadamente la función del siguiente circuito, simplifíquela e impleméntela con
el mínimo número de chips posible, probando su funcionamiento en la placa de pruebas.

2. Implemente con un solo chip y pruebe su funcionamiento en la placa de pruebas cada una
de las siguientes funciones lógicas:

F = 4 ( )

F = 4 ( )

3. Implemente con el mínimo número de chips posibles y pruebe su funcionamiento en la


placa de pruebas cada una de las siguientes funciones lógicas:

F = 4 ( )
F = 4 ( )

4. Diseñe el circuito “Voting System” del apartado “Improve your English” de modo que
pueda visualizarse el número total de votos junto con el resultado de la votación. Pruebe su
funcionamiento en el simulador digital.

2. EJERCICIOS
1. ¿Por qué son tan importantes las funciones NAND y NOR?

2. ¿Pueden conectarse entre sí las salidas de dos o más puertas lógicas? Razone la respuesta.

3. Diseñe una puerta lógica de dos entradas, A y B, y otras dos de control, C y D, de modo que
en función del valor de éstas últimas, 00, 01, 10 y 11, realice las funciones NOR, NAND, OR
y AND, respectivamente.

4. Diseñe mediante buffers triestado un sistema que permita transmitir datos por una línea en
modo bidireccional.

61

También podría gustarte