Sistemas Digitales. Sistemas Combinacionales. Contenidos en detalle

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA ELO211 Sistemas Digitales Sistemas Digitales Contenidos: Sistemas Combinacionale...
Author: Guest
1 downloads 0 Views 287KB Size
UNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA ELO211 Sistemas Digitales

Sistemas Digitales Contenidos: Sistemas Combinacionales. Sistemas Secuenciales: Asincrónicos. Sincrónicos. Lenguajes de Diseño Digital. Diseño de Máquinas. Dispositivos Lógicos Programables.

Referencias ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦

Randy H. Katz. "Contemporary Logic Design". Addison Wesley. 1993. Ward & Halstead "Computation Structures". The Mit Press. 1999. Dally & Poulton "Digital Systems Engineering". Cambridge University Press. 2000. Herbert Taub. "Digital Circuits and Microprocessors". McGraw Hill. 1981. Ronald Tocci. "Sistemas Digitales. Principios y Aplicaciones". Prentice Hall. 1996. Dietmeyer D. "Logic Design of Digital Systems" Allyn & Bacon Inc. 1971. Hill F. & Peterson G. "Introduction to Switching Theory and Logical Design" John Wiley 1968. McCluskey E. "Introduction to the Theory of Switching Circuits" McGraw Hill 1965.

Sistemas Combinacionales. Contenidos en detalle. 1. 2. 3. 4. 5. 6. 7. 8. 9.

Algebra de Boole. Postulados. Diagramas de Venn. Teoremas. Funciones y Expresiones Booleanas. Circuitos de Conmutación. Símbolos. Interruptores, relés, diodos, transistores bipolares y CMOS. Manipulador de expresiones simbólicas(Mapple). Lenguaje de programación Abel. Formas Canónicas. Mintérminos. Maxtérminos. Expansión en Forma Canónica. Diseño lógico. Fan-in, fan-out, n-cubos. Mapas de Karnaugh (Código Gray, formas para 2, 3, 4 y 5 variables). Minimización Empleando Mapas. Implicantes Primos. Método de Quine. Método de Quine-McCluskey. Diseño: SSI, MSI. Uso de Rom. PLA. Perturbaciones. Diseño de Circuitos Combinacionales.

Prof. Leopoldo Silva Bijit.

05-03-2004

1

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA ELO211 Sistemas Digitales

SISTEMAS COMBINACIONALES 1.

ALGEBRA DE BOOLE

En 1847, George Boole desarrolla el álgebra como análisis matemático. En 1938, Shannon emplea esta álgebra en circuitos de conmutación. Es una estructura algebraica consistente de: un conjunto de elementos(sea B el conjunto); dos operaciones binarias(sean + y •, las operaciones); tales que se cumplen los axiomas de clausura, conmutatividad, asociatividad, distributividad, identidad y complementariedad.

1.1.

Postulados

P.1

Definición: El álgebra de Boole es un sistema algebraico cerrado que contiene un conjunto B de dos elementos, {0, 1}; y dos operadores {· , +}. Los operadores también suelen representarse según: {AND, OR}. La clausura implica que si a y b pertenecen a B, entonces: a·b y a+b también pertenecen a B.

P.2

Igualdad. Dos expresiones son iguales si una puede ser substituida por la otra.

P.3

Elementos únicos. Existen elementos únicos (0 y 1) en B tal que para cada a en B se tienen: a+0=a a·1 =a

P.4

Conmutatividad. Si a y b pertenecen a B: a+b=b+a a·b =b·a

P.5

Asociatividad. Si a, b y c pertenecen a B: a + (b + c) = (a + b) + c a · (b · c) = (a · b) · c

Prof. Leopoldo Silva Bijit.

05-03-2004

2

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA ELO211 Sistemas Digitales

P.6

Distributividad. Si a, b y c pertenecen a B: a + (b · c) = (a + b) · (a + c) a · (b + c) = (a · b) + (a · c)

Nótese que en la distribución para la suma en el producto, la expresión a la derecha es diferente de la empleada habitualmente para números reales y enteros. P.7

Complementariedad. Si a pertenece a B:

Existe complemento único de a que se representa por a’ y también por: a a + a’ = 1 a • a’ = 0 Al complemento único de a lo representaremos, para facilitar su escritura según convenga, como: a', y también como: not a. El complemento podría haberse definido como un operador unario de la estructura algebraica. En el lenguaje C se emplea ~a para denotar el complemento; el operador and se anota & y el operador or emplea el símbolo |. Observar que, con la formulación de postulados, se pueden demostrar como teoremas las siguientes proposiciones:

1=0 0 =1 a=a Es decir, las igualdades anteriores no son postulados. Sobre las demostraciones de Teoremas. Cada paso en las demostraciones consiste en la aplicación de P.2, regla de sustitución, en conjunción con otros postulados o teoremas ya demostrados. Se agrega a cada línea, como comentario, el postulado usado.

Ejemplo 1.1 Teorema. Complemento de 1. Se desea demostrar que : 1’ = 0

Prof. Leopoldo Silva Bijit.

05-03-2004

3

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA ELO211 Sistemas Digitales

Se tienen: a•1=a 0•1=0 (i) 1•0=0

; P3 Elemento único 1. ; P2 Sustitución de a por 0. ; P4 Conmutación del producto.

Y también: a+0=a (ii) 1+0=1

; P3 Elemento único 0. ; P2 Sustitución de a por 1.

Por (i) y (ii) se tienen: 1+0=1 1•0=0 El postulado P7 para el complemento de uno es: 1 + 1’ = 1 1 • 1’ = 0 Empleando P2 puede sustituirse 0 por 1’. Se logra demostrar que: 1’ = 0 En forma similar puede demostrarse que el complemento de cero es uno: 0’ = 1

Ejemplo 1.2. Teorema de involución.

a =a Demostración: Si el complemento único de a’ es (a’)’. Por P7, debería cumplirse: a’ + (a’)’ = 1 a’ • (a’)’ = 0 (i) Por P.7 se tienen: a + a’ = 1 a • a’ = 0 Aplicando P4, a las dos últimas proposiciones, se tienen: a’ + a = 1 a’ • a = 0 (ii) Comparando (i) y (ii), y empleando P2, se demuestra que puede substituirse (a’)’ por a.

Prof. Leopoldo Silva Bijit.

05-03-2004

4

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA ELO211 Sistemas Digitales

Observaciones. 1)

No está definida la substracción.

Ejemplo : AB + AB + A C = AB + AB + BC No pueden cancelarse AB y AB. Notar que el operador and no suele escribirse entre las letras de las variables. 2)

No está definida la división. Ejemplo: AB = AC no puede reducirse a B = C.

3)

Expresiones aparentemente diferentes pueden ser idénticas.

Ejemplo : AB + A B + AC = AB + A B + BC

4)

A'B' ≠ (AB)'

1.2.

Diagramas de Venn

Si consideramos que el álgebra de conjuntos es un álgebra de Boole, en la que los conjuntos corresponden a los elementos, la intersección al AND, y la unión al OR; entonces las proposiciones del álgebra de Boole se pueden representar por diagramas de conjuntos. En los diagramas de Venn los conjuntos se muestran como áreas. El '1' es el conjunto universal, y el '0' es el conjunto vacío. Los diagramas de Venn, permiten “visualizar” los postulados y teoremas.

B

A

A⋅B

A+B

(A+B)

B

A

Unión

A’⋅B’

Intersección

Figura 1.1. Unión e Intersección La figura 1.1. ilustra las operaciones de suma y producto lógico:

Prof. Leopoldo Silva Bijit.

05-03-2004

5

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA ELO211 Sistemas Digitales

La figuras 1.2. ilustra el conjunto universal y el conjunto vacío.

a

a+0

a⋅1 a’

Figura 1.2. Conjunto Universal y Vacío

1.3. Dualidad Dada una ecuación lógica, la dual se obtiene reemplazando los operadores: + por · · por +, y las constantes:

1 por 0 0 por 1.

y dejando las variables sin cambios. Principio de dualidad:

Si una ecuación booleana es válida, también lo será la ecuación dual.

Observaciones: • Los postulados 3 al 7 se muestran en parejas de ecuaciones duales. • Los teoremas también se plantean en parejas de ecuaciones duales. • Nótese que una variable no se complementa para formar la expresión dual. • Este es un teorema acerca de teoremas. Plantea que cualquier teorema que pueda ser demostrado, también podrá ser demostrado para la proposición dual. Antes de obtener el dual de una expresión, conviene asociar los operandos con los operadores que les corrresponden, mediante el uso de paréntesis: A⋅B + C debe interpretarse, según convenios algebraicos tradicionales, como: (A⋅B) + C; en este caso, la expresión dual es: (A + B) ⋅ C Si se determina directamente la expresión dual, mediante el procedimiento de cambiar el or por and y viceversa, se obtendría erróneamente: A + B⋅C. En el álgebra de Boole los operadores ( ⋅ , + ) tienen igual jerarquía. Y es necesario emplear paréntesis para asociar correctamente los operandos con el operador. En el lenguaje C, el operador !, la negación lógica, es un operador unario que tiene la más alta precedencia; luego viene el &, el and; después el ^, el or exclusivo; después el | , el or. La precedencia indica que un operador de mayor precedencia toma sus operandos antes que uno de menor precedencia; de esta forma pueden escribirse, generalmente, operaciones lógicas sin emplear paréntesis.

Prof. Leopoldo Silva Bijit.

05-03-2004

6

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA ELO211 Sistemas Digitales

1.4.

Teoremas

T.8

Idempotencia. a+a=a a· a=a Demostración de la primera proposición. a = a ;P2 = a+0 ;P3 = a + ( a a’ ) ;P7 = ( a + a )( a + a’ ) ;P6 = (a+a)1 ;P7 = a+a ;P3

T.9

Unión con el Universo e Intersección con el vacío. a+1=1 a· 0=0 Demostración de la primera proposición: a +1 = a+1 ;P2 = a + a + a’ ;P7 = a + a’ ;T8 y P5 = 1 ;P7

T.10

Absorción. a + ab = a a·(a + b) = a Demostración de la primera proposición: a + ab = a + ab ; P.2 = a·1 + ab ; P.3 = a·(1 + b) ; P.6 = a·(b + 1) ; P.4 = a·1 ; T.9 = a ; P.3 Se absorbe b.

T.11

Absorción del complemento.

a + ab = a + b a ⋅ ( a + b ) = ab Demostración de la primera proposición:

Prof. Leopoldo Silva Bijit.

05-03-2004

7

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA ELO211 Sistemas Digitales

a + a’b = a + a’b = ( a + a’ ) ( a + b ) = 1 ( a +b ) = ( a +b ) T.12

;P2 ;P6 ;P7 ;P3

De Morgan.

a + b = ab ab = a + b Demostración de la segunda proposición: Por P7 se tiene que si (ab)’ es el complemento único de ab, entonces: (ab) + (ab)’ = 1 T12.a (ab) (ab)’ = 0 Por otro lado tenemos: (ab)(a’ +b’) = ( ab )( a’+b’ ) ;P2 = aba’ + abb’ ;P6 = 0b + a0 ;P4, P7 y P5 = 0+0 ;T9 = 0 ;P3 T12.b También tenemos que: (ab) + (a’ +b’) = (ab) + (a’ + b’) ;P2 = (a' + b') + (ab) ; P4 = ((a’ +b’) + a)((a’ +b’) + b) ;P6 = ((a +a') + b')( a' + (b + b')) ;P4 y P5 = ( 1 +b’)(a’ +1) ;P7 = (1)(1) ;T9 = 1 ;P3 T12.c Entonces de T12.a, T12.b y T12.c, y empleando P2, se logra: (ab)’ = (a’ + b’) Generalización de De Morgan: f ’(x1, x2, ..., xn, 0, 1, +, •) = f(x1’, x2’, ..., xn’, 1, 0, •, +) Ver Teorema 16. T.13

Consenso.

ab + a c + bc = ab + a c (a + b)(a + c)(b + c) = (a + b)(a + c) bc es el término de consenso entre ab y a'c.

Prof. Leopoldo Silva Bijit.

05-03-2004

8

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA ELO211 Sistemas Digitales

T.14

Fusión.

ab + ab = a (a + b)(a + b)= a T.15

Factorización

ab + ac = ( a + c )( a + b ) ( a + b )( a + c ) = ac + a b Un caso más general del T.15b es el siguiente.

(Ca 1 + Co1)(Ca 1 + Co 2 )= Ca 1 ⋅ Co 2 + Ca 1 ⋅ Co1 Donde se han empleado los siguientes mnemónicos para las variables: Ca por cabeza y Co por cola. Los teoremas más frecuentemente empleados son: T.8, T.9, T.10, y T.12. Visualización de teoremas mediante diagramas de Venn.

Ejemplo 1.3. Visualización del teorema del consenso.

ab + a c + bc = ab + a c

T.13:

a

b a⋅b

a

c

b a’⋅c

c

Figura 1.3. Teorema del Consenso La figura 1.3. ilustra los dos términos del lado derecho del teorema. La parte izquierda de la figura 1.4. muestra el término de consenso bc. La parte derecha de la figura 1.4. muestra la suma lógica de ab+bc', y se puede advertir que el término bc queda incluido.

Prof. Leopoldo Silva Bijit.

05-03-2004

9

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA ELO211 Sistemas Digitales

a b⋅c

a

b c

a⋅b+a’⋅c

b c

Figura 1.4. Término de consenso Se puede decir que bc está incluido en ab+a’c; y también que bc es un término denominado consenso entre ab y a’c.

Prof. Leopoldo Silva Bijit.

05-03-2004

10

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA ELO211 Sistemas Digitales

2.

Funciones Booleanas

2.1.

Definiciones

i)

Una variable es un símbolo, el cual puede ser sustituido por un elemento del 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 de n variables f(x1,x2, .. ,xn), es un mapeo o correspondencia que asocia un valor a f, con cada una de las posibles combinaciones de valores que pueden tomar las variables. iv) Una expresión 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’ también lo son.

v) Una función booleana es cualquier función f(x1,x2, .. ,xn), para la cual existe una expresión X(x1,x2, .. ,xn), tal que: f(x1,x2, .. ,xn) = X(x1,x2, .. ,xn) vi) Un literal es el símbolo empleado para una variable o su complemento. Entonces: Si x1,x2, ·· ,xn son variables que pueden tomar los valores 1 y 0 entonces: f(x1,x2, .. ,xn), es una función booleana de x1,x2, .. ,xn. La función f puede tomar valores 1 ó 0 dependiendo de los valores de las variables. Resumen: La siguiente sintaxis, muestra la formación recursiva de expresiones como suma de términos. 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 un NOT de un factor, o una expresión entre paréntesis. Ejemplo:

0 + a + bc + d’ + (c+d) e

La siguiente sintaxis, muestra la formación recursiva de expresiones como producto de términos. Una expresión es un AND de sus términos. Un término es el OR de sus factores. Un factor es: una constante, o una variable, o un NOT de un factor, o una expresión entre paréntesis. Ejemplo:

a(1)(c+d’)(e’ + f)

Prof. Leopoldo Silva Bijit.

05-03-2004

11

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA ELO211 Sistemas Digitales

2.2.

Representación de 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. a) Expresiones. Una función puede ser descrita por una expresión. Ejemplo:

f( A, B, C) = AB + A’C + AC’

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 + 1’• 0 + 1 • 0’ = 0 +0•0+1•1 = 1

f( 1, 0, 0)

b) 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 del punto a): A 0 0 0 0 1 1 1 1

B 0 0 1 1 0 0 1 1

C 0 1 0 1 0 1 0 1

f 0 1 0 1 1 0 1 1

c) Esquema Lógico. Un diagrama empleando símbolos estandarizados para las funciones lógicas. La figura 2.1. representa mediante símbolos normalizados a la tabla del punto b).

Prof. Leopoldo Silva Bijit.

05-03-2004

12

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA ELO211 Sistemas Digitales

A B A’ C A C’

f

Figura 2.1. Esquemático de AB + A’C + AC’ d) Diagrama Temporal. 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.

c b a f

0

10

20

30

40

50

60

70

80

90

100

Figura 2.2. Diagrama temporal Para confeccionar el diagrama tempora de la figura 2.2., se generaron las ocho combinaciones posibles para las variables de entrada y se graficó la salida f, la misma función de los tres puntos anteriores. 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 2.2. 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. Las formas de ondas pueden también visualizarse mediante un analizador lógico, o con un osciloscopio. Las formas de ondas fueron generadas con un programa para simular sistemas digitales(CircuitMaker) que se dispone, en versión estudiantil gratuita, en la red. Otras formas de representación:

Prof. Leopoldo Silva Bijit.

05-03-2004

13

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA ELO211 Sistemas Digitales

e) Diagramas de Venn. Similares al visto en el Teorema 13 de consenso. f) Mapas de Karnaugh. Es la principal representación de funciones booleanas, que se desarrollará más adelante. g) N-cubos. Diagrama en un espacio discreto multidimensional, que se verá más adelante, como fundamento de los mapas de Karnaugh. h) Lenguajes El empleo de lenguajes para descripción de sistemas boléanos, se utilizará en el laboratorio.

Prof. Leopoldo Silva Bijit.

05-03-2004

14

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA ELO211 Sistemas Digitales

2.3. Funciones de varias variables. 2.3.1 Funciones de n variables. Si hay n variables, la tabla de verdad tendrá N = 2n renglones. Para un renglón determinado la función puede tomar valor 0 ó 1. Entonces pueden escribirse 2N tablas de verdad diferentes. Es decir, 22n funciones booleanas de n variables. La siguiente tabla muestra el rápido crecimiento del número de funciones booleanas de n variables. N=2n

n

22

n

0 1 2 1 2 4 2 4 16 3 8 256 4 16 65536 ... ... Figura 2.3. 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. 2.3.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 0 0 1 1

B 0 1 0 1

f0 0 0 0 0

f1 1 0 0 0

f2 0 1 0 0

f3 1 1 0 0

f4 0 0 1 0

f5 1 0 1 0

f6 0 1 1 0

f7 1 1 1 0

f8 0 0 0 1

f9 1 0 0 1

f10 0 1 0 1

f11 1 1 0 1

f12 0 0 1 1

f13 1 0 1 1

f14 0 1 1 1

f15 1 1 1 1

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

Prof. Leopoldo Silva Bijit.

05-03-2004

15

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA ELO211 Sistemas Digitales

f0 = 0 f1 = A'B' = (A + B)' f2 = A'B f3 = A'B' + A'B = A' f4 = AB' f5 = A'B' + AB' = B' f6 = A'B + AB' f7 = A'B' + A'B + AB' = A' + B' = (AB)'

f8 = AB f9 = A'B' + AB f10 = A'B + AB = B f11 = A'B' + A'B + AB = A' + B f12 = AB' + AB = A f13 = A'B' + AB' + AB = A + B' f14 = A'B + AB' + AB = A + B f15 = A'B' + A'B + AB' + AB = 1

Las diferentes expresiones pueden comprobarse mediante tablas de verdad. Algunas de estas funciones son tan utilizadas, que se las reconoce con un nombre. Definiciones.

f 1 (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 f 7 (A, B) = nand (A, B) = A ⋅ B f 14 (A, B) = or (A, B) = A + B 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; la función 11 es la implicancia lógica.

f 9 (A, B) = not (xor (A, B)) = A ⇔ B f11 (A, B) = A + B = A ⇒ B

Estas funciones pueden generalizarse para más de dos variables, por ejemplo: and(a, b, c) = a b c or (a, b, c, d) = a + b + c + d

Prof. Leopoldo Silva Bijit.

05-03-2004

16

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA ELO211 Sistemas Digitales

Alcance sobre OR (inclusivo) y XOR (exclusivo). A 0 0 1 1

B 0 1 0 1

OR 0 1 1 1

XOR 0 1 1 0

Observar que difieren en el último renglón. Sobre la implicación material o condicional. La expresión: p ⇒ q, se lee: Si p entonces q. Con p el antecedente y q el consecuente, se tiene:

p 1 0 0 1

q 1 0 1 0

p⇒q 1 1 1 0

La implicación es falsa si el consecuente es falso cuando el antecedente es verdadero. Debe notarse que cuando el antecedente es falso el condicional es verdadero. Si el antecedente y consecuente son verdaderos, entonces el condicional es verdadero. Se destaca que la implicación condicional es una expresión que puede ser falsa. p ⇒ q equivale lógicamente con (p'+q). Si se considera que 1 es mayor que 0, también puede tratarse como p ≤ q. También es equivalente con la expresión q' ⇒ p', que se denomina implicación conjugada. Condiciones suficientes y necesarias. Cuando p ⇒ q es verdadero, para que q sea verdad es condición suficiente que p sea verdad. Pero no es condición necesaria, ya que q puede ser verdad, aún siendo p falso. Cuando p ⇒ q es verdadero, para que p sea verdad es necesario que q sea verdad. La siguiente expresión se denomina silogismo: (p • (p ⇒ q) ) ⇒ q Razonamiento Deductivo. La expresión p ⇒ q también puede leerse: q se deduce lógicamente de p. O también: La conclusión q se infiere de la hipótesis p. Para que el razonamiento sea válido la expresión p ⇒ q, debe ser una tautología.

Prof. Leopoldo Silva Bijit.

05-03-2004

17

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA ELO211 Sistemas Digitales

Se denomina tautología a una expresión que es verdadera bajo cualquier interpretación. Y se denomina contradicción a una expresión que es falsa bajo cualquiera interpretación. Formas de razonamiento: • Modus ponens: En esta forma de razonar debe demostrarse que (p • (p ⇒ q) ) ⇒ q es una tautología.

• Modus tolens: En esta forma de razonar debe demostrarse que (q' • (p ⇒ q) ) ⇒ p' es una tautología. • Transitividad. En esta forma de razonar debe demostrarse que (p ⇒ q) • (q ⇒ r) ⇒ (p ⇒ r) es una tautología. 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 2.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 Prof. Leopoldo Silva Bijit.

z

regla c) 05-03-2004

18

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA ELO211 Sistemas Digitales

0 0 1 1

0 1 0 1

1 0 0 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: (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' + x'y'z + xzz' + 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.

Prof. Leopoldo Silva Bijit.

05-03-2004

19

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA ELO211 Sistemas Digitales

Ejemplo 2.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. 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:

A 0 0 0 0 1 1 1 1

B 0 0 1 1 0 0 1 1

C 0 1 0 1 0 1 0 1

por condición d

R 0 0 0 0 1 1 1 1

V 0 1 1 1 0 0 0 0

por condición a.

por condición e

por condición b. por condición c

por condición c

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:

Prof. Leopoldo Silva Bijit.

05-03-2004

20

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA ELO211 Sistemas Digitales

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)

Prof. Leopoldo Silva Bijit.

05-03-2004

21

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA ELO211 Sistemas Digitales

2.4.

Simplificación (reducción) de Funciones.

2.4.1 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 un circuito impreso más simple. También disminuyen las probabilidades de fallas debidas a componentes defectuosas, debido al menor número de éstas. 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 2.3. f(x, y, z) = x’y(z+y’x) +y’z

es una expresión que tiene 7 literales.

Puede reducirse 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. 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 2.5. se muestran un flip-flop JK y un flipflop D, la señal C(clock pulse) es el reloj:

J Q C _ KR Q

D Q _

C Q

Figura 2.5. Salidas complementadas en Flip-flops También en los dispositivos programables existen circuitos inversores en las entradas, en la figura 2.6., se ilustra la generación de A’ a partir de la entrada A:

A

A' A

Figura 2.6. Entradas complementadas

Prof. Leopoldo Silva Bijit.

05-03-2004

22

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA ELO211 Sistemas Digitales

Ejemplo 2.4. Como se ha dicho: Existen diversas expresiones para una misma función. Sea la función f(A, B, C) = A' B' (C +D) Si consideramos la señal interna: S1 = C + D, se puede expresar: f = A' B' S1 Que puede implementarse con compuertas según:

A B

f

C D

S1 Figura 2.7. 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 2.7., tiene 7 entradas. 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: f = (A' (B' (C + D)) Y si consideramos las siguientes señales internas: S1 = C + D; S2 = S1 B'. Puede expresarse a f según: f = A' S2. De este modo todas las compuertas empleadas no tienen más de dos entradas, según puede verse en el esquema siguiente, de la figura 2.6:

A

f

B C D

S2 S1 Figura 2.8. Diseño en tres niveles.

La implementación de la figura 2.8. tiene 8 entradas. Esto es sumando las entradas a todas las compuertas. 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.

Prof. Leopoldo Silva Bijit.

05-03-2004

23

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA ELO211 Sistemas Digitales

Para lograr esto, en general se requerirán compuertas con mayor número de entradas lo cual aumenta el costo en tamaño. 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. Algunos teoremas útiles con funciones de varias variables son los siguientes.

2.4.2. Teoremas relativos a funciones de varias variables. T.16

Función Dual

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

x1 + f (x1,...,x n ) = x1 + f (0,x 2 ,...,x n ) x1 ⋅ f (x1,...,x n ) = x1 ⋅ f (1,x 2 ,...,x n ) T.18 Teorema de Shannon f (x1,x 2 ,...,x n ) = x1 ⋅ f (1,x2 ,...,x n )+ x1 ⋅ f (0,x2 ,...,x n )

f (x1,x 2 ,...,x n ) = (x1 + f (0,x2 ,...,x n ))⋅(x1 + f (1,x2 ,...,x n ))

Prof. Leopoldo Silva Bijit.

05-03-2004

24

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA ELO211 Sistemas Digitales

Índice de figuras Figura 1.1. Unión e Intersección............................................................................................................. 5 Figura 1.2. Conjunto Universal y Vacío ................................................................................................. 6 Figura 1.3. Teorema del Consenso.......................................................................................................... 9 Figura 1.4. Término de consenso .......................................................................................................... 10 Figura 2.1. Esquemático de AB + A’C + AC’ ..................................................................................... 13 Figura 2.2. Diagrama temporal ............................................................................................................ 13 Figura 2.3. Número de funciones......................................................................................................... 15 Figura 2.4. Funciones de dos variables ................................................................................................ 15 Figura 2.5. Salidas complementadas en Flip-flops ............................................................................... 22 Figura 2.6. Entradas complementadas .................................................................................................. 22 Figura 2.7. Diseño en dos niveles. ....................................................................................................... 23 Figura 2.8. Diseño en tres niveles. ........................................................................................................ 23

Prof. Leopoldo Silva Bijit.

05-03-2004

25