Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Cap1-Funciones Booleanas PDF
Cap1-Funciones Booleanas PDF
Capítulo 1
Funciones Booleanas
Cada salida de un sistema digital combinacional puede describirse por una función booleana
de sus variables de entrada. Es decir, las salidas de una red combinacional dependen solamente
de sus entradas. Lo anterior se considera la definición de un sistema digital combinacional.
1.1. Definiciones
i) Una variable booleana es un símbolo, el cual puede ser sustituido por un elemento del
conjunto B={0,1}. Una constante booleana es un valor perteneciente al conjunto {0,1}.
ii) El elemento que es sustituido por el símbolo de la variable se llama el valor de la variable.
iii) Una función booleana de n variables f ( x1 , x2 ,..., xn ) , es un mapeo o correspondencia que
asocia un valor booleano a f, con cada una de las posibles combinaciones de valores que
pueden tomar las variables.
iv) Una expresión o fórmula booleana queda definida, recursivamente, por las reglas:
a) Constantes y variables son expresiones.
b) Si x e y son expresiones, entonces:
x+y, x·y, x’, y’, (x) también son expresiones.
v) Una función booleana es una función f ( x1 , x2 ,..., xn ) , para la cual existe una expresión
E ( x1 , x2 ,..., xn ) , tal que:
f ( x1 , x2 ,..., xn ) E ( x1 , x2 ,..., xn ) (1.1)
vii) Dos expresiones son equivalentes si una puede ser obtenida a partir de la otra mediante un
número finito de aplicaciones de los postulados o teoremas. O bien si tienen las mismas tablas
de verdad.
Para x = (x1, x2), podemos definir una función booleana f de dos variables según:
f ( x) : B 2 B (1.3)
f ( x) : B n B (1.4)
El conjunto uno u “on” de f puede definirse como los puntos de B n que se mapean a 1:
f1 f 1
(1) x | f ( x) 1 (1.5)
El conjunto cero u “off” de f puede definirse como los puntos de B n que se mapean a 0:
f0 f 1
(0) x | f ( x) 0 (1.6)
f ( x) g ( x) (1.7)
1.3.1. Expresiones.
La función puede evaluarse para las diferentes combinaciones de valores que tomen las
variables. Se ilustra la evaluación de la función para A = 1, B = 0 y C = 0.
f( 1, 0, 0) = 1 0 + 1’ 0 + 1 0’
= 0 +0 0+1 1
= 1
Esto nos lleva al problema de síntesis lógica que consiste en encontrar la “mejor” expresión
para representar a una función.
La mayor ventaja de esta representación es que puede ser muy compacta y facilita la
manipulación matemática. Sin embargo resulta difícil el tratamiento algorítmico.
A B C f
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 1
1 0 1 0
1 1 0 1
1 1 1 1
Sin embargo a medida que el número de variables aumenta su uso se torna impracticable. El
crecimiento exponencial del número de renglones, ya que éstos se duplican al aumentar en una
variable, impiden que esta representación se emplee para desarrollar algoritmos
computacionales eficientes.
Una variante de las tablas de verdad son las matrices de cobertura que se desarrollan en
4.6.4.
NOT
AND NAND
D Q
OR NOR
Los símbolos lógicos anteriores representan a las funciones booleanas básicas, cuyas
definiciones se presentan en 1.4.2.
La Figura 1.3 ilustra las relaciones geométricas de los símbolos IEEE para las compuertas
lógicas elementales.
26
19
26
5 10 13
4
26
26
Existen múltiples esquemáticos que pueden representar la misma función. La ventaja de esta
representación es que está asociada a la implementación.
Los esquemáticos pueden describirse mediante secuencias de texto, que especifican las
compuertas y los cables que las interconectan. Se denominan netlist a estas representaciones.
Síntesis lógica.
El problema de síntesis lógica consiste en encontrar un circuito C(G, A), formado por un
conjunto G de compuertas y flip-flops, y un conjunto A de alambres o elementos orientados que
interconectan las compuertas y flip-flops.
Los cambios de f no están alineados con los cambios de las entradas, debido a que toma
tiempo para que una compuerta cambie su estado. Es similar a una tabla de verdad, pero
horizontal.
Nótese que entre los tiempos 10 y 20, la señal f debería estar en 1 lógico(A=1, C'=1), sin
embargo esto ocurre un poco después (tipo 2 unidades). Esto se debe al retardo de propagación
a través de las compuertas.
También se aprecia, en la gráfica de la Figura 1.5, que la salida tiene una caída a cero, un
poco después del tiempo 40; como se verá después, es una perturbación.
En el tiempo cercano a cero existe un valor no lógico asociado a f, esto es debido a que el
simulador no puede conocer la salida hasta que los valores iniciales se hayan propagado a través
de las compuertas.
Las formas de ondas pueden también visualizarse mediante un analizador lógico, o con un
osciloscopio.
Retardos de propagación.
Existe un retardo entre la salida y la entrada de una compuerta, que se denomina retardo de
propagación.
La Figura 1.6, muestra las formas de ondas a la entrada y salida de un inversor, en las que se
han definido los retardos de propagación (propagation delay) de un canto de subida y de un
canto de bajada. Al mismo tiempo se definen los tiempos de subida y de bajada.
Los retardos de propagación han sido definidos como cotas superiores de retardos entre
entradas válidas y salidas válidas.
Vin
VIH
VIL
t
tPDHL tPDLH
Vout
VOH
VOL
t
tf tr
Tiempo caída Tiempo subida
(fall time) (rise time)
Vin
VIH
VIL
t
Vout tCDHL tCDLH
VOH
VOL
t
Figura 1.7. Tiempos de contaminación.
La Figura 1.8, muestra las formas de ondas idealizadas en las entradas y salidas de los
inversores. Nótese que los tiempos de propagación son acumulativos en conexiones en cascada.
A1 A2 A3
A1
A2
A3
A A’ A’ A
A A
A’ A’
A
A’
A
A’
A
A’
A
A’
1.3.7. N-cubos.
Para sistemas reales se emplean aplicaciones computacionales que emplean lenguajes para la
descripción del hardware (HDL Hardware Description Language).
n N 2n 22
n
0 1 2
1 2 4
2 4 16
3 8 256
4 16 65536
... ...
El caso n = 0 se interpreta como una función descrita por 0 variables; es decir por una
constante. En esta situación existe sólo un valor posible (N=1) y como la constante puede ser 0
ó 1 el número de funciones de cero variables es 2.
Para n = 2 las tablas de verdad tienen cuatro renglones. Los cuatro casilleros de una función
pueden llenarse de 16 formas, las que se muestran en la siguiente tabla.
Las funciones se han numerado, en binario, considerando el primer renglón como el dígito
menos significativo. Por ejemplo: 0111 equivale a 7, en sistema binario. Lo cual puede verse
de la siguiente relación: 0 23 +1 22 + 1 21 +1 20 = 7
f0 = 0 f8 = AB
f1 = A'B' = (A + B)' f9 = A'B' + AB
f2 = A'B f10 = A'B + AB = B
f3 = A'B' + A'B = A' f11 = A'B' + A'B + AB = A' + B
f4 = AB' f12 = AB' + AB = A
f5 = A'B' + AB' = B' f13 = A'B' + AB' + AB = A + B'
f6 = A'B + AB' f14 = A'B + AB' + AB = A + B
f7 = A'B' + A'B + AB' = A' + B' = (AB)' f15 = A'B' + A'B + AB' + AB = 1
Las diferentes expresiones pueden comprobarse verificando que se satisfacen las tablas de
verdad de la Figura 1.11.
Algunas de estas funciones son tan utilizadas, que se las reconoce con un nombre.
Definiciones de funciones lógicas de dos variables.
f1 (A, B) = nor (A, B) = A B
f 8 (A, B) = and (A, B) = A B
f 6 (A, B) = xor (A, B) = A B (1.9)
f 7 (A, B) = nand (A, B) = A B
f14 (A, B) = or (A, B) = A + B
La función 6, se denomina xor, por or exclusivo. Toma valor verdadero si los valores lógicos
de A y B son diferentes; por esto también se la denomina desigualdad o diferencia.
La función 9 se denomina xnor. Toma valor verdadero si los valores lógicos de A y B son
iguales. Por esto se la denomina igualdad o coincidencia .
La función 9 se denomina equivalencia lógica o bicondicional; la función 11 es la
implicancia lógica o condicional.
f11 (A,B) = A B =A B
A B OR XOR
0 0 0 0
0 1 1 1
1 0 1 1
1 1 1 0
A 0=A
A 1 =A
A A=0
A A=1
Por lo tanto un circuito combinacional puede construirse usando sólo compuertas AND, OR
y NOT.
nand ( A, B) AB
nand ( A, A) A
nand ( A, B ) A B
También la función NOR es funcionalmente completa. Esto puede verse observando que la
función nor, genera el complemento de una variable, y también el or y el and de dos variables.
nor ( A, B) A B
nor ( A, A) A
nor ( A, B ) AB
Generalización para funciones de más de dos variables.
Algunas funciones pueden generalizarse para más de dos variables, por ejemplo:
La función xor para n variables puede generalizarse, estableciendo que la función toma valor
uno si se tiene un número impar de variables que toman valores iguales a 1; y toma valor cero si
el número de variables que toman valor 1 es par.
(Taub): En un estante hay 5 libros (v, w, x, y, z) que se pueden tomar cumpliendo las
siguientes reglas:
a) Se seleccionan v o w o ambos
b) Se seleccionan x o z pero no ambos
c) se selecciona v y z juntos, o bien una selección que no incluya a ninguno de ellos
d) si se selecciona y, también debe seleccionarse z
e) si se selecciona a w, también debe seleccionarse a v e y.
Expresar cómo seleccionar un grupo de libros cumpliendo las reglas anteriores.
Solución.
Sean:
u la proposición lógica que indica que la selección de libros cumple las reglas
el nombre del libro es la proposición lógica que indica que se tomó dicho libro para formar
la selección.
Como las reglas de selección deben cumplirse simultáneamente, debe entenderse que debe
cumplirse la primera regla y la segunda, y así sucesivamente.
v z regla c)
0 0 1
0 1 0
1 0 0
1 1 1
Es decir: (v z)'
Una frase alternativa para (w' +y) es: si no se selecciona w, la selección de y es opcional.
Ejemplo 1.2.
(Dietmeyer). Tres interruptores(a, b, c) controlan dos ampolletas (una roja R, y otra verde V)
del modo siguiente:
a) Cuando los tres interruptores están cerrados, se enciende la luz roja.
b) Cuando el interruptor A está abierto y B o C están cerrados se enciende la luz verde.
c) No deben encenderse ambas ampolletas a la vez.
d) En el resto de los casos la roja debe encenderse, excepto cuando los tres interruptores están
abiertos, en este caso no debe encenderse ninguna ampolleta.
Solución:
A B C R V
0 0 0 0 0 por condición e
0 0 1 0 1
0 1 0 0 1
0 1 1 0 1 por condición b.
1 0 0 1 0
1 0 1 1 0
1 1 0 1 0 por condición c
1 1 1 1 0
Se advierte que si no se hubiese dado, por ejemplo, la especificación c), el problema queda
indeterminado. En estos casos es preciso efectuar suposiciones o agregar especificaciones.
Por esto podría decirse que una tabla de verdad es una especificación formal.
Una vez que se tiene la tabla pueden encontrarse las expresiones para R y V en función de A,
B y C.
Puede comprobarse que cada uno de la función está asociado a un producto lógico de las
variables A, B y C. Y que la función es la suma lógica de esos productos, se tiene entonces que:
R = A.
V = A'(B +C)
Este teorema permite calcular la función dual ( fd) de una función f. Debe notarse que no se
intercambian las constantes y los operadores.
Demostración por inducción perfecta de la primera proposición. Se analizan todos los casos
que se presentan cuando la variable x1 toma todos los valores que le son posibles.
Considerando:
x1 f ( x1 ,..., xn ) x1 f (0, x2 ,..., xn )
Cuando x1 = 1, entonces:
f ( 1,x2 ,...,x n ) 1 f ( 1,x2 ,...,x n ) 0 f ( 0,x2 ,...,x n )
La repetida aplicación de este teorema permite representar una función de n variables como
una suma de productos o un producto de sumas.
Ejemplo 1.3.
En desarrollos de minimización se clasifican las funciones, dependiendo de cómo aparecen
las variables en una forma suma de productos.
Criterios de Reducción.
Cada función tiene una y sólo una tabla de verdad asociada; sin embargo pueden escribirse
diferentes expresiones booleanas para la misma función. Esto implica diferente costo.
Ejemplo 1.4.
Es usual asumir que se dispone de las variables y sus complementos como entradas de una
red combinacional, por esta razón se cuentan los literales.
J Q D Q
CP _ _
K Q CP Q
A A'
A
Figura 1.17. Entradas complementadas
Ejemplo 1.5.
B f
De este modo todas las compuertas empleadas no tienen más de dos entradas, según puede
verse en el esquema de la Figura 1.19:
A
f
B
Los circuitos lógicos que tienen igual tabla de verdad son equivalentes, pero pueden tener
diferente costo, en tiempo o en espacio.
Existen diversas herramientas para explorar el compromiso entre retardos y tamaño, que
permiten generar automáticamente diferentes soluciones, empleando minimización lógica para
reducir la complejidad espacial y optimización de los retardos para aumentar la velocidad de
respuesta.
Índice general.
CAPÍTULO 1.........................................................................................................................................1
FUNCIONES BOOLEANAS ...............................................................................................................1
1.1. DEFINICIONES ...............................................................................................................................1
1.2. ESPACIOS Y FUNCIONES BOOLEANAS............................................................................................2
1.3. REPRESENTACIÓN DE FUNCIONES BOOLEANAS ............................................................................3
1.3.1. Expresiones. .........................................................................................................................3
1.3.2. Tabla de verdad ....................................................................................................................3
1.3.3. Esquema Lógico. ..................................................................................................................4
Símbolos de compuertas básicas (gates) .................................................................................................... 4
Esquemático red digital.............................................................................................................................. 5
Síntesis lógica. ........................................................................................................................................... 5
1.3.4. Diagrama Temporal. ............................................................................................................5
Retardos de propagación. ........................................................................................................................... 6
Perturbaciones............................................................................................................................................ 8
1.3.5. Diagramas de Venn. .............................................................................................................9
1.3.6. Mapas de Karnaugh. ..........................................................................................................10
1.3.7. N-cubos...............................................................................................................................10
1.3.8. Lenguajes de descripción de hardware. .............................................................................10
1.4. FUNCIONES DE VARIAS VARIABLES. ............................................................................................10
1.4.1 Funciones de n variables. ....................................................................................................10
1.4.2 Funciones de dos variables. ................................................................................................11
Definiciones de funciones lógicas de dos variables. ................................................................................ 11
Conjuntos Funcionalmente Completos. ................................................................................................... 13
Generalización para funciones de más de dos variables........................................................................... 13
1.5. FORMULACIÓN DE EXPRESIONES BOOLEANAS.............................................................................13
Ejemplo 1.1. .................................................................................................................................14
Ejemplo 1.2. .................................................................................................................................15
1.6. TEOREMAS RELATIVOS A FUNCIONES DE VARIAS VARIABLES. ....................................................16
T.16 Función Dual .......................................................................................................................16
T.17 Reducción. ............................................................................................................................17
T.18 Teorema de expansión de Shannon. .....................................................................................17
Ejemplo 1.3. ............................................................................................................................................. 18
1.7. MINIMIZACIÓN (REDUCCIÓN O SIMPLIFICACIÓN) DE FUNCIONES. ...............................................18
Criterios de Reducción. ................................................................................................................18
Ejemplo 1.4. .................................................................................................................................19
Ejemplo 1.5. .................................................................................................................................20
ÍNDICE GENERAL. ..............................................................................................................................22
ÍNDICE DE FIGURAS ...........................................................................................................................23
Índice de Figuras