Apuntes Sistemas Digitales

Apuntes Sistemas Digitales Pedro Ducanto Ramiro Algozino Junio de 2009 ii ´Indice general ´ 1. Algebra de Boole 1.1. Funciones . . . . . . . . .

7 downloads 210 Views 1MB Size

Story Transcript

Apuntes Sistemas Digitales Pedro Ducanto

Ramiro Algozino

Junio de 2009

ii

´Indice general ´ 1. Algebra de Boole 1.1. Funciones . . . . . . . . . . . . . . . . . . . . . 1.2. Variables L´ ogicas . . . . . . . . . . . . . . . . . 1.2.1. Valores que puede tomar la variable . . 1.3. Representaci´ on por tensiones el´ectricas . . . . . 1.3.1. La notaci´ on 0,1 . . . . . . . . . . . . . . 1.4. Sistema de numeraci´ on binario . . . . . . . . . 1.5. Conversi´ on binario y decimal . . . . . . . . . . 1.6. N´ umeros binarios con bit de signo . . . . . . . 1.7. Sistemas num´ericos de complemento . . . . . . 1.7.1. Representaci´ on de complemento de base 1.7.2. Representaci´ on de complemento a dos . 1.8. Sistemas de numeraci´ on Octal y Hexadecimal . 1.8.1. Sistema binario y Variables l´ogicas . . . 1.8.2. Funciones de una sola variable . . . . . 1.8.3. Funciones de dos variables . . . . . . . . 1.9. Funciones m´ as importantes . . . . . . . . . . . 1.9.1. Funci´ on AND . . . . . . . . . . . . . . . 1.9.2. Funci´ on OR . . . . . . . . . . . . . . . . 1.9.3. Funci´ on EXCLUSIVE-OR . . . . . . . . 1.9.4. Funciones NAND y NOR . . . . . . . . ´ 1.10. Teoremas del Algebra de Boole . . . . . . . . . 1.10.1. Principio de la dualidad . . . . . . . . . 1.10.2. Teoremas de una sola variable . . . . . . 1.10.3. Teoremas para dos y tres variables: . . . 1.10.4. Teorema de De Morgan . . . . . . . . . 1.10.5. Suficiencia de las operaciones . . . . . . 1.11. Diagramas L´ ogicos . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . .

1 1 2 2 3 3 3 4 5 5 6 6 6 6 7 8 8 8 9 9 10 11 11 11 12 13 13 15

2. Simplificaci´ on de Funciones L´ ogicas 2.1. Definici´ on de Minterm . . . . . . . . . . . . . 2.2. Definici´ on de Maxterm . . . . . . . . . . . . . 2.3. Minterm, Maxterm y la Tabla de la Verdad . 2.4. Diagramas de Karnaugh . . . . . . . . . . . . 2.5. Simplificaci´ on usando Karnaugh . . . . . . . 2.5.1. Agrupaciones mayores en diagramas K 2.5.2. Agrupaciones de MAXTERM . . . . . 2.5.3. Diagramas para cinco variables . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

17 17 18 19 20 20 21 22 22

iii

. . . . . . . .

´INDICE GENERAL

iv 2.6. Usos del Diagrama de Karnaugh . . . . . . . . . 2.6.1. Principios a usar . . . . . . . . . . . . . . 2.6.2. Funciones incompletamente especificadas 2.7. Ejemplos de simplificaci´on . . . . . . . . . . . . . 2.7.1. Ejemplo 1 . . . . . . . . . . . . . . . . . . 2.7.2. Ejemplo 2 . . . . . . . . . . . . . . . . . . 2.7.3. Ejemplo 3 . . . . . . . . . . . . . . . . . . 2.7.4. Ejemplo 4 . . . . . . . . . . . . . . . . . . 2.7.5. Ejemplo 5 . . . . . . . . . . . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

22 22 23 24 24 24 25 25 25

3. Circuitos Combinacionales B´ asicos 3.1. Circuitos Combinacionales . . . . . . . . . . . . . . . . 3.2. Decodificadores . . . . . . . . . . . . . . . . . . . . . . 3.2.1. Circuito l´ogico . . . . . . . . . . . . . . . . . . 3.2.2. Ejemplo de aplicaci´on . . . . . . . . . . . . . . 3.3. Codificadores . . . . . . . . . . . . . . . . . . . . . . . 3.3.1. Circuito l´ogico . . . . . . . . . . . . . . . . . . 3.3.2. Ejemplo de aplicaci´on . . . . . . . . . . . . . . 3.3.3. Circuito l´ogico . . . . . . . . . . . . . . . . . . 3.4. Codificador de prioridad . . . . . . . . . . . . . . . . . 3.5. Conversores de c´odigo . . . . . . . . . . . . . . . . . . 3.5.1. Ejemplo de aplicaci´on . . . . . . . . . . . . . . 3.6. Multiplexores . . . . . . . . . . . . . . . . . . . . . . . 3.6.1. Ejemplos de aplicaci´on . . . . . . . . . . . . . . 3.7. Demultiplexores . . . . . . . . . . . . . . . . . . . . . . 3.8. Sumador . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8.1. Sumador Paralelo-Paralelo con acarreo serie . . 3.8.2. Circuito del sumador completo . . . . . . . . . 3.9. Comparador de Magnitud . . . . . . . . . . . . . . . . 3.9.1. Detector de igualdad de dos n´ umeros de un bit 3.9.2. Comparador de dos n´ umeros de un bit . . . . . 3.10. Detector de Paridad . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

27 27 28 28 29 30 30 31 32 32 33 34 35 36 37 38 38 40 41 41 42 42

4. Circuitos Secuenciales 4.1. Cerrojos . . . . . . . . . . . . . . . . 4.1.1. Cerrojo Est´atico . . . . . . . 4.1.2. Cerrojo Est´atico NOR . . . . 4.1.3. Cerrojo Est´atico NAND . . . 4.1.4. Cerrojo Din´amico . . . . . . 4.2. Flip-Flop . . . . . . . . . . . . . . . 4.2.1. Tipo RS - Maestro-Esclavo . 4.2.2. Tipo JK . . . . . . . . . . . . 4.3. Flip Flops activados por flancos . . . 4.3.1. Tiempos a tener en cuenta en 4.4. Registros . . . . . . . . . . . . . . . 4.4.1. Registro paralelo . . . . . . . 4.4.2. Registro desplazamiento . . . 4.5. Contadores . . . . . . . . . . . . . . 4.5.1. Contador de anillo . . . . . . 4.5.2. Contador Johnson . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

45 45 45 46 47 47 50 50 52 53 53 55 55 55 56 57 58

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . un flip-flop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

´INDICE GENERAL

v

4.5.3. Contador m´ odulo completo . . . . . . . . . . . . . . . . . 4.5.4. Contador m´ odulo arbitrario . . . . . . . . . . . . . . . . . 4.5.5. Contador reversible . . . . . . . . . . . . . . . . . . . . . . A. Ap´ endice al Cap´ıtulo 1 A.1. C´ odigos num´ericos . . . A.1.1. C´ odigo BCD . . A.1.2. Nomenclatura . . A.1.3. C´ odigos de datos

59 61 63

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

67 67 67 68 68

B. Tec. de Fabricaci´ on de Circ. L´ ogicos B.1. Introducci´ on a los C.I. . . . . . . . . . . . B.2. Familias de Circuitos L´ ogicos Integrados . B.3. Caracter´ısticas de los Circuitos Integrados B.3.1. Abanico de salida (FAN-OUT) . . B.3.2. Margen de ruido . . . . . . . . . . B.4. La familia CMOS . . . . . . . . . . . . . . B.4.1. Caracter´ısticas . . . . . . . . . . . B.4.2. Usos CMOS . . . . . . . . . . . . . B.5. La familia TTL . . . . . . . . . . . . . . . B.6. La familia ECL . . . . . . . . . . . . . . . B.7. Comparaci´ on de Familias L´ogicas . . . . . B.8. Familia CMOS de alta velocidad . . . . . B.9. Interconexi´ on entre Familias . . . . . . . . B.10.Salidas de Circuitos Integrados . . . . . . B.10.1. Conmutador Operado por L´ogica . B.10.2. Salida T´ otem-Pole . . . . . . . . . B.10.3. Salida de tres estados . . . . . . . B.10.4. Salida en Colector Abierto . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

69 69 70 71 71 72 73 73 77 78 79 79 80 81 83 83 84 85 85

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

vi

´INDICE GENERAL

Cap´ıtulo 1

´ Algebra de Boole 1.1.

Funciones

Una funci´ on es una regla por la que determinamos el valor de una variable llamada dependiente (y), a partir de los valores de otra variable llamada independiente (x). Esta dependencia entre variables se suele escribir como: y = f (x) Esta relaci´ on funcional se puede expresar a trav´es de una ecuaci´on como por ejemplo: y = 3x + 5 Esta forma de expresi´ on es muy importante cuando el n´ umero de valores de x es relativamente grande. Cuando la cantidad posible de valores de x no es muy grande se puede expresar a trav´es de una tabla en la que se da para cada valor de x el valor que debe tomar y. Si consideramos que x solo puede tomar los valores 0, 1, 2, 3 x 0 1 2 3

f (x) 5 8 11 14

Podemos concluir por una extensi´on de lo expresado que las variable no tienen por que ser num´ericas, sino por ejemplo la variable x puede ser el estado de un sem´ aforo y la dependiente como debe reaccionar un automovilista ante el estado del mismo. x Verde Rojo Amarillo

f (x) Contin´ ua Frena Para

1

´ CAP´ITULO 1. ALGEBRA DE BOOLE

2

1.2.

Variables L´ ogicas

Es una variable que tiene tres propiedades distintivas: Puede adoptar uno de dos valores posibles. Los valores se expresan por sentencias declarativas. Los valores deben ser tales que sean mutuamente exclusivos. A causa de que solo puede tomar dos valores podemos indicar que x = (valor − variable) o que x = (valor − variable − negada) y se lo explicita con una barra por sobre la variable que indicando la negaci´on. Ejemplo: los dos valores de x pueden ser rojo y verde, esto tambi´en se puede expresar como X = rojo y X = rojo.

1.2.1.

Valores que puede tomar la variable

Los nombres que pueden adoptar las variables l´ogicas deben ser aquellos f´ acilmente distinguibles y que conlleven la noci´on de exclusi´on mutua: Por ejemplo: caliente - fr´ıo, alto - bajo, verdadero - falso. Basados en estos valores de variables lo que se trata de hacer es una asignaci´on de las variables f´ısicas verdaderas a valores l´ogicos mutuamente exclusivos. La forma m´ as usual es utilizar A como variable independiente y Z como dependiente. Ejemplo de asignaci´ on: Sem´aforo A = V (verdadero): luz roja A = F (falso): luz verde Z = V : conductor contin´ ua Z = F : conductor para De acuerdo a las asignaciones que se hagan de las variables, ser´a la funci´on que obtengamos, aunque ver´ıamos que la relaci´on funcional entre, reacci´on del conductor y color del sem´aforo deber´ıa ser la misma. Se puede usar una tabla para representar esta relaci´on y se la llama Tabla de la Verdad. A Verde Rojo

Z = f (A) Contin´ ua Para

Cuadro 1.1: Tabla de la Verdad A F V

Z = f (A) V F

Cuadro 1.2: Tabla de la Verdad

´ POR TENSIONES ELECTRICAS ´ 1.3. REPRESENTACION

1.3.

3

Representaci´ on de variables l´ ogicas por tensiones el´ ectricas

Como venimos enunciando el valor de una variable l´ogica puede indicarse de distintas maneras que dependen de la circunstancia donde apliquemos los conocimientos de funciones l´ ogicas. Pero la presentaci´ on de este tema en este cap´ıtulo en general se refiere a Sistemas Digitales Electr´ onicos en donde los valores de variables l´ogicas tienen ya un significado establecido de antemano, estos valores son tensiones el´ectricas mantenidas entre un par de conductores. Podemos decir que A es V cuando la tensi´on est´a comprendida entre 7 Volt o mayor y A es F cuando la tensi´ on esta comprendida entre 3 Volt o menos; este rango para los dos valores l´ ogicos se da por que es muy dif´ıcil mantener dentro de un circuito un valor exactamente constante en todos los puntos. Pero si el valor est´ a entre 3 Volt y 7 Volt sabremos que el circuito est´a funcionando mal. Las tensiones de trabajo pueden ser tambi´en negativas, o bien una positiva y una negativa o bien una cero y otra positiva. Los valores de tensi´on acostumbrados en la pr´ actica son tensiones del orden de 3 Volt a 18 Volt. Si consideramos que el valor verdadero se da para el valor mayor de tensi´on diremos que estamos trabajando con L´ ogica Positiva. En principio es indiferente cualquier tipo de l´ ogica pero hay una preferencia hacia la positiva por un factor psicol´ ogico e hist´ orico. Los valores m´ as utilizados para V y F son, tensi´on de fuente positiva y masa respectivamente.

1.3.1.

La notaci´ on 0,1

Hasta ahora hemos indicado los dos posibles valores de una variable l´ogica A, por A = V ´ o A = F ; a esta notaci´on la reemplazaremos por A = 0 para A = F y A = 1 para A = V . Debemos considerar que los valores 0 y 1 no son n´ umeros sino valores l´ogicos de una variable l´ ogica. Esta notaci´on tiene caracter´ısticas muy u ´tiles por la asociaci´ on que se puede hacer entre los valores de una variable y el sistema de numeraci´ on binario (solo representa dos d´ıgitos 0 y 1), esto hace que la correspondencia entre los d´ıgitos binarios y las variables l´ogicas sea uno-a-uno. Esta correspondencia suele ser tan ´ıntima que se puede perder de vista la distinci´on entre una y otra.

1.4.

Sistema de numeraci´ on binario

En el sistema de numeraci´ on cotidiano (decimal) utilizamos diez d´ıgitos, 0 al 9, donde un n´ umero mayor que 9 se representa asignando un significado al lugar que ocupa cada d´ıgito. El significado num´erico se calcula: 4594 = 4 × 103 + 5 × 102 + 9 × 101 + 4 × 100 El diez representa la base del sistema y las potencias expresan la posici´on del d´ıgito dentro del n´ umero.

´ CAP´ITULO 1. ALGEBRA DE BOOLE

4

Para un n´ umero en el sistema binario tendr´ıamos: 1001 = 1 × 23 + 0 × 22 + 0 × 21 + 1 × 20 =8+0+0+1=9 Un n´ umero que no es entero puede representarse usando la notaci´on puntodecimal. 1, 1101 = 1 × 20 + 1 × 2−1 + 1 × 2−2 + 0 × 2−3 + 1 × 2−4 As´ı los bit de m´ as a la derecha son coeficientes de 2−n , donde n es la distancia del bit a la derecha de la coma binaria. El desplazamiento de la coma hacia la derecha se logra multiplicando por 2k y hacia la izquierda dividiendo por 2k .

1.5.

Conversi´ on binario y decimal

La conversi´ on de un binario a decimal se logra f´acilmente si operamos como lo indicado en los ejemplos anteriores. Conversi´ on de un n´ umero N (entero) decimal a binario: En este caso N tendr´a la forma en binario N = ...x8 x4 x2 x1 , 0; donde las xi son los ceros o unos del n´ umero. Los sub´ındices indican el peso num´erico de cada d´ıgito. Si dividimos por 2 y conservamos el resultado en forma entera, sabemos que cada divisi´ on por dos desplaza hacia la izquierda la coma decimal, tenemos: ...x8 x4 x2 x1 N = = ...x8 x4 x2 + resto → x1 2 2 As´ı el d´ıgito menos significativo x1 es el resto. Entonces a partir de los restos de varias divisiones por 2 podemos ir formando el n´ umero binario correspondiente hasta el d´ıgito m´ as significativo que se encuentra como el resultado 1 de la divisi´ on por que no se puede seguir operando. 19 = 9 → resto 1 (menos significativo) 2 9 = 4 → resto 1 2 4 = 2 → resto 0 2 2 = 1 → resto 0 (m´as siginificativo) 2 El n´ umero formado es 10011. Si el n´ umero N es menor que la unidad, todos los d´ıgitos a la izquierda de la coma decimal son 0, entonces tenemos. N = 0, x1/2 x1/4 x1/8 ... Para saber si x1/2 es 0 o 1 multiplicamos a N por 2. El digito ser´ a un 1 si el producto da mayor que la unidad. Adem´as sabemos que la multiplicaci´ on por 2 desplaza la coma hacia la derecha de tal modo que el d´ıgito x1/4 se coloca en la posici´on que ocupaba antes x1/2 , con lo que se puede repetir el procedimiento para ir determinando cada uno de los d´ıgitos. 0,81 × 2 = 1,62 → 1 (d´ıgito m´as significativo)

´ 1.6. NUMEROS BINARIOS CON BIT DE SIGNO

5

0,62 × 2 = 1,24 → 1 0,24 × 2 = 0,48 → 0 0,48 × 2 = 0,96 → 0 0,96 × 2 = 1,92 → 1 0,92 × 2 = 1,84 → 1 (d´ıgito menos significativo)

0,81 (decimal) = 110011...(binario) Si el n´ umero decimal tiene una parte entera y una decimal, las dos se tratan separadamente y despu´es se combinan los resultados.

1.6.

N´ umeros binarios con bit de signo

En el sistema de magnitud con signo, un n´ umero se compone de una magnitud y de un s´ımbolo que indica si la magnitud es positiva o negativa. De esta forma, interpretamos los n´ umeros decimales +98,-57,+123.5 y -13 de la manera habitual, y tambi´en suponemos que el signo es “+”si no aparece ning´ un s´ımbolo escrito. Existen dos representaciones de cero, +0 y -0, pero las dos tienen en el mismo valor. El sistema de magnitud con signo se aplica a los n´ umeros binarios haciendo uso de una posici´ on de bit extra para representar el signo (el bit de signo). Tradicionalmente, el bit m´ as significativo (MSB) de una cadena de bits es empleado como el bit de signo (0=signo m´as, 1=signo menos), y los bits de menor orden contienen la magnitud. As´ı, podemos escribir varios enteros de 8 bits con magnitud con signo y sus equivalentes decimales: 010101012 = +8510 011111112 = +12710 000000002 = +010

110101012 = −8510 111111112 = −12710 100000002 = −010

El sistema de magnitud con signo tiene un n´ umero id´entico de enteros positivos y negativos. Un entero de magnitud con signo de n bits est´a situado dentro del intervalo que va desde −(2n−1 − 1) hasta +(2n−1 − 1) y existen dos representaciones posibles del cero.

1.7.

Sistemas num´ ericos de complemento

Mientras que en el sistema de magnitud con signo convierte en negativo un n´ umero al cambiar su signo, un sistema num´erico de complemento convierte en negativo un n´ umero tomando su complemento como definido por el sistema. Tomar el complemento es m´ as dif´ıcil que cambiar el signo, pero dos n´ umeros en un sistema num´erico de complemento pueden sumarse o restarse directamente sin tener que realizar las verificaciones de magnitud y signo que requieren el sistema de magnitud con signo.

6

1.7.1.

´ CAP´ITULO 1. ALGEBRA DE BOOLE

Representaci´ on de complemento de base

En un sistema de complemento de base, el complemento de un n´ umero de n d´ıgitos se obtiene al restarlo de rn (donde r es la base del sistema). En el sistema num´erico decimal, el complemento de base se denomina complemento de 10. Por definici´ on, el complemento de base de un n´ umero D de n d´ıgitos se obtiene al restarlo de rn . Si D se encuentra entre 1 y rn − 1, esta resta produce otro n´ umero entre 1 y rn − 1. Si D es 0, el resultado de la resta es rn , lo cual tiene la forma 100...00, donde hay un total de n + 1 d´ıgitos. Descartemos el d´ıgito extra de mayor orden y obtenemos el resultado 0. Por consiguiente, s´olo existe una representaci´ on de cero en un sistema de complemento de base.

1.7.2.

Representaci´ on de complemento a dos

Para n´ umeros binarios, el complemento de base se conoce como el complemento a dos. El MSB de un n´ umero en este sistema sirve como el bit de signo; un n´ umero es negativo si y s´olo si su MSB es 1. El equivalente decimal para un n´ umero binario de complemento a dos se calcula de la misma forma que para un n´ umero sin signo, excepto que el peso del MSB es −2n−1 en vez de +2n−1 . El intervalo de los n´ umeros representables abarca desde −2n−1 hasta +2n−1 − 1. Si al calcular el complemento ocurriera un acarreo fuera la posici´on del MSB, debe ignorarse y solamente se utilizan los n bits de menor orden del resultado.

1.8.

Sistemas de numeraci´ on Octal y Hexadecimal

Estos sistemas resultan interesantes ya que tienen una relaci´on directa con el sistema binario. En el Octal la base es 8 y los d´ıgitos usados van del 0 al 7. En el Hexadecimal la base es 16, a los diez d´ıgitos habituales del decimal se le agregan las letras A, B, C, D, E, F. Esta relaci´ on entre estos sistemas y el binario surge del hecho de que tres d´ıgitos binarios pueden representar 8 (23 ) n´ umeros diferentes y cuatro d´ıgitos binarios pueden representar 16 (24 ) n´ umeros distintos. Por lo tanto la relaci´on entre un d´ıgito octal es directa, tres d´ıgitos binarios por cada uno octal y un d´ıgito hexadecimal tiene una relaci´on directa con cuatro d´ıgitos binarios. Para pasar un n´ umero binario a octal se lo agrupa de a 3 y se lo reemplaza por el octal correspondiente. Para el caso del hexadecimal es una agrupaci´on de 4 d´ıgitos binarios.

1.8.1.

Sistema binario y Variables l´ ogicas

La utilidad especial del sistema binario en relaci´on con el ´algebra de variables l´ ogicas proviene de que ´estas s´olo tienen dos valores y el sistema binario s´olo dos d´ıgitos. Esta utilidad se realza con la notaci´on 0, 1 para representar los valores de una variable l´ ogica. Consideremos una funci´on l´ogica de tres variable Z = f (A, B, C)

´ OCTAL Y HEXADECIMAL 1.8. SISTEMAS DE NUMERACION Decimal 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16

Octal 00 01 02 03 04 05 06 07 10 11 12 13 14 15 16 17 20

Hexadecimal 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10

7

Binario 00000000 00000001 00000010 00000011 00000100 00000101 00000110 00000111 00001000 00001001 00001010 00001011 00001100 00001101 00001110 00001111 00010000

Cuadro 1.3: Sistemas de Numeraci´on No fila 0 1 2 3 4 5 6 7

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

Z 0 0 0 1 1 1 1 1

Observamos que cada fila tiene un n´ umero que coincide con el n´ umero binario formado por los valores l´ ogicos de las variables. Esto es el resultado de una ordenaci´ on premeditada de las filas de la tabla de la verdad. Estas consideraciones nos permiten dar formas alternativas para definir una funci´ on l´ ogica: 1. Por su tabla de Verdad 2. Por los 1 ubicados en las filas 3, 4, 5, 6 y 7. Esta u ´ltima no implica tener que dar la tabla de la verdad. Esta consideraci´ on es una de las relaciones importantes entre el sistema binario y las variables l´ ogicas.

1.8.2.

Funciones de una sola variable

La cantidad de funciones distintas de una sola variable est´a limitada a cuatro. Ello se debe a que para la variable A s´olo hay dos posibles valores y para cada valor de A, Z s´ olo puede tomar dos valores; en conclusi´on, las posibles columnas

´ CAP´ITULO 1. ALGEBRA DE BOOLE

8

diferentes de Z son 2 × 2 = 4. De las cuales la m´as importante es la funci´on inversi´ on y la funci´ on directa. A 0 1

Z=f(A) 1 0

Cuadro 1.4: Z = A A 0 1

Z=f(A) 0 1

Cuadro 1.5: Z = A A la primer funci´ on se la llama NOT. El s´ımbolo l´ogico utilizado es el siguiente:

Figura 1.1: Z = A A la segunda funci´ on se la llama directa y el s´ımbolo l´ogico utilizado es el de la figura 1.2

1.8.3.

Funciones de dos variables

Consideraremos ahora las funciones Z = f (A, B) de dos variables l´ogicas A y B. En este caso la tabla de la verdad que las representa tiene esta forma.

1.9. 1.9.1.

Funciones m´ as importantes Funci´ on AND

A esta funci´ on se denomina Funci´on AND, esto se debe a que Z = 1, solamente cuando A y (AND) B son a la vez 1. Un simbolismo alternativo para la funci´ on AND es: Z = A.B o m´as simple Z = AB Propiedades La funci´ on AND es conmutativa: La funci´ on AND es asociativa:

Z = AB = BA Z = (AB)C = A(BC)

La demostraci´ on se puede hacer a trav´es del an´alisis de su tabla de la verdad (cuadro 1.8). Se observa que las columnas 5 y 7 del cuadro 1.8 son id´enticas. El s´ımbolo l´ ogico utilizado es el de la figura 1.3 A este tipo de configuraci´on se le denomina compuerta (puerta) l´ogica.

´ IMPORTANTES 1.9. FUNCIONES MAS

9

Figura 1.2: Z = A A 0 0 1 1

B 0 1 0 1

Z = f (A, B)

Cuadro 1.6: Tabla de la verdad de una funci´on de dos variables

1.9.2.

Funci´ on OR

A esta funci´ on se la denomina Funci´on OR, ´esto se debe a que Z = 1 cuando A ´ o (OR) B, cualquiera de las dos, o las dos al mismo tiempo, es 1. Un simbolismo alternativo para la funci´on OR es: Z = A + B. Propiedades La funci´ on OR es conmutativa: La funci´ on OR es asociativa:

Z =A+B =B+A Z = (A + B) + C = A + (B + C)

Tambi´en la demostraci´ on se puede hacer a trav´es del an´alisis de su tabla de la verdad de la misma forma que hicimos para la funci´on AND. El s´ımbolo l´ ogico utilizado es el siguiente:

1.9.3.

Funci´ on EXCLUSIVE-OR

Esta funci´ on adopta el valor Z = 1, si alguna, y s´olo una, de las variables tiene el valor l´ ogico 1 (comparador de desigualdad). Propiedades: La funci´ on EXCLUSIVE-OR es conmutativa:

Z =A⊕B =B⊕A

La funci´ on EXCLUSIVE-OR es asociativa: Z = (A⊕B)⊕C = A⊕(B ⊕C) Tambi´en la demostraci´ on se puede hacer a trav´es del an´alisis de su tabla de la verdad, id´enticamente como con la funci´on AND. El s´ımbolo l´ ogico utilizado es el siguiente: El hecho de tener una compuerta exclusive-or con m´as de dos entradas es tecnol´ ogicamente complicado por lo tanto para lograr una compuerta con mas de dos entradas se superponen compuertas con dos entradas, utilizando la propiedad de asociatividad que las caracteriza. Entonces para manejar n entradas de compuerta es necesario n − 1 compuertas exclusive-or. El complemento (inversa) de la exclusive-or se denomina EXCLUSIVE-NOR. El s´ımbolo l´ ogico es el de la figura 1.6. Esta funci´on mantiene un 1 a la salida solo si las dos entradas A y B son iguales. (Comparador de igualdad).

´ CAP´ITULO 1. ALGEBRA DE BOOLE

10 A 0 0 1 1

B 0 1 0 1

Z = f (A, B) 0 0 0 1

Cuadro 1.7: Z = A and B 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

AB 0 0 0 0 0 0 1 1

(AB)C 0 0 0 0 0 0 0 1

BC 0 0 0 1 0 0 0 1

A(BC) 0 0 0 0 0 0 0 1

Cuadro 1.8: Tabla de la verdad (AB)C = A(BC)

1.9.4.

Funciones NAND y NOR

NAND Esta funci´ on es la inversa de la AND. S´ımbolo l´ ogico en la figura 1.7 NOR Esta funci´ on es la inversa de la OR. S´ımbolo l´ ogico en la figura 1.8. Las funciones NAND y NOR son conmutativas como se puede demostrar inspeccionando las tablas de verdad (cuadro 1.12 y 1.13): AB = BA A+B =B+A Por otro lado estas operaciones no son asociativas: ABC 6= ABC A + B + C 6= A + B + C Cuando se manejan m´as de dos variables significa simplemente que se realiza la operaci´ on AND u OR y luego se complementa, lo que implicar´ıa que la funci´on con mas de dos variables ser´ıan las siguientes: ABC ::::: A + B + C :::::

´ 1.10. TEOREMAS DEL ALGEBRA DE BOOLE

11

Figura 1.3: A.B A 0 0 1 1

B 0 1 0 1

Z = f (A, B) 0 1 1 1

Cuadro 1.9: Z = A + B

1.10.

´ Teoremas del Algebra de Boole

Se desarrollar´ an una serie de teoremas en los que aparecen las operaciones AND, OR y NOT, u ´tiles para la simplificaci´on de funciones de variables l´ogicas.

1.10.1.

Principio de la dualidad

Este principio nos permite relacionar las operaciones AND y OR. Si consideramos una fila cualquiera de alguna de las tablas de la verdad de la compuerta AND u OR, y si en esa fila intercambiamos: 1. los signos “+”por signos “.” 2. y los 0 por 1, habremos transformado la ecuaci´ on original en otra ecuaci´on igualmente v´alida.

Ejemplo La fila 3 de la tabla de AND es 1 . 1 = 1, aplicando dualidad tenemos: 0 + 0 = 0, que es la primera fila de la tabla OR, por lo tanto es valida. Continuando con el principio y aplic´andolo a todas las ecuaciones se puede ver que se verifica para todas las filas, lo que da una correspondencia uno a uno entre AND y OR a trav´es del principio de dualidad. ´ Esto hace que si demostramos un teorema autom´aticamente podemos inducir otro sin m´ as que intercambiar los + por . y los 0 por 1. A estos teoremas hallados por el principio de la dualidad se los denomina duales entre si.

1.10.2.

Teoremas de una sola variable A=A

´ CAP´ITULO 1. ALGEBRA DE BOOLE

12

Figura 1.4: A + B A 0 0 1 1

B 0 1 0 1

Z = f (A, B) 0 1 1 0

Cuadro 1.10: Z = A ⊕ B Teorema trivial pero muy importante. La demostraci´on se logra a trav´es de darle los valores posibles a la variable A y verificarlo. A + 0 = A ⇔ A.1 = A A + 1 = 1 ⇔ A.0 = 0 A + A = A ⇔ A.A = A A + A = 1 ⇔ A.A = 0 Para probar la validez de los teoremas basta demostrar que el teorema se cumple para cada uno de los valores de la variable.

1.10.3.

Teoremas para dos y tres variables: A + AB = A ⇔ A(A + B) = A AB + AB = A ⇔ (A + B)(A + B) = A A + AB = A + B ⇔ A(A + B) = AB A + BC = (A + B)(A + C) ⇔ A(B + C) = AB + AC ∗

AB + AC = (A + C)(A + B) ⇔ (A + B)(A + C) = AC + AB AB + AC + BC = AB + AC ⇔ (A + B)(A + C)(B + C) = (A + B)(A + C) La ecuaci´ on marcada con un ∗ tiene significado especial ya que indica que la ley distributiva es aplicable al ´algebra de variables l´ogicas. Cualquiera de los teoremas se puede verificar sin mas que sustituir los posibles valores de las variables en la ecuaci´on. Cuando se manejan dos variables hay cuatro combinaciones y cuando hay tres variables hay ocho combinaciones. Los teorema b´ asicos se puede concluir que son los de una variable adicion´ andole adem´ as el de la propiedad distributiva y su dual. Los dem´as teoremas se pueden demostrar haciendo alguna manipulaci´on con los teoremas b´asicos.

´ 1.10. TEOREMAS DEL ALGEBRA DE BOOLE

13

Figura 1.5: A ⊕ B A 0 0 1 1

B 0 1 0 1

Z = f (A, B) 1 0 0 1

Cuadro 1.11: Z = A ⊕ B

1.10.4.

Teorema de De Morgan

Un teorema de suficiente importancia es el que se conoce como el teorema de De Morgan. Este se expresa as´ı: A.B.C.D... = A + B + C + D + ... A + B + C + D + ... = A.B.C.D Estas ecuaciones indican que: 1. el complemento de un producto de variables es igual a la suma de los complementos de cada variable. 2. el complemento de una suma de variables es igual al producto de los complementos de cada variable. Se demuestra razonando a trav´es de las tablas de la verdad. Ejemplo: uso de los teoremas para la simplificaci´ on de funciones Simplificar: w = xy + yxz Sea v = xy Entonces: v = xy Implica que: w = v + vz pero por el teorema A + AB = A + B Tenemos: w = v + z = xy + z

1.10.5.

Suficiencia de las operaciones

Cualquier funci´ on l´ ogica puede expresarse mediante las operaciones AND, OR y NOT. Podemos dar un paso m´as y decir que la funci´on NOT en conjunto con cualquiera de la otras, ya sea AND u OR, son suficientes para expresar cualquier funci´ on l´ ogica.

´ CAP´ITULO 1. ALGEBRA DE BOOLE

14

Figura 1.6: A ⊕ B A 0 0 1 1

B 0 1 0 1

Z = f (A, B) 1 1 1 0

Cuadro 1.12: Z = A.B Podemos verificar que la funci´on AND puede expresarse mediante las operaciones OR y NOT, y la OR puede expresarse por las operaciones AND y NOT. Por De Morgan tenemos: AB = A + B En el primer miembro aparece la operaci´on AND y en el segundo las operaciones OR y NOT. A + B = A.B Donde se sustituyo la operaci´on OR por AND y NOT. A pesar de las ventajas que podamos obtener con las operaciones AND y OR no las usaremos por razones de simplicidad. Suficiencia de NAND y NOR La operaci´ on NAND y NOR son suficientes cada una por si mismas. Esto se logra f´ acilmente si consideramos lo siguiente: AA = A NOT realizado con NAND Aplicando De Morgan se puede ver lo siguiente: AA.BB = A.B = A + B

OR realizada con NAND

Con ello vemos que NAND puede sustituir a NOT y OR, que como ya sabemos en conjunto pueden formar cualquier funci´on, por lo que NAND es suficiente por si misma. De forma an´ aloga puede establecerse que NOR es tambi´en una operaci´on suficiente para realizar cualquier funci´on. El inconveniente que se plantea en el dise˜ no l´ogico con compuertas NOR y NAND consiste en que no son asociativas. De acuerdo a ´esto, en el dise˜ no de estructuras de puertas que respondan a una funci´on, el procedimiento consiste en dise˜ narlas con AND u OR y NOT, y una vez completada la estructura, se la reemplaza por otra equivalente usando solamente NOR o NAND.

´ 1.11. DIAGRAMAS LOGICOS

15

Figura 1.7: Z = A.B A 0 0 1 1

B 0 1 0 1

Z = f (A, B) 1 0 0 0

Cuadro 1.13: Z = A + B

1.11.

Diagramas L´ ogicos

Entre una expresi´ on l´ ogica y su diagrama de puertas existe una correspondencia sencilla. Como por ejemplo: Consideremos una funci´on l´ogica dada por la expresi´ on l´ ogica siguiente (ecuaci´ on): Z = (A + B)(A.B)(A + B) El diagrama ser´ a el siguiente:

16

´ CAP´ITULO 1. ALGEBRA DE BOOLE

Figura 1.8: Z = A + B

Figura 1.9: Circuito l´ogico (Diagrama de puertas)

Cap´ıtulo 2

Simplificaci´ on de Funciones L´ ogicas Objetivo del cap´ıtulo Adquirir habilidades para la minimizaci´on de funciones, aplicando el m´etodo de los Diagramas de Karnaugh, obteniendo con ello un procedimiento mas sistem´ atico y efectivo para efectuar simplificaciones que los m´etodos basados en los teoremas del ´ algebra de Boole.

2.1.

Definici´ on de Minterm

Cualquier funci´ on l´ ogica se puede expresar como suma de productos. Si no lo ´ est´ a ya expresada, se puede lograr aplicando los teoremas del Algebra de Boole hasta lograrlo. Supongamos que ya tenemos una expresi´on l´ogica como suma de productos de variables individuales. La idea es estandarizarla, que significa lograr una funci´ on que sea suma de productos donde cada producto contenga todas las variables de la funci´ on. Ejemplo f (A, B, C) = A + B.C Funci´ on expresada como suma de productos pero no est´andar por que cada termino no contiene todas las variables, para lo cual se trata de agregarle las que faltan, sin modificar la funci´ on. Se multiplica (producto l´ ogico) por: (C + C)(B + B) = 1 al primer t´ermino sin variar la funci´ on y por (A + A) = 1 al segundo t´ermino. N´ otese que se multiplica a los t´erminos por las variables que le faltan. f (A, B, C) = (AC + AC)(B + B) + BCA + BCA f (A, B, C) = ACB + ACB + ACB + AC.B + BCA + BCA 17

´ DE FUNCIONES LOGICAS ´ CAP´ITULO 2. SIMPLIFICACION

18

A esta u ´ltima ecuaci´ on se le llama “suma de productos est´andar”. A cada uno de los t´erminos de la suma se le denomina MINTERM, donde cada uno contiene todas las variables de la funci´on. Se lo puede numerar de tal forma que por cada variable sin negar se coloca un 1, y por cada variable negada en el t´ermino un 0, se respeta que la variable m´as significativa para formar el n´ umero del MINTERM es A, B, C. El numero binario formado siguiendo esta regla es el n´ umero de MINTERM. Reacomodando la funci´on est´andar tenemos: f (A, B, C) = ABC + ABC + ABC + AB.C + ABC + ABC 111 110 101 100 111 011 Tenemos dos MINTERM iguales pero como A + A = A, se lo reemplaza por uno solo. f (A, B, C) = m7 + m6 + m5 + m4 + m3 Otra forma de expresar la funci´on es como una sumatoria de MINTERM X f (A, B, C) = m(3, 4, 5, 6, 7)

2.2.

Definici´ on de Maxterm

Toda expresi´ on l´ ogica se puede poner como producto de sumas de variables individuales. La idea vuelve a ser estandarizarla, como para el caso de lo MINTERM, logrando que la funci´on sea un producto de sumas donde cada suma contenga todas las variables de la funci´on. Ejemplo: f (A, B, C) = A(B + C) Funci´ on expresada como producto de sumas pero no est´andar por que cada t´ermino no contiene todas las variables, para lo cual se trata de agregarle las que faltan, sin modificar la funci´on. Se suma (suma l´ ogica): (C.C) + (B.B) = 0 al primer t´ermino, sin variar la funci´ on y se suma (A.A) = 0 al segundo t´ermino. N´ otese que se suman a los t´erminos las variables que le faltan. f (A, B, C) = (A + B.B + C.C)(B + C + A.A) f (A, B, C) = (A + B.B + C)(A + B.B + C)(B + C + A)(B + C + A) f (A, B, C) = (A+C+B)(A+B+C)(A+B+C)(A+B+C)(B+C+A)(B+C+A)1 A cada uno de los t´erminos del producto se le denomina MAXTERM, donde cada uno contiene todas las variables de la funci´on. Se lo puede numerar de tal forma que por cada variable sin negar se coloca un 0, y por cada variable negada en el termino un 1, se respeta que la variable m´as significativa para formar el n´ umero del MAXTERM es A, B, C. El numero binario formado siguiendo esta regla es el n´ umero de MAXTERM. Reacomodando la funci´on est´andar tenemos: f (A, B, C) = (A+B+C)(A+B+C)(A+B+C)(A+B+C)(A+B+C)(A+B+C) 1 Producto

de sumas est´ andar

2.3. MINTERM, MAXTERM Y LA TABLA DE LA VERDAD

19

000 010 001 011 010 110 Tenemos dos MAXTERM iguales pero como A.A = A, se lo reemplaza por uno solo. f (A, B, C) = M0 .M2 .M1 .M3 .M6 Que es otra forma de expresar una funci´on, como productoria de MAXTERM. f (A, B, C) =

2.3.

Y

M (0, 1, 2, 3, 6)

Relaci´ on entre Minterm, Maxterm y la Tabla de la Verdad

Una funci´ on se puede representar por medio de una tabla de la verdad y tambi´en como sumatoria de MINTERM o productoria de MAXTERM, veremos cual es la relaci´ on. Fila No 0 1 2 3 4 5 6 7

ABC 000 001 010 011 100 101 110 111

f (A, B, C) 1 0 1 1 0 0 1 1

Vemos que el MINTERM m0 , A.B.C, debe estar incluido dentro de la funci´ on, por que nos permite asegurar que la funci´on ser´a 1 cuando A = B = C = 0 (primera fila de la tabla de la verdad) y como con los MINTERM yo debo ir sum´ andolos, y sabemos que 1 + cualquier cosa = 1, podemos ir agregando MINTERM a la funci´ on sin que superpongan su relaci´on con la tabla. Entonces los MINTERM se asocian con los 1 de la funci´on en la tabla de la verdad, y su n´ umero coincide exactamente con el n´ umero de fila. S´olo debemos respetar que la funci´ on f (A, B, C). Armemos su tabla con A, B, C como bits m´ as significativos para formar las filas y los MINTERMS. X f (A, B, C) = m(0, 2, 3, 6, 7) Los MAXTERM se asocian con los 0 de la funci´on, ya que la fila 1 es 0, deber´ıa incluir el M1 (A + B + C) y como con los MAXTERM yo debo ir haciendo productos, y sabemos que 0 × cualquier cosa = 0, podemos ir agregando MAXTERM a la funci´ on sin que superpongan su relaci´on con la tabla. Entonces los MAXTERM se asocian con los 0 de la funci´on en la tabla de la verdad. Y exactamente su n´ umero coincide con el n´ umero de fila. Solo debemos respetar que la funci´ on f (A, B, C), armemos su tabla con A, B, C como bits m´as significativos para formar las filas y los MAXTERM. Y f (A, B, C) = M (1, 4, 5)

20

2.4.

´ DE FUNCIONES LOGICAS ´ CAP´ITULO 2. SIMPLIFICACION

Diagramas de Karnaugh

El diagrama de Karnaugh es una figura geom´etrica que asocia una regi´on, que llamaremos compartimiento, a cada fila de una tabla de verdad. Existe una correspondencia 1 a 1 entre los compartimientos de los diagramas K (Karnaugh) y los MINTERM o MAXTERM.

Figura 2.1: Diagrama K para 1 variable

Figura 2.2: Diagrama K para 2 variables

Figura 2.3: Diagrama K para 3 variables

2.5.

Simplificaci´ on de funciones l´ ogicas usando diagramas K

Supongamos que tenemos la siguiente funci´on l´ogica representada por los MINTERM ubicados en el diagrama K de la figura 2.5. Sabemos que cada MINTERM ocupa un compartimiento y es un 1 de la tabla de la verdad de alguna funci´ on. Sabemos que la funci´on f (A, B, C, D) = m8 + m12 con m8 = A.B.C.D y m12 = A.B.C.D f (A, B, C, D) = A.B.C.D + A.B.C.D = A.C.D(.B + B) = A.C.D Se sustituyeron dos t´erminos por uno, donde se simplific´o una variable que es la que se modific´ o en el agrupamiento de m12 y m8 , a estos agrupamientos de MINTERM se los llama primos. La ventaja del diagrama es poder observar cuales son los MINTERM que pueden agruparse entre si para simplificarse.

´ USANDO KARNAUGH 2.5. SIMPLIFICACION

21

Figura 2.4: Diagrama K para 4 variables

Figura 2.5: Diagrama K ejemplo

Para ello ´estos deben ser vecinos l´ogicos, que el diagrama los permite visualizar como vecinos geom´etricos, definiendo vecinos l´ogicos a aquellos MINTERM (compartimientos), que var´ıan solamente en uno de los valores de las variables independientes. Entonces el diagrama se dispone de tal manera de poder observar geom´etricamente aquellas vecindades l´ogicas como vecindades geom´etricas; salvo algunas vecindades l´ ogicas adicionales que no se pueden observar en el plano sino que hay que observarlas convirtiendo al diagrama en un cilindro vertical y otro horizontal, caso de los compartimientos 8 y 10 que son vecinos l´ogicos pero no geom´etricos. Principio 1 Cualquier par de MINTERM adjuntos se puede combinar en un termino mas sencillo que contiene una variable menos que los MINTERMS iniciales.

2.5.1.

Agrupaciones mayores en diagramas K

Hemos visto que dos compartimientos se pueden agrupar, de forma similar 2n compartimientos adjuntos pueden combinarse. m1 + m5 = A.C.D m3 + m7 = A.C.D f (A, B, C, D) = m1 + m5 + m3 + m7 = A.D(C + C) = A.D Vemos en la figura 2.6 que las variables que se eliminan son las que cambian entre los distintos compartimientos del agrupamiento.

´ DE FUNCIONES LOGICAS ´ CAP´ITULO 2. SIMPLIFICACION

22

Figura 2.6: Agrupaciones en Diagramas K

2.5.2.

Agrupaciones de MAXTERM

Si la funci´ on est´ a expresada como productoria de MAXTERM, se colocan los 0 en el diagrama y se trabaja id´enticamente a lo realizado con los MINTERMS. La agrupaci´ on se hace con los 0 y la eliminaci´on de variables se rige con los mismos criterios que en el caso de los MINTERMS, pero hay que tener en cuenta que son MAXTERM (figura 2.7).

Figura 2.7: Diagrama K de MAXTERMS

M15 .M11 = (A + C + D+) M0 .M1 .M4 .M5 = (A + C) f (A, B, C, D) = (A + C + D).(A + C) Destaquemos lo siguiente: El No de compartimientos de un diagrama K susceptible de agruparse es una potencia de 2 (20 , 21 , 22 , etc.) Los compartimientos deben ser adyacente l´ogicos (vecinos l´ogicos).

2.5.3.

2.6. 2.6.1.

Diagramas para cinco variables

Usos del Diagrama de Karnaugh Principios a usar

1. La agrupaci´ on de compartimientos debe hacerse de tal forma que cada 1 est´e incluido como m´ınimo una vez. Sin embargo un compartimiento puede aparecer en distintas agrupaciones.

2.6. USOS DEL DIAGRAMA DE KARNAUGH

23

Figura 2.8: Diagrama K para 5 variables (A = 0)

Figura 2.9: Diagrama K para 5 variables (A = 1) 2. Las agrupaciones se denominan “primos implicantes”. 3. Habr´ a algunos primos implicantes que ser´an esenciales (ya que si no los utilizamos no podemos abarcar todos los compartimientos) y otros que no lo son (primos implicantes no esenciales). Algoritmo: 1. Se˜ nalar y aceptar como primos implicantes esenciales aquellos compartimientos que no pueden combinarse con otros. 2. Identificar los compartimientos que pueden combinarse con otros de una sola manera. 3. Agrupar el mayor n´ umero de compartimientos en el menor n´ umero de primos implicantes.

2.6.2.

Funciones incompletamente especificadas

Supongamos que nos proponemos en forma mas simple una funci´on f , especificada para algunos (no para todos) los posibles valores de las variables independientes. Para este caso son posibles diferentes funciones que cumplan con las especificaciones, pero con el diagrama K se trata de encontrar la m´as simple. X f (A, B, C, D) = m(1, 2, 5, 6, 9) + d(10, 11, 12, 13, 14, 15) Las X de la figura 2.10 que han sido agrupadas deber´an ser reconocidas como 1, para obtener una funci´ on m´as simplificada que si hubiera determinado un valor 0 para ellas.

24

´ DE FUNCIONES LOGICAS ´ CAP´ITULO 2. SIMPLIFICACION

Figura 2.10: Diagrama K funci´on incompletamente definida

2.7. 2.7.1.

Ejemplos de simplificaci´ on Ejemplo 1 f (A, B, C, D) =

X

m(3, 4, 5, 7, 9, 12, 13, 14)

f (A, B, C, D) = ABC + ACD + ACD + ABC

Figura 2.11: Ejemplo 1

2.7.2.

Ejemplo 2 f (A, B, C, D) =

X

m(0, 2, 8, 10)

f (A, B, C, D) = B.D

Figura 2.12: Ejemplo 2

´ 2.7. EJEMPLOS DE SIMPLIFICACION

2.7.3.

25

Ejemplo 3 f (A, B, C, D) =

X

m(0, 2, 3, 4, 5, 7, 8, 9, 13, 15)

f (A, B, C, D) = BD + AB.C + A.B.C + A.B.C

Figura 2.13: Ejemplo 3

2.7.4.

Ejemplo 4 f (A, B, C, D, E) =

X

m(0, 4, 8, 12, 16, 20, 24, 28)

f (A, B, C, D, E) = D.E

Figura 2.14: Ejemplo 4

2.7.5.

Ejemplo 5

f (A, B, C, D, E) =

X

m(1, 4, 6, 10, 20, 22, 24, 26) + d(0, 11, 16, 17)

f (A, B, C, D, E) = B.D.E + B.C.D.E + A.B.C.D + B.C.D.E + .A.BC.E Si en vez de especificar la funci´ on como MINTERM, esta se expresa de otra forma, para armar el diagrama de Karnaugh primero se debe estandarizar la funci´ on y luego pasar al diagrama para poder simplificar. Ejemplo: f (A, B, C, D) = A.B.C.D + BCD + A.C + A X f (A, B, C, D) = m(0, 1, 4, 5, 8, 9, 10, 11, 12, 13, 14, 15)

26

´ DE FUNCIONES LOGICAS ´ CAP´ITULO 2. SIMPLIFICACION

Figura 2.15: Ejemplo 5

Figura 2.16: Ejemplo MINTERM f (A, B, C, D) = C + A El color amarillo es la superposici´on de los dos agrupamientos.

Cap´ıtulo 3

Circuitos Combinacionales B´ asicos Objetivo del cap´ıtulo Adquirir habilidades para el reconocimiento y aplicaci´on de Circuitos Combinacionales B´ asicos, de peque˜ na y mediana escala de integraci´on, los cuales son utilizados como aglutinantes de circuitos de mayor escala de integraci´on.

Temario Decodificadores • Ejemplo: aglutinante Codificadores • Codificador de prioridad • Ejemplo: codificador de teclado Conversores de c´ odigo • Ejemplo: conversor BCD a 7 segmentos Multiplexores Demultiplexores

3.1.

Circuitos Combinacionales

Entre los circuitos digitales se pueden distinguir dos clases bien diferenciadas de circuitos, unos llamados COMBINACIONALES, que son aquellos cuyas salidas dependen exclusivamente de sus entradas actuales y no hacen referencia a su historia pasada; y circuitos SECUENCIALES, cuyas salidas dependen tanto de las entradas actuales como de la historia pasada. 27

28

3.2.

´ CAP´ITULO 3. CIRCUITOS COMBINACIONALES BASICOS

Decodificadores

El efecto neto de este circuito es el de hacer expl´ıcito, lo que se presenta impl´ıcitamente en un c´ odigo binario. Dados los niveles l´ ogicos de entrada, podemos determinar el c´odigo a trav´es de este circuito (decodificador), si observamos directamente su salida, donde el c´ odigo de entrada se ha convertido en un dato expl´ıcito, es decir el c´odigo de entrada se ha decodificado. Para lograr ello se puede plantear una tabla de la verdad. A1 0 0 1 1

A0 0 1 0 1

O0 1 0 0 0

O1 0 1 0 0

O2 0 0 1 0

O3 0 0 0 1

Cuadro 3.1: Tabla de la verdad decodificador Se observa de la tabla que para cada entrada de A0 , A1 una y solo una salida es 1 l´ ogico. Siempre una salida se distingue (explicita) de las dem´as.

3.2.1.

Circuito l´ ogico

El circuito l´ ogico se puede deducir f´acilmente de la tabla de la verdad para cada una de las salidas, sabiendo que cada salida es una funci´on l´ogica de las entradas (ver figura 3.1). La cantidad m´ axima de salidas de un decodificador es 2n , donde n es el n´ umero de entradas del decodificador, pero puede ser que el decodificador no est´e preparado para decodificar todas las posibles combinaciones de c´odigos de entrada. Las entradas normalmente se denominan con la letra A que viene de la palabra inglesa Adress (direcci´on).

Figura 3.1: Decodificador de dos entradas A0 A1 y cuatro salidas O0 O1 O2 O3 Nota: Estos circuitos se comercializan en circuitos integrados del tipo media escala de integraci´ on (MSI), las distintas tecnolog´ıas de fabricaci´on cuentan con

3.2. DECODIFICADORES

29

sus respectivos circuitos integrados (CI) como lo es el 74xx, de la familia TTL que es un codificador de 3 entradas y 8 salidas; o el CI 40xx de la familia CMOS que es un decodificador de 4 entradas y 16 salidas. Los fabricantes dan las respectivas hojas de datos de los mismos, se pueden consultar por ellas en la p´ agina web de Motorola, National o Fairchild.

3.2.2.

Ejemplo de aplicaci´ on

Una aplicaci´ on t´ıpica es como aglutinante de circuitos integrados de mayor nivel de integraci´ on. En este caso supongamos que necesitamos armar una memoria de sistema de 64 KB (KiloBytes), para lo cual se cuenta con cuatro memorias integradas de 16 KB. El decodificador representa el aglutinante para la formaci´on de esa memoria de sistema requerida.

Figura 3.2: Ejemplo de uso del circuito decodificador Para poder reconocer todas las direcciones de memoria del sistema, se requiere una cantidad de bits suficientes como para poder reconocer cada celda de memoria, en este caso para 64 KB (=65536), se requieren 16 bits, ya que 216 = 65536. A estos bits en conjunto se los denomina bus de direcciones de memoria. (A15 , A14 , ..., A1 , A0 ) Para el direccionamiento de cada memoria individual se requieren 14 bits, ya que 214 = 16384 (16KB). Por lo tanto mi sistema tendr´ a un bus de direcciones de 16 bits para atender la memoria del sistema de los cuales 14 se usar´an para el direccionamiento interno de cada memoria y dos se utilizar´an para ser decodificados para saber a que memoria hace referencia la direcci´on indicada por el bus. Para ello cada memoria tiene incorporado un habilitador de memoria (CE = Chip Enable) que conecta ´esta al sistema. La organizaci´on de la memoria ser´a la siguiente: las direcciones que est´en entre los primeros 16 KB corresponder´an a la memoria 1,

´ CAP´ITULO 3. CIRCUITOS COMBINACIONALES BASICOS

30

las que est´en entre los 16 KB y los 32 KB, corresponder´an a la memoria 2, entre los 32 KB y 48 KB a la memoria 3 y entre los 48 KB y los 64 KB a la memoria 4. Para ello debemos conectar al decodificador los dos bits m´as significativos A15 y A14 . Mostramos en el cuadro 3.2.2 las direcciones m´axima y m´ınimas de cada memoria. A15

A14

A13

0000 b (0 h) 0011 b (3 h) 0100 b (4 h) 0111 b (7 h) 1000 b (8 h) 1011 b (B h) 1100 b (C h) 1111 b (F h)

A12

A11

0000 b (0 h) 1111 b (F h) 0000 b (0 h) 1111 b (F h) 0000 b (0 h) 1111 b (F h) 0000 b (0 h) 1111 b (F h)

A10

A9

A8

0000 b (0 h) 1111 b (F h) 0000 b (0 h) 1111 b (F h) 0000 b (0 h) 1111 b (F h) 0000 b (0 h) 1111 b (F h)

A7

A6

A5

0000 b (0 h) 1111 b (F h) 0000 b (0 h) 1111 b (F h) 0000 b (0 h) 1111 b (F h) 0000 b (0 h) 1111 b (F h)

A4

A3

A2

Memoria 1 Memoria 2 Memoria 3 Memoria 4

Cuadro 3.2: L´ımites de cada memoria

3.3.

Codificadores

Realizan la funci´ on inversa a la realizada por un decodificador, o sea la condici´ on para el dise˜ no de un codificador es tener en cuenta que en sus entradas hay una y s´ olo una con nivel diferente de las dem´as, ya sea 0 o 1; generalmente las entradas de un codificador son salidas de un decodificador. No se necesitan relaciones especiales entre los n´ umeros de entradas y salidas, salvo que los bits de salida sean tantos como para poder codificar a todas las entradas posibles. En el ejemplo de la tabla de la verdad (cuadro 3.3) se tomar´a un codificador de cuatro entradas y cuatro salidas (4 x 4). I3 1 0 0 0

I2 0 1 0 0

I1 0 0 1 0

I0 0 0 0 1

A3 1 0 0 1

A2 1 0 1 0

A1 1 0 0 1

A0 0 1 0 1

Cuadro 3.3: Tabla de la verdad del codificador

3.3.1.

Circuito l´ ogico

El dise˜ no del circuito l´ogico se puede encaminar desde dos puntos de vista. El primero reconociendo que A3 A2 A1 A0 son funciones l´ogicas no especificadas completamente de las entradas Ii , para lo cual se puede usar el m´etodo de Karnaugh para resolverlo. O bien se puede usar el m´etodo intuitivo, por ejemplo vemos que la salida A3 se pondr´a en 1 l´ogico cuando I3 ´o I0 presenten un 1, eso

A1

A0

3.3. CODIFICADORES

31

nos dice que una puerta OR cumplir´a con la condici´on de A3 . Cabe mencionar que el m´etodo intuitivo no siempre nos lleva a un circuito minimizado, en cambio el m´etodo de Karnaugh s´ı. Para el primer m´ etodo tenemos: Funci´ on A3 (trabajaremos con los MAXTERM - figura 3.3) f (I3 , I2 , I1 , I0 ) = I3 + I0

Figura 3.3: Diagrama K Ejemplo Codificador Para cada funci´ on Ai , preparamos un diagrama K y obtenemos la funci´on correspondiente, que como vemos son funciones OR, donde la cantidad de entradas depende de la cantidad de unos (1) que tenga la tabla de verdad de esa funci´ on. Para el segundo m´ etodo tenemos: Cada 1 que tengamos en la entrada lo distribuimos en las compuertas OR que correspondan para formar el c´ odigo para ese 1. esto se puede hacer porque reconozco que solamente tengo un 1 por vez en la entrada y la compuerta OR es transparente a los 1. Los n´ umeros que se indican debajo de la compuerta l´ogica de la figura 3.4 corresponden al c´ odigo del circuito integrado digital (electr´onico) que lo identifica, este caso corresponde a circuitos digitales con tecnolog´ıa de fabricaci´on TTL, de la serie 74xx; los n´ umeros delante de las l´ıneas de conexi´on representan el n´ umero de pata (pin) de dichos circuitos integrados (CI). Las letras que est´an dentro de las compuertas corresponden a cada una de las cuatro del circuito integrado.

3.3.2.

Ejemplo de aplicaci´ on

Como ejemplo de aplicaci´ on se tomar´a un codificador de teclado de diez d´ıgitos. Para ello debemos hacer algunas consideraciones, como las de suponer que el teclado es decodificado, lo que significa que tiene una salida para cada tecla y solamente una de ellas puede tener estado diferente cuando se pulsa una tecla, no se puede realizar una doble pulsaci´on por que ello implicar´ıa que aparezcan dos salidas con un nivel distinto a las dem´as. Se codificara cada tecla desde la 0 hasta la 9, al c´odigo binario correspondiente.

´ CAP´ITULO 3. CIRCUITOS COMBINACIONALES BASICOS

32

Figura 3.4: Codificador

0 1 0 0 0 0 0 0 0 0 0

1 0 1 0 0 0 0 0 0 0 0

2 0 0 1 0 0 0 0 0 0 0

3 0 0 0 1 0 0 0 0 0 0

Teclas 4 5 6 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0

7 0 0 0 0 0 0 0 1 0 0

8 0 0 0 0 0 0 0 0 1 0

9 0 0 0 0 0 0 0 0 0 1

Q3 0 0 0 0 0 0 0 0 1 1

C´ odigos Q2 Q1 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 0 0 0 0

Q0 0 1 0 1 0 1 0 1 0 1

Cuadro 3.4: Tabla de la verdad del codificador de teclado

3.3.3.

Circuito l´ ogico

Para encontrar el circuito l´ogico correspondiente se aplica el m´etodo intuitivo ya que la b´ usqueda de la funci´on a trav´es de un diagrama K, se complica por la cantidad de variables de entrada de cada funci´on Q. En este circuito (figura 3.5) se han omitido por simplicidad las resistencias de referencia a masa de las salidas de cada una de las teclas, el com´ un se conecta a tensi´ on de fuente para cuando se pulse una tecla la salida represente un 1 l´ ogico. Se suele colocar adem´as un circuito l´ogico para indicar que se a pulsado una tecla, para diferenciar de cuando no hay tecla pulsada, que puede provocar confusi´ on cuando es pulsado el cero.

3.4.

Codificador de prioridad

Los sistemas digitales incluyen frecuentemente componentes para generar se˜ nales indicadoras de que es necesario realizar una acci´on. Como ejemplo supongamos la se˜ nal digital que se da desde un tanque, 1 l´ ogico, cuando el nivel est´a excesivamente alto y de 0 l´ogico cuando no lo est´a.

´ 3.5. CONVERSORES DE CODIGO

33

Figura 3.5: Circuito de codificador de teclado Entonces el cambio de 0 a 1 es una indicaci´on de que se debe hacer algo (petici´on de servicio). Este mismo sistema debe tener entonces componentes para atender dicha petici´ on de servicio. (cerrar una v´alvula de entrada, abrir una v´alvula de salida, etc.). Generalmente en los sistemas hay l´ıneas para peticiones de servicio y una serie de componentes para atenderlos. Cada componente de servicio se distingue de los dem´as por una direcci´on (c´ odigo de direcci´ on), que luego a trav´es de un decodificador acceden a un componente de servicio. Se usar´ a normalmente un codificador para aceptar como entradas las l´ıneas de petici´ on de servicio y obtener como salidas el c´odigo de bits correspondiente a la direcci´ on del componente que atender´a la petici´on, el codificador se dise˜ nar´ a para que s´ olo una entrada diferente sea atendida. Esta consideraci´on es aceptable ya que generalmente los componentes que suministran el servicio tienen elementos comunes y por ello cada vez se puede servir solamente una petici´ on. Para que no se atiendan simult´ aneamente varias peticiones (caso imposible) al codificador se le ha dado una prioridad para cada petici´on. Si hay m´as de una petici´ on el codificador direccionar´ a aquella de mayor prioridad. Supongamos que tenemos hasta 8 posibles peticiones de servicio de I0 a I7 . Adem´ as se debe agregar una l´ ogica aparte que me indique cuando realmente hay petici´ on de servicio para diferenciarlo de cuando se a solicitado la I0 o se encuentra en estado de espera de petici´on. Incluso hay que agregarle un habilitador del sistema (E) enable.

3.5.

Conversores de c´ odigo

Frecuentemente la informaci´ on codificada debe traducirse a otro c´odigo, el circuito que realiza esta funci´ on se denomina conversor de c´odigo.

´ CAP´ITULO 3. CIRCUITOS COMBINACIONALES BASICOS

34

I7 1 0 0 0 0 0 0 0

I6 X 1 0 0 0 0 0 0

I5 X X 1 0 0 0 0 0

I4 X X X 1 0 0 0 0

I3 X X X X 1 0 0 0

I2 X X X X X 1 0 0

I1 X X X X X X 1 0

I0 X X X X X X X 1

A2 1 1 1 1 0 0 0 0

A1 1 1 0 0 1 1 0 0

A0 1 0 1 0 1 0 1 0

Cuadro 3.5: Tabla de la verdad: Codificador con Prioridad

Figura 3.6: Circuito l´ogico (Codificador de prioridad de 8 entradas) Para realizar un conversor de c´odigo se puede pensar en la uni´on de decodificador que decodificar´ a el c´odigo de entrada y un codificador que codificar´a el c´ odigo de salida (esquema figura 3.7). Si tenemos que el c´odigo de entrada tiene m bits, el n´ umero m´ aximo de palabras es 2m pero ´esto no tiene ninguna relaci´on con la cantidad de bits de las palabras de salida.

3.5.1.

Ejemplo de aplicaci´ on

Conversor BCD a 7 segmentos Un display de 7 segmentos contiene siete leds dispuestos en forma de un 8 y puede ser de c´ atodo com´ un (todos los c´atodos de los siete leds est´an interconectados entre s´ı) o de ´ anodo com´ un (todos los ´anodos de los siete leds est´an interconectados entre s´ı). Si es de c´atodo com´ un, para poder encender cada led debo conectar el c´ atodo com´ un a 0 l´ogico (masa) y entregar un 1 l´ogico (valor de tensi´ on mayor) a cada uno de los ´anodos necesarios. La disposici´on de cada uno de los leds es la indicada en la figura. Para un display de ´ anodo com´ un se invierten los estados l´ogicos para encen-

3.6. MULTIPLEXORES

35

Figura 3.7: Esquema conversor de c´odigo

Figura 3.8: Display de 7 segmentos der los leds. Q3 0 0 0 0 0 0 0 0 1 1

Q2 0 0 0 0 1 1 1 1 0 0

Q1 0 0 1 1 0 0 1 1 0 0

Q0 0 1 0 1 0 1 0 1 0 1

a 1 0 1 1 0 1 0 1 1 1

b 1 1 1 1 1 0 0 1 1 1

c 1 1 0 1 1 1 1 1 1 1

d 1 0 1 1 0 1 1 0 1 0

e 1 0 1 0 0 0 1 0 1 0

f 1 0 0 0 1 1 1 0 1 1

g 0 0 1 1 1 1 1 0 1 1

Nro. Formado 0 1 2 3 4 5 6 7 8 9

Cuadro 3.6: Tabla de la verdad conversor BCD-7SEG La forma de encontrar las funciones l´ogicas que relacionan cada una de las salidas del conversor se puede hacer por los dos m´etodos ya descriptos, primero resolviendo cada una de las funciones l´ogicas a trav´es del m´etodo de Karnaugh, o segundo dise˜ nando el decodificador y luego el codificador. Como otro ejemplo de conversor de c´odigo, tenemos la memoria ROM. Donde el c´ odigo de entrada es la direcci´ on de la memoria (bus de direcciones) y el c´odigo de salida es el dato (bus de datos).

3.6.

Multiplexores

Dispone de una serie de l´ıneas de entrada y una salida, conceptualmente es un conmutador digital cuya funci´ on es determinar que l´ınea de entrada es la que ir´ a a la salida.

´ CAP´ITULO 3. CIRCUITOS COMBINACIONALES BASICOS

36

Figura 3.9: Circuito de un Multiplexor de 4 entradas - 1 salida

Figura 3.10: Circuito l´ogico de un Multiplexor de 4 entradas - 1 salida En el circuito de la figura 3.10 las I representan las entradas a multiplexar, el A0 y A1 son el conmutador que de acuerdo a su estado dejar´a pasar una de las entradas a la salida.

3.6.1.

Ejemplos de aplicaci´ on

Multiplexor en el tiempo: Procesadores donde los bits del bus de datos y de direcciones utilizan los mismos terminales de los integrados. Muliplexores para sistemas de adquisici´on de datos: En este caso los datos anal´ogicos externos, de variaci´on lenta, son multiplexados y convertidos a trav´es de un solo conversor anal´ogico digital (ADC), de tal forma que con un mismo conversor puedo atender a varias entradas si las analizo una a una multiplexandolas a una frecuencia mayor que la variaci´ on de las se˜ nales f´ısicas analizadas.

3.7. DEMULTIPLEXORES

37

Multiplexor como generador de funciones: P Las funciones se pueden expresar como de minterm. Entonces asociando cada AND del multiplexor con un minterm, se habilitar´a aquel que necesito a trav´es de las entradas del multiplexor I0 , I1 , ..., In . Por ejemplo supongamos la funci´on: Z = S1 + S1 .S0 Expandimos en minterm. Z = S1 (S0 + S0 ) + S1 .S0 Z = S1 .S0 + S1 .S0 + S1 .S0 Z = mo + m1 + m2 Tendremos que poner I0 = 1; I1 = 1; I2 = 1 e I3 = 0, para poder eliminar el minterm 3 y habilitar los minterm 0, 1 y 2. Se puede tambi´en utilizar para generar una funci´on l´ogica de una variable m´ as que la cantidad de bits de selecci´on del multiplexor, supongamos: z = f (S1 , S0 , V ) El minterm S1 .S0 .V se genera aplicando V a I0 y el minterm S1 .S0 .V , aplicando V a la entrada de I0 . Si intervinieran los dos tendr´ıamos S1 .S0 .V + S1 .S0 .V , esto implicar´ıa que podr´ıamos hacer S1 .S0 (V + V ) = S1 .S0 y por lo tanto IO = 1 Ejemplo: z = S1 .S0 + S1 .V + S1 .S0 .V Si encontramos la funci´ on est´ andar, tenemos: z = S1 .S0 .V + S1 .S0 .V + S1 .S0 .V + S1 .S0 .V z = S1 .S0 (V + V ) + S1 .S0 .V + S1 .S0 .V por lo tanto debemos conectar I0 = 1; I1 = V ; I3 = V ; I2 = 0.

3.7.

Demultiplexores

Este tipo de circuito cumple la funci´on inversa del multiplexor, dada una sola entrada, el demultiplexor permite seleccionar entre varios receptores de esa entrada, es decir, copia la entrada en alguna de las salidas disponibles en funci´on de la orden dada por el conmutador (digital). Este circuito suele usarse conjuntamente con un multiplexor, para enviar datos desde varios transmisores a varios receptores, a trav´es de una sola l´ınea de datos, evidentemente con el multiplexor selecciono que transmisor tiene a su cargo la l´ınea y con el demultiplexor selecciono a que receptor le llega el dato.

´ CAP´ITULO 3. CIRCUITOS COMBINACIONALES BASICOS

38

Figura 3.11: Circuito de un demultiplexor de 1 entrada - 4 salidas

Figura 3.12: Circuito l´ogico de un demultiplexor de 1 entrada - 4 salidas

3.8. 3.8.1.

Sumador Sumador Paralelo-Paralelo con acarreo serie

Se tratar´ a de un circuito para sumar dos n´ umeros binarios A y B cualesquiera, siendo su resultado otro n´ umero binario S, operaci´on que en forma gen´erica puede simbolizarse indicando cada sumando y el resultado como una serie de potencias, seg´ un se indica a continuaci´on. Se indica la forma conocida de efectuar una suma binaria, donde A y B se simbolizan por los coeficientes A0 , A1 , A2 , ... B0 , B1 , B2 , ... los cuales permiten hallar los coeficientes S0 , S1 , S2 , ... del resultado S.

3.8. SUMADOR

39

A = An 2n +An−1 2n−1 +...+A2 22 +A1 21 +A0 20 + B = Bn 2n +Bn−1 2n−1 +...+B2 22 +B1 21 +B0 20

S = Sn 2n +Sn−1 2n−1 +...+S2 22 +S1 21 +S0 20 Ejemplo 11101 + 10001

100110 Con el m´etodo manual de sumar “columna por columna”, comenzando por la derecha, y teniendo presente el acarreo (carry) si se arrastra un 1 de una posici´on a otra, la suma ejemplificada implica la operatoria siguiente: C A +B S

1

1 1 0 (1)0

0 1 1 (1)0

0 1 0 (0)1

1 0 0 (0)1

0 1 1 (1)0

C: Acarreo (Carry).

Esta forma de operar ser´ a emulada por el circuito sumador a desarrollar, siendo que en general para dos n´ umero A y B cualesquiera deber´a realizarse: C A +B S

Cn

Cn−1 An Bn Sn

... ... ... ...

C2 A2 B2 S2

C1 A1 B1 S1

C0 A0 B0 S0

Dado que la suma de los dos bits de cada posici´on sigue un proceso id´entico, se puede esquematizar la suma de todas las posiciones mediante un conjunto de bloques encadenados como lo ilustra la figura 3.13, en cuyos primeros bloques se han indicado los bits correspondientes a las tres primeras columnas de la suma antes ejemplificada. Cada bloque puede sumar tres bits de una columna y se denomina sumador completo (SC). El bloque que suma A0 con B0 para mayor versatilidad es igual a los dem´as, ´ designando C−1 su entrada de acarreo. Esta puede provenir de un sumador anterior, o servir para sumar un 1 extra, si se usa el sumador para restar, como se ver´ a. Para la porci´ on de suma ejemplificada debe ser C−1 = 0. La salida Cn es el acarreo final de la operaci´ on.

40

´ CAP´ITULO 3. CIRCUITOS COMBINACIONALES BASICOS

Figura 3.13: Sumador Conectando repetidamente este circuito como lo indica la figura 3.13, se obtiene un sumador paralelo-paralelo con acarreo serie de dos n´ umeros de n bits. Su denominaci´ on se debe a que al conjunto entran simult´aneamente (en paralelo) todos los bits de los dos n´ umeros a sumar y el resultado de la suma se obtiene en paralelo en todos los cables de salida, luego que en ´estos se van generando uno tras otro en el tiempo los bits del resultado, en el orden S0 , ..., Sn . Dado que cada SC para generar el resultado definitivo debe esperar que el SC anterior genere el acarreo, se dice que el acarreo se propaga en serie.

3.8.2.

Circuito del sumador completo

Cada sumador completo de la figura 3.13 considerado aisladamente realiza la suma aritm´etica de tres n´ umeros de un bit: Ai y Bi de la posici´on de sub´ındice i, y el bit de acarreo Ci−1 proveniente de la suma efectuada por el sumador de la posici´ on anterior, de sub´ındice i − 1. En sus salidas aparece el bit de la suma Si , de la posici´on actual, y otro bit de acarreo Ci , que deber´a sumar el sumador de la posici´on i + 1. Ai 0 0 0 0 1 1 1 1

Bi 0 0 1 1 0 0 1 1

Ci−1 0 1 0 1 0 1 0 1

Ci 0 0 0 1 0 1 1 1

Si 0 1 1 0 1 0 0 1

Cuadro 3.7: Tabla de la verdad del sumador completo Las funciones Ci y Si se minimizan por Karnaugh resultando las siguientes sumatorias de productos m´ınimas (minterms):

3.9. COMPARADOR DE MAGNITUD

41

Si = Ai .B i .Ci−1 + Ai .Bi .C i−1 + Ai .B i .C i−1 + Ai .Bi .Ci−1 Ci = Ai .Bi + Ai .Ci−1 + Bi .Ci−1 A partir de estas ecuaciones se puede generar el circuito que represente la l´ ogica interna del sumador completo. N´ otese que ´esto no significa que un sumador completo en su interior mediante sumas l´ ogicas realice sumas aritm´eticas, sino que su circuito l´ogico obedece a una tabla, que para cada combinaci´ on de los 3 bits a sumar genera una combinaci´on de 2 bits, tal que coincide con el resultado de la suma aritm´etica de esos 3 bits.

3.9.

Comparador de Magnitud

A un circuito comparador de dos magnitudes (figura 3.14) entran las combinaciones binarias de dos n´ umeros naturales A y B de n bits cada uno; y seg´ un cual de las 3 salidas designadas A > B, A = B y A < B se active, se podr´ a conocer c´ omo es A respecto de B.

Figura 3.14: Comparador El circuito de la figura 3.14 es un comparador de dos n´ umero de 4 bits de la figura 3.14 (integrado 7485), se ver´ a un comparador de dos n´ umeros de 1 bit a continuaci´ on.

3.9.1.

Detector de igualdad de dos n´ umeros de un bit

Usaremos una X-NOR para determinar si los valores de dos variables Ai y Bi son iguales o no. Conforme a la tabla de dicha compuerta, resulta: Ai ⊕ Bi = 1 si Ai = Bi y Ai ⊕ Bi = 0 si Ai 6= Bi Ai 0 0 1 1

Bi 0 1 0 1

Ai ⊕ Bi 1 0 0 1

Ai .Bi 0 0 1 0

Cuadro 3.8: Tabla de la verdad del Detector

42

´ CAP´ITULO 3. CIRCUITOS COMBINACIONALES BASICOS

Figura 3.15: Detector Ai > Bi

3.9.2.

Comparador de dos n´ umeros de un bit

El circuito de la figura 3.15 detecta si Ai > Bi , o sea si Ai = 1 y Bi = 0, pues Ai .B i = 1 s´ olo en ese caso, resultando Ai .B i = 0 si Ai < Bi ´o Ai = Bi . An´ alogamente, la salida Ai .Bi resulta 1 si Ai = 0 y Bi = 1. Combinando estos dos circuitos con el detector de igualdad anterior, resulta el comprador de la figura 3.16. La salida que resulte 1 indica la relaci´on entre Ai y Bi . Figura 3.16: Circuito Comparador de 2 bits

3.10.

Detector de Paridad

Un detector de paridad (figura 3.17) sigue la tabla de la verdad del cuadro 3.9, esto es, si la combinaci´on binaria presente en sus entradas A, B, C presenta un n´ umero impar de unos, la salida Z ser´a 1; y si el n´ umero total de unos en A, B, C es par, debe ser Z = 0. Es decir, la salida vale 1 si la combinaci´on de 3 bits que existe en las entradas tiene paridad impar de unos. 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

Z 0 1 1 0 1 0 0 1

Cuadro 3.9: Tabla de la verdad detector de paridad De la tabla de la verdad se desprende directamente el circuito l´ogico que representa esta funci´ on, el cual se muestra en la figura 3.17.

3.10. DETECTOR DE PARIDAD

Figura 3.17: Circuito Verificador de Paridad

43

44

´ CAP´ITULO 3. CIRCUITOS COMBINACIONALES BASICOS

Cap´ıtulo 4

Circuitos Secuenciales Objetivo del cap´ıtulo El objetivo del cap´ıtulo es reconocer circuitos secuenciales, introducirse a la forma de dise˜ narlos, tanto en forma sistem´atica como intuitiva. Se comenzar´ a desde circuitos b´ asicos como son los cerrojos y flip-flop hasta desarrollar contadores.

Temario Flip-Flop • Cerrojo est´ atico • Cerrojo din´ amico • Flip-Flop maestro esclavo, tipo D y J-K Registros • Transferencia entre registros (paralelo) • Registro de desplazamiento (serie) Contadores • Contador de anillo • Contador Johnson • Contador de m´ odulo completo • Contador de m´ odulo arbitrario

4.1. 4.1.1.

Cerrojos Cerrojo Est´ atico

En un circuito como los vistos hasta ahora, solamente podemos tener una salida v´ alida si mantenemos en su estrada un cierto valor l´ogico, y esa entrada me condiciona el valor de la salida. Veremos ahora un circuito simple cuya salida 45

46

CAP´ITULO 4. CIRCUITOS SECUENCIALES

puede ser mantenida sin intervenci´on de ninguna entrada externa, salvo para fijarle el valor inicial. A ese circuito le llamaremos cerrojo est´atico:

Figura 4.1: Cerrojo con inversores La situaci´ on en la que se encuentran estos dos inversores se denomina estado y est´ a representado por el valor l´ogico que adquiri´o Q. Que una vez establecida la mantiene por que se retroalimenta a trav´es del otro inversor, la nueva caracter´ıstica de este circuito es establecer y mantener un nivel l´ogico determinado en su salida sin intervenci´on externa, s´olo se necesita que en alg´ un momento se haya establecido el valor l´ogico en Q y el cerrojo lo mantiene indefinidamente. Este dispositivo es id´oneo para almacenar estados l´ogicos, en este caso un bit. Los dos estados de un cerrojo se denominan de set (1) y de reset (0), siempre ¯ y debe como referencia se toma la salida Q a la otra salida se le denomina Q ser siempre de valor inverso que Q.

4.1.2.

Cerrojo Est´ atico NOR

Para el caso de usar compuertas NOR para dise˜ nar un cerrojo, se cuenta con dos entradas para modificar el estado del mismo, a cada una de ellas se le denomina R y S, ya que S indica que puedo poner en set el cerrojo a trav´es de esa entrada y la otra R indica que a trav´es de ella puedo poner en reset al cerrojo.

Figura 4.2: Cerrojo NOR La idea de funcionamiento es mantener R y S en estado 0, para que el cerrojo mantenga el valor almacenado y darle valor 1 a R ´o S cuando lo quiero resetear o setear respectivamente, una vez llevado a su estado, vuelvo a poner a 0 las entradas para que est´e listo para recibir un nuevo cambio de estado.

4.1. CERROJOS

47 S 0 0 1 1

R 0 1 0 1

Q Qanterior 0 1 N.U.

Cuadro 4.1: Tabla de verdad del cerrojo NOR

4.1.3.

Cerrojo Est´ atico NAND

Para el caso de utilizar compuertas NAND para dise˜ nar el cerrojo se tiene un circuito similar al de las NOR salvo que las entradas ahora pasan a llamarse ¯ y S, ¯ el negador por sobre la R y la S indica debemos disponer de un 0 para R resetear o setear al cerrojo respectivamente.

Figura 4.3: Cerrojo NAND

S 0 0 1 1

R 0 1 0 1

Q N.U. 1 0 Qanterior

Cuadro 4.2: Tabla de verdad del cerrojo NAND Los usos son similares a los del cerrojo NOR, lo u ´nico que la forma de comandar el cerrojo se realiza a trav´es del valor l´ogico 0 en vez del 1 que comanda al cerrojo NOR. Estos dos circuitos son importantes cuando se requiere habilitar alg´ un sistema a trav´es de una se˜ nal e inhabilitarlo a trav´es de otra, estas se˜ nales deben aplicarse a S y R. Como ejemplo se puede dar el de una alarma para lo cual con una se˜ nal se puede habilitar la misma (poner en estado de espera) y con otra se˜ nal se la inhabilita (desactiva).

4.1.4.

Cerrojo Din´ amico

En este caso se agrega una entrada al circuito que realiza la tarea de habilitarlo. Cuando dicha entrada, llamada Enable, est´a en nivel 1 (para este caso) el circuito se comporta como un cerrojo est´atico, pero cuando esta en nivel 0 el circuito esta inhabilitado para recibir cualquier dato a trav´es de sus entradas.

48

CAP´ITULO 4. CIRCUITOS SECUENCIALES

Con ´esto puedo lograr habilitar el cerrojo en los momentos que los datos de entrada sean v´ alidos evitando que datos no deseados puedan cambiar el estado del cerrojo.

Figura 4.4: Cerrojo din´amico

S 0 0 1 1

R 0 1 0 1

Q Qanterior 0 1 N. U.

Cuadro 4.3: Tabla de verdad del Cerrojo cuando E = 1 Si agrego una compuerta inversora entre la entrada S y la R de un cerrojo din´ amico la u ´nica entrada que tengo pasa a llamarse D (dato) y el cerrojo se denomina Tipo D. Se puede decir que cuando E = 1 el cerrojo es transparente al dato de entrada y cuando E = 0 el cerrojo esta desconectado de la l´ınea de datos.

Figura 4.5: Cerrojo Tipo D El Enable es importante por que permite elegir el instante justo en el cual tomar el dato, evitando que alg´ un ruido o se˜ nal no deseada, que no es dato, pueda cambiar el estado del cerrojo. Solamente lo habilito cuando el dato es v´ alido.

4.1. CERROJOS

49

Figura 4.6: Se˜ nales del Cerrojo Din´amico Limitaci´ on del cerrojo para el almacenamiento de datos en serie El cerrojo tiene un serio inconveniente cuando los datos a almacenar provienen de una sola l´ınea (datos serie), en este caso es imposible almacenar en cada uno de los cerrojos los datos que vienen por la l´ınea.

Figura 4.7: Conexi´ on serie de Cerrojos Din´amicos

Figura 4.8: Datos en Serie Para el caso de los datos en serie se debe contemplar un nuevo concepto que es el de sincronismo, ya que la determinaci´on de un dato serie depende del tiempo de duraci´ on, que est´ a fijado por una se˜ nal de habilitaci´on e inhabilitaci´on que se denomina clock, la cual posee una frecuencia sincronizada con la l´ınea de datos. Por lo tanto, si quiero almacenar 8 bits en otros tantos cerrojos, debo disponer con los 8 datos al mismo instante en cada una de las entradas de los cerrojos (datos en paralelo) Como vemos en la figura 4.9 cuando Enable esta en un 1 (alto), los cerrojos se habilitan y se hacen transparentes al dato, que pasa a la salida despu´es de un tiempo tpd (tiempo de propagaci´on de compuerta) que es el tiempo que

CAP´ITULO 4. CIRCUITOS SECUENCIALES

50

Figura 4.9: Limitaci´on del cerrojo para almacenar datos serie tardan las conmutaciones de los elementos internos de las compuertas, en este caso est´ an exagerados en comparaci´on con los tiempos de habilitaci´on, como esos tiempos son variables de compuerta en compuerta no puedo jugar con ellos para hacer un Enable de menor tiempo de habilitaci´on que esos tiempos de propagaci´ on tpd. Por lo tanto cada dato serie de entrada pasar´ıa a todos los cerrojos limpiando de esa manera los datos anteriores. Como conclusi´ on podemos decir que el cerrojo presenta problema cuando la entrada proviene de la salida de otro cerrojo.

4.2. 4.2.1.

Flip-Flop Tipo RS - Maestro-Esclavo

Es un dispositivo no transparente compuesto por dos cerrojos din´amicos, uno de los cuales se llama Maestro (Master) y el otro Esclavo (Slave). La habilitaci´on de cada uno de los cerrojos se hace de tal manera que en un estado est´e habilitado el maestro y con el otro estado se habilite el esclavo. Por ende primero habilito el maestro y el dato se introduce en el mismo y luego habilito con el otro estado el esclavo y el dato pasa del maestro el esclavo. Durante el traspaso del maestro al esclavo debe estar inhabilitado el maestro para que no pase un nuevo dato. La se˜ nal que maneja la habilitaci´on de los cerrojos es u ´nica y se la denomina reloj (clock), es una se˜ nal de onda cuadrada 1 a 0, por lo tanto, aseguro que nunca suceda que ambos cerrojos est´en habilitados en el mismo instante. S 0 0 1 1

R 0 1 0 1

Qn+1 Qn 0 1 N. U.

Cuadro 4.4: Tabla de la verdad flip-flop RS

4.2. FLIP-FLOP

51

Figura 4.10: Flip Flop Maestro Esclavo - SR Las compuertas U 2C y U 2D del maestro llamadas de entrada y la U 1A y U 1B del esclavo llamadas de acoplo. Cuando la se˜ nal de reloj habilita las puertas de entrada, los datos de S y R se graban en el cerrojo maestro; sin embargo cuando se habilitan las puertas de entrada, las de acoplo se inhabilitan para que no haya transferencia del maestro al esclavo. Durante la habilitaci´on de las puertas de acoplo, el dato se transfiere del maestro al esclavo, pero ahora deben estar inhabilitadas las puertas de entrada para que no se graben nuevos datos en el maestro.

Figura 4.11: Secuencia de sucesos durante un ciclo de reloj Cuando el reloj cambia de 0 a 1 para habilitar las puertas de entrada, las de acoplo deben inhabilitarse antes que las de entrada puedan transferir datos al maestro para evitar la transferencia de datos a la salida. Cuando el reloj pasa de 1 a 0, las puertas de entrada deben inhabilitarse antes que se habiliten las de acoplo. En consecuencia, los niveles de tensi´on de habilitaci´on e inhabilitaci´on se ajustan para que la secuencia de sucesos sea como la de la figura 4.11.

Soluci´ on para la conexi´ on serie En este caso en vez de conectar cerrojos en serie, se conectan flip-flops, con lo cual los datos avanzan en serie dentro de los flip-flop en funci´on de los ciclos de reloj. Evidentemente los datos de entrada deben estar sincronizados con esa se˜ nal de reloj. En este caso, la transici´ on del dato a la salida se produce en el pasaje de 1 a 0, a este flanco de reloj se lo denomina flanco decreciente o transici´on negativa, en contraposici´ on si hubiera sido en la transici´on de uno a cero, que es flanco creciente o transici´ on positiva.

CAP´ITULO 4. CIRCUITOS SECUENCIALES

52

Entradas directas (as´ıncronas) de flip-flop Algunos flip-flop poseen entradas desde las cuales se puede llevar al dispositivo a los estados de set o reset, estas se˜ nales no necesitan estar sincronizadas con el reloj y se denominan entradas directas. Son muy convenientes cuando necesitamos que el flip-flop arranque en un determinado estado.

Figura 4.12: Flip-Flop maestro-esclavo con entradas directas

4.2.2.

Tipo JK

Hasta ahora se evit´ o la discusi´on de considerar a la situaci´on S = R = 1, ya que dec´ıamos que no trabajaba como flip-flop. Lo que se hace para poder trabajar en esa situaci´ on es crear un nuevo tipo de flip-flop llamado JK, que permite que S = R = 1, en cuyo caso el flip-flop conmuta a ritmo del clock, en cada transici´ on de disparo. La modificaci´ on consiste en a˜ nadir un terminal m´as a cada compuerta de entrada e interconectarla con la salida. Los terminales que antes se llamaban S y R ahora se llaman J y K. Entonces el gobierno del flip-flop no lo determina solamente R y S sino tambi´en el estado que tiene el flip-flop.

4.3. FLIP FLOPS ACTIVADOS POR FLANCOS

53

Figura 4.13: Flip-Flop JK S 0 0 1 1

R 0 1 0 1

Qn+1 Qn 0 1 Qn

Cuadro 4.5: Tabla de la verdad flip-flop JK El problema de captar unos del flip-flop maestro esclavo Cuando tenemos un flip-flop ya sea JK o RS realizado con dos cerrojos, maestro y esclavo, presentan el inconveniente que cuando se presenta un uno indeseado en cualquiera de sus entradas J ´o K (S ´o R), y el reloj est´a en el estado de habilitaci´ on del maestro har´a que ese dato sea tomado como v´alido y ser´ a mostrado a la salida si es que ya no estaba en ese estado. La raz´on es la siguiente, si vemos la figura 4.14, cuando el reloj est´a en nivel alto (habilitado el maestro) y J hace una excursi´ on a uno brevemente, el cerrojo maestro se puso en set, cuando volvi´ o J a cero el cerrojo maestro permaneci´o en set y en la transici´ on el dato del maestro se transfiri´o al esclavo cambiando el estado de flip-flop. Lo mismo hubiera pasado si el dato hubiera entrado desde K y el flip-flop estuviera en set. Este propiedad de captar el u ´ltimo 1 que aparece en sus entradas puede ser muy riesgoso si existen grandes posibilidades de ruidos que afecten el sistema. Una forma de solucionarlo es utilizando varias entradas J (J1 ,J2 ,J3 ) y K (K1 ,K2 ,K3 ) a trav´es de compuertas AND, o sea que solo se puede modificar un dato de flip-flop cuando las tres entradas J o K sean respectivamente 1. La otra forma es dejar de lado los flip-flop tipo maestro-esclavo y utilizar otro tipo activado por flancos.

4.3. 4.3.1.

Flip Flops activados por flancos Tiempos a tener en cuenta en un flip-flop

Los tiempos normalmente especificados por los fabricantes como respuesta de los flip-flop a los datos de entrada son los mostrados en la figura 4.15. Se indica

54

CAP´ITULO 4. CIRCUITOS SECUENCIALES

Figura 4.14: Flip-Flop JK que a las transiciones entre estados les corresponde un tiempo finito, aunque se idealiza como una recta de pendiente constante, siendo que en realidad estas transiciones son muy complejas, pero para las consideraciones que se hacen se puede especificar el tiempo de transici´on desde el 10 % al 90 % del intervalo entre niveles. Este tiempo se lo designa como tw (ancho de la transici´ on).

Figura 4.15: Tiempos de un Flip Flop En el ejemplo se observa un flip-flop tipo D, cuya transici´on de disparo es de flanco ascendente (positiva) de 0 a 1. Las relaciones que deben existir entre la transici´ on (se supone t = 0 en la mitad del ancho de la transici´on) y el dato son las siguientes. El dato debe preceder a la transici´on al menos un tiempo denominado tsetup, llamado tiempo de subida. El dato debe permanecer establecido al menos un tiempo thold luego de sucedida la transici´on, llamado tiempo de mantenimiento. Si estas condiciones no se cumplen, el fabricante no asegura que el flip-flop haya podido almacenar el dato.

4.4. REGISTROS

55

Para la salida Q el fabricante proporciona los datos de tiempos en que la salida responde a la entrada. La salida responder´ a a la entrada en un tiempo tpdLH (tiempo de propagaci´ on de nivel bajo a alto) cuando la salida est´a en bajo y debe cambiar a alto. La salida responder´ a a la entrada en un tiempo tpdHL (tiempo de propagaci´ on de nivel alto a bajo) cuando la salida est´a en alto y debe cambiar a bajo. Estos dos tiempos considerados no necesariamente deben ser iguales, de hecho son ligeramente diferentes. A veces es u ´til disponer de la informaci´on de la velocidad de operaci´on de los flip-flop, que evidentemente se puede deducir de los tiempos vistos, pero es especificada por el fabricante como un valor de frecuencia m´aximo fmax , que es la m´ axima frecuencia a la que se puede hacer conmutar el flip-flop.

4.4.

Registros

Los registros son un conjunto de elementos de almacenamiento del tipo flipflop o cerrojos, pudiendo ser de dos tipos: Registro paralelo o Registro serie.

4.4.1.

Registro paralelo

En este caso el elemento de almacenamiento puede ser un cerrojo o flipflop que como sabemos pueden almacenar un bit, en donde cada bit tanto de entrada como de salida pueden ser accedidos individualmente, o sea la escritura y la lectura de los elementos se puede realizar al mismo tiempo. A trav´es del uso de este tipo de registros se puede realizar una de las funciones principales de los circuitos digitales del tipo procesadores, que es la de transferir datos de un registro a otro, a este tipo de transferencia se le denomina “registro a registro”. Se muestra una transferencia entre dos registros uno RA y otro RB, solamente se ven las conexiones para la transferencia de RA a RB, se puede borrar RB a trav´es del Reset directo de los flip-flop o mover el contenido de RA a RB, estas operaciones se realizan cuando coloco un 1 l´ogico en cada una de las l´ınea de control correspondiente.

4.4.2.

Registro desplazamiento

Los bits individuales de un dato puede trasportarse por una u ´nica l´ınea de datos e irse almacenando en un flip-flop (no pueden ser cerrojos), respetando una secuencia temporal determinada por el clock, cada bit debe ir desplaz´andose a trav´es del conjunto de flip-flop, la cantidad de bit a almacenar depende de la cantidad de flip-flop del registro, el tiempo que se demora en almacenarlos es el producto de periodo del clock y la cantidad de flip-flop. En este caso el acceso a la entrada de datos es por medio de un solo bit de datos y la salida es a trav´es de todas las salidas de los flip-flop. El formato serie requiere menos hardware que el paralelo, pero es m´as lento. Si suponemos que el registro tiene 8 flip-flops y el per´ıodo de clock es 1 ns, se

CAP´ITULO 4. CIRCUITOS SECUENCIALES

56

Figura 4.16: Transferencia Registro a Registro

requieren 8 ns para almacenar un byte mientras que s´olo 1 ns es necesario para almacenarlo en uno del tipo paralelo. La salida de un registro serie puede servir para alimentar un registro paralelo en este caso con el registro serie hemos convertido un dato serie en uno paralelo.

Figura 4.17: Registro de desplazamiento En el caso de figura 4.17 el dato se desplaza a trav´es del registro en sincronismo con el reloj, por lo tanto para definir una serie de bits no basta con dar los estados l´ ogicos, sino tambi´en el tiempo de duraci´on. En funci´on de ello, puedo determinar de que datos se trata.

4.5.

Contadores

Los contadores son un conjunto de flip-flop, conectados en serie que van avanzando de estado en estado a partir de un suceso (transici´on), que denominamos clock. Despu´es de pasar por los estados posibles retorna al estado inicial para comenzar un nuevo ciclo de cambios de estado. La cantidad de estados distintos por los que atraviesa el contador hasta volver a su estado inicial se denomina modulo del contador (m). Los contadores a los que haremos referencia en este cap´ıtulo son denominados s´ıncronos ya que los flip-flop est´an conectados a un u ´nico clock que gobierna las transiciones

4.5. CONTADORES

4.5.1.

57

Contador de anillo

Vemos que los estados por los cuales pasa el contador son cuatro (cantidad de flip-flop) y luego retorna al estado inicial. Q3 0 0 0 1 0

Q2 0 0 1 0 0

Q1 0 1 0 0 0

Q0 1 0 0 0 1

Estados 0 1 2 3 0

Cuadro 4.6: Tabla de la verdad contador de anillo

Figura 4.18: Contador de anillo En este caso el m´ odulo del contador es: m = no de flip-flop Tiene como u ´nico inconveniente el uso antiecon´omico de los flip-flop, ya que de 2n posibles estados solamente se utilizan n estados, pero presenta como ventaja por otro lado las salidas del contador decodificadas, es decir reconocemos la salida a trav´es de un estado distinto en una de ellas mientras las dem´as est´an en el otro estado. El contador debe iniciar su cuenta en alg´ un estado posible, es por eso que se debe inicializar el contador por medio de las entradas as´ıncronas (directas) de set (PRE) y de reset (CLR), que posen los flip-flop.

Figura 4.19: Curvas Contador de anillo

Frecuencia m´ axima de trabajo La frecuencia m´ axima a la que puede trabajar este contador est´a dada por dos tiempos: tsetup y tpdLH de cada flip-flop, ya que debo esperar un tiempo

CAP´ITULO 4. CIRCUITOS SECUENCIALES

58

tsetup de establecimiento del dato en la entrada de flip-flop y debo esperar un tiempo tpdLH luego de la transici´on para que el dato se establezca a la salida. fmax =

1 tsetup + tpdF F

Con: tpdF F : tiempo de propagaci´on de flip-flop. tsetup: tiempo de subida de flip-flop.

4.5.2.

Contador Johnson

Vemos que los estados por los cuales pasa el contador son ocho (2 veces la cantidad de flip-flop) y luego retorna al estado inicial. Q3 0 0 0 0 1 1 1 1 0

Q2 0 0 0 1 1 1 1 0 0

Q1 0 0 1 1 1 1 0 0 0

Q0 0 1 1 1 1 0 0 0 0

Estados 0 1 2 3 4 5 6 7 0

Cuadro 4.7: Tabla de la verdad contador de Johnson

Figura 4.20: Contador de Johnson En este caso el m´ odulo del contador es: m = 2 × no de flip-flop Tiene mejor uso de los flip-flop que el contador de anillo ya que duplica el n´ umero de estados. Pero presenta como desventaja que las salidas del contador no son decodificadas. El contador debe iniciar su cuenta en alg´ un estado posible, es por eso que se debe inicializar el contador por medio de las entradas as´ıncronas (directas)

4.5. CONTADORES

59

de set (PRE) y de reset (CLR), que posen los flip-flop, en este caso comienza la cuenta en el estado 0 de todos los flip-flop. El estado inicial es importante por que se debe comenzar en un estado posible, caso contrario el contador puede divagar durante varios ciclos hasta encontrar estados posibles, incluso puede no entrar nunca en una secuencia valida.

Figura 4.21: Curvas Contador de Johnson

Frecuencia m´ axima de trabajo La frecuencia m´ axima en este caso es la misma que la dada para el contador de anillo ya que los cambios han de producirse de manera similar en uno que en otro contador. fmax =

4.5.3.

1 tsetup + tpdF F

Contador m´ odulo completo

Los dos tipos de contadores que hemos visto tienen como inconveniente un uso antiecon´ omico de los flip-flop, (muy pocos estados), veremos ahora un tipo de contador que utiliza todos los estados posibles por los que pueden atravesar los flip-flop y lo llamaremos de m´ odulo completo. En este caso el m´ odulo del contador es: m = 2n

o def lip−f lop

Si vemos una tabla de la verdad con los estados ordenados de acuerdo al n´ umero binario que representan, notamos que en cada estado siguiente el bit m´as significativo cambia cuando los precedentes de menor significaci´on num´erica son simult´ aneamente 1. Eso permite hacer un an´alisis intuitivo de que l´ogica debe acompa˜ nar a los flip-flop para lograr que vaya avanzando de estado en estado.

Figura 4.22: Contador de M´odulo Completo

CAP´ITULO 4. CIRCUITOS SECUENCIALES

60 Q3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

Q2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

Q1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

Q0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

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

Cuadro 4.8: Tabla de la verdad contador completo En la figura 4.22 podemos observar que la l´ogica externa de compuertas AND har´ a que los flip-flop cambien de estado cuando las entradas de las compuertas sean 1 l´ ogico esto es cuando los flip-flop precedentes sean 1 l´ogico. Tambi´en se podr´ıa haber realizado el mismo contador no acarreando las compuertas es decir tener entradas independiente de los estados Q de los flipflop precedentes, esto hace que las compuertas tengan un mayor abanico de entrada en funci´ on de la ubicaci´on que ocupan dentro del contador, pero mejora la velocidad a la cual puede trabajar el contador como veremos en el siguiente tema.

Figura 4.23: Curvas Contador de M´odulo Completo Vemos en la figura 4.23 que Q0 cambia con cada ciclo de clock, Q1 cambia cada dos ciclos de clock, Q2 cada cuatro ciclos de clock y Q3 cambia cada ocho ´ ciclos de clock. Esto nos estar´ıa permitiendo utilizar el contador como un divisor de frecuencia en cada salida Qi . Frecuencia m´ axima de trabajo En el caso de este contador la frecuencia m´axima depende de la l´ogica externa que hay que adosarle al contador (compuertas AND), esto se puede ver si consideramos lo siguiente: el estado Q0 Q1 Q2 Q3 = 0111 en la siguiente cuenta tendr´ıamos Q0 Q1 Q2 Q3 = 1111, todos los flip-flop est´an en 1 l´ogico, por lo tanto en el siguiente flanco de disparo el estado ser´a Q0 Q1 Q2 Q3 = 0000, volviendo al estado Q0 Q1 Q2 Q3 = 0111, todos las compuertas AND tienen salida 0 y todas

4.5. CONTADORES

61

las entradas D de los flip-flop excepto D0 tambi´en. Si viene una transici´on el Q0 ir´ a a 1 rizando a todas las compuertas AND, que deber´an pasar a 1 l´ogico. Si el siguiente ciclo de reloj transcurre antes de que todas las compuertas hayan adoptado el valor 1 no pasar´ a el contador a un estado correcto. Por lo tanto debe esperar el tiempo de propagaci´ on a trav´es de las compuertas antes del flanco, con lo cual la frecuencia m´ axima para este contador ser´ıa: fmax =

tpdF F

1 + (n − 2)tpdgate + tsetup

La velocidad en el caso de que las compuertas AND no estuvieran en cascada, es decir las entradas de las compuertas provienen directamente de las salidas de flip-flop tenemos: fmax =

tpdF F

1 + tpdgate + tsetup

tpdgate : tiempo de propagaci´ on de las compuertas AND (en la primer f´ ormula se coloc´ o (n − 2) ya que la primer compuerta conectada a Q0 en realidad no hace falta).

4.5.4.

Contador m´ odulo arbitrario

Los contadores de m´ odulo completo tienen el inconveniente que su modulo es indefectiblemente 2n . Normalmente los contadores deben tener un m´odulo arbitrario que puede no coincidir con 2n , en este caso si no queremos usar contadores de anillo, debemos encarar el dise˜ no de los denominados contadores de m´ odulo arbitrario. Para construirlo se comenzar´ a con un ejemplo: Si queremos un contador de modulo m = 5. Para este caso con dos flip-flop no podremos dise˜ narlo por que tendr´ıamos como m´aximo 4 estados, por lo tanto debemos construirlo con tres flip-flop con los que tendr´ıamos 8 estados posibles. Sobre esos 8 estados selecciono arbitrariamente 5 estados por los cuales atravesar´ a el contador y tambi´en elijo en que orden atravesar´a esos 5 estados. Q2 0 0 0 0 1 1 1 1

Q1 0 0 1 1 0 0 1 1

Q0 0 1 0 1 0 1 0 1

Estados S0 S1 S2 S3 S4 S5 S6 S7

Cuadro 4.9: Ocho estados posibles con tres flip-flop Arbitrariamente selecciono los estados S1 S3 S5 S6 S7 y decidimos que la secuencia ser´ a de acuerdo al orden dado. Decidimos tambi´en el tipo de flip-flop a usar en este caso flip-flop tipo J K. A esta tabla tambi´en se la denomina de transici´on.

CAP´ITULO 4. CIRCUITOS SECUENCIALES

62 Estado Actual S1 S3 S5 S6 S7

Estado Siguiente S3 S5 S6 S7 S1

Q2 Q1 Q0 Actuales 0 0 1 0 1 1 1 0 1 1 1 0 1 1 1

Q2 Q1 Q0 Siguientes 0 1 1 1 0 1 1 1 0 1 1 1 0 0 1

Cuadro 4.10: Tabla de estados del contador Lo que hay que hallar ahora es la l´ogica que acompa˜ nar´a a los flip-flops para que estos atraviesen los estados que hemos especificado, para ello el razonamiento es el de ver que valores debe haber en la entrada de cada flip-flop para que en la pr´ oxima transici´ on el estado sea el previsto. Este an´alisis de la entrada de cada flip-flop conlleva a analizar la tabla de verdad del JK, conociendo la salida (estados de los flip-flop) que valores debo tener a la entrada. ´ Esto hace replantear la tabla de verdad para el JK (cuadro 4.11) para lo cual se da una alternativa: Qn 0 0 1 1

Qn+1 0 1 0 1

J 0 1 X X

K X X 1 0

Cuadro 4.11: Tabla de la verdad Cerrojo JK Para poder FALTA ALGO esta tabla se debe realizar el an´alisis a trav´es de la tabla original del JK. Se puede verificar que estos estados propuestos son los correctos. Como vemos las entradas de cada flip-flop son funci´on l´ogica del estado en que se encuentra el contador en cada momento, por lo tanto se puede encontrar cual es la funci´ on de cada una de las entradas de los JK del contador. Q2 0 0 1 1 1

Q1 Q0 Actual 0 1 1 1 0 1 1 0 1 1

Q2 Q1 Q0 Siguiente 0 1 1 1 0 1 1 1 0 1 1 1 0 0 1

J0

K0

J1

K1

J2

K2

0 1 X X X

X X 0 0 1

1 X 1 X X

X 1 X 0 1

X X X 1 X

0 0 1 X 0

Para encontrar la funci´on l´ogica de cada entrada se plantean los diagramas K para obtener una funci´on simplificada de cada J y K. Como vemos estas funciones no est´an completamente especificadas por lo cual pongo X donde no lo est´an. Una vez obtenidas las funciones l´ogicas para cada una de las entradas J y K de los flip-flop s´ olo resta armar el circuito, que para este caso es el de la figura 4.25

4.5. CONTADORES

63

Figura 4.24: Diagramas K para el Contador de M´odulo Arbitrario

4.5.5.

Contador reversible

Hasta ahora los contadores que hemos visto u ´nicamente tienen como entrada una se˜ nal de clock, a trav´es de la cual van cambiando de estado en estado, pero si quiero que mi contador pueda realizar dos secuencias distintas en vez de una, debo incluir otra entrada denominada M que determinar´a cual de las dos secuencias ser´ a la atravesada por el contador de acuerdo a su estado, a este tipo de contador se lo denomina reversible. Supongamos que quiera que mi contador avance a trav´es de: S0 S1 S2 S3 S4 S0 : Secuencia 1 S4 S3 S2 S1 S0 S4 : Secuencia 2 Debemos plantear la tabla de transici´on (cuadro 4.12) Como vemos tenemos dos estados siguientes determinados por el estado y por la variable M que indica cual de las dos secuencias debe seguir el contador. El planteo que debe hacerse ahora es el mismo que para el contador anterior pero las entradas de los flip-flop no s´olo dependen del estado, sino tambi´en de M. Usaremos en este caso flip-flop tipo D para el contador, para lo cual presentamos la tabla alternativa del flip-flop D. Como vemos la D copia el estado siguiente del flip-flop. Estamos en condiciones de plantear el diagrama K para cada una de las funciones l´ ogicas de D.

64

CAP´ITULO 4. CIRCUITOS SECUENCIALES

Figura 4.25: Contador de M´odulo Arbitrario

Figura 4.26: Curvas Contador de M´odulo Arbitrario Una vez obtenido las funciones l´ogicas de las entradas se procede a realizar el circuito respectivo. Si hacemos un an´ alisis de los tipos de flip-flop usados en cada caso podemos decir que usar tipo D implica menor cantidad de funciones l´ogicas a hallar ya que cada flip-flop tiene una sola entrada pero por otro lado implica obtener funciones l´ ogicas m´ as complejas que con el JK que tiene dos entradas.

4.5. CONTADORES

Estado Actual

Q2

S0 S1 S2 S3 S4

0 0 0 0 1

65

Q1 Q0 Actual 0 0 1 1 0

0 1 0 1 0

Q2 Q1 Q0 Siguiente M=0 0 0 1 0 1 0 0 1 1 1 0 0 0 0 0

Q2 Q1 Q0 Siguiente M=1 1 0 0 0 0 0 0 0 1 0 1 0 0 1 1

Cuadro 4.12: Tabla de Transici´on

Qn 0 0 1 1

Qn+1 0 1 0 1

D 0 1 0 1

Cuadro 4.13: Tabla alternativa flip-flop tipo D

66

CAP´ITULO 4. CIRCUITOS SECUENCIALES

Figura 4.27: Contador Arbitrario Reversible

Ap´ endice A

Ap´ endice al Cap´ıtulo 1 A.1.

C´ odigos num´ ericos

El sistema num´erico binario tiene el m´erito que sus d´ıgitos tienen una correspondencia exacta con los valores de una variable l´ogica. Pero tiene el inconveniente de que una magnitud num´erica expresada en binario tiene m´as de tres veces tantos d´ıgitos como el n´ umero decimal equivalente. Esto se solventa empleando el c´ odigo octal o hexadecimal. Otra desventaja del binario es la conversi´ on a decimal, que son complicadas, ya que en general cada d´ıgito decimal puede afectar a cada d´ıgito binario y viceversa, para ello se puede usar un sistema de representaci´ on decimal codificado a binario (BCD).

A.1.1.

C´ odigo BCD

En este c´ odigo se emplean cuatro d´ıgitos binarios para representar los d´ıgitos decimales del 0 al 9. Decimal 0 1 2 3 4

BCD 0000 0001 0010 0011 0100

Decimal 5 6 7 8 9

BCD 0101 0110 0111 1000 1001

Ejemplo: 1001 9

0110 6

0000 0

0011 3

Por lo tanto en la conversi´ on decimal o binario necesitamos examinar solamente un d´ıgito decimal cada vez, en la conversi´on inversa se necesita examinar cuatro d´ıgitos binarios para uno decimal. Una desventaja de este c´ odigo es de que de las 16 posibles combinaciones con cuatro d´ıgitos binarios solamente se usan diez. Consecuencia de ello un n´ umero BCD tiene mas d´ıgitos que el binario equivalente. 67

´ ´ APENDICE A. APENDICE AL CAP´ITULO 1

68

A.1.2.

Nomenclatura

Los valores posibles de una variable l´ogica que pueden o no representar d´ıgitos num´ericos del sistema binario, se denomina bits. Un grupo de tales bits que juntos forman un elemento de informaci´on se denomina palabra. A un grupo de 4 bits se denomina nybble y a uno de 8 bits se lo denomina byte.

A.1.3.

C´ odigos de datos

Las cadena de bits (palabras), pueden representar no s´olo n´ umeros sino tambi´en datos o instrucciones. Todo lo que se requiere es que haya un entendimiento entre el generador y el receptor de los datos es decir un mismo c´odigo. Si hablamos que el dato es un caracter, existe un c´odigo muy difundido que se denomina ASCII, que tiene 7 bits, lo que implicar´ıa el reconocimiento de 27 = 128 caracteres distintos. Sobre otros tipos de datos se abundar´a en detalles mas adelante. Bit de paridad: Continuando con los caracteres ASCII y cuando se requiere transmitir datos se a˜ nade a este c´ odigo un octavo bit (el m´as significativo), formando un byte. Si no se a˜ nade su posici´ on se desperdicia, ya que los sistemas digitales manejan datos en unidades completas de bytes. Este bit se utiliza para darle una paridad al byte. La paridad se define de acuerdo a si la cantidad de 1 del byte es par o impar. As´ı, el byte 11001101 tiene paridad impar y el 11000011 tiene paridad par. El establecimiento de una paridad es ventajoso siempre que exista la posibilidad de que una perturbaci´on (ruido) cambie un bit, sin embargo si solo hay un cambio en un bit la paridad ser´a err´onea y se sabr´a que se produjo un error en el traspaso de informaci´ on; si el ruido cambia dos bit la paridad se mantendr´a y el error no puede ser detectado a trav´es de la paridad. Sin embargo un ruido que afecte dos bit es muy improbable.

Ap´ endice B

Tecnolog´ıa de Fabricaci´ on de Circuitos L´ ogicos Objetivo del ap´ endice Introducci´ on a las diferentes tecnolog´ıas de fabricaci´on de Circuitos Integrados Caracter´ısticas de los Circuitos Integrados • Velocidad • Potencia • Fan-Out • Margen de ruido Familia CMOS Familia TTL Familia ECL Salida de C.I. l´ ogicos integrados

B.1.

Introducci´ on a los C.I.

Los sistemas digitales se ensamblan a partir de puertas. El principal factor para determinar la rapidez con que un sistema digital realiza su funci´on para la que se ha dise˜ nado es la velocidad de operaci´on de sus puertas. Relacionado con ´esta el factor m´ as importante es el tiempo de retraso de propagaci´on (tpd ), tiempo que necesita la salida de una puerta para responder a los cambios de los niveles l´ ogicos de la entrada. Evidentemente el avance de la tecnolog´ıa de la microelectr´ onica a hecho posible que estos circuitos fueran realizados con componentes electr´ onicos por sobre otro tipo de tecnolog´ıa, como podr´ıa ser la neum´ atica y la hidr´ aulica. La gran ventaja de los circuitos electr´onicos que representan a las compuertas l´ ogicas es que son susceptibles de ser integrados en gran escala. 69

´ ´ DE CIRC. LOGICOS ´ APENDICE B. TEC. DE FABRICACION

70

Esta integraci´ on de muchos transistores, diodos y resistores en una oblea de silicio, formando compuertas se denomina Circuito Integrado. Las pastillas integradas se clasifican en: Circuito integrado de peque˜ na escala de integraci´on Circuitos integrados de media escala de integraci´ on Circuitos integrados de gran escala de integraci´ on Circuitos integrados de muy gran escala de integraci´on

SSI MSI LSI VLSI

menos de 12 compuertas por integrado menos de 99 compuertas por integrado menos de 1000 compuertas por integrado m´as de 1000 compuertas por integrado

Conviene destacar que las familias de las que hablaremos ser´an aquellas que referidas a la construcci´on de C.I., de peque˜ na (SSI) y media escala de integraci´ on (MSI). Las tecnolog´ıas de circuitos de alta (LSI) y muy alta escala de integraci´on (VLSI), ser´ an estudiadas en otra materia. Esto se debe a que en esta materia se estudian, circuitos combinacionales b´ asicos, circuitos secuenciales b´asicos y una introducci´on a los microprocesadores.

B.2.

Familias de Circuitos L´ ogicos Integrados

La diferenciaci´ on que haremos se refiere a familias que poseen diferentes dispositivos semiconductores incorporados y por la forma de conexiones entre s´ı para formar las puertas. Hay dos tipos de transistores usados para integrar circuitos: Uno de ellos es el metal-oxido-semiconductor (MOS), que puede construirse tipo canal p (corriente por el se deben a las cargas positivas - MOS canal-p) o del tipo canal n (corriente por el se deben a las cargas negativas - MOS canal-n). Con este tipo de transistores se fabrican los circuitos integrados de la familia CMOS.

El segundo tipo de transistor es el bipolar, que puede ser del tipo PNP o NPN, con este tipo de transistor se fabrica la familia m´as popular de circuitos integrados SSI y MSI, llamada TTL (transistor-transistor-logic). Dentro de esta familia hay dos series, una que se identifica con el n´ umero 54 que tiene exigencia m´as restrictivas (opera entre - 55o C y 125o C) y la serie 74 que es la versi´ on industrial de bajo costo con un rango de temperatura de 0o C a 70o C. Tambi´en se fabrica con este tipo de transistor otra familia denominada ECL.

B.3. CARACTER´ISTICAS DE LOS CIRCUITOS INTEGRADOS

B.3.

71

Caracter´ısticas de los Circuitos Integrados

Una familia l´ ogica o una serie de una familia l´ogica se caracteriza por cuatro par´ ametros: 1. Retraso de propagaci´ on (tpd ) - Velocidad-Tiempo en el cual una salida responde a un cambio en la entrada. 2. Disipaci´ on de potencia. A partir de estos dos se puede calcular un importante par´ ametro que es el producto velocidad-potencia. 3. Abanico de salida FAN-OUT. No es un par´ametro adecuado cuando se hacen interconexiones entre series y menos evidentemente cuando se conectan distintas familias. 4. Margen de ruido Los dos primeros par´ ametros est´an mutuamente relacionados ya que la velocidad de propagaci´ on, definida como el tiempo en que reacciona la salida a un cambio en la entrada (tpd ), es funci´on inversa de la potencia. El aumento de potencia conlleva la circulaci´on de mayores corrientes en el circuito, las capacidades par´ asitas pueden cargarse y descargarse mas r´apidamente. Estas capacidades no se incorporan deliberadamente en el circuito, sino que son consecuencia inevitable de las dimensiones f´ısicas y de la geometr´ıa del circuito. La existencia de grandes corrientes hace posible tambi´en que los transistores conmuten (on-off, off-on) m´as r´apidamente. Cuando se aumente la potencia disipada para mejorar la velocidad, debemos plantearnos si el incremento de velocidad es equiparable con el costo que supone un aumento de aquella. Por lo tanto, un elemento u ´til es el producto de la velocidad potencia (producto de retraso de propagaci´ on por potencia de disipaci´on).

B.3.1.

Abanico de salida (FAN-OUT)

Cuando se aplican se˜ nales digitales de una fuente a entradas de una compuerta, esta fuente debe ser capaz de establecer los dos valores l´ogicos posibles. En cada uno de los niveles, la fuente debe ser capaz de entregar la corriente requerida por la entrada de la compuerta. Normalmente esa fuente es la salida de otra compuerta, por tanto es necesario conocer cuantas puertas conduciendo pueden conectarse a la salida de una puerta. Esta informaci´on los fabricantes la dan especificando un abanico de salida (fan-out) de puerta. Normalmente la informaci´ on est´ a referida a la conexi´on de puertas de la misma familia, cuando las familias conectadas son diferentes se deben determinar los requerimientos de entrada y salida y asegurarnos que la carga no sea excesiva.

72

B.3.2.

´ ´ DE CIRC. LOGICOS ´ APENDICE B. TEC. DE FABRICACION

Margen de ruido

Para el desarrollo de este tema conviene hacerlo a trav´es de valores con un ejemplo: Si se trabaja con una tensi´on de fuente de 5 V, todas las tensiones en el sistema estar´ an entre 0 y 5 V. Cuando la salida de una puerta no est´a conectada a las entradas de otra puertas su tensi´on de “salida baja”puede ser de 0,1 V (0 l´ ogico), la tensi´ on de “salida alta”es de aproximadamente 3,4 V (1 l´ogico). Cuando la tensi´ on es baja, ´esta debe permitir que fluya corriente hacia ella de las dem´ as puertas. Esta corriente se denomina de sumidero. Cuando la tensi´on de salida esta en su nivel alto, circula hacia la carga una corriente denominada entrante. Cuando la tensi´on de salida est´a baja, la corriente absorbida aumenta la tensi´ on y cuando est´ a alta la corriente hace que baje. El fabricante asegura que a´ un en el caso del m´aximo fan-out, la tensi´on de salida baja no supera los 0,4 V y la tensi´ on alta no cae por debajo de los 2,4 V. El fabricante tambi´en especifica cuales son los valores de entrada a una puerta para que sean considerados como valores l´ogicos, una tensi´on de 0,8 V, como m´ aximo se reconocer´a como tensi´on baja (0 l´ogico) y una tensi´on de entrada superior a los 2 V se considerara tensi´on alta (1 l´ogico). Voh : m´ınima tensi´ on de salida que suministra una puerta en su nivel alto V ol: m´ axima tensi´ on de salida que suministra una puerta en su nivel bajo V ih: m´ınima tensi´ on de entrada que puede aplicarse para que se considere como alta V il: m´ axima tensi´ on de entrada que puede aplicarse para que se considere como baja Para un inversor tenemos: Cuando la tensi´ on de entrada Vi esta comprendida entre 0 y 0,8 V, la salida se mantiene constante a 2,4 V (m´aximo fan-out). Cuando la Vi es mayor de 2 V, la salida se mantiene constante a 0,4 V (m´ aximo fan-out).

Figura B.1: Caracter´ısticas de entrada-salida de una compuerta (inversor) idealizada

B.4. LA FAMILIA CMOS

73

Figura B.2: Niveles de tensi´on en la familia TTL La relevancia de estas tensiones se puede ver, si suponemos que la salida de una puerta es de 0,4 V (m´ aximo fan-out), es reconocido como entrada baja (menor de 0,8 V), pero en cualquier implementaci´on hardware real, en las conexiones pueden superponerse tensiones espurias, aleatorias impredecibles (ruido). El margen de error (ruido) en este nivel bajo es la diferencia Vil − Vol (margen de ruido nivel bajo). El margen de error nivel alto es la diferencia Voh − Vih . (Margen de ruido nivel alto). Si el ruido invade todo el sistema, podemos ver que en una gran cascada de compuertas, eventualmente lleguemos a un punto en que un uno l´ogico pueda interpretarse como un cero l´ ogico. Por lo tanto es ventajoso que los m´argenes de ruido sean lo mayor posible. Los m´argenes de ruido t´ıpicamente son mayores de 1 V.

B.4.

La familia CMOS

El desarrollo interno del dispositivo es tema de otra materia en donde se desarrollan los m´etodos de construcci´on de estos dispositivos. Estos dispositivos utilizan transistores MOS de simetr´ıa complementaria. Lo que implica que cada transistor MOS canal p, est´a acoplado con otro MOS canal n para formar los distintos tipos de compuertas. La disposici´ on mostrada en la figura B.3 es la de un inversor.

B.4.1.

Caracter´ısticas

Tensi´ on de alimentaci´ on Comprendida entre 3 y 15 V. Corriente de entrada requerida y fan-out Insignificantemente peque˜ na 1 pA como m´aximo, como la corriente de salida es de 1 mA, como m´ınimo, si el abanico de salida se determina a partir de

74

´ ´ DE CIRC. LOGICOS ´ APENDICE B. TEC. DE FABRICACION

Figura B.3: Inversor CMOS

Figura B.4: Curvas de un transistor MOS canal-P

las corrientes de salida y de entrada obtenemos un numero astron´omicamente grande, por consiguiente los dise˜ nadores determinan el fan-out a partir de hacer consideraciones de velocidad. Cada puerta adicional conectada a la salida de una compuerta tiene el efecto de incrementar la capacidad de carga y por consiguiente el tiempo de retardo. La capacidad est´a comprendida entre 5 y 10 pF, as´ı un abanico salida de 5 puertas cargar´a la salida con 25 a 50 pF y si se trabaja con 5 V, los retrasos en la propagaci´on estar´an en el orden de los 50 a 100 nseg, apreciablemente mayores que en una TTL, de igual fan-out.

Los m´ argenes de ruido Son de aproximadamente 1 V, con VDD = 5 V y crecen a medida que aumenta la tensi´ on de alimentaci´ on. ´ Esto implica que CMOS tiene una alta inmunidad al ruido.

B.4. LA FAMILIA CMOS

75

Potencia consumida Mientras el nivel l´ ogico de una compuerta no cambia la potencia consumida es tan insignificantemente peque˜ na que no parece exagerado decir que es nula. Sin embargo se consume potencia cuando se realizan las conmutaciones entre los niveles l´ ogicos, esta potencia depende de la frecuencia de conmutaci´on, de la carga capacitiva y de la fuente de alimentaci´on. Al efectuarse una transici´ on los transistores se encuentran en conducci´on, haciendo circular un pulso de corriente instant´aneo de la fuente de alimentaci´on. La magnitud de este pulso depende de la impedancia, la tensi´on de umbral de los transistores, de la tensi´ on de alimentaci´on y del tiempo empleado en la conmutaci´ on, tambi´en se necesita corriente para cargar y descargar la capacitancia de carga. La disipaci´ on resultante de estos componentes de corriente ya previamente descriptos es directamente proporcional a la frecuencia de funcionamiento, y a la capacitancia de carga. Pca = CV 2f La corriente media ser´ a tanto mayor cuanto m´as frecuentemente se produzcan las conmutaciones del circuito y mayor sea la capacitancia de carga, por lo tanto aumentara proporcionalmente la disipaci´on. Para una frecuencia de 10,5 KHz con una carga de 50 pF y una tensi´on de alimentaci´ on de 5 V, la potencia disipada es de 0,2 mW, apreciablemente menor que la TTL. Caracter´ıstica de conmutaci´ on Debido a la alta impedancia de entrada de la compuerta no existe carga de CC a la salida, de modo que la tensi´on de salida puede variar dentro de todo el rango desde cero (0 l´ ogico) hasta VDD (1 l´ogico), una vez transcurrido el tiempo suficiente para que las condiciones puedan considerarse estacionarias. El punto de conmutaci´ on est´ a ubicado t´ıpicamente entre 45 % y 50 % de VDD . La inmunidad al ruido est´ a en el orden del 45 % de la tensi´on de alimentaci´on. Otra caracter´ıstica importante es que la variaci´on de temperatura afectan muy poco las caracter´ısticas de funcionamiento. Debido a la bondad de estas caracter´ısticas los CMOS pueden funcionar en forma m´as confiable con un rango de tensiones muchos m´ as amplio que otras familias de dispositivos l´ogicos. Caracter´ısticas de funcionamiento en CA: durante la conmutaci´on, las capacitancias de nodo ubicadas interna y externamente al circuito se cargan y se descargan a trav´es de la resistencia de los dispositivos de canal n o p. Al aumentar VDD disminuye la Impedancia del canal en conducci´on y por lo tanto en dispositivos CMOS la m´ axima velocidad se logra a mayores tensiones de alimentaci´ on. Reg´ımenes La familia de CI CMOS incluye una l´ınea dise˜ nada para funcionar con tensiones de 3 a 15 V, serie llamada CD 4000, generalmente ´estas no pueden entregar suficiente corriente y deben incorporarse buffers especiales. La otra serie importante es la serie 54C/74C pastillas de funcionamiento equivalente a las TTL, son el 50 % m´ as r´ apidas que la serie 4000.

76

´ ´ DE CIRC. LOGICOS ´ APENDICE B. TEC. DE FABRICACION

Los dispositivos CMOS tienen caracter´ısticas de funcionamiento que no se encuentran en CI con otras tecnolog´ıas, entre esas caracter´ısticas pueden mencionarse: Disipaci´ on de potencia en reposo Del orden del micro watts Corriente de salida Normalmente est´ an conectadas sus salidas a otras entradas de circuitos CMOS, que se presentan como cargas capacitivas puras. Por lo tanto, salvo durante la conmutaci´ on, no hay flujo de corriente en la salida. Cuando se interconecta con otro tipo de l´ogica, la corriente de salida puede ser de varios miliamperes. Inmunidad al ruido Los valores t´ıpicos de inmunidad al ruido son de 4,5 V con VDD = 10 V y 2,5 V con VDD = 5 V Retardo de propagaci´ on Depende de la carga conectada y de la tensi´on de alimentaci´on, pero est´an en el orden de las d´ecimas de microsegundos (0,1 µseg) Frecuencia de reloj En los circuitos secuenciales como Flip-Flop y contadores, se establece una frecuencia m´ axima que va desde 1 a 10 Mhz Consumo din´ amico de potencia Depende como sabemos de la capacitancia de salida (fan-out), tensi´on de alimentaci´ on y la frecuencia. Valores t´ıpicos van desde 1 micro watt hasta una fracci´ on de watt. Reg´ımenes m´ aximos La polaridad no podr´a aplicarse nunca en forma invertida. Las se˜ nales de entrada no deben superar el rango de VDD y VSS , a menos que se tome alguna precauci´on para limitar la corriente a trav´es de los diodos enclavadores de entrada. El terminal VCC no debe ser nunca superior a VDD .

B.4. LA FAMILIA CMOS

77

Entradas no usadas Todas las entradas deber´ an tener referencia VDD o VSS , seg´ un el nivel l´ogico que convenga al circuito, una entrada flotante no solo produce el funcionamiento l´ ogico incorrecto, sino que puede excederse la disipaci´on m´axima y el dispositivo puede da˜ narse sobre todo en dispositivos de alta corriente. Se deben conectar a trav´es de un resistor de valor entre 0,2 y 1 Mohm. Se˜ nales de entrada No deben aplicarse se˜ nales de entrada mientras no se conecte la tensi´on de alimentaci´ on. Protecci´ on de entradas y salidas Las entradas de todas las compuertas CMOS tienen una red interna de protecci´ on con resistencias y diodos. Todas las entradas de todas las compuertas transmisi´on y todas la salidas protecci´ on con diodos de juntura que limitan las tensiones de entrada en el peor de los casos a 20 o 30 V, protegen plenamente el oxido de compuerta (cuya tensi´ on de ruptura es de 80 a 100 V) contra descargas est´aticas.

La conexi´ on entre CMOS y TTL no tiene mayor inconveniente. Cuando una puerta TTL ataca puertas CMOS, aquella puede suministrar una corriente adecuada para permitir un abanico de salida CMOS de muchas compuertas. Pero la salida Vho de TTL no es lo suficientemente alta para las compuertas CMOS. Se puede corregir conectando un resistor entre la fuente y la salida de la TTL. Cuando CMOS ataquen a TTL, los niveles de CMOS son adecuados para la entrada TTL, pero la corriente suministrada suele ser grande, por lo cual se deben usar buffers.

B.4.2.

Usos CMOS

Compuertas l´ ogicas Flip-Flop Circuitos combinacionales b´ asicos Registros Contadores Registros de desplazamiento

´ ´ DE CIRC. LOGICOS ´ APENDICE B. TEC. DE FABRICACION

78

B.5.

La familia TTL

Existen seis familias importantes con transistores bipolares: TTL, ECL, RTL, DTL, HT y HNIL. Las dos primeras son las m´as importantes y utilizadas, las otras cuatro son de menor importancia. La familia TTL comenz´o con un s´olo integrante en el grupo, pero conforme fue creciendo aparecieron diversos integrantes de la misma familia, en funci´on de las diferencias en los par´ametros como velocidad, potencia, o mayor cantidad de salidas. TTL de alta potencia (H-TTL): Fue desarrollada para excitar circuitos que requieren un gran fan-out y alta velocidad. Por l´ogica consume mayor potencia que otros subgrupos de la familia. No es mayormente usada y est´ a disponible solo en alg´ un tipo de funciones l´ogicas. Usa resistores de menor valor que los de la TTL tradicional para alcanzar mayores velocidades (mayores corrientes). TTL de baja potencia (LP-TTL): se desarrollo para aplicaciones que requieren bajo consumo de energ´ıa y la velocidad no tiene mayor importancia. TTL Schottky (S-TTL): se desarrollo para aplicaciones de alta velocidad, alcanzando mayor velocidad de operaci´on con menor consumo de potencia que la H-TTL, con lo cual mejora el producto velocidad por potencia disipada. Se recurre para este tipo de tecnolog´ıa a un tipo de transistor llamado transistor Schottky, que no es saturado, al que se le conecta un diodo adicional para operaci´on en directo conectado entre la base y el colector. Si consideramos que la tensi´on entre base y emisor suele ser de 0,7 V, mientras que la ca´ıda en el diodo es de 0,3 V; vemos que cuando la tensi´on de colector cae a 0,4 V, la corriente de base excedente se lleva al colector a trav´es del diodo y as´ı se evita la saturaci´on del transistor. Cuando no se satura el transistor se evita el retardo necesario para quitar el exceso de carga en la base y apagar el transistor.

Figura B.5: Transistor Schottky En la figura de la izquierda se puede observar el transistor saturado y en la derecha se coloca el diodo schottky con un transistor normal (transistor schottky), en este caso la corriente de base excedente pasa a trav´es del diodo. Al transistor en conjunto con el diodo se le llama Transistor Schottky.

B.6. LA FAMILIA ECL

79

TTL Schottky (LS-TTL), es un grupo de la familia que tiene la velocidad de la TTL original pero con una considerable reducci´on en el consumo de energ´ıa. Es decir, es un grupo de la familia TTL de baja potencia que utiliza transistores Schottky en vez de transistores de saturaci´on. Es uno de los grupos m´ as populares y varias funciones l´ogicas se disponen en LS-TTL. TTL Schottky avanzada (AS-TTL), es un subgrupo de TTL que tiene velocidad mayor y menor consumo que de energ´ıa que S-TTL. TTL Schottky avanzada de baja potencia (ALS-TTL), tiene muy buen producto de velocidad y consumo de energ´ıa. Usa transistores Schottky pero incorpora mejoras en el material y menores dimensiones para los elementos de los circuitos con capacitancias reducidas.

B.6.

La familia ECL

La familia ECL opera con una tensi´on de alimentaci´on negativa de -5,2 V. Los niveles l´ ogicos son tambi´en negativos en el orden de -0,8 V para el 0 l´ogico y -1,8 v para el 1 l´ ogico. Tienen un abanico de salida de 25. Tiene escaso margen de ruido del orden de los 0,3 V, por lo tanto son muy sensibles al ruido y consumen una gran cantidad de energ´ıa; tienen como principal m´erito su gran velocidad. Existen distintas series donde la m´ as difundida es la 10.000 que tiene un buen producto velocidad-potencia consumida. Se pueden conectar con compuertas del tipo TTL a trav´es de adaptadores especiales de niveles l´ogicos provistos por los fabricantes, que adaptan los niveles l´ogicos positivos de la TTL y los convierte en negativos para la ECL. Son usadas en dispositivos especiales como procesadores de se˜ nal o computadores donde se requiere gran velocidad.

B.7.

Comparaci´ on de Familias L´ ogicas

Como ya vimos actualmente existen una gran variedad de familias l´ogicas disponibles para el dise˜ nador de circuitos electr´onicos y la velocidad con la que aparecen las nuevas familias, dejando obsoletas a las m´as viejas, deja perplejo a la gran mayor´ıa de los dise˜ nadores. La vieja familia 4000 de CMOS y la serie 74 est´an alcanzando su vida u ´til y est´ an entrando en su per´ıodo de jubilaci´on, sin embargo la familia TTL Schottky de baja potencia (74LS) todav´ıa parece ser la familia que primero se elige, aunque est´ a siendo r´ apidamente superada por la HC-MOS. El empleo masivo y continuado de las familias TTL de bajo consumo (74 LS) y de alta velocidad (74 S) probablemente tiene su origen en la falta de informaci´on sobre posibles alternativas. Sin embargo, no basta con decir que la familia LS TTL funciona perfectamente y realiza su funci´ on sin ning´ un problema en los d´ıas que corren, dado que las posibles alternativas ofrecen una reducci´on del consumo de potencia, factor que no debe despreciar un buen dise˜ nador electr´onico. La raz´ on de la existencia de tantos modelos diferentes de circuitos integrados l´ ogicos parece ser que es una eterna soluci´ on de compromiso entre la velocidad

80

´ ´ DE CIRC. LOGICOS ´ APENDICE B. TEC. DE FABRICACION

y el consumo de potencia. La gr´ afica siguiente muestra la velocidad t´ıpica de las distintas familias l´ ogicas en funci´ on de la potencia que consumen.

Las familias l´ ogicas m´as modernas son aquellas que se sit´ uan pr´oximas a la esquina inferior izquierda, punto que representar´ıa el dispositivo l´ogico ideal. Las familias representadas en la gr´afica tienden a formar una banda que se sit´ ua paralela al eje de potencia, mostrando diferentes relaciones entre la velocidad y la potencia consumida. Como podr´a observarse, las viejas familias TTL (serie 74), LS, 4000 y S aparecen por encima de esa banda. Entre las nuevas familias se encuentra la TTL Schottky de baja potencia mejorada (ALS) que ofrece dispositivos que son m´ as r´apidos y m´as econ´omicos al consumir menos que sus equivalentes de la familia TTL-LS pura.

B.8.

Familia CMOS de alta velocidad

Las nuevas familias 74HC y 74HCT de dispositivos CMOS ofrecen velocidades equivalentes a la familia TTL-LS, pero con un insignificante consumo de potencia. Los dispositivos de la familia 74HC son mucho m´as u ´tiles, al tiempo que consumen menos potencia, y suelen ofrecer el margen m´as amplio de tensiones de salida para atacar a dispositivos externos (m´aximo nivel de salida a nivel bajo Vol = 0.1 Volt; m´ınimo nivel de salida a nivel alto Voh = 4.9 Volt). No obstante, en esta familia los problemas se presentan a nivel de sus entradas dado que en este caso las familias HC y HCT son diferentes. Aunque un valor de +2.4 Volt, pueda parecer extra˜ no para garantizar un nivel l´ogico alto, t´engase en cuenta que un dispositivo est´andar de la serie 74 puede ofrecer este mismo valor en el peor caso. Sin embargo, este nivel est´a fuera de las especificaciones de los dispositivos pertenecientes a la familia HC. Los fabricantes de circuitos integrados conocen perfectamente este hecho por lo que han desarrollado una nueva familia denominada HCT en la cual se han limitado a cambiar la etapa de entrada de los dispositivos de la familia HC, por lo que en el peor de los casos pueden aceptar un nivel alto procedente de un integrado de la familia TTL est´ andar. Con esta nueva familia se ha logrado alcanzar una total compatibilidad

´ ENTRE FAMILIAS B.9. INTERCONEXION

81

de la familia HCT con la TTL-LS a costa de un peque˜ no incremento en el consumo de potencia. Los dispositivos pertenecientes a las familias HC y HCT son ideales para aquellas aplicaciones donde se tengan que cumplir requisitos de dise˜ no que afecten al consumo bajo de potencia y a una alta inmunidad al ruido. Recu´erdese que el consumo en reposo de una puerta HC-MOS es del orden de los 0.0024 µW, increment´ andose a unos 1770 µW a 100 Hz. La familia CMOS est´ andar se puede considerar la de nivel superior cuando se necesita disponer de un dispositivo l´ogico con un Fan-Out (abanico de salida) alto, dado que una salida puede atacar alrededor de 1000 entradas, aunque no obstante, muchos dispositivos de la familia TTL 74 LS se pueden sustituir en la pr´ actica por sus correspondientes versiones de la familia HCT como alternativas compatible pin a pin. Para comprender muy f´ acilmente que se est´a llegando a una utilizaci´on m´axima de los dispositivos muy r´ apidos, aunque ´estos probablemente tendr´an mas impacto sobre los dise˜ nadores electr´onicos en los a˜ nos venideros, en un grado comparable a lo que actualmente ocurre con la familia TTL-LS. Sin embargo, podemos tener la esperanza de librarnos de ventiladores ruidosos y por ejemplo, poder levantar la tapa de nuestro ordenador personal sin vernos sometidos a la hasta ahora inevitable r´ afaga de aire caliente. Aquellos que est´an mas actualizados en cuanto a las tecnolog´ıas de las familias l´ogicas habr´an notado la ausencia de la presentaci´ on de dos familias situadas entre las comentadas anteriormente. Estas familias son las 74 AS / 74 ALS y la denominada familia FAST. Estas dos familias son aut´enticas rivales para sus respectivos fabricantes, la AS / ALS pertenece a Texas Instrument mientras que la FAST la fabrica Fairchild y Motorola. Las familias 74 AS y 74 ALS ofrecen una sustancial reducci´on en el consumo de potencia sobre las familias 74 S y 74 LS respectivamente. En estas nuevas familias el Fan-Out se duplica, los tiempos de propagaci´on se han reducido considerablemente y la frecuencia m´axima de utilizaci´on se ha aumentado a 200 MHz.

B.9.

Interconexi´ on entre Familias

Una de las razones por la cual los dise˜ nadores de circuitos electr´onicos han sido reticentes en la utilizaci´ on de las nuevas familias l´ogicas radica en el desconocimiento de la forma en la cual estas nuevas familias l´ogicas se interconectan con las actuales. Sin embargo, las reglas para interconectar las distintas familias l´ ogicas son muy simples. Muchos de los dispositivos se han dise˜ nados para que sean compatibles con los otros sin la necesidad de dispositivos intermedios, mientras que muchos otros tan solo necesitan una resistencia de adaptaci´on. El resumen de la tabla siguiente aporta la informaci´on necesaria para interconectar un gran n´ umero de familias: La resistencia de Pull-Up ser´ a aquella cuyo valor se encuentre entre los va´ lores te´ oricos inferior y superior. Estos se calculan mediante las siguientes expresiones: Rlow =

VCC −VoL(max) IoL +nIiL

Rhigh =

VCC −VoH(min) IiH +nIoH

donde Vcc es la tensi´ on de alimentaci´on, VoL(max) es la m´axima tensi´on

82

´ ´ DE CIRC. LOGICOS ´ APENDICE B. TEC. DE FABRICACION Cualquiera de las dos familias bipolares HC a cualquier bipolar Bipolar a HC HCT a bipolar Bipolar a HCT HCT a NMOS NMOS a HCT

Compatible Compatible Requiere un Pull - Up Compatible Compatible Compatible Normalmente es compatible, pero debe comprobarse.

Cuadro B.1: Gu´ıa de Compatibilidad - La Vcc (Vdd ) de alimentaci´on y el dispositivo se suponen iguales. de salida a nivel bajo, IoL es la m´axima corriente absorbida por el dispositivo excitado, n es el n´ umero de entradas que se excitan, IiL es la corriente de entrada para excitar el dispositivo cuando la entrada est´a a nivel l´ogico bajo, ViH(min) es la m´ınima tensi´ on de salida a nivel alto, IiH es la corriente de entrada a nivel alto e IOH es la corriente de salida a nivel alto. Como podr´ a observarse, la familia NMOS normalmente no necesita el empleo de una resistencia dado que ´esta tendr´ıa que tener un valor muy elevado, por lo tanto no deber´ a sorprendernos si los circuitos que emplean esta tecnolog´ıa funcionan correctamente sin la resistencia. La tabla siguiente nos muestra aquellos par´ ametros que nos permitir´an calcular las resistencias Pull-Up. Par´ ametro ViH(min) ViL(max) VoH(min) VoL(max) IiH(max) IiL(max) IOH(max) IOL(max)

74 2.0 0.8 2.4 0.4 40 -1.6 -0.4 16

74HC 3.5 1.0 4.9 0.1 1 -0.001 -4 4

74LS 2.0 0.8 2.7 0.4 20 -0.4 -0.4 8

74AS 2.0 0.8 2.7 0.4 200 -2 -2 20

74ALS 2.0 0.8 2.7 0.4 20 -0.1 -0.4 4

Unidad V V V V µA mA mA mA

Obviamente, las resistencias se deber´an insertar en forma de pull-up a la tensi´ on de alimentaci´ on. Para elegir los valores correctos que deber´an emplearse en las expresiones anteriores, se deber´an tomar los par´ametros de salida para la excitaci´ on de la puerta y los par´ametros de entrada para la puerta excitada. Como habr´ a podido verse, el mundo de las familias l´ogicas es muy complejo e incluso ser´ a a´ un m´as complejo con los dispositivos de arseniuro de galio (Ga-As) que permitir´ an velocidades del orden de los 4 GHz. Estos nuevos dispositivos est´ an presentes, en el abanico de posibilidades de que dispone el dise˜ nador electr´ onico, de forma paralela con las familias FAST y TTL durante un buen tiempo debido al mayor costo de aquellos. La familia ACT, al igual que la HCT, es totalmente compatible con la TTL - LS, mientras que la AC b´asicamente ofrece los mismos problemas de excitaci´on a otros dispositivos que la HC. Estas dos nuevas familias t´ıpicamente son 2 o 3 veces m´as r´apidas que la TTL - LS o la HC - MOS. T´engase presente que los dispositivos de las familias AC y ACT disponen de unos terminales de alimentaci´on diferentes a los de a familia TTL

B.10. SALIDAS DE CIRCUITOS INTEGRADOS

83

- LS.

B.10.

Salidas de Circuitos Integrados

Las salidas de los circuitos integrados pueden ser de diferentes formas dependiendo en general de la utilizaci´ on que se le quiera dar al circuito en donde se incorporara. En este caso haremos referencia a salidas que corresponden a circuitos de la familia de transistores bipolares: estos distintos tipos de salida pueden ser: Conmutador operado por l´ ogica - Salida de colector abierto - Salida T´otem Pole - Salida de tres estados. Cada uno de los tipos de salida tiene sus caracter´ısticas que presentamos a continuaci´ on:

B.10.1.

Conmutador Operado por L´ ogica

El transistor como acabamos de ver es un dispositivo de tres terminales, llamados base, colector y emisor y su s´ımbolo es:

Figura B.6: Transistor S´ımbolos Al polarizar este elemento de la siguiente forma:

Figura B.7: Transistor Polarizado Podemos ver que cuando la se˜ nal de entrada es cero la salida est´a en 1 l´ogico, lo que significa que el transistor no conduce, es decir no circula corriente por ´el y cuando la entrada es 1 la salida es cero, o sea el transistor esta conduciendo y por lo tanto el colector est´ a pr´ acticamente a masa. Por este hecho a esta configuraci´on se le denomina conmutador operado por l´ ogica, ya que el transistor se comporta como una llave On-Off electr´onica y puede representarse de la siguiente forma:

84

´ ´ DE CIRC. LOGICOS ´ APENDICE B. TEC. DE FABRICACION

Figura B.8: Conmutador Operado por L´ogica Adem´ as, como puede verse en la figura B.7, este circuito realiza la inversi´on l´ ogica, representada por el s´ımbolo:

Figura B.9: Inversor

B.10.2.

Salida T´ otem-Pole

El problema que presenta la salida de conmutador operado por l´ogica es que aparece, debido a la caracter´ıstica de la juntura P-N, una capacidad par´asita C entre el colector y el emisor, como muestra la figura:

´ Esto hace que cuando el conmutador pasa de cerrado a abierto tengamos un gran retardo debido a que R tiene un valor grande para que la ib (corriente de base) sea peque˜ na lo cual incrementa el tiempo de respuesta del transistor que es funci´ on de RC donde C es la capacidad par´asita, cuando el conmutador pasa a estar cerrado, no as´ı cuando aquel pasa de abierto a cerrado ya que el valor resistivo del transistor en conducci´on es muy bajo y el retardo se hace despreciable. Para una onda cuadrada de entrada, la forma de onda de salida ser´ıa:

B.10. SALIDAS DE CIRCUITOS INTEGRADOS

85

Figura B.10: Onda Cuadrada Para salvar este inconveniente puede sustituirse la resistencia de colector por otro conmutador operado por l´ ogica quedando as´ı la configuraci´on llamada salida totem - pole, cuyo diagrama es el de la figura B.11.

Figura B.11: Totem Pole

B.10.3.

Salida de tres estados

Una variante interesante de la configuraci´on con salida totem - pole es la que se conoce como salida de tres estados (tristate) y que consiste en agregar dos compuertas de control como se muestra en la figura B.12 La E del circuito representa el habilitador del circuito (Enable), que mientras est´e en 0 l´ ogico la salida permanecer´a en alta impedancia, cuya representaci´on se denomina tercer estado, ya que no es ni 0 ni 1, sino que es un estado de desconexi´ on. La representaci´ on para una compuerta de tres estados de la figura anterior ser´ a la siguiente, recordando que se trata de un inversor: y es totalmente equivalente para cualquier compuerta de tres estados, por ejemplo para una NOR ser´ a:

B.10.4.

Salida en Colector Abierto

La salida en colector abierto es cuando al transistor de salida (conmutador operado por l´ ogica) no se le coloca resistor quedando el colector del conmutador

86

´ ´ DE CIRC. LOGICOS ´ APENDICE B. TEC. DE FABRICACION

Figura B.12: Tres Estados

Figura B.13: Representaci´on Tres Estados abierto, por lo tanto el usuario debe conectar a tensi´on de fuente (pull-up) un resistor externo. Usos de la salida en colector abierto AND cableada Cuando tengo como salida de compuertas TTL conmutadores operados por l´ ogica estos se pueden conectar entre s´ı formando otro tipo de compuerta externa como es el caso que presentamos. Supongamos el caso de la uni´ on de dos salidas con conmutadores operado por l´ogica, para este caso lo que se obtiene es la operaci´on AND entre las dos salidas: Supongamos dos compuertas inversoras, si unimos sus salidas obtenemos una funci´ on NOR entre A y B, por lo tanto aplicando MORGAN tenemos una AND entre las dos inversoras. A 0 0 1 1

B 0 1 0 1

Z 1 0 0 0

Cuadro B.2: Z = A + B = A.B que es la funci´ on AND entre las salidas. A este tipo de conexi´on de las salidas se le denomina conexi´on AND CABLEADA, cuyo u ´nico inconveniente es que voy poniendo los R en paralelo,

B.10. SALIDAS DE CIRCUITOS INTEGRADOS

87

Figura B.14: Tres Estados

lo que puede aumentar la corriente por el conmutador a valores grandes cuando son muchas las conexiones de las salidas, por lo tanto los fabricantes prev´en ´esto entregando otro tipo de salida de compuertas que no tiene el resistor R del conmutador operado por l´ogica quedando el colector del transistor por tanto abierto, a este tipo de salida muy usado se le denomina de Colector Abierto, quedando el valor de la R a criterio del usuario. Acoplador entre TTL y CMOS Otro importante uso de este tipo de salida de compuerta acoplar circuitos TTL a otras familias l´ ogicas como puede ser a CMOS, en este caso los niveles l´ ogicos pueden ser diferentes, en particular el nivel de un ALTO para TTL es 5 V, mientras que para CMOS puede ser 10 V. Si el resistor externo de carga se conecta a 10 V, entonces la compuerta de colector abierto funciona como interfaz entre la porci´on de TTL del sistema y la porci´ on de CMOS. Bus com´ un Cuando varias compuertas se conectan a una l´ınea com´ un (bus), cada compuerta puede controlar el bus solo cuando la coloca en BAJO pero no en ALTO, s´ olo cuando el transistor de salida se halle en conducci´on, la compuerta llevar´ a a la l´ınea com´ un al nivel l´ogico cero.

88

´ ´ DE CIRC. LOGICOS ´ APENDICE B. TEC. DE FABRICACION

Bibliograf´ıa [1] Mario Carlos Ginzburg. Introducci´ on a las T´ecnicas Digitales con Circuitos Integrados. Universidad de Buenos Aires, octava edition, 1998. [2] John F. Wakerly. Dise˜ no Digital: Principios y Pr´ acticas. Pearson Educaci´on, tercera edition, 2001.

89

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.