Download Tema 2 Teoría de la conmutación. Álgebra de Boole • Álgebra de

Document related concepts

Álgebra de Boole wikipedia , lookup

Lógica binaria wikipedia , lookup

Frecuencia de reloj wikipedia , lookup

Función paridad wikipedia , lookup

Función booleana wikipedia , lookup

Transcript
Tema 2
Teoría de la conmutación. Álgebra de Boole
• Álgebra de Boole
Definiciones y axiomas
Propiedades
• Variables y funciones booleanas
Definiciones
Propiedades
Formas de representación
Funciones booleanas y circuitos combiancionales
• Puertas lógicas
Puertas lógicas fundamentales
Puertas lógicas derivadas
Sist. Electrónicos Digitales
1
J.F. Martín
Tema 2
Teoría de la conmutación. Álgebra de Boole
Álgebra de Boole
Sist. Electrónicos Digitales
2
J.F. Martín
Tema 2
Teoría de la conmutación. Álgebra de Boole
• Definición de Álgebra de Boole
Un conjunto es un álgebra de Boole se verifica:
a) Es un conjunto finito B con al menos dos elementos, N (elemento nulo), U
(elemento universal), y tres operaciones: dos binarias y una unaria
( B, *, +, )
N ∈ B
U ∈ B
b) Cumple los 6 axiomas de HUNTINGTON
Sist. Electrónicos Digitales
3
J.F. Martín
Tema 2
Teoría de la conmutación. Álgebra de Boole
• Axiomas de HUNTINGTON
1.
Las operaciones *, + ,⎯ , deben ser cerradas
⎧ x*y ∈ B
⎪
∀x,y ∈ B ⎨ x + y ∈ B
⎪ x ∈B
⎩
2.
Operaciones con N,U
x*N=N
x*U=x
3.
x+N=x
x+U=U
Conmutatividad
x*y=y*x
x+y=y+x
Sist. Electrónicos Digitales
4
J.F. Martín
Tema 2
4.
Teoría de la conmutación. Álgebra de Boole
Distributiva.
x * (y + z) = (x * y) + (x * z )
x + (y * z) = (x + y) * (x + z)
5.
Complementatividad.
⎧x * x = N
∀x ∈ B,∃ x ∈ B / ⎨
⎩x + x = U
6.
Hay por lo menos dos elementos distintos en B.
Sist. Electrónicos Digitales
5
J.F. Martín
Tema 2
Teoría de la conmutación. Álgebra de Boole
• Propiedades del Álgebra de Boole
1.
Propiedad de Idempotencia
x*x=x
x+x=x
2.
Propiedad Asociativa
x*(y*z)=(x*y)*z
x+(y+z)=(x+y)+z
Sist. Electrónicos Digitales
6
J.F. Martín
Tema 2
3.
Teoría de la conmutación. Álgebra de Boole
Propiedad de Absorción
x+(x*y)=x
x*(x+y)=x
4.
Ley del consenso
x+(x*y)=x+y
x*(x+y)=x*y
5.
Ley de involución
(x) = x
Sist. Electrónicos Digitales
7
J.F. Martín
Tema 2
Teoría de la conmutación. Álgebra de Boole
Se puede demostrar que B={0,1}, N=0, U=1, junto con las operaciones * , + ,⎯ ,
definidas por las siguientes tablas de verdad, forman un álgebra de boole.
+
0
1
*
0
1
⎯
0
0
1
0
0
0
0 1
1
1
1
1
0
1
1 0
OR
Sist. Electrónicos Digitales
AND
8
NOT
J.F. Martín
Tema 2
Teoría de la conmutación. Álgebra de Boole
Variables y funciones booleanas
Sist. Electrónicos Digitales
9
J.F. Martín
Tema 2
Teoría de la conmutación. Álgebra de Boole
• Definiciones
Definimos constante sobre B, a todo elemento de B
Definimos variable de B, todo símbolo x que representa a cualquier elemento de B
Definimos literal de B, a toda constante ó variable
Definimos función booleana a la aplicación:
f : Bn → B
donde: Bn = B × B × .... × B / x = (x1,x 2 , .... ,x n ) ∈ Bn
Sist. Electrónicos Digitales
10
J.F. Martín
Tema 2
Teoría de la conmutación. Álgebra de Boole
Definimos función constante a la función fa :
fa : Bn → B / ∀ (x1,x 2 , .... ,xn ) ∈ Bn , fa (x1,x 2 , .... ,xn ) = a ∈ B
Definimos función proyección fp :
fp : Bn → B / ∀ (x1,x 2 , .... ,xn ) ∈ Bn , fp (x1,x 2 , .... ,xn ) = xi
donde xi es una variable de B
Definimos función degenerada a la función fd:
fd : Bn → B / ∀ x,z ∈ Bn , fd (x) = fd (z)
Definimos función parcialmente especificada a la aplicación:
fd : Bn → B3
Sist. Electrónicos Digitales
donde B3 = {0,1,#}
11
J.F. Martín
Tema 2
Teoría de la conmutación. Álgebra de Boole
Definimos término producto a todo literal o producto de literales, en los que cada
variable aparece como máximo una vez.
Definimos mintérmino o producto canónico al término producto de una función, que
está formado por las n variables de dicha función, apareciendo éstas una sola vez de
forma complementada o sin complementar.
Definimos forma normal disyuntiva de una función, a su representación algebraica,
que consta de un sólo término producto o de la suma de varios de ellos.
Definimos término suma a todo literal o suma lógica de literales, en las que cada
variable aparece como máximo una vez.
Definimos maxtérmino o suma canónica al término suma de una función, que está
formado por las n variables de dicha función, apareciendo éstas una sola vez de
forma complementada o sin complementar.
Definimos forma normal conjuntiva de una función, a su representación algebraica,
que consta de un sólo término suma o del producto de varios de ellos.
Sist. Electrónicos Digitales
12
J.F. Martín
Tema 2
Teoría de la conmutación. Álgebra de Boole
Para n variables podemos formar 2n mintérminos y 2n maxtérminos.
Notación para mintérminos y maxtérminos:
x1 * x 2 * .... * xn-1 * xn = m0
x1 * x 2 * .... * xn-1 * xn = m1
x1 * x 2 * .... * xn-1 * xn = m2
x1 + x 2 + .... + xn-1 + xn = M0
x1 + x 2 + .... + xn-1 + xn = M1
x1 + x 2 + .... + xn-1 + xn = M2
x1 * x 2 * .... * xn-1 * xn = m3
............................
x1 * x 2 * .... * xn-1 * xn = m2n −1
x1 + x 2 + .... + xn-1 + xn = M3
............................
x1 + x 2 + .... + xn-1 + xn = M2n −1
Definimos vector asociado a un mintérmino mi de n variables, al obtenido colocando 1
en las posiciones correspondientes a las variables NO complementadas, y colocando
0 en las posiciones correspondientes a las variables complementadas.
Ejp:
m = x * x * x * x → 0101
5
1
2
3
4
Definimos vector asociado a un maxtérmino Mi de n variables, al obtenido colocando
0 en las posiciones correspondientes a las variables NO complementadas, y
colocando 1 en las posiciones correspondientes a las variables complementadas.
Ejp:
M = x + x + x + x → 1010
10
Sist. Electrónicos Digitales
1
2
3
13
4
J.F. Martín
Tema 2
Teoría de la conmutación. Álgebra de Boole
• Propiedades
Dadas las funciones booleanas, f, g, las siguientes funciones f*g, f+g, g , también son
booleanas.
f*g(x) = f(x) * g(x) ∀x = (x1,x 2 , .... ,xn ) ∈ Bn
f+g(x) = f(x) + g(x) ∀x = (x1,x 2 , .... ,xn ) ∈ Bn
g(x) = g(x)
∀x = (x1,x 2 , .... ,x n ) ∈ Bn
Teorema de Dualidad.
Si a una identidad o teorema de conmutación se sustituyen {+,*,0,1} por
{*,+,1,0} respectivamente, se obtiene otra identidad o teorema dual al original.
Teorema de DeMORGAN.
x1 + x 2 + .... + x n = x1 * x 2 * .... * xn
x1 * x 2 * .... * xn = x1 + x 2 + .... + xn
Sist. Electrónicos Digitales
14
J.F. Martín
Tema 2
Teoría de la conmutación. Álgebra de Boole
Teorema de SHANON (Teorema generalizado de DeMorgan).
f(x1,x 2 , .... , x n ,*,+,0,1) = f(x1,x 2 , .... , xn ,+,*,1,0)
Teorema de los mintérminos para n variables.
2n −1
∑ m (x ,x , .... ,x
i=0
i
1
2
n
) =1
Teorema de los maxtérminos para n variables.
2n −1
∏ M (x ,x , .... ,x
i=0
Sist. Electrónicos Digitales
i
1
2
15
n
)=0
J.F. Martín
Tema 2
Teoría de la conmutación. Álgebra de Boole
Teorema del desarrollo de Shanon, para mintérminos, para una función f(x) = f(x1,x2,
.... ,xn), de n variables.
f(x) =
=
[(x1 * x2
* ....* xn ) * f(0,0, ... ,0)] + [(x1 * x 2 * ....* xn ) * f(0,0, ... ,1)] +
+ ............................................ + [(x1 * x 2 * ....* xn ) * f(1,1, ... ,1)] =
[m0
* f(0,0, ... ,0)] + [m1 * f(0,0, ... ,1)] + ......... + ⎡⎣m2n -1 * f(1,1, ... ,1)⎤⎦
Teorema del desarrollo de Shanon, para maxtérminos, para una función f(x) = f(x1,x2,
.... ,xn), de n variables.
f(x) =
=
[(x1 + x 2 +
.... + xn ) + f(0,0, ... ,0)] * [(x1 + x 2 + .... + xn ) + f(0,0, ... ,1)] *
* ............................................ * [(x1 + x2 + .... + xn ) + f(1,1, ... ,1)] =
[M0 + f(0,0, ... ,0)] * [M1 + f(0,0, ... ,1)] *
Sist. Electrónicos Digitales
16
......... * ⎡⎣M2n -1 + f(1,1, ... ,1)⎤⎦
J.F. Martín
Tema 2
Teoría de la conmutación. Álgebra de Boole
Como consecuencia del teorema del desarrollo de Shanon para mintérminos,
tenemos que toda función f(x), admite una representación, que denominaremos
forma canónica disyuntiva, formada por la suma de los mintérminos cuyos vectores
asociados VK verifican que f(VK)=1.
f(x) = ∑ mk
donde f(Vk ) = 1
Como consecuencia del teorema del desarrollo de Shanon para maxtérminos,
tenemos que toda función f(x), admite una representación, que denominaremos
forma canónica conjuntiva, formada por el producto de los maxtérminos cuyos
vectores asociados VK verifican que f(VK)=0.
f(x) = ∏ Mk
Sist. Electrónicos Digitales
donde f(Vk ) = 0
17
J.F. Martín
Tema 2
Teoría de la conmutación. Álgebra de Boole
Teorema para obtener la función complementada de una dada en forma canónica
disyuntiva.
Dada una función g(x), expresada en forma canónica disyuntiva, su función
complementada g(x) , estará dada por la suma de los mintérminos que no
aparecen en g(x).
Teorema para obtener la función complementada de una dada en forma canónica
conjuntiva.
Dada una función g(x), expresada en forma canónica conjuntiva, su función
complementada g(x), estará dada por el producto de los maxtérminos, que no
aparecen en g(x).
Sist. Electrónicos Digitales
18
J.F. Martín
Tema 2
Teoría de la conmutación. Álgebra de Boole
• Formas de representación
a) Esquemas de Circuitos
Un circuito electrónico, descrito a nivel de dispositivos, puede ser considerado
como una forma de representar a la función booleana que implementa
b) Diagrama de puertas lógicas
Consiste en representar una función, mediante su implementación utilizando
puertas lógicas
c) Expresión algebraica
Permite una representación más compacta, pero la información se presenta
más oculta
Sist. Electrónicos Digitales
19
J.F. Martín
Tema 2
Teoría de la conmutación. Álgebra de Boole
d) Métodos de enumeración
d.1)Tabla de verdad.
Listado que de forma explícita representa el
resultado de la función, para cada una y todas las
combinaciones de las entradas
d.2) Vector de valores.
Vector formado por el resultado de la función, en el
orden creciente de las combinaciones en las
variables de entrada
d.3) Mintérminos.
La función en forma canónica disyuntiva
d.4) Maxtérminos.
La función en forma canónica conjuntiva
e) Mapas de Karnaugh
Es una representación gráfica de la tabla de verdad mediante una matriz
bidimensional, donde cada posible combinación de los valores binarios de las
variables de entrada, está representada por una celda ó casilla. Las entradas
están ordenadas en código Gray, de forma que dos casillas adyacentes
(horizontal ó verticalmente), sólo tienen distinto valor en una de las entradas
Sist. Electrónicos Digitales
20
J.F. Martín
Tema 2
Teoría de la conmutación. Álgebra de Boole
• Mapas de Karnaugh de 3 variables y de 4 variables
x1,x2
x3
00
01
11
x1,x2
x3,x4
10
00
01
11
10
0
0
2
6
4
00
0
4
12
8
1
1
3
7
5
01
1
5
13
9
11
3
7
15
11
10
2
6
14
10
Sist. Electrónicos Digitales
21
J.F. Martín
Tema 2
Teoría de la conmutación. Álgebra de Boole
• Mapa de Karnaugh de 5 variables
x2,x3
x4,x5
00
01
11
x2,x3
x4,x5
10
00
01
11
10
00
0
4
12
8
00
16
20
28
24
01
1
5
13
9
01
17
21
29
25
11
3
7
15
11
11
19
23
31
27
10
2
6
14
10
10
18
22
30
26
x1 = 0
Sist. Electrónicos Digitales
x1 = 1
22
J.F. Martín
Tema 2
Teoría de la conmutación. Álgebra de Boole
• Mapa de Karnaugh de 6 variables
x3,x4
x5,x6
00
01
00
0
01
1
11
3
10
2
11
4
5
7
6
10
12
8
13
15
14
x3,x4
x5,x6
9
11
10
x1x2= 00
x3,x4
x5,x6
00
01
00
01
11
10
00
16
20
28
24
01
17
21
29
25
11
19
23
31
27
10
18
22
30
26
x1x2= 01
11
x3,x4
x5,x6
10
00
01
11
10
00
32
36
44
40
00
48
52
60
56
01
33
37
45
41
01
49
53
61
57
11
35
39
47
43
11
51
55
63
59
10
34
38
46
42
10
50
54
62
58
x1x2= 10
Sist. Electrónicos Digitales
x1x2= 11
23
J.F. Martín
Tema 2
Teoría de la conmutación. Álgebra de Boole
• Funciones booleanas y circuitos combinacionales
x1
x2
z1
z2
xm
zn
Para implementar un circuito digital combinacional de m entradas y n salidas, será
necesario implementar n funciones booleanas cada una de ellas dependiente de m
variables.
f1(x1 , x 2 , ..... , xm )
f2 (x1 , x 2 , ..... , xm )
.................
fn (x1 , x 2 , ..... , xm )
Sist. Electrónicos Digitales
24
J.F. Martín
Tema 2
Teoría de la conmutación. Álgebra de Boole
Puertas lógicas
Sist. Electrónicos Digitales
25
J.F. Martín
Tema 2
Teoría de la conmutación. Álgebra de Boole
• Puertas lógicas fundamentales
NOT
x
z
NOT
z=x
AND
x
z
z=xy
y
OR
x
z
z=x+y
y
Sist. Electrónicos Digitales
26
0
1
1
0
AND
0
1
0
0
0
1
0
1
OR
0
1
0
0
1
1
1
1
J.F. Martín
Tema 2
Teoría de la conmutación. Álgebra de Boole
• Puertas lógicas derivadas
XOR
x
z=x ⊕ y=xy+xy
z
y
NAND
x
z
z= xy
y
NOR
x
z
y
z= x+y
XNOR
x
z
y
Sist. Electrónicos Digitales
z= x ⊕ y
27
XOR
0
1
0
0
1
1
1
0
NAND
0
1
0
1
1
1
1
0
NOR
0
1
0
1
0
1
0
0
XNOR
0
1
0
1
0
1
0
1
J.F. Martín
Tema 2
Teoría de la conmutación. Álgebra de Boole
Ejemplo de función booleana
Sist. Electrónicos Digitales
28
J.F. Martín
Tema 2
Teoría de la conmutación. Álgebra de Boole
Diagrama de circuitos
vx3
vx1
vx4
vz
vx2
Sist. Electrónicos Digitales
29
J.F. Martín
Tema 2
Teoría de la conmutación. Álgebra de Boole
Diagrama de puertas lógicas
Sist. Electrónicos Digitales
30
J.F. Martín
Tema 2
Expresión algebraica
Tabla de verdad
Sist. Electrónicos Digitales
Teoría de la conmutación. Álgebra de Boole
f(x1, x 2 , x 3 , x 4 ) = (x1 * x 2 ) + (x 3 * x 4 )
x1 x2 x3 x4
z
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
1
1
1
0
1
1
1
0
1
1
1
0
0
0
0
0
31
J.F. Martín
Tema 2
Teoría de la conmutación. Álgebra de Boole
Vector de salida
f(x1,x2,x3,x4) = (1,1,1,0,1,1,1,0,1,1,1,0,0,0,0,0)
Forma canónica disjuntiva
f(x1,x 2 ,x 3 ,x 4 ) =
∑ m(0,1,2,4,5,6,8,9,10)
Forma canónica conjuntiva
f(x1,x 2 ,x 3 ,x 4 ) =
∏ M(3,7,11,12,13,14,15)
Mapa de Karnaugh.
Sist. Electrónicos Digitales
x1,x2
x3,x4
00
01
11
10
00
1
1
0
1
01
1
1
0
1
11
0
0
0
0
10
1
1
0
1
32
J.F. Martín