UNIDAD 2 FUNDAMENTOS LÓGICOS

Anuncio
UNIDAD 2 FUNDAMENTOS LÓGICOS
OBJETIVOS PARTICULARES DE LA UNIDAD
Al término de la unidad el alumno:
- Distinguirá los aspectos teóricos del álgebra booleana, su vinculación con
dispositivos eléctricos y las diferencias en representación de datos numéricos
concluyendo con ejemplos prácticos de aplicación
2.1
Fundamentos lógicos.
En todas las áreas de las actividades humanas, como son las comunicaciones,
electrodomésticos, entretenimiento, telefonía, transportes, medicina, internet,
etc. los sistemas digitales se encuentran presentes, en esta unidad se
estudiaran los fundamentos lógicos que soportan estos sistemas.
2.1.1 Sistemas numéricos y conversiones.
Una característica de los sistemas digitales es su capacidad para manipular
elementos discretos de información. Todo conjunto restringido a un número finito
de elementos contiene información discreta. Ejemplos de conjuntos discretos
son los 10 dígitos decimales, las 28 letras del alfabeto, y las 64 casillas de un
tablero de ajedrez.
En casi todos los sistemas digitales actuales, las señales que se manejan
emplean sólo dos valores discretos, por los que se les llama Binarios. Un digito
binario, se le llama Bit y este solo tiene dos valores: 0 y 1. Existe una
correspondencia entre los números binarios que son por así decir, los que
“entienden” los sistemas digitales y los números decimales que entendemos los
seres humanos.
Los números decimales se expresan en lo que se conoce como Sistema
numérico posicional porque los dígitos del 0 al 9 adquieren valor diferente de
acuerdo a la posición que ocupan en un numero decimal, por ejemplo el numero
N = 5278.36 representa una cantidad igual a 5 millares más 2 centenas más 7
decenas más 8 unidades con 3 décimas y 6 centésimas. Este número también
se puede expresar como:
N = 5278.36 =
5 x 103 + 2 x 102 + 7 x 101 +8 x 100 . 3 x10-1 + 6 x 10-2
Notación en la que se observa lo siguiente: Por convención el número N se
representa normalmente por los coeficientes y se deducen las potencias de 10
por la posición que ocupa cada coeficiente. La potencia se enumera a partir del
punto decimal de derecha a izquierda empezando con el numero 0 para los
números enteros, y para los decimales de izquierda a derecha a partir del punto
decimal empezando con el numero -1. Se dice que el sistema decimal es base
10 porque usa 10 dígitos, del 0 al 9, y los coeficientes se multiplican por
potencias de 10. Al sistema que tenga dos dígitos, 0 y 1, y sus coeficientes se
multipliquen por potencias de 2 se le llama sistema de base 2 o números
binarios, al sistema de 8 dígitos, de 0 al 7, y sus coeficientes se multipliquen por
potencias de 8 se le llama sistema de base 8 o números octales y así
sucesivamente. En la tabla 1 se muestran las equivalencias entre sistemas
numéricos de diferente base
TABLA 1. SISTEMAS DE NUMERACION EN DIFERENTES BASES
BASE 10
BASE 2
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111
10000
10001
10010
10011
10100
10101
10110
10111
11000
11001
11010
11011
11100
11101
11110
11111
100000
100001
100010
BASE 8
BASE 16
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
22
23
24
25
26
27
30
31
32
33
34
35
36
37
40
41
42
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10
11
12
13
14
15
16
17
18
19
1ª
1B
1C
1D
1E
1F
20
21
22
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
100011
100100
100101
100110
100111
101000
101001
101010
101011
101100
101101
101110
101111
110000
110001
110010
43
44
45
46
47
50
51
52
53
54
55
56
57
60
61
62
23
24
25
26
27
28
29
2ª
2B
2C
2D
2E
2F
30
31
32
Para distinguir entre números con diferente base, se encierran los coeficientes
en paréntesis y se añade un subíndice que indica la base empleada.
La conversión entre sistemas de base n a base 10 se efectúa como se muestra
en los ejemplos siguientes:
Ejemplo 1
Convertir ( 2403 )7 → (
)10
( 2403 )7 = 2x73 + 4x72 + 0x71 + 3x70 = 2x343 + 4x49 + 0x7 + 3x1 = (885)10
Ejemplo 2
Convertir (01 0011)2→ (
)10
(01 0011)2 = 1x24 + 0x23 + 0x22 +1x21 + 1x20 = 1x16 + 1x2 + 1x1 = (19)10
Ejemplo 3 Convertir el número con decimales ( 63.125 )8 → (
)10
Primero se convierte la parte entera
( 63 )8 = 6x81 + 3x80 = 48 + 3 = (51)10
En seguida la parte decimal
(0.125) = 1x8-1 + 2x8-2 + 5x8-3 = 1/8 + 1/64 + 1/512 = 0.1250 + .0156 + 0.0019
= 0.1425
Finalmente el numero se forma con la parte entera y la parte decimal
Por tanto ( 63.125)8 = (51.1425)10
Ejemplo 4
Convertir el decimal binario (0100.11)2 → (
1º la parte entera
)10
(100)2 =1x22 +0x21 + 0x20 . 1x2-1 + 1x2-2 = 1x4 + 0x 21+ 0x1 = 410
en seguida la parte decimal
( 0.11) = 1x2-1 + 1x2-2 = ½ + ¼ = 0.500 + 0.250 = 0.750
Finalmente el numero se forma con la parte entera y la parte decimal
Por tanto ( 0100.11)2 = (4.750)10
La conversión de base 10 a base n, se explica fácilmente con los siguientes
ejemplos:
Ejemplo 5 Convertir el numero entero 1910 a numero binario
(19)10 → (
)2
Solución
Se divide el entero 19 entre el número de base a la que se quiere convertir, en
este ejemplo es entre 2, a fin de obtener entero y residuo, de la siguiente forma:
19/2 = 9 y residuo 1
9/2 = 4 y residuo 1
4/2 = 2 y residuo 0
2/2 = 1 y residuo 0
½ = 0 y residuo 1
se divide hasta que el entero resultante es 0.
El numero binario se forma tomando los residuos en orden de abajo hacia arriba
por tanto (19)10 → (10011)2
Ejemplo 6 Convertir el numero entero 88510 a numero base 7
(885)10 → (
)7
Solución
Se divide el entero 885 entre el número de base a la que se quiere convertir, en
este ejemplo es entre 7, a fin de obtener entero y residuo, de la siguiente forma:
885/7 = 126
126/7 = 18
18/7 = 2
2/7 = 0
y
y
y
y
residuo
residuo
residuo
residuo
3
0
4
2
El numero base 7 se forma tomando los residuos en orden de abajo hacia arriba
por lo tanto (885)10 → (2403)7
Ejemplo 7 Convertir el numero decimal 0.53410 a numero base 2 con 8 Bits
(0.534)10 → (
)2
Solución
Como se trata de un número decimal, se multiplica por el número de base a la
que se quiere convertir, en este ejemplo es por 2, a fin de obtener entero y
decimal, de la siguiente forma:
0.534 x 2
0.068 x 2
0.136 x 2
0.272 x 2
=
=
=
=
1 . 068
0.136
0.272
0.544
entero
entero
entero
entero
1
0
0
0
0.544 x 2
0.088 x 2
0.176 x 2
0.352 x2
=
=
=
=
1.088
0.176
0.352
0.704
entero
entero
entero
entero
1
0
0
0
0.704 x 2 = 1.408
entero 1
Se termina de multiplicar en dos casos, cuando se obtenga decimal 0.0000 ó
cuando se tenga el numero de bits deseado. En este ejemplo a 8 bits.
El numero base 2 o binario se forma tomando los enteros en orden de arriba
hacia abajo
por tanto (0.534)10 → (1000 1000 )2 con 8 bits
Ejemplo 8 Convertir ( 13.1250)10 → (
(13)10 → (
)2
Parte entera
13/2 = 6 y residuo 1
6/2 = 3 y residuo 0
3/2 = 1 y residuo 1
)2 con 8 bits en la parte decimal.
½ = 0 y residuo 1
por tanto (13)10 → ( 1101 )2
Parte decimal ( 0.1250)2 → (
)2
0.125 x 2 = 0.250
0.250 x 2 = 0.500
0.500 x 2 = 1.000
0.000 x 2 = 0.000
entero
entero
entero
entero
0
0
1
0
0.000 x 2 = 0.000
0.000 x 2 = 0.000
0.000 x 2 = 0.000
0.000 x 2 = 0.000
entero
entero
entero
entero
0
0
0
0
por tanto ( 0.1250 )2 → ( 0.0010 0000 )2
Finalmente el numero se forma con la parte entera y la parte decimal
(13.1250)10 → ( 1101. 0010 0000 )2 con 8 bits en la parte decimal.
Números binarios con signo
La representación de números binarios con signo es particularmente importante
en los sistemas digitales, los números positivos se representan con el primer bit
a la extrema izquierda con 0 que representa el signo +, seguido por la magnitud.
Pero para los números binarios negativos se tienen tres formas diferentes de
representarlos. Se tiene un 1 a la extrema izquierda que representa el signo - ,
seguido de a).- la magnitud, b).- el complemento a 1 y c).- el complemento a 2
del numero binario por expresar.
Los números con signo que se pueden representar dependen de la cantidad de
bits que se emplean, en la tabla 2 se muestran los números binarios positivos y
negativos que se pueden representar con cuatro bits.
TABLA 2 Representación de números binarios positivos y negativos utilizando 4
bits
Decimal
-
8
7
6
5
4
3
2
Binario
Binario
Binario
Signo y
Complemento a1 Complemento a 2
magnitud
1 111
1 110
1 101
1 100
1 011
1 010
1 000
1 001
1 010
1 011
1 100
1 101
1 001
1 010
1 011
1 100
1 101
1 110
-
+
+
+
+
+
+
+
1
1 001
1 110
1 111
0
1 000
0 000
1 111
0 000
0 000
0 001
0 010
0 011
0 100
0 101
0 110
0 111
0 001
0 010
0 011
0 100
0 101
0 110
0 111
0 001
0 010
0 011
0 100
0 101
0 110
0 111
1
2
3
4
5
6
7
La representación de números binarios negativos la explicaremos con los
siguientes ejemplos.
Ejemplo 9 Representar el número (-17)10 en forma binaria con 8 bits, en las
formas a) signo y magnitud, b) complemento a 1 c) complemento a 2.
Solución
a) Representación de (-17)10 en forma binaria con signo y magnitud
La convención para representar el bit de signo es 0 para el “+” y 1 para el “ - ”
en los tres casos, según se puede observar en la tabla 2. Para la magnitud en
este caso basta con representarla con su valor en binario, esto es
(-17)10 → ( 1001 0001 )2
b) Representación de (-17)10 en forma binaria con complemento a 1 con 8 bits
La convención para representar el bit de signo es como ya se dijo: 0 para el “+” y
1 para el “ - ”. Para expresar la parte de magnitud negativa primero es necesario
tomar su complemento a 1.
El complemento a 1 de un numero se obtiene cambiando todos los “1” del
numero por “0” y los “0” por “1” Esto es
(17)10 → (0001 0001)2
Entonces el complemento a 1 de 0001 0001 es 1110 1110
Por lo tanto la Representación de (-17)10 en forma binaria con complemento a
1 y con 8 bits, es 1110 1110
c) Representación de (-17)10 en forma binaria con complemento a 2 y con 8
bits
Para expresar la parte de magnitud negativa primero es necesario tomar su
complemento a 2.
El complemento a 2 de un numero se obtiene tomando el complemento a 1 del
numero y después sumando 1 al resultado, esto es:
Numero a complementar a 2
Complemento a 1 es
Sumar 1
Complemento a 2
0001 0001
1110 1110
+1
1110 1111
Entonces la representación de (-17)10 en forma binaria con complemento a 2 y
con 8 bits es: 1110 1111
Operaciones de suma y resta con números binarios
La operación de suma binaria se puede realizar en base a la siguiente tabla
Tabla de suma con números binarios
+
0
1
0
0
1
1
1
10
En esta tabla el ultimo cuadro se debe leer en 1 +1 resultado 0 y acarreo 1, su
aplicación se muestra con los siguientes ejemplos:
Ejemplo 10 Sea M = 01011 y N = 00110 efectuar M+N
Solucion
M
0 1 11 01 1 1
 N + 0 0 1 10
Q = 1 0 0 01
Ejemplo 11 Sea A = 1110 0011 y B = 0010 1111 efectuar A+B
Solucion
A 0 1 1 1 01 01 01 11 1
 B +00 10 1 1 1 1
C =01 01 0 0 1 0
Resta de números binarios
La resta comúnmente se realiza usando el complemento a 1 o el complemento
a 2, la forma de hacerlo es similar en ambos métodos, al minuendo se le suma el
complemento que corresponda, teniendo cuidado en terminar la operación
dependiendo de si existe acarreo o no. Se ilustra con los siguientes ejemplos:
Ejemplo 12 Sea A= (100)2 y B = (10)2 realizar A – B usando complemento a
1.
Solución: En primer termino los números binarios se deben tener en el mismo
tamaño de palabra es decir el mismo numero de bits.
A = 0100 y B = 0010, en seguida se obtiene el complemento a 1 del
sustraendo, en este ejemplo de B, que resulta ser 1101 y al minuendo A se le
suma el complemento a 1 de B
Comprobando en base 10
A
01 1 0 0
A
4

complemento a 1 de B + 1 1 0 1
-B
-2
1) 0 0 01 1
A–B
2
→
+1
A–B =
0 010
Se debe de observar en este ejemplo que existe acarreo es decir se excede el
tamaño de la palabra en un bit 1), este se suma, obteniéndose el valor de A – B.
De aquí se puede generalizar como regla 1: cuando se realiza la resta de 2
numeros binarios usando complemento a 1, si existe acarreo en la suma parcial
este se suma, y el resultado es positivo.
Ejercicio 2. Determinar la regla 2 a seguir cuando se restan dos números
binarios usando complemento a 1 y en la suma parcial no existe acarreo.
Ejemplo 13 Sea A= (100)2 y B = (10)2 realizar A – B usando complemento a
2.
Solución: Como ya se menciono en el ejemplo anterior los números binarios a
restar deben tener el mismo tamaño de palabra es decir el mismo numero de
bits.
A = 0100 y B = 0010, en seguida se obtiene el complemento a 2
del sustraendo, en este ejemplo de B, que resulta ser 1110 y al minuendo A se
le suma el complemento a 2 de B
A
01 1 0 0
 complemento a 2 de B + 1 1 1 0
1) 0 0 1 0
A–B =
0 010
De aquí se puede generalizar como regla 3: cuando se realiza la resta de 2
números binarios usando complemento a 2, si existe acarreo 1) en la suma
parcial este se desecha, y el resultado es positivo.
Ejercicio 3. Determinar la regla 4 a seguir cuando se restan dos números
binarios usando complemento a 2 y en la suma parcial no existe acarreo.
2.2
Álgebra booleana.
El álgebra booleana proporciona un método sistemático para la comprensión y
diseño de sistemas digitales en los que se utilicen dispositivos lógicos binarios,
por ejemplo conmutadores, relevadores y compuertas lógicas. Es una álgebra
apropiada para variables binarias que tengan solo dos valores, cerrado abierto, 0
y 1.
2.2.1 Teoremas.
Como en el caso del álgebra ordinaria, el álgebra booleana está estructurada
en un conjunto de supuestos fundamentales denominados axiomas o
postulados y en base a estos se construyen las reglas básicas o teoremas del
álgebra booleana
2.2.2 Representación eléctrica.
Los postulados son suposiciones fundamentales que también se denominan
axiomas. El álgebra booleana se basa en 10 axiomas, a partir de los cuales
se definen los teoremas o reglas del álgebra.
Para su fácil comprensión se presentaran o ilustraran con el uso de
interruptores eléctricos, con la convención de que un interruptor abierto
representa el 0 lógico y un interruptor cerrado el 1 lógico. También se
enumeraran los postulados por 5 parejas, debido a la dualidad que existe
encada par, esto es al cambiar en un postulado los 0 por 1 y la x por + se
obtiene el otro postulado dual. Lo mismo ocurre con los teoremas.
Postulado 1ª: 0 • 0 = 0
Dos interruptores abiertos conectados en serie dan por resultado un circuito
abierto.
Postulado 1b: 1 + 1 = 1
Dos interruptores cerrados conectados en paralelo dan por resultado un
circuito cerrado.
Postulado 2ª: 0 • 1 = 0
Un interruptor abierto conectado en serie con uno cerrado da por resultado un
circuito abierto.
Postulado 2b: 1 + 0 = 1
Un interruptor cerrado conectado en paralelo con uno abierto da por resultado
un circuito cerrado.
Postulado 3ª: 1 • 0 = 0
Un interruptor cerrado conectado en serie con uno abierto da por resultado un
circuito abierto
Postulado 3b: 0 + 1 = 1
Un interruptor abierto conectado en paralelo con otro cerrado da por resultado
un circuito cerrado.
Postulado 4ª: 1 • 1 = 1
Un interruptor cerrado conectado en serie con otro cerrado da por resultado un
circuito cerrado.
Postulado 4b: 0 + 0 = 0
Un interruptor abierto conectado en paralelo con otro abierto da por resultado un
circuito abierto.
Postulado 5ª: 0’ = 1
Un interruptor que no esta abierto se encuentra cerrado.
Postulado 5b: 1’ = 0
Un interruptor que no esta cerrado se encuentra abierto.
Teoremas del álgebra booleana
A continuación se presentan los 10 postulados mas usados, la demostración de
algunos de ellos se realiza en el apartado 2.2.5.
Teorema 1 Leyes conmutativas
Teorema 1ª: X • Y = Y • X
Teorema 1b: X + Y = Y + X
Teorema 2 Leyes asociativas
Teorema 2ª: X • (Y • Z) = (X • Y) • Z
Teorema 2b: X + (Y + Z) = (X + Y) + Z
Teorema 3 Leyes Idempotentes
Teorema 3ª: X • X = X
Teorema 3b: X + X = X
Teorema 4 Leyes de las identidades
Teorema 4ª: X • 1 = X
Teorema 4b: X + 0 = X
Teorema 5 Leyes de los elementos nulos
Teorema 5ª: X • 0 = 0
Teorema 5b: X + 1 = 1
Teorema 6 Leyes de los complementos
Teorema 6ª: X • X’ = 0
Teorema 6b: X + X’ = 1
Teorema 7 Leyes de absorción
Teorema 7ª: X + X • Y = X
Teorema 7b: X • (X + Y) = X
Teorema 8 Leyes distributivas
Teorema 8ª: X • (Y + Z) = (X • Y) + (X • Z)
Teorema 8b: (X + Y) • (X + Z) = X + Y • Z
Teorema 9 Ley de doble negación
X’’ = X
Teorema 10 Leyes de De Morgan
Teorema 10ª: (Y + Z)’ = X’ • Y’
Teorema 10b: (X • Y)’ = X’ + Y’
Operaciones binarias
Las operaciones básicas que se realizan en el álgebra booleana son NOT, AND
y OR, a partir de ellas se derivan todas demás. La operación que realizan se
muestran con la tabla de verdad que es un listado sistemático de todas las
posibles combinaciones de los valores 0s y 1s de las variables, incluyendo las
entradas y las salidas.
Figura 1 Diagrama esquemático de las compuerta NOT, AND, OR, NAND y NOR
Representación de las operaciones binarias con tablas de verdad
Entradas Salidas
a
NOT a
0
1
1
0
Entradas Salida
b
a
b AND a
0
0
0
0
1
1
1
0
1
0
0
1
Ejercicio 6 Se deja al lector implementar las tablas para las compuertas NAND y
NOR
Entradas Salida
b
a
b OR a
0
0
0
0
1
1
1
0
1
1
1
1
2.2.3 Diagramas de Venn
.
La representación con diagramas de Venn es una ilustración grafica en base a la
teoría de conjuntos, su aplicación para compuertas lógicas como NOT, AND, OR
NAND o NOR es sencilla, pero no resulta practica en representaciones
complejas por lo que no es muy común su uso. En el ejemplo 14 se muestran los
esquemas de algunas aplicaciones.
Ejemplo 14: Representación en diagramas de Veen de las operaciones binarias
Q = X(X + Z) y X = XY + X
2.2.4 Compuertas lógicas.
Una de las principales ventajas de utilizar el álgebra booleana radica en que
las operaciones básicas AND, OR y NOT tienen un equivalente directo en
términos de circuitos. Estos circuitos reciben el nombre de compuertas lógicas
.
Las tres compuertas fundamentales reciben el mismo nombre que los
operadores, es decir, existen las compuertas AND, compuertas OR y
compuertas NOT. La última compuerta recibe el nombre más usual de
inversor. En la figura 1 mostramos los símbolos, tanto tradicionales como
internacionales, aunque usaremos preferentemente los símbolos
tradicionales.
Con estas tres compuertas se puede implementar cualquier circuito lógico, pero
así mismo existen otras compuertas que resultan de la combinación de una
compuerta AND con un inversor que se denomina NAND y la compuerta OR con
un inversor que se denomina NOR. En la figura 3.1 Se muestran los símbolos
tradicionales.
Es posible demostrar que con únicamente un tipo de compuertas ya sea NAND
o NOR se puede implementar cualquier función lógica. Así
Una compuerta es universal si con solo este tipo de compuerta se puede
implementar cualquier función lógica.
Ejemplo 15.- Expresar solamente con compuertas NAND la expresión
Q = A’B + AB’
Solucion .- Conviene negar dos veces la exprecion Q, esto es:
Q = Q’’ = [ (A’B + AB’)’]’
=
[ (A’B)’ (AB’)’]’
En donde podemos visualizar las compuertas NAND, (A’B)’ e (AB’)’ para
finalmente efectuar el contenido de [ ]’ con otra compuerta.
Ejercicio 4 .-Se deja al lector hacer el diagrama esquemático para el ejemplo 15
Ejemplo 16 Expresar solamente con compuertas NOR la expresión
Q = A’B + AB’
Solución: Conviene negar dos veces a Q, esto es:
Q = Q’’ = [ (A’B + AB’)’]’
En donde podemos visualizar que (A’B + AB’)’ es una compuerta NOR y
teniendo presente los teoremas de D’morgan (x +y)’ = x’ + y’ , (xy)’ = x’ +y’, es
fácil ver que A’B también se puede representar con una compuerta NOR lo
mismo que AB’
Ejercicio 5 .-Se deja al lector hacer el diagrama esquemático para el ejemplo 16
Dentro de las compuertas, que no implementan un operador directo, se
encuentra la conocida como OR-exclusiva o XOR. Esta compuerta muestra la
siguiente funcionalidad: Y = A'·B + A·B'. La importancia radica en su amplio uso
en la aritmética binaria, siendo la base de la suma. También es muy usada en los
circuitos de detección y corrección de errores, implementando funciones de
comparación y paridad. El sumador completo, su símbolo y tabla de
combinaciones se muestran en la figura 2
Ejemplo 17
Diagrama esquemático de un sumador completo
Entradas aCarreo C Suma S
X Y Z
C
S
0 0 0
0
0
0 0 1
0
1
0 1 0
0
1
0 1 1
1
0
1 0 0
0
1
1 0 1
1
0
1 1 0
1
0
1 1 1
1
1
Tabla de verdad para un sumador completo de 3 bit
Las operaciones binarias NOT, AND, OR NAND, NOR y EXOR y sus posibles
combinaciones o arreglos se fabrican con el nombre de compuertas lógicas y de
acuerdo con su tecnología se identifican en dos grandes familias, la familia TTL
(Transistor Transistor Logic) y la familia CMOS (Complementary MOS)
Semiconductores a base de oxido y metal.
La familia TTL se caracteriza porque se maneja un voltaje de alimentación de
5.1 V y corriente promedio del orden de los 10 mmA. Como característica
importante es que se pueden manipular manualmente sin ninguna precaución.
La Familia CMOS tiene un voltaje de operación de 3.2 V y consume una
corriente promedio de 10 nanoA. Y se debe de tener la precaución para
manipularlas de usar ropa de algodón y usar una pulsera conectada a potencial
de tierra a fin de evitar descargas eléctricas que pueden destruir la compuerta
dada la poca corriente que soportan.
En la unidad V se presenta un estudio de las familias de compuertas con mayor
detalle.
2.2.5 Aplicación de teoremas del álgebra booleana.
La razón principal de esta álgebra y sus teoremas es su aplicación en la
simplificación de expresiones y funciones booleanas. Al igual que en el álgebra
ordinaria una función booleana puede escribirse de varias formas. Así mismo
tiene sentido económico y de confiabilidad reducir una función booleana, ya que
una forma sencilla conduce a sistemas más elementales.
2.3
Funciones lógicas.
Un circuito lógico combinatorio es un conjunto de compuertas lógicas
interconectadas entre si, a fin de llevar a cabo una determinada función, su
salida depende únicamente del valor lógico de las entradas.
El resultado de diseñar un circuito lógico deberá ser el obtener una función
lógica o ecuación que describan la función de salida deseada, efectuada por
operaciones lógicas, esto se ilustrara con el siguientes ejemplo:
Ejemplo 18. Diseñar el circuito lógico combinatorio para un granjero que
tiene una cabra, un granero y que ronda el lugar un lobo, el granjero desea
construir un circuito que se alarme en cualquier situación de peligro, aceptar
que se tienen sensores para cabra suelta, lobo rondando y para granero
abierto.
Solución: Realizaremos el diseño en 4 pasos
1º.- Definir el problema.
El circuito tendrá 3 entradas C, G, y L , con una salida Falarma la cual tendrá valor
1 cuando exista situación de peligro ya sea porque la cabra se pueda comer el
grano o el lobo se coma la cabra. Se define a C, G y L como sigue:
Sea cabra = C, → C=0 cabra en corral,
C = 1 cabra suelta
granero = G, → G=0 granero cerrado,
lobo = L, → L=0 lobo no esta,
C = 1 granero abierto
C = 1 lobo rondando
2º.- Se propone la tabla de verdad, entendida como la relación de valores
binarios que existe entre las entradas respecto a la función de salida, y que de
solución al problema:
Entradas Salida minitermino
C G L Falarma
0 0 0
0
m0
0
0
0
1
1
1
1
0
1
1
0
0
1
1
1
0
1
0
1
0
1
0
0
0
0
1
1
1
m1
m2
m3
m4
m5
m6
m7
Se pone a 1 la posición m5 porque de la lectura de las entradas se desprende
que la Cabra anda suelta y el Lobo ronda el lugar, Se pone a 1 la posición m 6
porque la Cabra anda suelta y Granero esta abierto, finalmente se pone a 1 la
posición m7 por la posición obvia de peligro.
3º.- Se obtienen la función lógica o ecuación que describe la salida, la cual se
establece para cuando los valores de la función de salida F alarma son 1
Aquí conviene hacer las siguientes observaciones;

Se define minitermino cero = m0 = C’G’L’ = que es la combinación de
entradas
0 0 0 , minitermino uno =m1= C’G’L = que es la combinación de entradas 0
0 1 y así sucesivamente para cada una de las combinaciones de entrada.

En este ejemplo la función lógica o ecuación que describe la salida
deseada, que suene la alarma en caso de peligro, será la suma de los
miniterminos m5, m6, y m7
 Se define como lógica positiva el tomar los valores lógicos 1 para formar
la ecuación.
Falarma = m5+ m6+ m7 = C G’ L + C G L’ + C G L
Al formato de esta función Falarma se le denomina suma de miniterminos o suma
de productos
4º.- Finalmente se dibuja el diagrama lógico de compuertas.
Para hacerlo se requieren 3 compuertas AND de tres entradas
y una compurta OR de dos entradas
Se deja al lector dibujar el diagrama esquemático.
El analizar una circuito lógico tiene como propósito obtener el conjunto de
funciones lógicas o ecuaciones que describen las operaciones booleanas que
lleva a cabo el circuito, esto lo explicaremos con el siguiente ejemplo.
Ejemplo 19 Analizar el circuito lógico mostrado y describir las funciones lógicas
o ecuaciones que describen las operaciones booleanas que lleva a cabo para
dar las salidas S y C.
Solución en la primera compuerta AND tenemos xy’ , para la segunda AND
compuerta x’y finalmente en la compuerta OR tenemos (xy’ + x’y) = S
Para C tendremos C = xy
2.3.1 ARITMETICA DE FUNCIONES
Como ya se dijo resulta de particular importancia el reducir o simplificar las
funciones lógicas por el aspecto de costo, pues entre menos compuertas mas
económico, pero también entre mas sencillo sea un circuito su desempeño
resulta mas confiable y será más fácil de construir.
Un método de cómo simplificar funciones requiere de aplicar una estrategia para
hacerlo, se propone básicamente :
 Tratar de aplicar los postulados X+X’=1 , X+1=1 , X+X =X pues de
esta forma se podrán reducir términos.
 Por observación identificar los términos que contengan variables como X
, X’ y que se puedan agrupar por factorización, es decir la propiedad
distributiva de la multiplicación respecto a la suma.
 Estar atentos en la aplicación de otros teoremas, como X+XY=X
 Tener mucho cuidado en la aplicación de los teoremas de D’morgan,
recordar que los términos se niegan y el operador + (suma) cambia a •
(multiplicación) y viceversa.
Esto se explica con los ejemplos siguientes:
Ejemplo 20. Reducir aplicando álgebra de boole la funciónalarma obtenida en
el ejemplo 14 y mostrar un diagrama esquemático de las funciones original y
simplificada
Falarma = m5+ m6+ m7 = C G’ L + C G L’ + C G L
Solución:
Se observa que los miniterminos (m5 , m7 ) y (m6 , m7) se pueden factorizar,
para sacar aprovecho de que tienen términos con variables complementarias,
esto es m5 tiene a G y m7 tiene a G’ lo mismo para m6 y m7 que tienen a L y L’
respectivamente.
Falarma = m5+ m6+ m7 = C G’ L + C G L’ + C G L + C G L
= (C G’ L + C G L) + (C G L + C G L’)
= C L(G’+G) + CG(L+L’)
= C L(1) + CG(1)
= CL+CG
se deja al lector que identifique cuales postulados o teoremas se aplicaron en
cada paso
Ejemplo 21 Simplifique las funciones booleanas al menor numero de literales:
1.- x(x’ + y) + xyz = xx’ + xy + xyz = 0 + xy +xyz = xy + xyz = xy
2.- xy + x’z + yz = xy + x’z + yz(1) = xy + x’z + yz(x + x’)
= xy +x’z + yzx +yzx’
=xy + x’z + xyz + x’yz
= xy(1+z) + x’z(1+y)
= xy + x’z
3.- (x + y)(x +y’) = xx +xy’ +xy + yy’ = x + xy +xy’ + 0 = x
se deja al lector que identifique cuales postulados o teoremas se aplicaron en
cada paso
El complemento de una función F es F’ y su valor ,se obtiene
intercambiando ceros por unos y unos por ceros, pero cuando la función se
expresa con términos, el complemento se encuentra algebraicamente
aplicando los teoremas de Dmorgan que es conveniente leerlos asi:
 (x+y)’= x’y’ El complemento de la suma de dos términos es igual a el
primer termino negado por el segundo termino negado.
 (xy)’ = x’ + y’ El complemento de un producto de términos es igual a la
suma del primer termino negado + el segundo termino negado
Ejemplo 22 Obtener el complemento de las funciónes F = x’yz’ + x’y’z y
Q=x(y’z’+yz) aplicando los teoremas de D’morgan tantas veces como sea
necesario
F’ = (x’yz’ + x’y’z)’ = (x’yz’)’ (x’y’z)’ = (x+y’+z)( x+y+z’)
Q’ = [x(y’z’+yz) ]’ = x’ + (y’z’+yz)’ = x’ + (y’z’)’(yz)’=
= x’ + (y+z)(y’+z’)
Un procedimiento mas sencillo para obtener el complemento de una función es
aplicar el principio de dualidad que estable que toda expresión algebraica que
pueda deducirse de los postulados del álgebra booleana seguirá siendo valida
si se intercambian los operadores y los elementos de identidad. Si se quiere
obtener el dual de una función simplemente se intercambian los operadores
OR y AND y se sustituyen los unos por ceros y los ceros por unos.
Para obtener el complemento de una función se intercambian los operadores OR
y AND y se complementa cada literal.
Ejemplo 23 Aplicando el principio de dualidad, obtener el complemento de las
funciónes:
(a).- F = x’yz’ + x’y’z
(b).- Q = x(y’z’+yz)
F’ = (x’yz’ + x’y’z)’ = (x+y’+z)(x+y+z’)
(b).-
Q’ = [x(y’z’+yz) ]’ = x’ + (y+z)(y’+z’)
Ejemplo 24 Aplicar los teoremas de De Morgan a las expresiones:
(a).- [(A+B)’+c’]’
(b).- [ (A’+B) + CD]’
(c).- [(A+B)C’D’+E+F’]’
Solucion.(a) [(A+B)’+C’]’ = (A+B)’’C’’= (A+B)C
(b) [ (A’+B) + CD]’ =(A’+B)’(CD)’= AB’(C’+D’)
(c).- [(A+B)C’D’+E+F’]’= [(A+B)C’D’]’(E+F’)’= [(A+B)’+(C’D’)’](E’F)
=(A’B’+C+D)E’F
2.3.2 Tablas de verdad.
Todas las expresiones booleanas pueden ser convertidas a tablas de verdad
utilizando los valores binarios de cada término de la expresión. La tabla de
verdad es un formato muy común y conciso para expresar el funcionamiento
lógico de un circuito pues es cómodo para ver el valor de las entradas y el valor
de salida resultante en función de los miniterminos, a partir de la tabla se puede
generar la ecuación que define el comportamiento del circuito, como ya se hizo
presente en el ejemplo 18. Su aplicación resulta lenta en su desarrollo, pero es
fácil de implementar tanto para analizar un circuito como para su diseño.
Ejemplo 25
Desarrollar una tabla de verdad para la expresión F = a’b’c +abc’ + abc
Solución. De la expresión algebraica podemos observar que la función F la
podemos expresar con miniterminos como F = m001 + m110 + m111 = m1 + m6
+ m7 por lo que la tabla de verdad es
Entradas Salida minitermino
a b c
F
0 0 0
0
m0
0 0 1
1
m1
0 1 0
0
m2
0 1 1
0
m3
1 0 0
0
m4
1 0 1
0
m5
1 1 0
1
m6
1 1 1
1
m7
Tabla de verdad de F = a’b’c +abc’ + abc = m1 + m6 + m7
Ejemplo 26. Representar en tabla de verdad la función lógica QBA = B’A + B A’
Solución. Expresamos la función Q en miniterminos, esto es
QBA= m01+ m10 = m1+ m2
EENTRADAS
B
A
0
0
0
1
1
0
1
1
QBA minitermino
0
1
1
0
m0
m1
m2
m3
Tabla de verdad de QBA = B’A + B A’= m1 + m2
Ejemplo 27. Representar en tabla de verdad la función lógica
QDCBA = B’A + DCB+D’B’A
Solución. Acompletamos con X las variables faltantes en la función , esto es:
QDCBA = XXB’A + DCBX + D’XB’A
Observar que las literales deben de estár ordenadas en cada termino, en este
caso el orden es DCBA
En la tabla de verdad valoramos cada termino por separado, ponemos 1 para
las entradas XX01 que corresponde con XXB’A, 111X →DCBX y finalmente
0X01→ D’XB’A
ENTRADAS
OPERACIONES
FUNCIÓN DE
PARCIALES
SALIDA
D C B A B’A DCB D’B’A Q=B’A+DCB+D’B’A
0 0 0 0
0 0 0 1
1
1
1
m1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
1
1
1
m5
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1
1
m9
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1
1
m13
1 1 1 0
1
1
m14
1 1 1 1
1
1
m15
Tabla de verdad de QDCBA = B’A + DCB+D’B’A=
m1+m5+m9+m13+m14+m15
Observación.- Se dejo en blanco las demás casillas para darle claridad a la
tabla, pero se debería haber puesto 0 en cada una de estas.
Ejemplo 28.- Desarrollar una tabla de verdad para la expresión F = (AB + AC)’ +
A’B’C
Solución.- En la tabla primero valoramos cada termino por separado
(operaciones parciales) y al ultimo la función (salida) ya integrada:
ENTRADAS
OPERACIONES PARCIALES
SALIDA
A B C AB AC (AB+AC) (AB+AC)’ A’B’C F = (AB + AC)’ +
A’B’C
0
0
0
1
1
mini
m0
0
0
0
1
1
1
1
0
1
1
0
0
1
1
1
0
1
0
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
m1
m2
m3
m4
m5
m6
m7
Tabla de verdad de F = = (AB + AC)’ + A’B’C = m0+m1 + m2 + m3+ m4
Ejemplo 29.- Diseñar, usando tabla de verdad, un circuito lógico con tres
variables de entrada X; Y; Z que a su salida de el valor en complemento a 2 de
la entrada.
Solucion:
ENTRADAS
X
0
0
0
0
1
1
1
1
Y
0
0
1
1
0
0
1
1
Z
0
1
0
1
0
1
0
1
SALIDA
COMPLEMENTO A 2
XC2
YC2
ZC2
0
0
0
1
1
1
1
1
0
1
0
1
1
0
0
0
1
1
0
1
0
0
0
1
m0
m1
m2
m3
m4
m5
m6
m7
Tabla que muestra el complemento a dos de las entradas
El circuito tendrá tres salidas de la siguiente forma
XC2 = m1+m2+m3+m4= X’Y’Z+X’YZ’+X’YZ+XY’Z’
YC2 = m1+m2+m5+m6= X’Y’Z+X’YZ’+XY’Z+XYZ’
Zc2 = m1+m3+m5+m7= X’Y’Z+X’YZ+XY’Z+XYZ
Ejemplo 30 Demuestre con tablas de verdad la validez de la siguiente
identidad:
QXYZ= X’Y’Z+X’YZ+XY’Z+XYZ = Z
Entradas Salida minitermino
X Y Z Qxyz
0 0 0
0
m0
0 0 1
1
m1
0 1 0
0
m2
0 1 1
1
m3
1
1
1
1
0
0
1
1
0
1
0
1
0
1
0
1
m4
m5
m6
m7
Tabla de verdad para QXYZ= X’Y’Z+X’YZ+XY’Z+XYZ = Z
En la tabla se puede observar que las columnas para QXYZ y Z son iguales por
lo tanto la igualdad es VERDADERA
2.3.3 Soluciones gráficas.
La simplificación de circuitos lógicos por métodos gráficos se puede realizar con
diagramas de Venn pero como ya se dijo en el apartado 2.2.3 no resulta practica
su uso en representaciones complejas por lo que no es muy común su empleo.
La otra solución grafica es por mapas de karnaugh la cual resulta de fácil
aplicación para expresiones de hasta 4 variables, para 5 variables o mas es
conveniente usar métodos computacionales como por ejemplo la
implementación del algoritmo de Quine – McCluskey, los interesados pueden ver
el libro de John F. Wakerly, Diseño Digital, · Prentice Hall, 3ra Edicion, pag.236.
En este libro el autor presenta un programa en lenguaje C para este algoritmo.
2.3.3 Diagramas o mapas de Karnaugh- Simplificación
Un mapas de Karnaugh es una representación de los miniterminos que
proporciona un método sistemático de simplificación, que genera las
expresiones suma de productos y productos de suma más simples posibles.
El mapa es similar a una tabla de verdad ya que muestra todos los posibles
valores de las variables de entrada y la salida que resulta para cada valor. Su
aplicación se ilustra fácilmente con los siguientes ejemplos, se muestra su
empleo para 2, 3, y 4 variables.
Mapa de Karnaugh para dos variables.
El mapa de dos variables es un conjunto de 4 celdas, con todas las
combinaciones posibles de la siguiente forma
El mapa de tres variables es un conjunto de 8 celdas, con todas las
combinaciones posibles de la siguiente forma
El mapa de cuatro variables es un conjunto de 16 celdas, con todas las
combinaciones posibles de la siguiente forma
Su aplicación se explica con los siguientes ejemplos
Ejemplo 31 Reducir las expresiones a) f = xy
y
b) Q = xy’ +x’y + xy
Solución a) se representa en el mapa como un 1 en la posición indicada, no
tiene reduccion puesto que es un solo termino.
Solucion para b) Se represntan los 1 en la casilla correspondiente, se pueden
hacer grupos de 2 . Se observa que el par de 1 horizontal acupa el dominio
de x y que el par de 1 vertical el dominio de y por lo que la expresión queda
Q=x+y
Ejemplo 32
a)
Simplificar la expresión F(x,y,z) = ∑(0,2,4,5,6)
Solución Se anotan los 1 en la casilla correspondiente al minitermino indicado,
se agrupan los 1 en múltiplo exponencial de 2, esto es 2, 4, 8, 16,.. 2 n para
este ejemplo como se indica en el diagrama. Se obserba el dominio que
ocupa y se hace la anotacion. Se agrupan los cuatro miniterminos verticales y
se observa que ocupa el dominio de z’ , y dos miniterminos horizontales estan
en el dominio de xy’ por lo que la exprecion reducuda queda:
F = z’ +xy’
b) Simplificar la expresión Q + x’yz +xyz +xyz’ + xy’z’
Solucion: En el mapa de 3 variables se anotan los 1 en la casilla
correspondiente y se agrupan términos adyacentes en multiplos
exponenciales de 2. ver figura se observa que dominios ocupan.
Quedando la reduccion como
Q = yz + xz’
Ejemplo 33 a) simplificar la expresión Booleana
F(w, x,y,z) = ∑(0,1,2,4,5,6,8,9,12,13,14))
Solución: En un mapa de 4 variables se anotan los 1 en la casilla del
minitermino correspondiente, se agrupan los terminosadyacentes en multiplos
exponenciales de 2 , entre mas términos mayor es la reduccion, ver figura del
ejemplo, se han formado tres grupos, uno de 4 términos en la parte superior,
otro tambien de 4 termninos en la parte media y un tercero de 8 términos en la
parte izquierda. Observando los dominios que ocupan se tiene:
F = y’ +w’z’ +xz’
b) simplificar la expresión Booleana
Q = A’B’C’ + B’CD’ + A’BCD’ AB’C’
Solución: Primero se debe de acompletar los miniterminos, esto es:
Q = A’B’C’(D + D’) +’BCD’(A +A’) +A’BCD’ + AB’C’(D +D’)
= A’B’C’D + A’B’C’D’ +’BCD’A +’BCD’A’ +A’BCD’ + AB’C’D + AB’C’D’)
= ∑(0,1,2,6,8,9,10)) y se sigue el procedimiento ya descrito en
apartado a).
Q = B’D’ +B’C’ +A’CD’
Descargar