Está en la página 1de 18

Ing.

Electrónica - Circuitos Digitales 1

FUNCIONES BOOLEANAS

Cada una de las salidas de un circuito digital combinacional es el resultado de la interacción


de las respectivas entradas, esta interacción puede ser representada por un circuito lógico
combinacional. Es decir, las salidas solo dependen de las entradas en un circuito
combinacional.
1.1 Definiciones

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

Una expresión es un OR de sus términos.


Un término es el AND de sus factores.
Un factor es: una constante, o una variable, o una variable complementada.

Ejemplo: 0 + 𝑎 + 1𝑏𝑐 + 𝑑̅ + 𝑎̅𝑐𝑑𝑒

La siguiente sintaxis, muestra la formación de expresiones como producto de sumas.


Una expresión es un AND de sus términos entre paréntesis.
Un término es el OR de sus factores.
Un factor es: una constante, o una variable, o una variable complementada.
Ejemplo: 𝑎(1)(𝑐 + 𝑑̅ + 0 )(𝑎 + 𝑏 + 𝑐 + 𝑒̅)

1.2 Espacios y funciones booleanas.


Si definimos el espacio booleano según : 𝐵 = {0,1}.

Mediante el producto cartesiano podemos definir el espacio 𝐵2 , según:


𝐵2 = {0,1} 𝑋{0,1} = {(00), (01), (10), (11)} (1,2)

Para 𝑋 = (𝑥1 , 𝑥2 ), podemos definir una función booleana de f de dos variables según:

𝑓(𝑥): 𝐵2 → 𝐵 (1,3)

Cada punto de 𝐵2 se mapea a B.


Para n variables booleanas, con: 𝑥 = (𝑥1 , 𝑥2 , … , 𝑥𝑛 ), se define una función f según_
𝑓(𝑥) = 𝐵𝑛 → 𝐵 (1.4)
Para cada punto de 𝐵𝑛 la función 𝑓(𝑥) asigna un elemento de B; la función booleana puede
tomar valores de 1 ó 0 dependiendo de los valores individuales de las variables.

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:

𝑓 0 = 𝑓 −1 (0) = 𝑥 | 𝑓(𝑥) = 0 (1.6)

Si 𝑓 1 = 𝐵𝑛 se dice que 𝑓 es una tautología. Se anota: 𝑓 ≡ 1

Si 𝑓 0 = 𝐵𝑛 se dice que 𝑓 1 es vacío y se dice que f no es satisfacible. En lógica booleana la


expresión asociada a la función se denomina contradicción.

Una función es satisfacible cuando existe al menos un elemento en el conjunto uno. Es


decir: para al menos una combinación de las entradas la función toma el valor verdadero.

Dos funciones f y g son equivalentes si para todo 𝑥 ∈ 𝐵𝑛 se tiene:


𝑓(𝑥) = 𝑔(𝑥) (1.7)
Ing. Electrónica - Circuitos Digitales 1

1.3 Representación de las funciones booleanas.


1.3.1 Expresiones

Una función puede ser descrita por una expresión.


Ejemplo:

𝑓(𝐴, 𝐵, 𝐶) = 𝐴𝐵 + 𝐴̅𝐶 + 𝐴𝐶̅ (1.8)

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

Existen infinitas representaciones equivalentes de una función a través de expresiones.


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.

1.3.2 Tabla de verdad


Una función puede ser descrita por una tabla de verdad.
Una tabla de verdad despliega todas las posibles combinaciones de valores de las variables y
el valor asociado de la función. Por ejemplo, para la expresión (1.8):

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

Figura 1.1 Tabla de verdad para 𝐴𝐵 + 𝐴̅𝐶 + 𝐴𝐶̅

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

Un diagrama o esquemático empleando símbolos estandarizados para las funciones lógicas.


Símbolos de compuertas básicas (gates).

Figura 1.2 Símbolos lógicos de compuertas y flip flop D

Los símbolos lógicos anteriores representan a las funciones booleanas básicas, cuyas
definiciones se presentan más adelante.

Se ha agregado el símbolo de un elemento que permite almacenar un bit de información; el


cual tiene una señal de entrada D y una señal de salida Q; cuando la señal de control, o reloj
clk, sube a uno se copia o almacena el valor lógico de e[Capte la atención de los lectores
mediante una cita importante extraída del documento o utilice este espacio para resaltar un
punto clave. Para colocar el cuadro de texto en cualquier lugar de la página, solo tiene que
arrastrarlo.]

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

La Figura 1.3 representa mediante símbolos normalizados a la tabla de la Figura 1.1.

Figura 1.3 Esquemático de la función 𝐴𝐵 + 𝐴̅𝐶 + 𝐴𝐶̅


Ing. Electrónica - Circuitos Digitales 1

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.

La mayoría de las herramientas de ayuda al diseño digital permiten ingresar, en un ambiente


visual, un esquemático mediante la colocación de componentes y una posterior
interconexión o alambrado.
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 elementos (cables) que interconectan
las compuertas y flip-flops.

Se denominan secuenciales a los circuitos digitales que contienen flip-flops, compuertas y


lazos de realimentación; y combinacionales a los que sólo contienen compuertas lógicas sin
realimentaciones.
1.3.4 Diagrama temporal

Se representa mediante las formas de ondas de las entradas y de las salidas.

Empleando simuladores, pueden obtenerse formas de ondas de las señales. En estos


diagramas pueden observarse los retardos de propagación a través de las compuertas.

40 50 60 70 80 90 100
0 10 20 30
C

Figura 1.4 Diagrama temporal 𝐴𝐵 + 𝐴̅𝐶 + 𝐴𝐶̅


Para confeccionar el diagrama temporal de la Figura 1.4, se generaron las ocho
combinaciones posibles para las variables de entrada y se graficó la salida f, de (1.8).
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.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.

Figura 1.5 Retardo de propagación

También pueden definirse los mínimos retardos de propagación o tiempos de


contaminación como las cotas mínimas entre entradas inválidas y salidas inválidas.

Figura 1.6 Tiempos de contaminación


En la práctica, los fabricantes de dispositivos tienen sus propias definiciones de dichos
tiempos y de la forma de medirlos.

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.

Figura 1.7 Retardo idealizados en un inversor


Entonces en la práctica, debido a los retardos de propagación, no puede aplicarse el
postulado de complementariedad en las transiciones de A.
Es decir:
𝐴 + 𝐴̅ = 1
𝐴 . ̅𝐴 = 0

no son verdaderas, en las transiciones; esto debido a que no es posible generar un


complemento de una variable que cambie simultáneamente con la variable.

En diseño de redes combinacionales se asume que si se conoce A; y si se necesita A negada,


ésta se obtendrá mediante un inversor, en este caso A’ estará atrasada en el tiempo respecto
de A. También puede ocurrir que se genere A a partir de A'.

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

Figura 1.8 Perturbaciones estáticas en


las compuertas
1.3.5 Diagramas de Venn
Similares al visto en el Teorema 13 de consenso, en el Apéndice 1.

Otras formas de representación, que se desarrollaran más adelante, se enumeran a


continuación:

1.3.6 Mapas de Karnaugh


Es la principal representación conceptual de funciones booleanas. Se dispone de esta
representación desde el año 1953. Su uso práctico queda limitado a funciones de cinco o
menos variables.

1.3.7. N-cubos.

Diagrama de la función en un espacio discreto multidimensional. Lo emplearemos como


fundamento conceptual de los mapas de Karnaugh y de los métodos de minimización.

1.3.8. Lenguajes de descripción de hardware.

Para sistemas reales se emplean aplicaciones computacionales que emplean lenguajes para
la descripción del hardware (HDL Hardware Description Language).

El empleo de lenguajes como VHDL o Verilog, permiten describir el diseño, efectuar


simulaciones y verificaciones, y finalmente efectuar el proceso de síntesis.

1.4 Funciones de varias variables.

1.4.1. Funciones de n variables.

Si hay n variables, la tabla de verdad tendrá 𝑁 = 2𝑛 renglones. Para un renglón


determinado la función puede tomar valor 0 ó 1. Entonces pueden escribirse 2𝑁 tablas de
Ing. Electrónica - Circuitos Digitales 1

𝑛
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.

1.4.2. Funciones de dos variables.

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.

A B 𝑓0 𝑓1 𝑓2 𝑓3 𝑓4 𝑓5 𝑓6 𝑓7 𝑓8 𝑓9 𝑓10 𝑓11 𝑓12 𝑓13 𝑓14 𝑓15


0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
0 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
1 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
Figura 1.10 Funciones de dos variables

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

Las 16 funciones booleanas de dos variables pueden representarse en forma analítica,


mediante expresiones booleanas, las que se muestran en la Figura 1.8.

𝑓0 = 0 𝑓8 = 𝐴𝐵
𝑓1 = 𝐴̅𝐵̅ = ̅̅̅̅̅̅̅̅
𝐴+𝐵 𝑓9 = 𝐴̅𝐵̅ + 𝐴𝐵
𝑓2 = 𝐴𝐵̅ 𝑓10 = 𝐴̅𝐵 + 𝐴𝐵 = 𝐵
𝑓3 = 𝐴̅𝐵̅ + 𝐴̅𝐵 = 𝐴̅ 𝑓11 = 𝐴̅𝐵̅ + 𝐴̅𝐵 + 𝐴𝐵 = 𝐴̅ + 𝐵
𝑓4 = 𝐴𝐵̅ 𝑓12 = 𝐴𝐵̅ + 𝐴𝐵 = 𝐴
𝑓5 = 𝐴̅𝐵̅ + 𝐴𝐵̅ = 𝐵̅ 𝑓13 = 𝐴̅𝐵̅ + 𝐴𝐵̅ + 𝐴𝐵 = 𝐴 + 𝐵̅
𝑓6 = 𝐴̅𝐵 + 𝐴𝐵̅ 𝑓14 = 𝐴̅𝐵 + 𝐴𝐵̅ + 𝐴𝐵 = 𝐴 + 𝐵
𝑓7 = 𝐴̅𝐵̅ + 𝐴̅𝐵 + 𝐴𝐵̅ = 𝐴̅ + 𝐵̅ = 𝐴𝐵
̅̅̅̅ 𝑓15 = 𝐴̅𝐵̅ + 𝐴̅𝐵 + 𝐴𝐵̅ + 𝐴𝐵 =1

Figura 1.11 Expresiones para funciones de dos variables


Las diferentes expresiones pueden comprobarse verificando que se satisfacen las tablas de
verdad de la Figura 1.10.

Algunas de estas funciones son tan utilizadas, que se las reconoce con un nombre.
Definiciones de funciones lógicas de dos variables.

𝑓1 (𝐴, 𝐵) = 𝑛𝑜𝑟(𝐴, 𝐵) = ̅̅̅̅̅̅̅̅


𝐴+𝐵
𝑓8 (𝐴, 𝐵) = 𝑎𝑛𝑑(𝐴, 𝐵) = 𝐴𝐵
𝑓6 (𝐴, 𝐵) = 𝑥𝑜𝑟(𝐴, 𝐵) = 𝐴̅𝐵 + 𝐴𝐵̅ = 𝐴 ⊕ 𝐵 (1.9)
̅̅̅̅
𝑓7 (𝐴, 𝐵) = 𝑛𝑎𝑛𝑑(𝐴, 𝐵) = 𝐴𝐵
𝑓14 (𝐴, 𝐵) = 𝑜𝑟(𝐴, 𝐵) = 𝐴 + 𝐵

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.

𝑓9 (𝐴, 𝐵) = 𝑛𝑜𝑡(𝑥𝑜𝑟(𝐴, 𝐵)) = 𝐴 ⟺ 𝐵 (1.10)


𝑓11 (𝐴, 𝐵) = 𝐴̅ + 𝐵 = 𝐴 ⇒ 𝐵

En el Apéndice 1, se desarrolla con más detalles la importancia de la función 11 en el cálculo


proposicional.

En la Figura 1.12 se destaca la diferencia entre OR (inclusivo) y XOR (exclusivo), difieren en


el último renglón de su tabla de verdad.

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

Conjuntos Funcionalmente Completos.


Cualquier expresión booleana puede ser escrita mediante los operadores AND, OR, y NOT.
Se dice que estos operadores constituyen un conjunto funcionalmente completo.
Ing. Electrónica - Circuitos Digitales 1

Por lo tanto un circuito combinacional puede construirse usando sólo compuertas AND, OR
y NOT.

Las siguientes relaciones muestran que la función NAND es funcionalmente completa, ya


que pueden implementarse circuitos combinacionales sólo empleando este tipo de
compuertas.

Si la función efectúa el nand de sus entradas, puede generar:


El not de una variable, ingresando la misma señal en ambas entradas.
El or de dos variables, ingresando las señales complementadas al nand.
El and de dos variables, complementando la salida del nand, mediante un inversor
(implementado también empleando una compuerta nand).

𝑛𝑎𝑛𝑑 (𝐴, 𝐵) = ̅̅̅̅


𝐴𝐵
𝑛𝑎𝑛𝑑 (𝐴, 𝐴) = 𝐴̅
𝑛𝑎𝑛𝑑 (𝐴, 𝐵) = 𝐴 𝐵

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.

𝑛𝑜𝑟 (𝐴, 𝐵) = ̅̅̅̅̅̅̅̅


𝐴+𝐵
𝑛𝑜𝑟 (𝐴, 𝐴) = 𝐴̅
𝑛𝑜𝑟 (𝐴̅, 𝐵̅) = 𝐴𝐵

Generalización para funciones de más de dos variables.


Algunas funciones pueden generalizarse para más de dos variables, por ejemplo:

𝑎𝑛𝑑 (𝑎, 𝑏, 𝑐) = 𝑎𝑏𝑐


𝑜𝑟 (𝑎, 𝑏, 𝑐, 𝑑 ) = 𝑎 + 𝑏 + 𝑐 + 𝑑 (1.11)

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.

1.5 Formulación de expresiones booleanas.

A partir de la descripción de un problema, generalmente expresada en forma de texto, se


desea obtener fórmulas lógicas mediante expresiones que emplean variables booleanas.

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

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.

Por lo tanto: u es igual al and de las reglas individuales.

La regla a), establece el or (incluye a ambos) de v con w. Es decir: v + w.


La regla b), establece el xor (no incluye a ambos) de x con z. Es decir: 𝑥 ⨁ 𝑧.

Para la regla c), se tiene:

v z Regla c)
0 0 1
0 1 0
1 0 0
1 1 1

Es decir: ̅̅̅̅̅̅̅̅̅̅
(𝑣 ⨁ 𝑧)

La regla d) traducida es: 𝑦 ⟹ 𝑧


La regla e) traducida es: 𝑤 ⇒ 𝑣𝑦

̅̅̅̅̅̅̅̅̅ (𝑦 ⇒ 𝑧)( 𝑤 ⇒ vy )
Entonces: 𝑢 = (𝑣 + 𝑤)( 𝑥 ⨁ 𝑧) (𝑣⨁𝑧)

Reemplazando los operadores por or, and y not, se obtiene:

𝑢 = (𝑣 + 𝑤)(𝑥𝑧′ + 𝑥′𝑧)(𝑣𝑧 + 𝑣′𝑧′)(𝑦′ + 𝑧)( 𝑤′ + 𝑣𝑦)

Efectuando los productos:

(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

entonces queda: u = (vz + v'wz')(xy'z' + x'z )( w' + vy)

El producto (vz + v'wz')(w' + vy) puede simplificarse a: (vw'z + vyz)

Y el producto ( xy'z' + x'z ) (vw'z + vyz) = x'vw'z + x'vyz


Ing. Electrónica - Circuitos Digitales 1

Finalmente: u = vx'z(w' +y)

Que puede leerse:


Se debe seleccionar v y z, y rechazar x; y si se selecciona w también debe seleccionarse y.

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:

Se emplea la siguiente asignación de valores lógicos:


A un interruptor cerrado se asigna 1 lógico,
A una limunaria encendida se le asigna 1 lógico.

La especificación b) se interpreta como o incluyente; es decir, B o C o ambos cerrados.

De la condición d), se extrae la especificación e)


e) cuando los tres interruptores están abiertos no debe encenderse ninguna luminaria.

Si se puede completar la tabla de verdad, el problema está completamente especificado:

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

Por condición d Por condición a

Figura 1.13 Tabla de verdad del Ejemplo 1.2

Se va completando la tabla, con las especificaciones, la última en aplicar es la d).

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 = AB'C' + AB'C + ABC' + ABC


V = A'B'C + A'BC' + A'BC

que pueden simplificarse, empleando teoremas, resultando:

R = A.
V = A'(B +C)

1.6 Teoremas relativas a funciones de varias variables.

T.16 Función Dual

̅ ̅̅̅,
𝑓𝑑 (𝑥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.

𝑥1 + 𝑓(𝑥1 , 𝑥2 , … , 𝑥𝑛 ) = 𝑥1 + 𝑓(0, 𝑥2 , … , 𝑥𝑛) (1.13)


𝑥1 . 𝑓(𝑥1 , 𝑥2 , … , 𝑥𝑛 ) = 𝑥1 . 𝑓(1, 𝑥2 , … , 𝑥𝑛)

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 , . . . , 𝑥𝑛 )

Resultando por P3 que: f(0,𝑥2 , … , 𝑥𝑛 ) = 𝑓(0, 𝑥2 , … , 𝑥𝑛 )

Cuando x1 = 1, entonces: 1 + 𝑓 (1, 𝑥2 , . . . , 𝑥𝑛 ) = 1 + 𝑓(0, 𝑥2 , . . . , 𝑥𝑛 )

Resultando por T9 que: 1 = 1

Se concluye que: 𝑥1 + 𝑓(𝑥1 , … , 𝑥𝑛 ) = 𝑥1 + 𝑓(0, 𝑥2 , … , 𝑥𝑛 ) es válida para todos los valores


que pueda tomar 𝑥1 . El postulado P3 y el Teorema 9, se describen en el Apéndice 1.

T.18 Teorema de expansión de Shannon.


𝑓(𝑥1 , 𝑥2 , … , 𝑥𝑛 ) = 𝑥1 . 𝑓(1, 𝑥2 , … , 𝑥𝑛 ) + ̅̅̅.
𝑥1 𝑓(0, 𝑥2 , … , 𝑥𝑛 ) (1.14)
𝑓(𝑥1 , 𝑥2 , … , 𝑥𝑛 ) = (𝑥1 + 𝑓(0, 𝑥2 , … , 𝑥𝑛 )). (𝑥 ̅̅̅1 + 𝑓(1, 𝑥2 , … , 𝑥𝑛 ))
Ing. Electrónica - Circuitos Digitales 1

Las funciones 𝑓(0, 𝑥2 , … , 𝑥𝑛 ) y 𝑓(1, 𝑥2 , … , 𝑥𝑛 ) se denominan cofactores 𝑥1 de f, y son


funciones de (n-1) variables.

Demostración por inducción perfecta o completa de la primera proposición.

Considerando: 𝑓(𝑥1 , 𝑥2 , … , 𝑥𝑛 ) = 𝑥1 . 𝑓(1, 𝑥2 , … , 𝑥𝑛 ) + ̅̅̅.


𝑥1 𝑓(0, 𝑥2 , … , 𝑥𝑛 )

Cuando 𝑥1 = 0, entonces:
𝑓(0, 𝑥2 , … , 𝑥𝑛 ) = 0. 𝑓(1, 𝑥2 , … , 𝑥𝑛 ) + 1. 𝑓(0, 𝑥2 , … , 𝑥𝑛 )

Por T.9 y P.3 se llega a: 𝑓(0, 𝑥2 , … , 𝑥𝑛 ) = 𝑓(0, 𝑥2 , … , 𝑥𝑛 )

Cuando 𝑥1 = 1, entonces:
𝑓(1, 𝑥2 , … , 𝑥𝑛 ) = 1. 𝑓(1, 𝑥2 , … , 𝑥𝑛 ) + 0. 𝑓(0, 𝑥2 , … , 𝑥𝑛 )

Por T.9 y P.3 se llega a: 𝑓(1, 𝑥2 , … , 𝑥𝑛 ) = 𝑓(1, 𝑥2 , … , 𝑥𝑛 )

Entonces 𝑓(𝑥1 , 𝑥2 , … , 𝑥𝑛 ) = 𝑥1 . 𝑓(1, 𝑥2 , … , 𝑥𝑛 ) + ̅̅̅.


𝑥1 𝑓(0, 𝑥2 , … , 𝑥𝑛 ) es válida para todos los
valores que puede tomar 𝑥1

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.

Si se divide o parte f en términos de 𝑥3 , se tiene:


𝑓(𝑥1 , 𝑥2 , 𝑥3 ) = 𝑓(𝑥1 , 𝑥2 , 0)𝑥
̅̅̅3 + 𝑓(𝑥1 , 𝑥2 , 1)𝑥3

Si 𝑓(𝑥1 , 𝑥2 , 0) = 0 se dice que f es unata positiva respecto de 𝑥3 . Es decir en la forma suma de


productos no aparece ̅̅̅ 𝑥3

Si 𝑓(𝑥1 , 𝑥2 , 1) = 0 se dice que f es unata negativa respecto de 𝑥3 . Es decir si en la forma suma de


productos no aparece 𝑥3 .

T.19 Generalización de De Morgan.

̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅
𝑓(𝑥 1 , 𝑥2 , … , 𝑥𝑛 , 0,1, +, . ) = 𝑓(𝑥
̅̅̅,
1 ̅̅̅,
𝑥2 … , ̅̅̅,
𝑥𝑛 1,0, . , +)

1.7 Minimización (reducción o simplificación) de funciones.


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.

a) Si se minimiza el número de compuertas empleadas, se tendrá un circuito más pequeño, lo que


influencia directamente el costo de manufactura, debido a que se requiere un circuito impreso de
Ing. Electrónica - Circuitos Digitales 1

menor superficie y menor número de componentes. También disminuyen las probabilidades de


fallas debidas a componentes defectuosas, debido al menor número de éstas.

La Figura 1.15, muestra el encapsulamiento de compuertas en pastillas de 14 patas, en dispositivos


de baja integración. Debe notarse que a medida que aumentan las entradas de las compuertas,
disminuye el número de éstas en un chip o pastilla.

Figura 1.14 Compuertas TTL de la serie 74xx

Al aumentar la densidad de transistores en los dispositivos, el problema es encontrar metodologías


para mapear adecuadamente los diseños basados en compuertas a las estructuras de los
dispositivos programables.

b) Si se minimiza el número de entradas a las compuertas, se tendrá menos transistores en cada


compuerta y por lo tanto un costo menor. Si se considera las señales y sus complementos,
presentes en una expresión, como entradas de compuertas, puede definirse el concepto de literal
en una expresión.

Un literal es la ocurrencia de una variable o su forma complementada en una expresión.

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.

Puede reducirse, aplicando postulados y teoremas a:

𝑓(𝑥, 𝑦, 𝑧) = (𝑥𝑦)’𝑧 = (𝑥’ + 𝑦’)𝑧 que tiene 3 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:

Figura 1.15 Salidas implementadas con Flip Flop

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:

Figura 1.16 Entradas complementadas

Ejemplo 1.5.
Como se ha dicho: Existen diversas expresiones para una misma función.

Sea la función 𝑓(𝐴, 𝐵, 𝐶) = (𝐴 + 𝐶) 𝐵′ (𝐶 + 𝐷)

Que puede implementarse con compuertas según:

Figura 1.17 Diseño de dos niveles

La representación es en dos niveles. Definiendo el nivel por el número de compuertas a través de


las cuales se propagan las señales de entrada hasta llegar a la señal de salida.
La implementación, de la Figura 1.17, tiene 8 entradas y 5 literales. Y emplea una compuerta que
tiene más de dos entradas (3 en el and del ejemplo).

Si expresamos ahora la misma función f por la expresión equivalente:


Ing. Electrónica - Circuitos Digitales 1

𝑓 = (𝐴 + 𝐶)(𝐵′ (𝐶 + 𝐷))

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:

Figura 1.18 Diseño de tres niveles

La implementación de la Figura 1.18 tiene 9 entradas y 5 literales. La suma de las entradas se


obtiene sumando las entradas a todas las compuertas, ya sea en el diagrama o en la expresión
booleana.
Notando que un cambio en la señal C o D o B, debe propagarse por tres compuertas, se dice que el
circuito está implementado en tres niveles. La señal A se propaga en dos niveles hasta la salida f.

c) Si lo que se desea es aumentar la velocidad de respuesta, se requiere disminuir el número de


niveles.
Para lograr esto, en general se requerirán compuertas con mayor número de entradas lo cual
aumenta el costo.

Obviamente existirá un compromiso entre velocidad y costo; el que se suele denominar


compromiso: tiempo-espacio.

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.

También podría gustarte