Funciones Booleanas

Anuncio
Sistemas Digitales
Funciones
Booleanas
Mario Medina C.
[email protected]
Funciones Booleanas
Funciones Booleanas y tablas de verdad
Sumas de productos y productos de sumas
Formas canónicas
Funciones primarias
Minitérminos y maxitérminos
Conversión entre formas canónicas
 Mario Medina
Función binaria ó Booleana
Expresión del tipo y(t) = F(x1(t), x2(t), . ., xn(t))
Salida y(t) depende de los n argumentos y de la
relación F en todo instante.
Salidas y entradas binarias sólo pueden tomar
valores 0 y 1.
Para n bits de entrada, habrá 2n posibles
combinaciones de entrada
Funciones y tablas de verdad
La relación entre una función F y su tabla de
verdad es directa
La expresión para una función binaria puede
obtenerse de su tabla de verdad, y viceversa.
Ambas contienen exactamente la misma
información
Tabla de verdad
Tabula todas las posibles combinaciones de
las entradas con sus salidas asociadas.
Cada función tiene una única tabla de verdad
No existe ambiguedad, ya que incluye todas las
posibilidades.
A
0
0
1
1
B
0
1
0
1
Suma
0
1
1
0
Acarreo
0
0
0
1
Funciones y tablas de verdad
Cómo obtener una función F a partir de la
tabla de verdad
Para cada fila de salida 1, relacionar las entradas
con el operador intersección ( ● )
Cada variable X que toma valor 0 aparece
complementada (X’)
Cada variable X que tiene un 1 aparece sin
complementar
Todos los términos anteriores se relacionan
mediante el operador unión ( + )
© 2013 Mario Medina© Mario Medina C.
1
Sistemas Digitales
Ejemplo de relación de tabla
de verdad y funciones
Representación de valores
lógicos
Función Suma: Suma = A’B + A B’ = A⊕B
Función Acarreo: Acarreo = AB
A
0
0
1
1
B
0
1
0
1
Acarreo
0
0
0
1
Suma
0
1
1
0
Representaciones de una
función
Término producto (product term)
Serie de literales relacionados por productos
lógicos ( ● )
ABC , ĀBD, X’Y’Z’, etc.
Término suma (sum term)
Serie de literales relacionados por sumas lógicas
(+)
A+B’+C , Ā+B+D, etc.
Formas canónicas de términos
La forma canónica o normalizada de un
término (producto o suma) de una función es
aquella en la que aparece un literal para
cada variable de la función
Cada variable aparece sólo una vez, ya sea
complementada o no, pero no en ambas formas
Sólo pueden aparecer complementos de
variables, no de otras funciones
Por ejemplo, X’, Ā, pero no (AB)’
© 2013 Mario Medina© Mario Medina C.
Tabla de verdad suele usar valores 0 y 1 para
representar los estados lógicos
Esta representación es arbitraria
Otras alternativas de representación en la tabla
de verdad son:
V
ON
H (High)
Vcc
F
OFF
L (Low)
0V
SoP y PoS
Una función puede ser representada
mediante una suma de productos (SoP)
Términos producto que se suman
F= A’B’C + ABC’ + B
También es posible expresar una función
como un producto de sumas (PoS)
Términos suma que se multiplican
F= (A’+B’+C)(A+B+C’)B
Ejemplo de formas canónicas
de términos
Ejemplo: Considere una función F(A, B, C)
Términos ABC y AB’C’ son términos productos
normalizados de F
Términos AB y AC son términos productos, pero
no normalizados
Lo mismo se aplica a los términos suma
(A + B + C) y (A + B’ + C’) son términos suma
normalizados
(A + B) y (B + C) son términos suma no
normalizados
2
Sistemas Digitales
Minitérminos
Expresiones con minitérminos
Términos producto normalizados se llaman
minitérminos (minterms)
Sea F(A,B,C) representada en la sgte. tabla
de verdad
A B C F
Forma canónica de productos o suma
normalizada de productos: representación de
una función usando minitérminos
Forma canónica para F(A, B, C)
F = A’BC + AB’C’ + AB’C + ABC’ + ABC
Forma canónica para F’(A, B, C)
Todas las combinaciones de variables de entrada que
generan una salida 1 para la función
En la función sólo se incluyen los minterms que
generan salida 1.
Notación reducida con
minitérminos
Notación alternativa para la forma canónica
de productos de una función
Valores de entrada a la función se interpretan
como números binarios
Equivalente decimal del número binario es el
índice del minitérmino incluido en la función
Notación reducida con
minitérminos
Orden de las variables es crítico para una
correcta interpretación de la notación
anterior
Orden debe mantenerse estrictamente en las
transformaciones entre notaciones
Interpretación del índice de cada minitérmino
dependerá de la definición de la función
Para F1(A,B,C), minterm m3(0112) es A’BC
Para F2(A,B,C,D), minterm m3(00112) es A’B’CD
© 2013 Mario Medina© Mario Medina C.
F’ = A’B’C’ + A’B’C + A’BC’
0 0
1 0
F
1
1
0
0
0
0
0
0
1
1 0 0 1
1 1 1 0
0 0 1 0
1
1
1
0 1 1 0
1 0 1 0
1 1 1 0
Notación reducida con
minitérminos
Función incluye sólo
A
0
0
0
0
1
1
B
0
0
1
1
0
0
C Minterms F
minitérminos para los
0 A B C = m0 0
cuales F = 1
1 A B C = m1 0
0 A B C = m2 0 F(A, B, C) = m(3,4,5,6, 7) = m + m + m + m + m
∑
3
4
5
6
7
1 A B C = m3 1
0 A B C = m4 1
F (A,B, C) = ∑ m(0,1,2) = m0 + m1 + m2
1 A B C = m5 1
1
1
1 0
1 1
A B C = m6
A B C = m7
1
1
Expresiones con minitérminos
Notación en minitérminos (forma canónica)
generalmente no será la notación mínima
Contendrá información redundante
F = A’BC + AB’C’ + AB’C + ABC’ + ABC
Es equivalente a F = A + BC
Lo anterior es fácil de demostrar aplicando
los lemas y teoremas del álgebra binaria
vistos anteriormente
3
Sistemas Digitales
Expresiones con minitérminos
Cualquier función binaria de n variables
puede expresarse como una función
canónica de productos o minitérminos
Expresar la sgte. función en forma normalizada
de minterms
F(A, B, C, D) = (AC’ + D)BC’
El método consiste en multiplicar cada término
que no contiene la variable xi por (xi + xi’)
F(A, B, C, D) = ABC’D + ABC’D’ + A’BC’D
F(x, y) = a0m0 + a1m1 + a 2m2 + a 3m3
2 variables: 22=4 minitérminos, y 24=16
funciones primarias
Muchas de estas funciones primarias son tan
comunes, que reciben un nombre especial
AND, OR, NOR, XOR, NEXOR, NOT
Funciones booleanas básicas
X
0
0
1
1
X AND Y
0
0
0
1
i=0
El valor 0 o 1 de los coeficientes ai indica la
presencia o no presencia de los minitérminos
Una función de n variables booleanas tiene 2n
minitérminos
Cada minitérmino puede estar o no presente en la
función
n
a0 a1 a2 a3
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
Minitérminos
0
m3
m2
m2 + m3
m1
m1 + m3
m1 + m2
m1 + m2 + m3
m0
m0 + m3
m0 + m2
m0 + m2 + m3
m0 + m1
m0 + m1 + m3
m0 + m1 + m2
m0 + m1 + m2 + m3
NOR
Unión o suma lógica
X
0
0
1
1
Y
0
1
0
1
2n −1
F(x 1 , x 2 , K , x n ) = ∑ a imi
Ex. Reducida
0
XY
XY
X
XY
Y
XY + XY
X+Y
XY
XY+XY
Y
X+Y
X
X+Y
X+Y
1
Símbolo
F. primaria
f0
f1
f2
f3
f4
f5
f6
f7
f8
f9
f10
f11
f12
f13
f14
f15
AND
XOR
OR
NOR
XNOR
NOT Y
NOT X
NAND
Funciones booleanas básicas
OR
Y
0
1
0
1
Tienen la forma
Funciones primarias con 2
variables
Para una función de 2 variables se tiene
Intersección o producto
lógico
Se obtienen a partir de los minitérminos
n variables: se tendrán 22 funciones primarias
Funciones primarias con 2
variables
AND
Funciones primarias con
minitérminos
X OR Y
0
1
1
1
© 2013 Mario Medina© Mario Medina C.
NAND
OR negado
X
0
0
1
1
Y
0
1
0
1
AND negado
X NOR Y
1
0
0
0
X
0
0
1
1
Y
0
1
0
1
X NAND Y
1
1
1
0
4
Sistemas Digitales
Funciones booleanas básicas
XOR
Una función booleana puede representarse
como un producto de sumas
NEXOR
OR exclusivo
X
0
0
1
1
Maxitérminos
Y
0
1
0
1
X XOR Y
0
1
1
0
Operador igualdad
X
0
0
1
1
Y
0
1
0
1
X NEXOR Y
1
0
0
1
Producto-de-Sumas
normalizada y tabla de verdad
Los términos suma normalizados se denominan
maxitérminos (maxterms)
Representación por maxterms se denomina
forma canónica o normalizada de sumas
Combinación de variables de entrada que
generan una salida 0 para la función
Expresiones con maxitérminos
Cada fila de tabla de verdad tiene asociado
un término suma normalizado (maxterm)
Dada la siguiente función F:
La expansión en maxitérminos es:
F = (A + B + C)(A + B + C’)(A + B’ + C)
La expansión en maxitérminos de F’
es:
F’ = (A + B’ + C’)(A’ + B + C)(A’ + B + C’)
(A’+ B’ + C)(A’ + B’ + C’)
Un valor 0 en la variable de entrada indica que
ésta aparece no complementada en el maxterm
Un valor 1 hace que ésta aparezca
complementada
Es lo opuesto a la formación de los minterms
Forma normalizada de sumas es productoria
A B C F F
0
0
0
0
1
0
0
1 0
1
0
1 0
0
0
1
1
1 0
1
1
0
0
1 0
1
0
1
1 0
1
1 0
1 0
1
1
1 0
1
de todos los maxterms asociados a un valor 0
Notación reducida con
maxitérminos
Notación reducida es análoga
a minitérminos, pero
1 en la entrada indica variable
complementada
0 en entrada indica variable sin
complementar
F(A, B, C) = ∏ M(0,1,2) = M0 • M1 • M2
A B C
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
Maxitérminos
Maxterms
A + B + C = M0
A + B + C = M1
A + B + C = M2
A + B + C = M3
A + B + C = M4
A + B + C = M5
A + B + C = M6
A + B + C = M7
F (A,B, C) = ∏ M(3,4,5,6,7) = M3 • M4 • M5 • M6 • M7
© 2013 Mario Medina© Mario Medina C.
F
0
0
0
1
1
1
1
1
Toda función booleana puede expresarse en
forma canónica usando maxitérminos
Ejemplo: expresar F en forma canónica de sumas
F(A, B, C, D) = (A + B)(C + BD)
A cada suma que no posee el literal xi, éste se
agrega sumando xi’xi
F(A, B, C, D) = (A + B + C + D) (A + B + C + D’) (A + B +
C’ + D’) (A + B’ + C + D) (A’ + B + C + D) (A’ + B + C +
D’)(A’ + B’ + C + D) (A + B + C’ + D)
5
Sistemas Digitales
Funciones primarias y
maxitérminos
Las funciones primarias con maxitérminos
tienen la forma
F(x , x ,K, x ) = ∏ (b + M )
En particular, para una función de 2 variables
se tiene
2 −1
n
1
2
n
i
i
i=0
F(x1, x 2 ) = (b0 + M0 )(b1 + M1 )(b 2 + M2 )(b 3 + M3 )
Más sobre maxitérminos
La expresión con maxitérminos no es
necesariamente mínima
F = (A + B)(A + C)
es la versión minimizada de
F = (A + B + C)(A + B + C’)(A + B‘ + C)
Simplificación usando leyes de De Morgan
(A + B)’ = A’B’
(AB)’ = A’ + B’
Relación entre minitérminos y
maxitérminos
La expansión en maxitérminos de una
función se deduce de aplicar el teorema de
De Morgan a la expansión de minitérminos
de la función
Asimismo, se puede obtener la expansión en
minitérminos de una función al aplicar el
teorema de De Morgan a los maxitérminos
de ella
Representaciones de F
Una función F puede representarse usando
minitérminos o maxitérminos en forma
indistinta
F = A’BC + AB’C’ + AB’C + ABC’ + ABC
F = (A + B + C)(A + B + C’)(A + B’ + C)
Cuál es mejor?
Conversión entre formas
canónicas
Expansión en maxterms contiene el
complemento de los minterms de la función
F(A, B, C) = ∑ m(3,4,5,6, 7) ⇔ ∏ M(0,1,2)
Expansión en minitérminos del complemento
de una función contiene los minitérminos
que no están presentes en la función
F(A, B, C) = ∑ m(3,4,5,6, 7)
F(A, B, C) = ∏ M(0,1,2)
F (A, B, C) = ∑ m(0,1,2)
F (A, B, C) = ∏ M(3,4,5,6, 7)
Ejercicios
Convierta la función F(A, B, C, D) = (abd + a’b
+ b’d + c’)(c + ab + bd) a su forma canónica
de suma de productos
Convierta la función F(A, B, C, D) = b(a + c)(a’
+ c’) + d(b + c) a su forma canónica de
producto de sumas
Depende del problema específico
Tecnología, implementación, velocidad, etc.
© 2013 Mario Medina© Mario Medina C.
6
Descargar