Documentos de Académico
Documentos de Profesional
Documentos de Cultura
FUNCIONES BOOLEANAS
i. Una variable booleana es un símbolo, el cual puede ser sustituido por un elemento
del conjunto 𝐵 = {0,1}. Una constante booleana es un valor permitido 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 𝑓(𝑥1 , 𝑥2 , … , 𝑥𝑛 ), 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 boolena queda definida, recursivamente, por las reglas:
a. Constantes y variables son expresiones.
b. Si x e y son expresiones entonces:
̅, 𝒚
𝒙 + 𝒚, 𝒙 ∗ 𝒚, 𝒙 ̅, (𝒙) también son expresiones.
v. Una función booleana es una función 𝑓(𝑥1 , 𝑥2 , … , 𝑥𝑛 ), para la cual existe una
expresión 𝐸(𝑥1 , 𝑥2 , … , 𝑥𝑛 ), tal que:
𝑓(𝑥1 , 𝑥2 , … , 𝑥𝑛 ) = 𝐸(𝑥1 , 𝑥2 , … , 𝑥𝑛 ) (1.1)
vi. Un literal es el símbolo empleando para una variable o su complemento.
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.
viii. Se puede asignar dos tipos restringidos de expresiones:
La siguiente sintaxis, muestra la formación de expresiones como suma de productos.
Ing. Electrónica - Circuitos Digitales 1
Para 𝑋 = (𝑥1 , 𝑥2 ), podemos definir una función booleana de f de dos variables según:
𝑓(𝑥): 𝐵2 → 𝐵 (1,3)
El conjunto uno u “on” de f puede definirse como los puntos de 𝐵𝑛 que se mapean a 1:
𝑓 1 = 𝑓 −1 (1) = 𝑥 | 𝑓(𝑥) = 1 (1.5)
El conjunto cero u “off” de f puede definirse como los puntos de 𝐵𝑛 que se mapean a 0:
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.
𝑓(1,0,0) = 1 ∗ 0 + 1̅ ∗ 0 + 1 ∗ 0̅
= 0 + 0∗0+1∗1
= 1
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 0 1 1
1 1 1 1
La mayor ventaja de la representación por tabla de verdad es que es única. Dos funciones
con tablas de verdad iguales son equivalentes.
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
Ing. Electrónica - Circuitos Digitales 1
una variable, impiden que esta representación se emplee para desarrollar algoritmos
computacionales eficientes.
1.3.3 Esquema lógico
Los símbolos lógicos anteriores representan a las funciones booleanas básicas, cuyas
definiciones se presentan más adelante.
ntrada en el flip-flop. Cuando el control clk, baja a cero, la salida mantiene el valor
almacenado, independientemente de los cambios de la entrada. Las redes combinacionales
se pueden representar sin emplear flip-flops.
Esquemático red digital
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.
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 elementos (cables) que interconectan
las compuertas y flip-flops.
40 50 60 70 80 90 100
0 10 20 30
C
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.4, 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. 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.5, 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 flanco de subida y de un
flanco 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.
También existen retardos de propagación de las señales a través de los cables, debido a que
la velocidad de propagación de una onda electromagnética que se apoya en los conductores
no viaja a velocidad infinita. Este retardo, a través de los cables, es despreciable en bajas
frecuencias.
La Figura 1.7, 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.
Perturbaciones.
En el diagrama de la Figura 1.8 se muestran perturbaciones, cuando una señal y su
complemento pasan por diferentes compuertas. Se ilustra el caso de and, or, nand y nor.
Se muestran los cambios cuando la señal está retrasada y adelantada con respecto a su
complemento.
Ing. Electrónica - Circuitos Digitales 1
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).
𝑛
verdad diferentes. Es decir, 22 funciones booleanas de n variables. La siguiente tabla
muestra el rápido crecimiento del número de funciones booleanas de n variables.
𝑛
n 𝑁 = 2𝑛 22
0 1 2
1 2 4
2 4 16
3 8 256
4 16 65536
… …
Figura 1.9 Número de funciones
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
𝑓0 = 0 𝑓8 = 𝐴𝐵
𝑓1 = 𝐴̅𝐵̅ = ̅̅̅̅̅̅̅̅
𝐴+𝐵 𝑓9 = 𝐴̅𝐵̅ + 𝐴𝐵
𝑓2 = 𝐴𝐵̅ 𝑓10 = 𝐴̅𝐵 + 𝐴𝐵 = 𝐵
𝑓3 = 𝐴̅𝐵̅ + 𝐴̅𝐵 = 𝐴̅ 𝑓11 = 𝐴̅𝐵̅ + 𝐴̅𝐵 + 𝐴𝐵 = 𝐴̅ + 𝐵
𝑓4 = 𝐴𝐵̅ 𝑓12 = 𝐴𝐵̅ + 𝐴𝐵 = 𝐴
𝑓5 = 𝐴̅𝐵̅ + 𝐴𝐵̅ = 𝐵̅ 𝑓13 = 𝐴̅𝐵̅ + 𝐴𝐵̅ + 𝐴𝐵 = 𝐴 + 𝐵̅
𝑓6 = 𝐴̅𝐵 + 𝐴𝐵̅ 𝑓14 = 𝐴̅𝐵 + 𝐴𝐵̅ + 𝐴𝐵 = 𝐴 + 𝐵
𝑓7 = 𝐴̅𝐵̅ + 𝐴̅𝐵 + 𝐴𝐵̅ = 𝐴̅ + 𝐵̅ = 𝐴𝐵
̅̅̅̅ 𝑓15 = 𝐴̅𝐵̅ + 𝐴̅𝐵 + 𝐴𝐵̅ + 𝐴𝐵 =1
Algunas de estas funciones son tan utilizadas, que se las reconoce con un nombre.
Definiciones de funciones lógicas de dos variables.
La función 1 se denomina nor (por: not or). La función 8 se denomina and; la 14 or; la 3 es la
negación de A, o not A.
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.
A B OR XOR
0 0 0 0
0 1 1 1
1 0 1 1
1 1 1 0
Figura 1.12 Diferencias entre OR y XOR
Por lo tanto un circuito combinacional puede construirse usando sólo compuertas AND, OR
y NOT.
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.
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.
Ejemplo 1.1.
(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
Ing. Electrónica - Circuitos Digitales 1
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: ̅̅̅̅̅̅̅̅̅̅
(𝑣 ⨁ 𝑧)
̅̅̅̅̅̅̅̅̅ (𝑦 ⇒ 𝑧)( 𝑤 ⇒ vy )
Entonces: 𝑢 = (𝑣 + 𝑤)( 𝑥 ⨁ 𝑧) (𝑣⨁𝑧)
(v+w) (vz +v'z') = vvz + vv'z + vwz + v'wz' que se simplifica a: vz + v'wz'
(xz' +x'z)(y' +z) = xy'z' + xzz' + x'y'z + x'zz que se simplifica a : xy'z' + x'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 luminarias (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 luminarias 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 luminaria.
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 Por condición b
0 1 1 0 1
1 0 0 1 0 Por condición c
1 0 1 1 0
1 1 0 1 0
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.
Ing. Electrónica - Circuitos Digitales 1
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)
̅ ̅̅̅,
𝑓𝑑 (𝑥1 , 𝑥2 , … , 𝑥𝑛 , 0,1,∘, +) = 𝑓 (𝑥 1 ̅̅̅,
𝑥2 … , ̅̅̅,
𝑥𝑛 0,1,∘, +) (1.12)
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.
T.17 Reducción.
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:
𝑥1 + 𝑓(𝑥1 , … , 𝑥𝑛 ) = 𝑥1 + 𝑓(0, 𝑥2 , … , 𝑥𝑛 )
Cuando x1 = 0, entonces: 0 + 𝑓 (0, 𝑥2 , . . . , 𝑥𝑛 ) = 0 + 𝑓(0, 𝑥2 , . . . , 𝑥𝑛 )
Cuando 𝑥1 = 0, entonces:
𝑓(0, 𝑥2 , … , 𝑥𝑛 ) = 0. 𝑓(1, 𝑥2 , … , 𝑥𝑛 ) + 1. 𝑓(0, 𝑥2 , … , 𝑥𝑛 )
Cuando 𝑥1 = 1, entonces:
𝑓(1, 𝑥2 , … , 𝑥𝑛 ) = 1. 𝑓(1, 𝑥2 , … , 𝑥𝑛 ) + 0. 𝑓(0, 𝑥2 , … , 𝑥𝑛 )
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
̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅
𝑓(𝑥 1 , 𝑥2 , … , 𝑥𝑛 , 0,1, +, . ) = 𝑓(𝑥
̅̅̅,
1 ̅̅̅,
𝑥2 … , ̅̅̅,
𝑥𝑛 1,0, . , +)
Si se desea minimizar las entradas, debe minimizarse el número de literales en una expresión.
Ejemplo 1.4.
𝑓(𝑥, 𝑦, 𝑧) = 𝑥’𝑦(𝑧 + 𝑦’𝑥) + 𝑦’𝑧 es una expresión que tiene 7 literales.
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.
Ing. Electrónica - Circuitos Digitales 1
Como se verá más adelante algunos elementos básicos de memoria (flip-flops) entregan como
salidas las variables y sus complementos, en la Figura 1.15 se muestran un flip-flop JK y un flip-
flop D, la señal de control CP (clock pulse) es el reloj:
También en los dispositivos programables existen circuitos inversores en las entradas, en la Figura
1.16., se ilustra la generación de A’ a partir de la entrada A:
Ejemplo 1.5.
Como se ha dicho: Existen diversas expresiones para una misma función.
𝑓 = (𝐴 + 𝐶)(𝐵′ (𝐶 + 𝐷))
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.18:
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.