Algebra de Boole
Transcript of Algebra de Boole
Introducción
2
Algebra booleana : herramienta de la matemática usada para el análisis y diseño de sistemas digitales.
Nos permite describir la relación entre la o las salidas de un circuito lógico y su entrada o entradas.
Las constantes y variables booleana solo puede tomar dos valores 0 o 1.
Las variables se usan para representar el nivel de voltaje presente en un cable o en las terminales de E/S de un circuito.
Introducción
3
En la lógica digital se usan otros término como sinónimos de 0 y de 1. Por ejemplo:
0 lógico 1 lógico
Falso Verdadero
Desactivado Activado
Bajo Alto
No Sí
Interruptor abierto Interruptor cerrado
Introducción
4
Por ejemplo, en cierto sistema digital el valor booleano 0 se podría asignar a cualquier voltaje comprendido entre el intervalo de 0 a 0.8 V, en tanto que el valor booleano de 1 se podría asignar a cualquier voltaje en un intervalo de 2 a 5V.
Así el 0 y el 1 booleanos no representan números reales (como en el álgebra común) sino el estado de una variable de voltaje, o lo que se conoce como nivel lógico.
Introducción
5
En el álgebra de boole solo existen tres operaciones algebraicas básicas (operaciones lógicas): OR, AND, NOT.
Para visualizar mejor las operaciones utilizamos una tabla de verdad.
Una tabla de verdad es un medio para describir cómo la salida lógica de un circuito depende de los niveles lógicos presentes en la entrada del circuito.
Como se trabaja con números binarios, las posibles combinaciones de entrada para una tabla de verdad de N entradas es: 2N
Introducción
6
Ejemplo para tres variables de entrada (A,B,C) se tendrá 8 (23 =8) combinaciones de entrada .
Los circuitos digitales llamados compuertas lógicas se pueden construir mediante componentes electrónicos (diodos, transistores y elementos pasivos) conectados de tal forma que la salida del circuito sea el resultado de una operación lógica básica aplicada a las entradas del circuito.
Veremos a continuación las compuertas lógicas básicas y las que se derivan de éstas.
Compuertas lógicas
Compuertas Lógicas: Circuitos electrónicos que implementan alguna de las funciones lógicas elementales, como la suma lógica, producto lógico e inversión lógica(o negación).
Tipos de compuertas lógicas:
• Básicas: AND, OR, NOT o INV
• Combinación de básicas: XOR o EX-OR
• Con salida invertida o negada: NAND, NOR,XNOR
Compuerta OR
Suma lógica (“O”)
Número mínimo de entradas:2 (Ej. A,B)
Notación: Z= A+B
Tabla de verdad:
Símbolo o representación circuital:
A B Z
0 0 0
0 1 1
1 0 1
1 1 1
Z A
B
7
Compuerta AND
Producto lógico (“Y”)
Número mínimo de entradas:2 (Ej. A,B)
Notación: Z=A . B
Tabla de verdad:
Símbolo o representación circuital:
Compuerta NOT
Inversión o negación o complemento lógico (“ INV”)
Número de entradas:1 (Ej. A)
Notación: Z=A
Z=A´
Tabla de verdad:
Símbolo o representación circuital:
Compuertas lógicas
A B Z
0 0 0
0 1 0
1 0 0
1 1 1
A Z
0 1
1 0
A Z
A
B
Z
8
Compuerta NAND
AND negada
Número de entradas: 2 (ampliable)
Notación: Z=(A.B)´ =A.B
Tabla de verdad:
Símbolo o representación circuital:
Compuerta NOR
OR negada
Número de entradas: 2 (ampliable)
Notación: Z=(A+B)´=A+B
Tabla de verdad:
Símbolo o representación circuital:
Compuertas lógicas
A B Z
0 0 1
0 1 1
1 0 1
1 1 0
A Z
B
A Z
B
A B Z
0 0 1
0 1 0
1 0 0
1 1 0
A
B
Z A.B
A
B
Z A+B
9
Compuerta XOR
OR exclusiva
Número de entradas: 2 (no ampliable)
Notación: Z=A´.B+A.B´
Z=A B
Tabla de verdad:
Símbolo o representación circuital:
Compuerta XNOR
XOR negada o invertida
Número de entradas: 2 ( no ampliable)
Notación: Z=A´.B´+A.B
Z=(A B)´=(A B)
Tabla de verdad:
Símbolo o representación circuital:
Compuertas lógicas
A B Z
0 0 0
0 1 1
1 0 1
1 1 0
A
B
Z
A B Z
0 0 1
0 1 0
1 0 0
1 1 1
A
B
Z
10
Circuito OR muy simplificado Circuito AND muy simplificado
D1
1N4004
D2
1N4004 R1
Vsal
V1
V2
Compuertas lógicas
V1 V2 Vsal
0 0 Diodos off 0
0 1 D1 off, D2 on 1
1 0 D1 on, D2 off 1
1 1 Diodos on 1
D1
1N4004
D2
1N4004 R1
Vsal
V1
V2
Vcc
V1 V2 Vsal
0 0 D1, D2 conducen
0
1 0 D1 abierto,D2 conduce
0
0 1 D1conduce, D2 abierto
0
1 1 D1, D2 abiertos 1 11
Inversor
Circuito real
R2
10.0
R310.0
Q1
2N3055A
VCC
5V
Vin
Vout
74S04D
IN OUT
Compuertas lógicas
Vout
Vinhightundefined
low
VCEsat
Vcc
12
Algunas aplicaciones simples de las compuertas
La compuerta AND como un dispositivo de habilitación/inhibición
13
1 seg
habilitación contador
Registro decodificador
y display de frecuencia Puesta a cero (reset)
entre impulsos de habilitación
1 seg
A
15
Algunas aplicaciones simples de las compuertas
U1A
7432N
Sensores de puerta/ventana
Un nivel ALTO activa la alarma
ALTO=Abierto BAJO= Cerrado
Un sistema de alarma y detección de intrusos
16
Algunas aplicaciones simples de las compuertas
Una planta que almacena líquidos químicos que se requieren para el reciclaje de sus productos.
El sensor genera 5 V ,si la capacidad está por encima del 25%, caso contrario genera 0 V.
Tanque B
Tanque A Sensor de nivel
Sensor de nivel
La luz verde indica que los dos tanques están
Llenos por encima del 25% de su capacidad
Alto
Alto
Bajo
Algunas aplicaciones simples de las compuertas Subsistema de monitoreo funcional de un avión.
S1, S2: sensores del tren de aterrizaje (S)
I: interruptor bajar tren de aterrizaje
Si S =0 el mecanismo del tren de aterrizaje se extiende
Si S=1 el mecanismo del tren de aterrizaje se retrae
Si I= 0 el interruptor baja el tren de aterrizaje, I=1 el interruptor no baja el tren de aterrizaje
Se debe activar un led verde (LV), en el tablero de comando, si los tres mecanismos de aterrizaje (sensores e interruptor) están correctamente extendidos.
Se debe activar un led rojo (LR), en el tablero de comando, si cualquiera de los mecanismos falla al extenderse antes de aterrizar.
17
S1
S2
I
TTL (transistor-transistor logic)
Transistores bipolares BJT
Alta velocidad
Bajo consumo
Baja inmunidad al ruido
Series TTL, LS-TTl, otras
Compuertas de hasta 8 entradas:
74LS04: séxtuple INV.
74LS08: cuádruple AND de 2 entradas.
74LS21: doble AND de 2 entradas.
74LS30: NAND de 8 entradas.
Compuertas compuestas:
74LS51: AND-OR-INV
Tecnologías de compuertas lógicas
U5A
74LS51D
8
11213
91011
CMOS (complementary metal oxide semiconductor)
Transistores Mosfet
Baja velocidad
Bajo consumo
Alta escala de integración
Alta inmunidad al ruido
Series CMOS 4000/4500
Cuádruples de 2 entradas:
4001: NOR.
4011: NAND.
4071: OR.
4081:AND
4030/4070:XOR
4069: séxtuple inversor.
Para mayor información consulte Apéndice A, Lógica MOS y CMOS de Fundamentos de diseño lógico, Charles H. Roth, Jr. 5° ed.
19
Práctica n°1 Compuertas lógicas.
Nota: ¿Cómo comprobar en la práctica que CI que contiene varias compuertas está fallado?
Existen diferentes tipos de fallos internos que se pueden presentar en un CI a la hora de implementar circuitos de forma práctica. Para una detección de fallas, se recomienda referirse a: Localización de Averías pag. 174 Fundamentos de sistemas digitales. Thomas Floyd.
Compuertas lógicas
22
Algebra de Boole
Tiene mucha aplicaciones por ejemplo: simplificación de la cantidad de compuertas
lógicas en una función, teoría de conjuntos , lógica matemáticas.
Fue desarrollada en 1847 por George Boole.
Pero en 1939 Claude Shannon la aplicó para el diseño de circuitos de conmutación.
El álgebra booleana que emplea solo dos valores, se denomina álgebra de conmutación.
23
Algebra de Boole, leyes y teoremas
A continuación, veremos leyes, teoremas, postulados y la aplicación del principio de
dualidad, para reducir expresiones mediante el Álgebra de Boole.
Principio de dualidad:
“Si queremos encontrar el dual de una expresión algebraica simplemente intercambiamos los operandos OR y AND y sustituimos los 0´s por 1´s y los 1´s por 0´s.” La siguiente tabla muestra los teoremas y leyes con aplicación del teorema de
dualidad.
24
Algebra de Boole, leyes y teoremas
dualidad
X+0=X X.1=X
X+X´=1 X.X´=0
X+X=X X.X=X
X+1=1 X.0=0
(X´)´=X involución
X+Y=Y+X XY=YX conmutatividad
X+(Y+Z)=(X+Y)+Z X(YZ)=(XY)Z asociatividad
X(Y+Z)=XY+XZ X+YZ=(X+Y)(X+Z) distributividad
(X+Y)´=X´Y´ (XY)´=X´+Y´ Ley de Morgan
X+XY=X X(X+Y)=X Ley de Absorción
25
Teoremas de simplificación:
XY+XY´= X
X+XY=X
(X+Y´)Y=XY
Leyes de Morgan:
(X+Y+Z+……..)´=X´Y´Z´……
Teoremas para la descomposición en
(X+Y) (X´+Z)=XZ+X´Y
Teorema de consenso:
XY+YZ+X´Z=XY+X´Z
(X+Y)(X+Y´)=X
X(X+Y)=X
XY´+Y=X+Y
(XYZ…..)´=X´+Y´+Z´+……
productos sumas y suma de productos:
XY+X´Z=(X+Z)(X´+Y)
(X+Y)(Y+Z)(X´+Z)=(X+Y)(X´+Z)
26
Algebra de Boole, leyes y teoremas
Algebra de Boole, postulados y teoremas
Cuando una expresión se implementa utilizando compuertas lógicas, cada
literal de la expresión corresponde a una entrada de compuerta lógica.
Una tabla de verdad especifica los valores de una expresión booleana para
todas las posibles combinaciones de valores de las variables de la expresión.
Podemos demostrar los teoremas básicos utilizando circuitos
conmutadores, donde 0 representará un conmutador abierto y 1 representará
un conmutador cerrado.
27
X.X=X
=
X+X=X
=
X+0=X
=
28
X X X
X
X
X
X
XX
1
Algebra de Boole, postulados y teoremas
X.X´=0
=
X+X´=1
=
X+1=1
=
X
X´
1
X X´0
29
Observaciones para cuando se evalúen expresiones booleanas :
Primero realizar las inversiones de los términos simples,
resolver las operaciones entre paréntesis,
cuando una operación contiene AND y OR, a menos que existan paréntesis, la operación AND tiene prioridad,
realizar las operaciones dentro de la barra y luego invertir (o negar) el resultado.
Ilustremos lo anterior con unos ejemplos en la pizarra.
Algebra de Boole, postulados y teoremas
Conversión de enunciados a expresiones booleanas:
Pasos principales en el diseño lógico de un circuito de conmutación combinatorio de una única salida:
1. Hallar una función de conmutación que especifique el comportamiento deseado del circuito.
2. Hallar una expresión algebraica simplificada para la función.
3. Implementar la función simplificada utilizando los elementos lógicos disponibles.
30
Álgebra de Boole
Álgebra de Boole
María ve la televisión si es lunes por la noche y ha terminado sus deberes.
• Se debe dividir cada proposición en otras proposiciones y asociar una variable booleana con cada una de ellas.
• Si una proposición puede tener un valor “verdadero” o “falso”, entonces podemos representar dicha proposición mediante una variable booleana.
• La variable booleana tendrá un valor de 1 cuando la preposición sea verdadera y un valor de 0 cuando la preposición sea falsa.
31
Álgebra de Boole
Frases como “voy a la tienda” u “hoy es lunes” pueden ser verdaderas o falsas, pero una orden como “ve a la tienda” no tiene valor lógico (no es ni verdadera ni falsa).
Para nuestro ejemplo dividimos la proposición en otras tres proposiciones componentes.
32
Álgebra de Boole
María ve la televisión si es lunes por la noche y ha terminado sus deberes.
Las palabras “si” (“no”), ”y” (“o”) no están incluidas en las proposiciones, simplemente muestran la relación existente entre las proposiciones.
Definimos una variable boolena para cada proposición, ej.
F=1 si María ve la televisión es verdadero; caso contrario F=0
A=1 si es lunes por la noche es verdadero; caso contrario A=0
B=1 si ha terminado sus deberes es verdadero; caso contrario B=0
Dado que F es verdadero si ambas son verdaderas entonces podemos representar la afirmación mediante:
F=A.B
33
Álgebra de Boole
Encuentre un circuito lógico que represente los siguientes enunciados:
• La alarma sonará si y sólo si la alarma está activada y la puerta no está cerrada, o si es después de las 6 de la tarde y la ventana no está cerrada
• La puerta del ascensor debe estar abierta si el ascensor está parado, se encuentra al nivel del piso y el intervalo de temporización no ha finalizado, o si el ascensor está parado, se encuentra al nivel del piso y se pulsa un botón.
34
Funciones booleanas
35
Una función booleana descrita por una expresión algebraica consta de variables binarias, las constantes 0 y 1, y los símbolos lógicos de operación
Forma canónica de una función, suma de productos y productos de suma
36
El álgebra de boole asocia a la suma de términos cuyas variables exclusivamente están multiplicándose como MINITERMINOS (o productos canónicos) y, a la multiplicación de términos cuyas variables están sumándose como MAXITERMINOS (o sumas canónicas). La tabla siguiente muestra los MINITERMINOS y MAXITERMINOS para tres variables.
Minitérminos Maxitérminos
x y z Términos Designación Términos Designación 0 0 0 x’y’z’ m 0 x+y+z M 0
0 0 1 x’y’z m 1 x+y+z ́ M 1
0 1 0 x’yz’ m 2 x+y ́ +z M 2
0 1 1 x’yz m 3 x+y ́ +z ́ M 3
1 0 0 xy’z’ m 4 x´ +y+z M 4
1 0 1 xy’z m 5 x´ +y+z ́ M 5
1 1 0 xyz’ m 6 x´ +y ́ +z M 6
1 1 1 x yz m 7 x´ +y ́ +z ́ M 7
Forma canónica de una función, suma de productos y productos de suma
37
Se puede formar una función booleana a partir de maxitérminos o minitérminos. Por ejemplo sea F es una función booleana que se define en base a la siguiente tabla de verdad:
x y z F
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 1
Forma canónica de una función
38
Entonces F = x’y’z + xy’z’ + xyz = m1 + m4 + m7
o en su forma dual : F’= m0 +m2 +m3+ m5 +m6
si complemento nuevamente vuelvo a obtener F=(F´)´ =(m0 +m2 +m3+ m5 +m6 )´ aplicando el teorema de Morgan:
F=(m0 +m2 +m3+ m5 +m6 )´ = m´0 m´2 m´3 m´5 m´6 =M0M2M3M5M6 y puedo
expresar también F en su otra forma canónica.
Forma canónica de una función
39
Cabe señalar que cada maxitérmino es un complemento de su minitérmino correspondiente, y viceversa.
Se dice que una función booleana expresada como suma de minitérminos o productos de maxitérminos está en forma canónica.
En esta configuración, los términos que forman la función deben contener
todas las variables presentes en la función.
La alarma sonará si y sólo si la alarma está activada y la puerta no está cerrada, o si es después de las 6 de la tarde y la ventana no está cerrada.
Diseñe la tabla de verdad que me represente el estado de la salida de la alarma según todas las posibles combinaciones de sus estados en la entrada.
Exprese la función de salida en su forma canónica de minitérminos.
Reduzca la función anterior mediante el álgebra de boole e implemente el circuito .
40
Ejemplos para resolver en clase:
Ejemplos para resolver en clase:
• Para el ejemplo de la puerta del ascensor, se le pide que:
1. diseñe la tabla de verdad,
2. encuentre la función de salida que representa a la puerta del ascensor cerrada, e
3. implemente un circuito para la función anterior (utilizando el mínimo número de compuertas lógicas).
41
Implicaciones del Teorema de Morgan:
(X+Y)´=X´Y´
(XY)´=X´+Y´
Regla, intercambio OR con AND (y viceversa) y coloco negación donde no existía y quito la que existía.
42
Algebra de Boole, implicaciones del teorema de Morgan
X
Y (X+Y)´
X
Y
X´Y´
X´
Y´
X Y
X´Y´
X
Y
(X.Y)´
X
Y
X´+Y´ X´+Y´ X Y
X´
Y´
Con compuertas NAND
Interpretación de símbolos lógicos
Indica que la salida será
baja cuando ambas
entradas sean altas
Con compuertas NOR
Salida activa en alto
cuando cualquiera de
las entradas sean bajas
43
Universalidad de las compuertas NAND y NOR
A X= (A.A)´=A´ A A´
A
B
(AB)´ X=AB A
B AB
A A´
B B´
X= (A´B´)´=A+B A
B A+B
A A´
A
B AB
A
B A+B
A
A
A
B
B
X= (A+A)´=A´
X= (A´+B´)´=AB
(A+B)´ A+B
X
Y
(X.Y)´
X´+Y´ X
Y
Universalidad de las compuertas NAND y NOR
44
Los diseñadores prefieren emplear compuertas NAND y NOR ya que generalmente son más rápidas y emplean menos componentes que las compuertas lógicas AND y OR. Supongamos que queremos implementar la siguiente función, F=(A+B)AC utilizando solo compuertas NAND, entonces tendremos: