Funciones Booleanas - Inicio · Departamento de …lsb/elo211/clases/c01.pdf2 Sistemas Digitales...

23
1 Profesor Leopoldo Silva Bijit 19-01-2010 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 1 2 ( , ,..., ) n fx x x , 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 1 2 ( , ,..., ) n fx x x , para la cual existe una expresión 1 2 ( , ,..., ) n Ex x x , tal que: 1 2 1 2 ( , ,..., ) ( , ,..., ) n n fx x x Ex x x (1.1) vi) Un literal es el símbolo empleado 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) Suelen emplearse dos tipos restringidos de expresiones: La siguiente sintaxis, muestra la formación de expresiones como suma de productos. 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.

Transcript of Funciones Booleanas - Inicio · Departamento de …lsb/elo211/clases/c01.pdf2 Sistemas Digitales...

Page 1: Funciones Booleanas - Inicio · Departamento de …lsb/elo211/clases/c01.pdf2 Sistemas Digitales Profesor Leopoldo Silva Bijit 19-01-2010 Ejemplo: 0 + a + 1bc + d’ + a’cde La siguiente

1

Profesor Leopoldo Silva Bijit 19-01-2010

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 1 2( , ,..., )nf x x x , 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 1 2( , ,..., )nf x x x , para la cual existe una expresión

1 2( , ,..., )nE x x x , tal que:

1 2 1 2( , ,..., ) ( , ,..., )n nf x x x E x x x (1.1)

vi) Un literal es el símbolo empleado 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) Suelen emplearse dos tipos restringidos de expresiones:

La siguiente sintaxis, muestra la formación de expresiones como suma de productos.

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.

Page 2: Funciones Booleanas - Inicio · Departamento de …lsb/elo211/clases/c01.pdf2 Sistemas Digitales Profesor Leopoldo Silva Bijit 19-01-2010 Ejemplo: 0 + a + 1bc + d’ + a’cde La siguiente

2 Sistemas Digitales

Profesor Leopoldo Silva Bijit 19-01-2010

Ejemplo: 0 + a + 1bc + d’ + a’cde

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: a(1)(c+d’+0)(a + b + c + e’)

1.2. Espacios y funciones Booleanas.

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

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

B2 = {0, 1}X{0, 1} = {(00), (01), (10), (11)} (1.2)

Para x = (x1, x2), podemos definir una función booleana f de dos variables según:

2( ) :f x B B (1.3)

Cada punto de B2 se mapea a B.

Para n variables booleanas, con: 1 2( , ,..., )nx x x x , se define una función f según:

( ) : nf x B B (1.4)

Para cada punto de nB la función ( )f x asigna un elemento de B ; la función booleana

puede tomar valores 1 ó 0 dependiendo de los valores individuales de las variables.

El conjunto uno u “on” de f puede definirse como los puntos de nB que se mapean a 1:

1 1(1) | ( ) 1f f x f x (1.5)

El conjunto cero u “off” de f puede definirse como los puntos de nB que se mapean a 0:

0 1(0) | ( ) 0f f x f x (1.6)

Si 1 nf B se dice que f es una tautología. Se anota: 1f

Si 0 nf B se tiene que

1f es vacío y se dice que f no es satisfacible. En lógica la

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

Page 3: Funciones Booleanas - Inicio · Departamento de …lsb/elo211/clases/c01.pdf2 Sistemas Digitales Profesor Leopoldo Silva Bijit 19-01-2010 Ejemplo: 0 + a + 1bc + d’ + a’cde La siguiente

Capítulo 1. Funciones Booleanas 3

Profesor Leopoldo Silva Bijit 19-01-2010

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 valor verdadero.

Dos funciones f y g son equivalentes si para todo nx B se tiene:

( ) ( )f x g x (1.7)

1.3. Representación de Funciones Booleanas

1.3.1. Expresiones.

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

Ejemplo:

f( A, B, C) = AB + A’C + AC’ (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.

f( 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 1 0 1

1 1 1 1

Figura 1.1. Tabla de verdad de AB + A’C + AC’.

Page 4: Funciones Booleanas - Inicio · Departamento de …lsb/elo211/clases/c01.pdf2 Sistemas Digitales Profesor Leopoldo Silva Bijit 19-01-2010 Ejemplo: 0 + a + 1bc + d’ + a’cde La siguiente

4 Sistemas Digitales

Profesor Leopoldo Silva Bijit 19-01-2010

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

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 en 1.4.2.

La Figura 1.3 ilustra las relaciones geométricas de los símbolos IEEE para las compuertas

lógicas elementales.

Figura 1.3. Relaciones métricas de los símbolos lógicos.

26

26

26

26

5 10

19

13 4

XNOR XOR

NOR

NAND

NOT

OR

AND

D Q

clk

Page 5: Funciones Booleanas - Inicio · Departamento de …lsb/elo211/clases/c01.pdf2 Sistemas Digitales Profesor Leopoldo Silva Bijit 19-01-2010 Ejemplo: 0 + a + 1bc + d’ + a’cde La siguiente

Capítulo 1. Funciones Booleanas 5

Profesor Leopoldo Silva Bijit 19-01-2010

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 entrada 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.4 representa mediante símbolos normalizados a la tabla de la Figura 1.1.

f

C’

A

C

A’

B

A

Figura 1.4. Esquemático de AB + A’C + AC’

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 de alambres o elementos orientados 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.

Page 6: Funciones Booleanas - Inicio · Departamento de …lsb/elo211/clases/c01.pdf2 Sistemas Digitales Profesor Leopoldo Silva Bijit 19-01-2010 Ejemplo: 0 + a + 1bc + d’ + a’cde La siguiente

6 Sistemas Digitales

Profesor Leopoldo Silva Bijit 19-01-2010

C

B

A

f

100 90 80 70 60 50 40 30 20 10 0

Figura 1.5. Diagrama temporal

Para confeccionar el diagrama temporal de la Figura 1.5, 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.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.

Page 7: Funciones Booleanas - Inicio · Departamento de …lsb/elo211/clases/c01.pdf2 Sistemas Digitales Profesor Leopoldo Silva Bijit 19-01-2010 Ejemplo: 0 + a + 1bc + d’ + a’cde La siguiente

Capítulo 1. Funciones Booleanas 7

Profesor Leopoldo Silva Bijit 19-01-2010

Figura 1.6. Retardos 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.7. 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.

t

Vin

VIH

VIL

t

Vout

VOH

VOL

tPDHL tPDLH

tf

Tiempo caída (fall time)

tr

Tiempo subida (rise time)

t

VIH

VIL

t

Vout

VOH

VOL

tCDHL tCDLH

Vin

Page 8: Funciones Booleanas - Inicio · Departamento de …lsb/elo211/clases/c01.pdf2 Sistemas Digitales Profesor Leopoldo Silva Bijit 19-01-2010 Ejemplo: 0 + a + 1bc + d’ + a’cde La siguiente

8 Sistemas Digitales

Profesor Leopoldo Silva Bijit 19-01-2010

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

Figura 1.8. Retardos idealizados en 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

A A

A A

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

A1 A2 A3

A1

A2

A3

Page 9: Funciones Booleanas - Inicio · Departamento de …lsb/elo211/clases/c01.pdf2 Sistemas Digitales Profesor Leopoldo Silva Bijit 19-01-2010 Ejemplo: 0 + a + 1bc + d’ + a’cde La siguiente

Capítulo 1. Funciones Booleanas 9

Profesor Leopoldo Silva Bijit 19-01-2010

A

A atrasada respecto de A' A' atrasada respecto de A.

A’ A’ A

A

A’

A

A’

A A’

A A’

A A’

A A’

Figura 1.9. Perturbaciones estáticas en compuertas.

Se denomina perturbación en 1, si el nivel de la salida debe permanecer en 1 y si se produce

momentáneamente un cero. La duración y ocurrencia de la perturbación depende de los retardos

de las señales que la producen.

Se tiene una perturbación en "0" si existe una subida momentánea del nivel de la señal de

salida a 1, debiendo ésta permanecer baja.

En una compuerta AND, en la que ingresan una señal y su complemento, se produce

perturbación del cero lógico, con el canto de subida de A, si ésta está adelantada respecto de A';

o en el canto de subida de A' si ésta está adelantada respecto de A.

En una compuerta OR, en la que ingresan una señal y su complemento, se produce

perturbación del uno lógico, con el canto de bajada de A, si ésta está adelantada respecto de A';

o en el canto de bajada de A' si ésta está adelantada respecto de A.

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:

Page 10: Funciones Booleanas - Inicio · Departamento de …lsb/elo211/clases/c01.pdf2 Sistemas Digitales Profesor Leopoldo Silva Bijit 19-01-2010 Ejemplo: 0 + a + 1bc + d’ + a’cde La siguiente

10 Sistemas Digitales

Profesor Leopoldo Silva Bijit 19-01-2010

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á 2nN renglones. Para un renglón

determinado la función puede tomar valor 0 ó 1. Entonces pueden escribirse 2Ntablas de

verdad diferentes.

Es decir, 22

n

funciones booleanas de n variables.

La siguiente tabla muestra el rápido crecimiento del número de funciones booleanas de n

variables.

n 2nN 22n

0 1 2

1 2 4

2 4 16

3 8 256

4 16 65536

... ...

Figura 1.10. 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.

Page 11: Funciones Booleanas - Inicio · Departamento de …lsb/elo211/clases/c01.pdf2 Sistemas Digitales Profesor Leopoldo Silva Bijit 19-01-2010 Ejemplo: 0 + a + 1bc + d’ + a’cde La siguiente

Capítulo 1. Funciones Booleanas 11

Profesor Leopoldo Silva Bijit 19-01-2010

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 f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15

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.11. 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 2

2 + 1 2

1 +1 2

0 = 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.

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

Figura 1.12. Expresiones para funciones de dos variables

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.

B+A = B)(A,or = B)(A,

B A = B)(A, nand = B)(A,

BA = B)(A, xor = B)(A,

BA = B)(A, and = B)(A,

BA = B)(A,nor = B)(A,

14

7

6

8

1

f

f

f

f

f

(1.9)

Page 12: Funciones Booleanas - Inicio · Departamento de …lsb/elo211/clases/c01.pdf2 Sistemas Digitales Profesor Leopoldo Silva Bijit 19-01-2010 Ejemplo: 0 + a + 1bc + d’ + a’cde La siguiente

12 Sistemas Digitales

Profesor Leopoldo Silva Bijit 19-01-2010

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

11

(A,B) = not (xor (A,B)) = A B

(A,B) = A B = A B

f

f

(1.10)

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.13 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.13. Diferentes or

Propiedades de la función Xor.

A 0 = A

A 1 = A

A A = 0

A A = 1

Las primeras dos expresiones se emplean en el cálculo de complementos; se puede generar la

señal o su complemento mediante una señal de control que es una entrada a la compuerta xor.

Las dos últimas se emplean en circuitos para detectar errores.

También se tienen las siguientes equivalencias:

x y = y x

(x y) z = x (y z)

x (y z)=xy xz

Las que pueden demostrarse empleando tablas de verdad.

Page 13: Funciones Booleanas - Inicio · Departamento de …lsb/elo211/clases/c01.pdf2 Sistemas Digitales Profesor Leopoldo Silva Bijit 19-01-2010 Ejemplo: 0 + a + 1bc + d’ + a’cde La siguiente

Capítulo 1. Funciones Booleanas 13

Profesor Leopoldo Silva Bijit 19-01-2010

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.

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

( , )

( , )

( , )

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:

( , , )

( , , , )

and a b c abc

or a b c d a b c d

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

Page 14: Funciones Booleanas - Inicio · Departamento de …lsb/elo211/clases/c01.pdf2 Sistemas Digitales Profesor Leopoldo Silva Bijit 19-01-2010 Ejemplo: 0 + a + 1bc + d’ + a’cde La siguiente

14 Sistemas Digitales

Profesor Leopoldo Silva Bijit 19-01-2010

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

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: x z.

Para la regla c), se tiene:

v z regla c)

0 0 1

0 1 0

1 0 0

1 1 1

Es decir: (v z)'

La regla d) traducida es: y z

La regla e) traducida es: w vy

Entonces: u = (v + w)( x z) (v z)' (y z)( w vy )

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

u = (v + w)(xz' + x'z)(vz + v'z')(y' + z)( w' + vy)

Efectuando los productos:

Page 15: Funciones Booleanas - Inicio · Departamento de …lsb/elo211/clases/c01.pdf2 Sistemas Digitales Profesor Leopoldo Silva Bijit 19-01-2010 Ejemplo: 0 + a + 1bc + d’ + a’cde La siguiente

Capítulo 1. Funciones Booleanas 15

Profesor Leopoldo Silva Bijit 19-01-2010

(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

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 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:

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

a interruptor cerrado se asigna 1 lógico,

a ampolleta 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 ampolleta.

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

Page 16: Funciones Booleanas - Inicio · Departamento de …lsb/elo211/clases/c01.pdf2 Sistemas Digitales Profesor Leopoldo Silva Bijit 19-01-2010 Ejemplo: 0 + a + 1bc + d’ + a’cde La siguiente

16 Sistemas Digitales

Profesor Leopoldo Silva Bijit 19-01-2010

por condición e A B C R V

0 0 0 0 0

0 0 1 0 1

0 1 0 0 1

0 1 1 0 1

1 0 0 1 0

1 0 1 1 0

1 1 0 1 0

1 1 1 1 0

por condición a. por condición c

por condición b.

por condición c

por condición d

Figura 1.14. Tabla de verdad para 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.

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 relativos a funciones de varias variables.

T.16 Función Dual

1 2 1 2( , ,..., ,0,1,•, ) ( , ,..., ,0,1,•, )d n nf x x x f x x x (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.

Page 17: Funciones Booleanas - Inicio · Departamento de …lsb/elo211/clases/c01.pdf2 Sistemas Digitales Profesor Leopoldo Silva Bijit 19-01-2010 Ejemplo: 0 + a + 1bc + d’ + a’cde La siguiente

Capítulo 1. Funciones Booleanas 17

Profesor Leopoldo Silva Bijit 19-01-2010

T.17 Reducción.

1 1 2 1 2

1 1 2 1 2

( , ..., ) (0, ,..., )

( , ..., ) (1, ,..., )

n n

n n

x f x x x x f x x

x f x x x x f x x

(1.13)

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 2 ( ,..., ) (0, ,..., )n nx f x x x f x x

Cuando x1 = 0, entonces: 2 20 (0, ..., ) 0 (0, ,..., )n nf x x f x x

Resultando por P3 que: 2 2 (0, ..., ) (0, ,..., )n nf x x f x x

Cuando x1 = 1, entonces: 2 21 (1, ..., ) 1 (0, ,..., )n nf x x f x x

Resultando por T9 que: 1 = 1

Se concluye que: 1 1 1 2 ( ,..., ) (0, ,..., )n nx f x x x f x x es válida para todos los

valores que puede tomar x1. 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 2 1 2

1 2 1 2 1 2

( , ,..., ) (1, ,..., ) (0, ,..., )

( , ,..., ) ( (0, ,..., )) ( (1, ,..., ))

n n n

n n n

f x x x x f x x x f x x

f x x x x f x x x f x x

(1.14)

Las funciones 2 2 (0, ,..., ) y (1, ,..., )n nf x x f x x se denominan cofactores x1 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 2 1 2 ( , ,..., ) (1, ,..., ) (0, ,..., )n n nf x x x x f x x x f x x

Cuando x1 = 0, entonces:

),...,x,xf (),...,x,xf ( ),...,x,xf ( nnn 222 01100

Por T.9 y P.3 se llega a: 2 2 (0, ,..., ) (0, ,..., )n nf x x f x x

Cuando x1 = 1, entonces:

),...,x,xf (),...,x,xf ( ),...,x,xf ( nnn 222 00111

Por T.9 y P.3 se llega a: 2 2 (1, ,..., ) (1, ,..., )n nf x x f x x

Page 18: Funciones Booleanas - Inicio · Departamento de …lsb/elo211/clases/c01.pdf2 Sistemas Digitales Profesor Leopoldo Silva Bijit 19-01-2010 Ejemplo: 0 + a + 1bc + d’ + a’cde La siguiente

18 Sistemas Digitales

Profesor Leopoldo Silva Bijit 19-01-2010

Entonces 1 2 1 2 1 2 ( , ,..., ) (1, ,..., ) (0, ,..., )n n nf x x x x f x x x f x x es válida para todos

los valores que puede tomar x1.

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 x3, se tiene:

1 2 3 1 2 3 1 2 3( , , ) ( , ,0) ' ( , ,1)f x x x f x x x f x x x

Si 1 2 ( , ,0) 0f x x se dice que f es unata positiva respecto de x3. Es decir si en la forma

suma de productos no aparece x3’.

Si 1 2 ( , ,1) 0f x x se dice que f es unata negativa respecto de x3. Es decir si en la forma

suma de productos no aparece x3.

T.19 Generalización de De Morgan.

1 2 1 2'( , ..., ,0,1, , ) ( ' , ' ,..., ' ,1,0, , )n nf x x x f x x x

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

Page 19: Funciones Booleanas - Inicio · Departamento de …lsb/elo211/clases/c01.pdf2 Sistemas Digitales Profesor Leopoldo Silva Bijit 19-01-2010 Ejemplo: 0 + a + 1bc + d’ + a’cde La siguiente

Capítulo 1. Funciones Booleanas 19

Profesor Leopoldo Silva Bijit 19-01-2010

Figura 1.15. Compuertas TTL 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.

f(x, y, z) = x’y(z+y’x) +y’z es una expresión que tiene 7 literales.

Puede reducirse, aplicando postulados y teoremas a:

f(x, y, z) = (xy)’z = (x’ +y’)z 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.

Page 20: Funciones Booleanas - Inicio · Departamento de …lsb/elo211/clases/c01.pdf2 Sistemas Digitales Profesor Leopoldo Silva Bijit 19-01-2010 Ejemplo: 0 + a + 1bc + d’ + a’cde La siguiente

20 Sistemas Digitales

Profesor Leopoldo Silva Bijit 19-01-2010

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.16 se muestran un flip-flop JK y

un flip-flop D, la señal de control CP (clock pulse) es el reloj:

Figura 1.16. Salidas complementadas en Flip-flops

También en los dispositivos programables existen circuitos inversores en las entradas, en la

Figura 1.17., se ilustra la generación de A’ a partir de la entrada A:

Figura 1.17. Entradas complementadas

Ejemplo 1.5.

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

Sea la función f(A, B, C) = (A+C) B' (C +D)

Que puede implementarse con compuertas según:

B

C

D

C

A

f

Figura 1.18. Diseño en 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.18, 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:

_ _

D

CP Q

Q J CP K Q

Q

A A'

A

Page 21: Funciones Booleanas - Inicio · Departamento de …lsb/elo211/clases/c01.pdf2 Sistemas Digitales Profesor Leopoldo Silva Bijit 19-01-2010 Ejemplo: 0 + a + 1bc + d’ + a’cde La siguiente

Capítulo 1. Funciones Booleanas 21

Profesor Leopoldo Silva Bijit 19-01-2010

f =(A+C)(B' (C + D))

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:

B

C

D

C

A

f

Figura 1.19. Diseño en tres niveles.

La implementación de la Figura 1.19 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.

Page 22: Funciones Booleanas - Inicio · Departamento de …lsb/elo211/clases/c01.pdf2 Sistemas Digitales Profesor Leopoldo Silva Bijit 19-01-2010 Ejemplo: 0 + a + 1bc + d’ + a’cde La siguiente

22 Sistemas Digitales

Profesor Leopoldo Silva Bijit 19-01-2010

Í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

Page 23: Funciones Booleanas - Inicio · Departamento de …lsb/elo211/clases/c01.pdf2 Sistemas Digitales Profesor Leopoldo Silva Bijit 19-01-2010 Ejemplo: 0 + a + 1bc + d’ + a’cde La siguiente

Capítulo 1. Funciones Booleanas 23

Profesor Leopoldo Silva Bijit 19-01-2010

Índice de Figuras

Figura 1.1. Tabla de verdad de AB + A’C + AC’. ........................................................................ 3 Figura 1.2. Símbolos lógicos de compuertas y flip-flop D. ........................................................... 4 Figura 1.3. Relaciones métricas de los símbolos lógicos. ............................................................. 4 Figura 1.4. Esquemático de AB + A’C + AC’ .............................................................................. 5 Figura 1.5. Diagrama temporal ...................................................................................................... 6 Figura 1.6. Retardos de propagación. ............................................................................................ 7 Figura 1.7. Tiempos de contaminación. ........................................................................................ 7 Figura 1.8. Retardos idealizados en inversor................................................................................. 8 Figura 1.9. Perturbaciones estáticas en compuertas. ..................................................................... 9 Figura 1.10. Número de funciones .............................................................................................. 10 Figura 1.11. Funciones de dos variables ..................................................................................... 11 Figura 1.12. Expresiones para funciones de dos variables .......................................................... 11 Figura 1.13. Diferentes or............................................................................................................ 12 Figura 1.14. Tabla de verdad para Ejemplo 1.2. ......................................................................... 16 Figura 1.15. Compuertas TTL serie 74xx ................................................................................... 19 Figura 1.16. Salidas complementadas en Flip-flops .................................................................... 20 Figura 1.17. Entradas complementadas ....................................................................................... 20 Figura 1.18. Diseño en dos niveles. ............................................................................................. 20 Figura 1.19. Diseño en tres niveles. ............................................................................................ 21