Escolar Documentos
Profissional Documentos
Cultura Documentos
Borriello and Randy Katz. Prentice Hall, 1994, 2005 material del curso ELO211 del Prof. Leopoldo Silva material en el sitio http://es.wikipedia.org
2: Funciones booleanas
2: Funciones booleanas
Lgica Booleana
Definiciones bsicas r Una variable booleana (e.g. x, y) es un smbolo que puede ser substituido por un elemento del conjunto B={0,1} r Una constante booleana es un valor perteneciente al conjunto {0,1} r Una expresin (e.g. x+y, xy, x) esta compuesta de variables, constantes y operadores (e.g. +, , ) r Una funcin booleana de n variables f(x1, x2, ..., xn) es un expresin o formula que mapea f a un valor del conjunto booleano B (0 o 1) r Un literal es una variable o su complemento
2: Funciones booleanas 3
lgebra de Boole
Definicin: el lgebra de Boole es un un conjunto de dos elementos {0, 1}, r dos operadores binarios {+, }, r un operador unitario { }.
r
2: Funciones booleanas
los sistemas digitales. Las operaciones del lgebra de Boole deben regirse por propiedades y reglas lgicas llamados leyes o postulados. Estos postulados se pueden usar para demostrar leyes mas generales sobre expresiones booleanas. Estos postulados tambin se usan para simplificar y optimizar expresiones booleanas y sistemas digitales. r Ejemplo: X AND (Y OR Y) = X (porque?)
2: Funciones booleanas
lgebra de Boole
Una expresin algebraica de Boole consiste de
r r r
a + (b + c) = (a + b) + c a (b c) = (a b) c a + 0 = a, a1=a
Identidad: Distributividad:
a + (b c) = (a + b) (a + c) a (b + c) = (a b) + (a c) a + a = 1, a a = 0
2: Funciones booleanas 6
Complementariedad:
B = {0, 1} r variables r + es el OR lgico, es el AND lgico r es el NOT lgico Todos los postulados (axiomas) algebraicos se cumplen La prioridad de los operadores es , seguido por AND y despues OR. El tiene la mayor prioridad. Los ( ) pueden cambiar el orden de evaluacin.
r
2: Funciones booleanas 7
lgebra de Boole se pueden demostrar varias proposiciones o teoremas de lgebra booleana Para las demostraciones de teoremas se pueden usar:
tablas de verdad, r postulados, r y teoremas ya demostrados
r
2: Funciones booleanas
por otra.
identidad:
1. X + 0 = X
nulo (elementos nicos):
2. X + 1 = 1
idempotencia:
3. X + X = X
involucin:
4. (X) = X
complementariedad:
5. X + X = 1
5D. X X = 0
2: Funciones booleanas 9
2: Funciones booleanas
11
2: Funciones booleanas
12
13
Demuestre este teorema: X Y + X Y igualdad distributividad (8) complementariedad (5) identidad (1D) X Y + X Y
= X = = = = X X X X Y + X Y (Y + Y) (1)
Demuestre este teorema : igualdad identidad (1D) distributividad (8) nulo (2) identidad (1D)
X+XY X + XY
= X = = = = = X X X X X + XY 1 + XY (1 + Y) (1)
2: Funciones booleanas
14
2: Funciones booleanas
15
2: Funciones booleanas
16
Funciones booleanas
Espacios y funciones booleanas
Si se define un espacio booleano como B={0,1} r Usando el producto cartesiano se puede definir B2 = {0,1} x {0,1} = {(00), (01), (10), (11)} r Para X = (X1, X2) podemos definir una funcin booleana f de dos variables segn: f(X): B2 B, cada punto de B2 se mapea a B r Para n variables booleanas con X = (X1, X2, ... Xn) se puede definir una funcin booleana f de n variables segn: f(X): Bn B, cada punto de Bn se mapea a B r La funcin booleana puede tomar valores de 1 o 0 dependiendo de los valores de sus variables
r
2: Funciones booleanas 17
Funciones booleanas
Espacios y funciones booleanas
El conjunto uno (on set) de f, puede definirse como los puntos X de Bn que se mapean a 1. f1 : {X | f(X) = 1} r El conjunto zero (off set) de f puede definirse como los puntos X de Bn que se mapean a 0. f0 : {X | f(X) = 0} r Si el conjunto f1 = Bn se dice que f es una tautologa. r Si el conjunto f0 = Bn se dice que f0 es vaco y no es satisfacible.
r
2: Funciones booleanas 18
debida a una calificacin superflua o de lgica circular (e.g. "innovacin novedosa", "mundo mundial, "Le voy a entregar un obsequio gratis, "El 100% de nuestros clientes compran nuestros productos). ciencia de hacer tautologas particularmente elaboradas de una forma rigurosa. Un teorema es un ejemplo de tautologa til.
2: Funciones booleanas 19
Funciones booleanas
Espacios y funciones booleanas
Una funcin f es satisfacible cuando existe un elemento en el conjunto de f que es uno. r Dos funciones son equivalentes si para todo X Bn se tiene que: f(X) = g(X)
r
2: Funciones booleanas
20
2: Funciones booleanas
21
Representaciones
Las funciones booleanas se pueden describir
lgebra booleana r tablas de verdad, r diagramas de compuertas, r diagramas temporales, r diagramas de Venn, r mapas de Karnaugh, r N-cubos, r lenguajes de descripcin de hardware (HDL: Hardware description languages) como Verilog o VHDL
2: Funciones booleanas
22
Por verse!
expresin de lgebra booleana. Ejemplo: f(X, Y, Z) = XY + XZ + XZ La funcin puede evaluarse para las diferentes combinaciones de valores que tomen las variables. Existen infinitas representaciones equivalentes de una funcin a travs de expresiones. El problema de sntesis lgica consiste en encontrar la mejor expresin para representar una funcin.
2: Funciones booleanas
23
representar como una tabla de verdad. La tabla de verdad despliega todas las combinaciones de valores de las variables y el valor asociado de la funcin.
2: Funciones booleanas
24
Representaciones
Ejemplos: tablas de verdad
X 0 0 1 1
Y 0 1 0 1
XY 0 0 0 1
X 0 0 1 1
Y 0 1 0 1
X 1 1 0 0
X Y 0 1 0 0
X 0 0 1 1
Y 0 1 0 1
X 1 1 0 0
Y 1 0 1 0
XY 0 0 0 1
X Y 1 0 0 0
( X Y ) + ( X Y ) 1 0 ( X Y ) + ( X Y ) 0 1
X=Y
Expresin booleana que es verdadera cuando X e Y son iguales y falso de otra forma 2: Funciones booleanas 25
Representaciones
Las funciones booleanas tambin se pueden representar por diagramas compuestos de smbolos de compuertas. Existen mltiples diagramas que pueden representar la misma funcin. La ventaja de esta representacin es que esta asociada a la implementacin en un medio visual. Los circuitos combinacionales contienen solo compuertas. Los circuitos secuenciales contienen flip-flops y compuertas.
2: Funciones booleanas 26
Diagramas de compuertas
NOT : X, X, ~X
X Y X 0 1 Y 1 0
X Y
X 0 0 1 1 X 0 0 1 1
Y 0 1 0 1 Y 0 1 0 1
Z 0 0 0 1 Z 0 1 1 1
OR: X+Y, XY
X Y
2: Funciones booleanas
27
Diagramas de compuertas
NAND
X Y Z X 0 0 1 1 X 0 0 1 1 X 0 0 1 1 X 0 0 1 1 Y 0 1 0 1 Y 0 1 0 1 Y 0 1 0 1 Y 0 1 0 1 Z 1 1 1 0 Z 1 0 0 0 Z 0 1 1 0 Z 1 0 0 1
NOR
X Y
XOR
XY
X Y
XNOR
X Y
X=Y
2: Funciones booleanas
28
Diagramas de compuertas
Existe mas de una forma de mapear
expresiones a compuertas
r
e.g., Z = A B (C + D) = (A (B (C + D)))
T2 T1
r
A B C D
2: Funciones booleanas
29
formas de las ondas de entradas y salidas de los circuitos. Los bordes no se alinean exactamente (toma tiempo para que una compuerta cambie de output)
2: Funciones booleanas
30
varias herramientas como: un simulador, usando un analizador lgico o un osciloscopio Retardos de propagacin en compuertas pueden causar que las seales de entrada de otras compuertas en cascada tengan carreras Estas carreras pueden causar errores o perturbaciones (glitches) Los tiempos de propagacin son acumulativos para compuertas en cascada
2: Funciones booleanas
31
perturbacin
2: Funciones booleanas 32
matemticas conocida como teora de conjuntos. Estos diagramas son usados para mostrar grficamente la relacin entre diferentes conjuntos Son equivalentes a las tablas de verdad al mostrar todas las relaciones lgicas entre los conjuntos de inters Ejemplos:
A AB B A+B
(A + B)
(A + B)
2: Funciones booleanas 33
2: Funciones booleanas
34
Funciones de n variables
Si hay n variables la tabla de verdad tendr 2n filas.
Cada fila tiene como resultado un 0 o un 1. El numero de posibles funciones (que resultan en 0 o 1) crece rpidamente, en termino de n es: 22 n = 0 indica una funcin con 0 variables.
X1 X2 Xn F
2: Funciones booleanas
35
Funciones de n variables
Ejemplo: para n=2 se tienen 22 = 16 funciones
X Y X 0 0 1 1 Y 0 1 0 1
0 XY
F f5 0 1 0 1 f6 0 1 1 0 f7 0 1 1 1 f8 1 0 0 0 f9 1 0 0 1 f10 1 0 1 0
X=Y
f0 0 0 0 0
f1 0 0 0 1
f2 0 0 1 0
X
f3 0 0 1 1
Y
f4 0 1 0 0
f11 1 0 1 1
Y
f12 1 1 0 0
f13 1 1 0 1
f14 1 1 1 0
f15 1 1 1 1
X xor Y
1 X X nand Y=(XY)
X + Y X nor Y=(X + Y)
Como son las funciones equivalentes a la tabla? f0=0, f1=XY, f2=XY, f3=X, f4=XY, ..., f14=XY + XY + XY= A +
B = (AB), f15=1
2: Funciones booleanas
36
escrita mediante los operadores AND, OR y NOT Estos conjuntos constituyen un conjunto funcionalmente completo
2: Funciones booleanas
37
2: Funciones booleanas
38
a funciones de n variables
2: Funciones booleanas
39
Actividad:
Determine la funcin de lgebra booleana
Cout Cin A B S A B S A B S A B S A B S
A B Cin
S Cout
2: Funciones booleanas
40
Actividad:
A B Cin
S Cout
Cout Cin A B S A B S A B S A B S A B S
A 0 0 0 0 1 1 1 1
B 0 0 1 1 0 0 1 1
Cin Cout S 0 0 0 1 0 1 0 0 1 1 1 0 0 0 1 1 1 0 0 1 0 1 1 1
Minimizar
Usando teoremas para minimizar el sumador
Cout
= = = = = = = = = = = =
A B Cin + A B Cin + A B Cin + A B Cin A B Cin + A B Cin + A B Cin + A B Cin + A B Cin A B Cin + A B Cin + A B Cin + A B Cin + A B Cin (A + A) B Cin + A B Cin + A B Cin + A B Cin (1) B Cin + A B Cin + A B Cin + A B Cin B Cin + A B Cin + A B Cin + A B Cin + A B Cin B Cin + A B Cin + A B Cin + A B Cin + A B Cin B Cin + A (B + B) Cin + A B Cin + A B Cin B Cin + A (1) Cin + A B Cin + A B Cin B Cin + A Cin + A B (Cin + Cin) B Cin + A Cin + A B (1) sumar terminos para B Cin + A Cin + A B factorizar
Minimizar
Algunos criterios de inters al minimizar son:
r
Criterios de reduccin Minimizar compuertas Minimizar numero de entradas a las compuertas. Esto corresponde a minimizar el numero de literales y reduce el numero de transistores en cada compuerta (reduce el costo) Disminuir el numero de niveles, esto aumenta la velocidad de respuesta del circuito implementando la funcin
comportamientos:
r r r
retardos son diferentes perturbaciones (glitches) pueden ocurrir otras variaciones por diferencias en el numero de compuertas y 2: Funciones booleanas estructura
43
2: Funciones booleanas
45