UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA CAPÍTULO 2: REPASO DE ELECTRONICA DIGITAL INTRODUCCION El proceso de miniaturización de la electrónica, iniciado en la década de los cincuenta con la utilización del transistor, continuó con un segundo salto cualitativo en la década siguiente (años sesenta) mediante la integración de subcircuitos completos en un mismo substrato de silicio (chip): subcircuitos correspondientes a módulos digitales tales como puertas booleanas, biestables o bloques combinacionales o secuenciales. Los circuitos digitales son sumamente apropiados para su inserción en circuitos integrados: de un lado, la ausencia de autoinducciones y el poder prescindir, asimismo, de condensadores reduce los elementos a integrar a transistores y resistencias y a las conexiones de estos entre sí; de otro, la propia modularidad de los sistemas digitales precisa de un número reducido de tipos de puertas lógicas, e incluso, basta con un solo tipo de ellas (puertas Nand o Nor). Por ello, los circuitos integrados invadieron muy pronto el campo digital; en unos pocos años resultó anacrónico y antieconómico construir las puertas booleanas con componentes discretos, una vez que se disponía de una gran variedad de puertas lógicas y de una amplia serie de funciones de gran complejidad construidas dentro de un circuito integrado. El presente capítulo está hecho con la finalidad de comprender en líneas generales el funcionamiento de las familias lógicas CMOS y TTL. En primer lugar, las puertas bipolares que condujeron a la gran familia TTL (cuya amplia difusión consolidó la lógicaintegrada); luego las tecnologías MOS, hasta llegar a la predominante HCMOS; la mezcla BiCMOS (bipolar-CMOS) que resulta muy apropiada para circuitos «interbús» (en medio de los buses); y la derivación actual hacia series de bajo voltaje (pasando de la alimentación habitual de 5 V a sólo 3 V). En todo caso, para elegir y utilizar correcta y eficazmente una familia lógica (y, dentro de ella, una serie específica) es preciso tener en cuenta sus características funcionales. PUERTAS LOGICAS Una compuerta lógica es aquel circuito digital que tiene la capacidad de aplicar un proceso interno a sus n bits de entrada, que cumple con alguna de las operaciones definidas en el Álgebra de Boole, y que cuyos resultados son manifiestos en sus bits de salida. En la figura 2.1 podemos observar las UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA operaciones del Algebra de Boole, sus tablas de verdad y representación gráfica. Figura 2.1. Propiedades del Algebra de Boole: Tablas y representación gráfica UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA PRIMERAS FAMILIAS LÓGICAS: C. I. CON TRANSISTORES BIPOLARES Las primeras puertas lógicas integradas eran mera copia directa de las puertas "onegada" (Nor) con componentes discretos, mediante la conexión en paralelo de varios transistores bipolares NPN en emisor común; tales puertas dieron lugar a la primera familia lógica: RTL (lógica de transistores y resistencias). Figura 2.2. Puerta NOR RTL Pronto se mejoraron las características de estas puertas integradas, en cuanto a velocidad y a consumo, combinando una puerta "y" de diodos con un transistor inversor en emisor común; así se configuró la puerta "y-negada" (Nand) base de la familia DTL (lógica de transistores y diodos) que fue la primera que llegó a alcanzar una difusión apreciable. Figura 2.3. Puerta NAND DTL A partir de este esquema (puerta "y" + inversor), aprovechando en mayor profundidad las posibilidades que ofrece la integración sobre un substrato único, se planteó una segunda mejora en velocidad y en consumo, añadiendo una etapa de salida amplificadora de intensidad (dos transistores en push-pull) y substituyendo los diodos por un transistor multi emisor. El resultado fue la gran UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA familia lógica TTL (lógica de transistores con transistores). Figura 2.4. Puerta NAND TTL La puertas TTL se alimentan a 5 V; su tensión de conmutación se sitúa en el entorno de 1,2 V, de manera que un 0 en la entrada ha de ser menor de 1 V (ViLmáx = 1 V) y, en cambio, una tensión superior a 1,5 V es entendida como un 1 (ViHmín = 1,5 V); la tensión de salida para el 0 es 0 V, pero la correspondiente al 1 es de solamente 4 V. Los tiempos de propagación de la serie TTL estándar son del orden de 10 ns. y el consumo promedio es de unos 2 mA (10 mW). La familia TTL proporcionó la base del gran desarrollo que tuvieron los sistemas digitales durante la década de los 70; su amplia difusión y utilización favoreció la aparición de diversas series derivadas de la mejora de características concretas, una de las cuales, la serie LS ha sustituido por completo a la serie estándar inicial y es la que se ha seguido utilizando a lo largo de la década de los 80. Posteriores series «avanzadas» con el mismo esquema circuital han aprovechado la reducción de dimensiones de los transistores y la correspondiente disminución de sus capacidades parásitas para conseguir tiempos de propagación inferiores: la serie 74ALS (advanced LS) presenta tiempos por debajo de 4 ns, mientras que las series 74F (fast-TTL) y 74AS (advanced Schottky) ofrecen tiempos de propagación del orden de 2,5 ns y 1,5 ns, respectivamente, a costa de un mayor consumo (por utilizar resistencias de menor valor). Esta línea de evolución de las puertas con transistores bipolares constituye la «edad antigua» de los circuitos integrados digitales; actualmente, apenas se utilizan las familias bipolares, salvo en determinadas aplicaciones específicas, en UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA particular, para sistemas de muy alta velocidad. La serie 74LS sigue siendo útil para «recambio y mantenimiento» de los numerosos sistemas digitales que han sido construidos con ella (o con la serie estándar 74), la serie 74ALS se emplea en circuitos «interbús» (aplicación que consideraremos un poco más adelante) y la serie 74F resulta adecuada para diseños de muy alta velocidad de trabajo (frecuencias superiores a los 100 MHz). DESARROLLO DE LAS TECNOLOGÍAS MOS: FAMILIA CMOS La integración de transistores MOS presentó inicialmente grandes dificultades, derivadas de ser un efecto superficial que es afectado por cualquier impureza o dislocación en la superficie del cristal de silicio; fue preciso desarrollar técnicas de muy alta limpieza ambiental que no estuvieron disponibles hasta mediados de los años setenta. Sin embargo, una vez que se dispuso de tales técnicas, las extraordinarias ventajas de los transistores MOS (referidas a autoaislamiento, autoalineamiento, tamaño y consumo) determinaron un rápido desarrollo y difusión de los circuitos integrados digitales MOS. En una primera fase resultó más sencillo integrar transistores MOS de canal P, pero pronto fueron desplazados por los transistores NMOS cuya velocidad de conmutación es apreciablemente mayor (debido a la mayor movilidad de los electrones respecto de los huecos). La utilización de transistores MOS como «resistencias de polarización» permitió configurar puertas lógicas utilizando únicamente transistores, cuyo área de integración es mucho menor, al prescindir de resistencias integradas de valores relativamente altos. De esta forma, las puertas MOS suponen un nuevo avance cualitativo en la miniaturización de la electrónica digital, reducción que afecta no solamente al tamaño y a la densidad de integración, sino también, y en forma aún más significativa, al consumo. La tecnología NMOS actual utiliza puertas formadas por un plano de transistores activos NMOS y un transistor MOS de empobrecimiento como resistencia de polarización; aprovecha plenamente la tensión de alimentación, pues VoH = VCC y VoL ≈ 0 V, y su consumo es muy reducido, ya que Ri ~ ∞ y la resistencia del transistor de polarización se hace adecuadamente alta. Esta tecnología resulta apropiada para la integración de muy alta densidad (VLSI) y sigue utilizándose en grandes bloques digitales (microprocesadores, memorias, etc.) y en los circuitos integrados programables de tipo matricial (PROM, PAL, PLA, PLS). La primera serie CMOS adoptó el indicativo 40 y presentaba fuertes limitaciones en cuanto a velocidad e inmunidad frente al ruido. Esta serie admite un amplio intervalo de tensiones, desde 3 a 18 voltios, y rizados del 10% (debido a su reducido consumo), lo cual elimina la necesidad de un buen filtrado y estabilidad en la fuente de alimentación; su velocidad depende fuertemente de la tensión de UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA alimentación, con tiempos de propagación de 200 ns para VCC = 3 V que pasan a ser de 100 ns para VCC = 5 V y se reducen a 20 ns cuando VCC = 15 V. PUERTAS LÓGICAS DE LA FAMILIA CMOS Inversores CMOS La circuitería del INVERSOR CMOS básico se muestra en la Figura 2.5. El Inversor CMOS tiene dos MOSFET en serie de modo que, el dispositivo con canales P tiene su fuente conectada a + VDD (un voltaje positivo) y el dispositivo de canales N tiene su fuente conectada a masa. Las compuertas de los dos dispositivos se interconectan con una entrada común. Los drenajes de los dos dispositivos se interconectan con la salida común. El circuito mostrado en la Figura 2.5 representa un Inversor CMOS y está formado por un transistor de canal tipo P (QP1) y otro de canal tipo N (QN1). Los niveles lógicos para CMOS son esencialmente + VDD para 0 y 1 lógicos y 0 V para el 0 lógico. Consideremos primero el caso donde A1 = + VDD (la entrada A1 está en un nivel alto (‘1’)). En está situación, la compuerta de QP1 (canales P) está en 0 V en relación con la fuente de QP1. De este modo, QP1 estará en el estado OFF con ROFF =10*10 Ω. La compuerta de QN1 (canales N) estará en + VDD en relación con su fuente, es decir, transistor QP1 se pone en estado de corte y el transistor QN1 se activa. El resultado es un camino de baja impedancia de tierra a la salida y uno de alta impedancia de VDD a la salida F. A continuación, consideremos el caso donde A1 = 0 V (la entrada A1 está en nivel bajo (‘0’)). QP1 tiene ahora su compuerta en un potencial negativo en relación con su fuente, en tanto que QN1 tiene VGS = 0 V. De este modo, QP1 estará encendida con RON=1 k Ω, y QN1 apagada con ROFF = 10*10 Ω, produciendo un F de aproximadamente + VDD. En resumen QP1 se activa y el transistor QN1 se pone en estado de corte. El resultado es un camino de baja impedancia de VDD a la salida F y uno de alta impedancia de tierra a la salida. Como podemos observar, los transistores operan de forma complementaria. Cuando la tensión de entrada se encuentra en alto (1 lógico), el transistor NMOS entra en estado de conducción y el transistor PMOS entra en corte, haciendo que la salida quede en bajo (0 lógico). La situación inversa ocurre cuando la tensión se encuentra en bajo. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA Estos datos de operación se resumen en la Figura 2.5, donde se muestra que el circuito actúa como un inversor lógico. Figura 2.5. Inversor CMOS Compuerta NAND CMOS Se pueden construir otras funciones lógicas diferentes del inversor básico. La Figura 2.6 muestra una compuerta NAND formada por la adición de un MOSFET de canales P en paralelo y un MOSFET de canales N en serie al INVERSOR básico. Para analizar este circuito conviene recodar que una entrada de 0 V enciende el P-MOSPET y apaga el N-MOSFET correspondientes, y viceversa para una entrada +VDD. Cuando ambas entradas (A1 y B1) están en nivel alto (+VDD), hacen que los transistores QP1 y QP2 entren en corte y se encienden ambos N-MOSFET (transistores QN1 y QN2), con lo cual ofrece una baja resistencia de la terminal de salida a tierra (la salida pasa a bajo (0) a través de QN1 y QN2). En todas las otras condiciones de entrada, de cuando menos un P-MOSFET estará encendido en tanto que al menos un N-MOSFET estará apagado. Esto produce una salida ALTA (a través de QP1 y QP2). Las entradas no usadas de una compuerta CMOS no se pueden dejar abiertas, porque la salida resulta ambigua. Cuando sobra alguna entrada de una compuerta CMOS se debe conectar a otra entrada o a uno de los dos terminales de alimentación. Esto también es válido para circuitos secuenciales y demás circuitos CMOS, como por ejemplo, contadores, Flip-Flops, etc. Estos datos de operación se resumen en la UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA Figura, donde se muestra que el circuito actúa como una compuerta NAND CMOS. Figura 2.6. Compuerta NAND CMOS Compuerta NOR CMOS Una compuerta NOR CMOS se forma agregando un P-MOSFET en serie y un NMOSFET en paralelo al inversor básico Figura 2.7. Una vez más este circuito se puede analizar entendiendo que un estado BAJO en cualquier entrada enciende P-MOSFET (QP1 y QP2 entran a conducción) y apaga el N-MOSFET (QN1 y QN2 entran a corte) correspondiente. La salida pasa a alto (1) a través de QP1 y QP2. Las entradas en un estado ALTO, hacen que los transistores QP1 y QP2 entren en corte y ambos transistores QN1 y QN2 en conducción (la salida pasa a bajo (0) a través de QN1 y QN2). En las parejas de transistores ya sean de canal n ó de canal p, si cualquier entrada es baja, uno de los transistores entra a corte y otro a conducción. La salida pasa a bajo (0) acoplándose a través de transistores en conducción a tierra. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA Figura 2.7. Compuerta NOR CMOS Compuertas AND Y OR Las compuertas AND y OR CMOS se pueden formar combinando compuertas NAND y NOR con inversores. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA DIAGRAMAS DE TIEMPOS, RETARDOS Al llegar una señal a la entrada de una puerta lógica, la respuesta a dicha señal no aparece instantáneamente en la salida, sino que existe un cierto tiempo de retardo; este tiempo es diferente según la transición de estado de la puerta sea de 0 a 1 o de 1 a 0: • Retraso de propagación de bajo a alto, tPLH.- tiempo transcurrido desde que la señal de entrada baja (pasa por el 50%) hasta que la señal de salida sube (pasa por el 50%). • Retraso de propagación de alto a bajo, tPHL.- tiempo transcurrido desde que la señal de entrada sube (pasa por el 50%) hasta que la señal de salida baja (pasa por el 50%). El hecho de subida y bajada se debe a que las principales familias son negativas, es decir, la salida que obtenemos es el valor negado de dicha función. • Retraso de propagación.- valor medio de tPLH y tPHL. • Tiempo de transición de bajo a alto, tTLH.- tiempo transcurrido desde que la señal empieza a subir (pasa por el 10%) hasta que llega a un nivel alto (pasa por el 90%). • Tiempo de transición de alto a bajo, tTHL.- tiempo transcurrido desde que la señal empieza a bajar (pasa por el 90%) hasta que llega a un nivel bajo (pasa por el 10%). Es decir, se considera que una transición se ha completado cuando pasamos de los umbrales del 10% y el 90%. Este hecho es debido a que la forma de onda a partir de esos valores cambia, pudiendo no llegar nunca a los valores del 0% o al 100%. Figura 2.8. Retardos de propagación en puertas lógicas UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA Ambos tiempos de propagación suelen tener valores próximos entre sí, lo cual permite utilizar su promedio como tiempo de propagación genérico: tP = (tPLH + tPHL) / 2 Los tiempos de propagación, es decir, los retrasos de la salida respecto a las variaciones de las entradas dependen de la impedancia de carga conectada sobre la salida, es decir, de la capacidad equivalente que presenta el conjunto de entradas conectadas a ella. Por ello, los tiempos de propagación se miden en condiciones similares al funcionamiento normal de la puerta, supuesto un número máximo razonable de entradas conectadas a su salida; en el caso CMOS, sus entradas son de tipo capacitivo, del orden de unos pocos picofaradios, de forma que los tiempos de propagación CMOS suelen medirse y expresarse en relación a una carga de 50 pF. Los valores típicos de los tiempos de propagación se expresan para 25°C, ya que tales tiempos dependen de la temperatura, aumentando con ella; esta dependencia se debe a que las resistencias de paso de los transistores MOS aumentan con la temperatura, por disminuir con ella la movilidad de sus portadores. Interesa, por ello, evitar el funcionamiento de los circuitos digitales a temperaturas altas y, si es necesario, se les dota de adecuados mecanismos de refrigeración. Al conectar dos puertas, una a la salida de la otra, el tiempo de propagación del conjunto es mayor que los tiempos individuales pero es inferior a la suma de ambos. Es decir, los tiempos de propagación no son linealmente acumulativos ya que la segunda puerta inicia su conmutación antes de que la primera complete la suya. Para facilitar la suma de tiempos en puertas sucesivas, cada tiempo de propagación suele medirse por el retraso entre el punto medio de conmutación (tensión Vcc/2) de la onda de entrada y el punto medio de la conmutación de la señal de salida. Retardo de propagación de las compuertas TTL y CMOS. TTL CMOS 3,3 V CMOS 5 V CARACTERÍSTICA F Retardo de Propagación de puerta, tp (ns) LS ALS LV LVC ALVC HC AC AHC 3,3 10 7 9 4,3 3 7 5 3,7 UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA CIRCUITOS COMBINACIONALES Los circuitos lógicos digitales pueden ser de dos tipos: combinacionales o secuenciales. Sistemas digitales combinacionales: Aquellos en los que sus salidas sólo depende del estado de sus entradas en un momento dado. Por lo tanto, no necesita módulos de memoria, ya que las salidas no dependen de los estados previos de las entradas. Sistemas digitales secuenciales: Aquellos en los que sus salidas dependen además del estado de sus entradas en un momento dado, de estados previos. Esta clase de sistemas necesitan elementos de memoria que recojan la información de la 'historia pasada' del sistema. Diremos pues, que un circuito combinacional real es aquel en el cual las salidas dependen exclusivamente de las señales de entrada aplicadas, una vez transcurrido el tiempo necesario para la estabilización de las salidas, desde la aplicación de las señales de entrada. Entre los circuitos combinacionales clásicos tenemos: Lógicos Generador/Detector de paridad Multiplexor y Demultiplexor Codificador y Decodificador Conversor de código Comparador Aritméticos Sumador Aritméticos y lógicos Unidad aritmético lógica Estos circuitos están compuestos únicamente por puertas lógicas interconectadas entre sí. De la definición se deduce que cada salida en un instante de tiempo determinado, depende exclusivamente de las entradas al circuito en el mismo instante de tiempo, pero no depende de las entradas que hubo en instantes de tiempo anteriores (no tiene "memoria"). x1 F x2 F(t) = (x1 (t) , x2(t), ... ) UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA Ahora bien, en cuanto a la implementación mediante circuitos electrónicos, hay que matizar algunos detalles. Hemos visto que las puertas lógicas obtenían a su salida una señal, que dependía sólo de las entradas, pero esta salida no se estabilizaba hasta transcurrido un pequeño intervalo de tiempo desde la aplicación de las señales de entrada (del orden de nanosegundos). Por otro lado, si el circuito combinacional tiene varias entradas (n), también puede tener varias salidas (m). Para "n" variables de entrada tenemos 2n combinaciones binarias posibles. Por tanto, podemos expresar un circuito combinacional mediante una tabla de verdad que lista los valores de todas las salidas para cada una de las combinaciones de entrada. Un circuito combinacional también puede describirse mediante "m" funciones lógicas, una para cada variable de salida; cada una de las cuales se presenta como función de las "n" variables de entrada. E0 Sistema E1 Combinacional En S0 S1 Sm Figura 2.9. Sistema combinacional CIRCUITOS SUMADORES Sumador binario El sumador binario es el elemento básico de la unidad aritmética de cualquier ordenador, pues cualquier operación aritmética básica puede realizarse a partir de sumas y restas repetidas. Para sumar dos números de n bits, hay que sumar dos a dos los bits del mismo peso y el acarreo de la suma de los bits de peso inmediato inferior. Semisumador (half adder) Es un circuito combinacional que realiza la suma de dos dígitos binarios, obteniendo su suma y el acarreo para la etapa siguiente. No tiene en cuenta el bit de acarreo de la etapa anterior. Su tabla de verdad, y símbolo como bloque es: a b S C 0 0 1 1 0 1 0 1 0 1 1 0 0 0 0 1 a b 1/2 Suma (S) Acarreo (C) UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA Implementando por "1": S = a' · b + a · b' = a b C=a·b La suma S responde a una función OR-exclusiva y el acarreo C a una función AND. Figura 2.10. Semisumador Si no deseamos utilizar la puerta OR-Exclusiva por su coste superior, el semisumador se puede implementar de la siguiente forma: Figura 2.11. Semisumador con AND, OR, INVERSOR Etapa de sumador (sumador completo) Es un circuito combinacional capaz de sumar dos dígitos (cifras) binarios, teniendo en cuenta el acarreo producido en la etapa anterior. Obtiene la suma y el acarreo para la etapa siguiente. Su tabla de verdad y símbolo como bloque es: a b Cin S Cout 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 1 0 1 0 0 1 0 0 0 1 0 1 1 1 a b Cin Suma (S) Acarreo (Cout ) UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA a y b = Variables de entrada Cin = Acarreo entrada (etapa anterior) S = Suma Cout = Acarreo salida (etapa siguiente) Una forma simple de implementar la etapa de sumador es a partir de dos semisumadores. Como hay que sumar los dos bits (dígitos) del mismo peso más el acarreo anterior, se utiliza un semisumador para sumar los dos dígitos y el resultado se suma con el acarreo anterior mediante otro semisumador. Si en alguna de las dos sumas parciales se produce acarreo, habrá acarreo en la etapa de sumador (función OR). Esto puede comprobarse en la tabla de verdad. La etapa de sumador puede implementarse con el siguiente circuito. Figura 2.12. Sumador completo CODIFICADORES Y DECODIFICADORES Codificadores Son circuitos combinacionales que permiten pasar una información en forma decodificada (dígito decimal u octal) a una forma codificada (BCD o binario). Si nos limitamos a sistemas binarios, el codificador deberá tener n salidas si queremos codificar m entradas, siendo m=2n. De esta forma, m informaciones diferentes quedan representadas mediante grupos de n bits, es decir, las líneas de salida generan el código binario correspondiente al valor de entrada. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA Ejemplo: Codificador octal a binario Tenemos 8 entradas, una para cada dígito octal, y tres salidas que generan el número binario correspondiente. Se supone que sólo una entrada tiene un valor de 1 en cualquier momento. E7 0 0 0 0 0 0 0 1 E6 0 0 0 0 0 0 1 0 E5 0 0 0 0 0 1 0 0 Entradas E4 E3 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 E2 0 0 1 0 0 0 0 0 E1 0 1 0 0 0 0 0 0 E0 1 0 0 0 0 0 0 0 S2 0 0 0 0 1 1 1 1 Salidas S1 S0 0 0 0 1 1 0 1 1 0 0 0 1 1 0 1 1 Si implementamos por “1”, obtenemos las funciones lógicas de las 3 salidas: S0 = E1 + E3 + E5 + E7 S1 = E2 + E3 + E6 + E7 S2 = E4 + E5 + E6 + E7 Vemos que el decodificador puede implementarse con 3 puertas OR de 4 entradas. Este decodificador tiene la limitación de que sólo puede estar activa una entrada en un momento dado: si se activan simultáneamente dos entradas, la salida produce una combinación incorrecta. Para resolver esta ambigüedad, algunos circuitos codificadores deben establecer una prioridad de entrada para asegurar que sólo se codifique una entrada. Por ejemplo, en este caso podríamos haber establecido una prioridad más alta para las entradas con subíndices mayores. Otra ambigüedad de este codificador es que se genera una salida de 0’s cuando todas las entradas son 0, pero esta salida es igual que cuando D0=1. Esta discrepancia puede resolverse dando una salida más para indicar que al menos una de las entradas es igual a 1. Tipos de codificadores: UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA Existen dos tipos de codificadores: Codificadores sin prioridad Codificadores con prioridad Cualquier codificador que funcione como el descrito anteriormente recibe el nombre de codificador sin prioridad, y se caracteriza porque, en caso de presentarse dos entradas simultáneas o más, las salidas obtenidas serán todas aquellas que correspondan a cada entrada por separado. Por tanto, en estos codificadores sólo se puede poner a “1” una sola entrada, pues de otro modo, la salida es incorrecta. Existe otro tipo de codificadores, llamados codificadores con prioridad, que en el caso de activarse más de una entrada, la combinación de salidas obtenida corresponde a la entrada de mayor valor decimal de entre las activadas. Por ejemplo, si pulsamos las teclas 1 y 3 simultáneamente, se queda con el 3. Decodificadores Realizan la función inversa de los codificadores. Partiendo de una información codificada de n bits, obtiene la información de que se trata. El número m de informaciones que se pueden obtener (salidas) debe ser tal que m=2n. Si la información codificada de n bits tiene combinaciones no usadas (indiferencias), el decodificador podría tener menos de 2 n salidas. Ejemplo 1: Decodificador de BCD a decimal Su tabla de verdad es: E3 0 0 0 0 Entradas E2 E1 0 0 0 0 0 1 0 1 E0 0 1 0 1 S9 0 0 0 0 S8 0 0 0 0 S7 0 0 0 0 S6 0 0 0 0 Salidas S5 S4 0 0 0 0 0 0 0 0 S3 0 0 0 1 S2 0 0 1 0 S1 0 1 0 0 S0 1 0 0 0 UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 0 0 0 1 x x x x x x 0 0 0 0 1 0 x x x x x x 0 0 0 1 0 0 x x x x x x 0 0 1 0 0 0 x x x x x x 0 1 0 0 0 0 x x x x x x 1 0 0 0 0 0 x x x x x x 0 0 0 0 0 0 x x x x x x 0 0 0 0 0 0 x x x x x x 0 0 0 0 0 0 x x x x x x 0 0 0 0 0 0 x x x x x x Implementando por "1": S5 = E 3' · E 2 · E 1’ · E 0 S6 = E 3' · E 2 · E 1 · E 0' S7 = E 3' · E 2 · E 1 · E 0 S8 = E 3 · E 2' · E 1' · E 0' S9 = E 3 · E 2' · E 1' · E 0 S0 = E 3' · E 2' · E 1' · E 0' S1 = E 3' · E 2' · E 1' · E 0 S2 = E 3' · E 2' · E 1 · E 0' S3 = E 3' · E 2' · E 1 · E 0 S4 = E 3' · E 2 · E 1' · E 0' Si no simplificamos las funciones, utilizando inversores y puertas AND de 4 entradas podemos implementar el circuito del siguiente modo E0 E1 E2 E3 S0 S9 Figura 2.13. Decodificador Este decodificador activa (pone a 1) una de sus salidas, cuando se presenta una combinación válida en la entrada. En cambio, si el código no es válido (por ejemplo, UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 1 1 1 1), no se activa ninguna salida. Por tanto, con este diseño se eliminan las combinaciones de entrada no válidas. Es posible diseñar un decodificador que no elimine las combinaciones no válidas, con la ventaja de que resulta un circuito más simple y económico. Ejemplo 2: Decodificador de BCD a segmentación en siete Los dispositivos de visualización de las calculadoras electrónicas y relojes digitales utilizan diodos emisores de luz (LEDs). Cada dígito del dispositivo se forma con siete segmentos, cada uno consistente en un LED que se ilumina mediante señales digitales. El decodificador que vamos a ver es un circuito combinacional que acepta un dígito decimal en BCD y genera las salidas adecuadas para la selección de los segmentos que representan el dígito decimal. Disposición de los segmentos en un display de 7 segmentos: A B C D Circuito combinacional: decodificador BCD a 7 segmentos a a..g f b e c d Segmentos activos para todos los dígitos decimales: Figura 2.14. Decodificador BCD a 7 segmentos Como vemos, cada segmento se utiliza para varios dígitos decimales, pero ninguno de ellos se emplea para representar todos los dígitos decimales. Por tanto, debemos determinar los segmentos que hay que activar para cada uno de los dígitos decimales. Dígito decimal 0 1 2 3 Segmentos activados a,b,c,d,e,f b,c a,b,d,e,g a,b,c,d,g UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 4 5 6 7 8 9 b,c,f,g a,c,d,f,g a,c,d,e,f,g a,b,c a,b,c,d,e,f,g a,b,c,d,f,g La lógica de decodificación de segmentos requiere cuatro entradas en código decimal binario (BCD) y siete salidas, una para cada segmento del display. La tabla de verdad será de salida múltiple, equivalente a 7 tablas de verdad, una por segmento. Vamos a considerar que al tener "1" en las salidas, el segmento correspondiente está encendido. Díg. dec. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 D 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 Entradas C B 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 A 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 a 1 0 1 1 0 1 1 1 1 1 x x x x x x b 1 1 1 1 1 0 0 1 1 1 x x x x x x Salidas c d 1 1 1 0 0 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 x x x x x x x x x x x x e 1 0 1 0 0 0 1 0 1 0 x x x x x x f 1 0 0 0 1 1 1 0 1 1 x x x x x x g 0 0 1 1 1 1 1 0 1 1 x x x x x x MULTIPLEXORES Y DEMULTIPLEXORES Multiplexores Son circuitos combinacionales con una estructura de varias entradas y una única salida de datos. Permiten seleccionar una de las entradas para realizar la transmisión de datos desde dicha entrada a la salida, que es única. Los demultiplexores realizan la función inversa. Esquemáticamente: Entradas Salida Entrada Multiplexor Salidas Demultiplexor Figura 2.15. Multiplexor (a) y Demultiplexor (b) Un multiplexor es un selector de datos equivalente a un conmutador de "m" entradas y una salida, por lo que también recibe el nombre de selector de datos o conmutador electrónico. La selección de la entrada se controla mediante unas entradas de selección o control. Cuando sólo tenemos una entrada de control (2 entradas), también se le llama entrada de habilitación (enable). La entrada seleccionada viene biunívocamente determinada por la combinación de "0" y "1" en las entradas de control. Por tanto, si tenemos "m" entradas de datos, harán falta "n" entradas de control, siendo m=2n . El diagrama de bloques es: E0 E1 E2 MUX 4 entradas E3 C0 C1 S "m" entradas de información "n" entradas de control (m=2n) 1 única salida (S) UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA Como la salida de datos será igual a la entrada de datos seleccionada, podemos obtener una expresión lógica para la salida en función de las entradas de datos y las entradas de selección. Ejemplo: un multiplexor de 4 entradas de datos (4 a 1) Su tabla de verdad es En donde la x significa que el valor de dicha entrada no influye en la salida. Implementando por "1" tenemos: S = C 1' · C 0' · E 0 + C 1' · C 0 · E 1 + C1 · C 0’ · E 2 + C1 · C0 · E 3 Esta función se puede simplificar más. La implementación con puertas lógicas es la siguiente: UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA E0 E1 S E2 E3 C0 C1 Figura 2.16. Multiplexor Para diferente número de entradas el circuito tiene la misma estructura. Demultiplexores Un demultiplexor es un circuito combinacional que realiza la función inversa de un multiplexor, es decir, expande un circuito de una sola señal de entrada a varias señales de salida: 2n. La información se redirige a una sola salida. La selección de la salida específica es controlada por la combinación de bits de n líneas de selección o control. El diagrama de bloque es: S0 E DEMUX 4 salidas 1 entrada única (E) “n“entradas de control (m=2n) “m“ salidas S1 S2 S3 C0 C1 El circuito es: E UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA Si examinamos el circuito veremos que el circuito demultiplexor es idéntico a un decodificador de 2 a 4 líneas con entrada de habilitación: S0 S1 S2 S3 C0 C1 Para el decodificador: las entradas de datos son C0 y C1, y la habilitación es la entrada E. Para el demultiplexor: la entrada E provee los datos, mientras que las entradas C 0 y C1 son las entradas de control o selección. Figura 2.17. Demultiplexor Aunque ambos circuitos tienen aplicaciones diferentes, sus diagramas lógicos son idénticos. Por esto, a los decodificadores con entrada de habilitación se les llama decodificador/demultiplexor. Las aplicaciones de los demultiplexores son: Conversor serie-paralelo. Ejemplo de demultiplexor: 74154, de 16 salidas. CIRCUITOS COMPARADORES La función básica de un comparador consiste en comparar las magnitudes de dos cantidades binarias (n bits) para determinar su relación: igualdad y desigualdad (menor, mayor): A<B A=B El símbolo como bloque es: S1 (A<B) A COMP S2 (A=B) n A>B A = a n ... a1 (n bits) B = b n ... b1 (n bits) S3 (A>B) B n Sólo una de las tres salidas se pondrá a “1“, indicando la magnitud de A respecto de B. Comparador de números binarios de 1 bit UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA Vamos a diseñar un comparador de 2 números A y B de 1 bit cada uno (a y b). El comparador tendrá dos entradas (a y b) y 3 salidas (S 1, S 2, S 3): La tabla de verdad: Entradas a 0 0 1 1 b 0 1 0 1 S1 (a<b) 0 1 0 0 Salidas S2 (a=b) 1 0 0 1 S3 (a>b) 0 0 1 0 Implementando por “1“ las tres funciones de salida: S1 = a'·b S2 = a'·b' + a·b = (a S3 = a·b' b)' = ( a'·b + a·b' )' El circuito básico será: a S1 (a<b) S2 (a=b) b S3 (a>b) Figura 2.18. Comparador con compuertas GENERADORES/COMPROBADORES DE PARIDAD Durante la transmisión de información binaria se pueden producir errores. Para detectar estos errores se utiliza el método de paridad, el cual utiliza un bit de paridad. La idea del método de paridad es la siguiente. Cualquier grupo de bits contiene un número par o impar de 1's. Lo que hacemos es añadir un bit de paridad. Un bit de paridad es un bit adicional incluido en el mensaje binario para hacer que la cantidad de unos sea par o impar. El mensaje se transmite (incluyendo el bit de paridad), y luego se comprueba en el extremo receptor. Si la cantidad de bits 1's del mensaje no corresponden al bit de paridad transmitido quiere decir que uno de los bits ha cambiado de valor, y por tanto, se detecta un error. El circuito que genera el bit de paridad del transmisor se llama generador de UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA paridad. No importa si se añade al principio o al final del mensaje a transmitir. El circuito que comprueba el bit de paridad en el receptor se llama comprobador de paridad. Obviamente, un determinado sistema puede funcionar con paridad par o impar, pero no con ambas: Paridad par: - El generador de paridad se encarga de añadir un bit de paridad tal que tengamos un número par de 1's. - El comprobador de paridad se encarga de comprobar que el número de 1's recibidos es par. Paridad impar: - El generador de paridad se encarga de añadir un bit de paridad tal que tengamos un número impar de 1's. - El comprobador de paridad se encarga de comprobar que el número de 1's recibidos es impar. Ejemplo de circuito integrado de paridad de 9 bits (8 de información + 1 de paridad) es el circuito 74180. Ejemplo: Generador de paridad (par) Vamos a transmitir un mensaje de 3 bits, con un bit de paridad. Podemos utilizar paridad par o paridad impar. En este ejemplo utilizamos paridad par, es decir, debemos generar el bit de paridad de tal forma que la cantidad total de unos (incluyendo el bit de paridad) sea par. Tabla de verdad: Mensaje de 3 bits x y z 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 Función lógica: Bit de paridad P 0 1 1 0 1 0 0 1 P=x y z Circuito: x y z P UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA Circuito: x y C z p NOTA: Es obvio que los circuitos de generación y comprobación de paridad siempre tienen una función de salida cuyos términos son mitad “1“ y mitad “0“, por lo que pueden implementarse con puertas XOR. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA CIRCUITOS SECUENCIALES SINCRONOS Y ASINCRONOS Y MAQUINAS DE ESTADOS FINITO CIRCUITOS LÓGICOS SECUENCIALES Un circuito cuya salida depende no solo de la combinación de entrada, sino también de la historia de las entradas anteriores se denomina Circuito Secuencial. La historia de las entradas anteriores en un momento dado se encuentra resumida en el estado del circuito, el cual se expresa en un conjunto de variables de estado. El circuito secuencial debe ser capaz de mantener su estado durante algún tiempo, para ello se hace necesario el uso de dispositivos de memoria. Los dispositivos de memoria utilizados en circuitos secuenciales pueden ser tan sencillos como un simple retardador (inclusive, se puede usar el retardo natural asociado a las compuertas lógicas) o tan complejos como un circuito completo de memoria denominado multivibrador biestable o Flip Flop. Como puede verse entonces, en los circuitos secuenciales entra un factor que no se había considerado en los combinacionales, dicho factor es el tiempo. De hecho, los circuitos secuenciales se clasifican de acuerdo a la manera como manejan el tiempo en circuitos secuenciales síncronos y circuitos secuenciales asíncronos. • En un circuito secuencial asíncrono, los cambios de estado ocurren al ritmo natural marcado por los retardos asociados a las compuertas lógicas utilizadas en su implementación, es decir, estos circuitos no usan elementos especiales de memoria, pues se sirven de los retardos propios (tiempos de propagación) de las compuertas lógicas usados en ellos. Esta manera de operar puede ocasionar algunos problemasde funcionamiento, ya que estos retardos naturales no están bajo el control del diseñador y además no son idénticos en cada compuerta lógica. • Los circuitos secuenciales síncronos, sólo permiten un cambio de estado en los intantes marcados por una señal de sincronismo de tipo oscilatorio denominada reloj. Con ésto se pueden evitar los problemas que tienen los circuitos asíncronos originados por cambios de estado no uniformes en todo el circuito. Un sistema secuencial posee un 2n estados de entrada para n entradas (X1...Xn). Poseen además 2p estados de salida para p salidas (Z1...Zp) y un número finito de estados internos (y1...ym) de ahí que sean conocidos como autómatas finitos. Según la relación entre las salidas y los estados internos podemos distinguir: UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA AUTÓMATA de MEALY, las salidas se obtienen en función de las entradas y los estados internos: Figura 2.19. Autómata de Mealy AUTÓMATA de MOORE, las salidas coinciden o dependen solo de los estados internos Figura 2.20. Autómata de Moore UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA CONCEPTOS GENERALES DE LATCHES Y FLIP-FLOPS: Los circuitos biestables son aquellos que poseen dos estados estables que se pueden mantener por tiempo indefinido, lo que nos permite tener almacenado un dato en un dispositivo por el tiempo que se desee. Las salidas del circuito, además de ser función de las entradas son función de la información almacenada en elementos de memo ria del circuito, en el momento que se producen las entradas. Están formados por un circuito combinacional y un bloque de elementos de memoria: Figura 2.21. Circuitos biestables La señal del reloj indica a los elementos de memoria cuando deben cambiar su estado. Existen dos tipos de biestables muy importantes: el latch y el flip- flop. Estos circuitos están compuestos por compuertas lógicas y lazos de retroalimentación y son considerados los circuitos básicos que constituyen los sistemas digitales. El latch es un circuito biestable asíncrono, es decir que sus salidas cambian en la medida en que sus entradas cambien. El flip- flop es un dispositivo secuencial sincrónico que toma muestras de sus entradas y determina una salida sólo en los tiempos determinados por el reloj (CLK). Además, se pueden tener flip- flops Master-Slave y flip- flops disparados por flanco. Los flip- flops Master-Slave están conformados por dos latches con habilitación en cascada, es decir que la salida de un latch es la entrada del otro, mientras que el flip- flop disparado por flanco posee un dispositivo para determinar cuando hay una pendiente, ya sea de subida o de bajada, en el reloj que habilita el flip-flop. El Flip-Flop S-R (Set-reset): Es un circuito biestable conformado por un detector de transición de impulsos que está encargado de detectar cuándo se tiene un flanco de subida o de bajada del reloj (CLK), dos compuertas NAND encargadas de enviar estos pulsos a las compuertas OR. En estas compuertas OR, una de las salidas está conectada a UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA la entrada de la otra compuerta, logrando una retroalimentación: Diagrama lógico del flip- flop S-R: Tabla de verdad del flip- flop S-R: Diagrama de tiempos del flip-flop S-R: Figura 2.22. Flip Flop SR Utilizando las equivalencias lógicas podemos definir al flip- flop S-R mediante 2 compuertas NOR: UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA El flip-flop D: Está compuesto por dos compuertas NAND encargadas de enviar la señal de habilitación a las compuertas OR (al igual que el flip- flop SR se puede construir con otras compuertas lógicas). La salida de una compuerta OR se transforma en la entrada de la otra (retroalimentación). Se puede observar la similitud con el flip- flop SR, solamente difieren en una entrada de habilitación y en que la entrada de Reset es igual a la de Set negada Diagrama lógico del flip- flop D: Tabla de verdad del Flip-Flop D: UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA Diagrama de Tiempos del flip- flop D: Figura 2.23. Flip Flop D El flip-flop J-K: El biestable S-R presenta problemas cuando se activan simultáneamente las dos entradas S y R. Podemos diseñar un biestable similar que no presente estos problemas a partir de un biestable D (el resultado es el flip- flop J-K): Tabla de verdad del biestable J-K: Cronograma del biestable J-K (activado por flanco de subida): UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA Por medio de equivalencias lógicas se puede obtener el siguiente diagrama lógico para el flip flop J-K: Figura 2.24. Flip Flop JK En este caso, para lograr un valor estable cuando se activan ambas entradas se hace una retroalimentación de Q y /Q con las compuertas de la entrada. El Flip-Flop T (Toggle): Mantiene su estado o lo cambia dependiendo del valor de T cada vez que se activa. Se puede implementar utilizando un biestable J-K Diagrama lógico del flip- flop T: Tabla de verdad del flip- flop T: UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA Diagrama de tiempos del flip-flop T: Figura 2.25. Flip Flop T REGISTROS Se forman a partir de biestables de tipo D conectados en cascada. Un registro con N biestables es capaz de almacenar N bits. Son circuitos sincrónicos y todos los biestables están gobernados por la misma señal de reloj. Podemos definir dos tipos de registros (de Almacenamiento y de Desplazamiento) Registros de Almacenamiento: Ej: Registro de 4 bits D=(D0,D1,D2,D3) es el dato a escribir. Q=(Q0,Q1,Q2,Q3) es el dato leído. Registros de Desplazamiento: Son circuitos sincrónicos que cuando se activan, se desplazan los bits de sus UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA biestables “hacia derecha” o “hacia izquierda”. Se clasifican de la siguiente manera: Entrada Serie Salida Paralelo Entrada Serie Salida Serie Entrada Paralelo Salida Paralelo Entrada Paralelo Salida Serie Registros Universales. Entrada/Salida Serie: Entra/Sale un bit en cada pulso de reloj. Entrada/Salida paralelo: Entran/Salen todos los bits del dato en el mismo pulso de reloj Ej: Registro de Desplazamiento de 4 bits (Entrada Serie) Figura 2.27. Registro de desplazamiento Tabla de funcionamiento: /Clear 1 1 1 0 Entradas Reloj 0 X EntradaSerie 0 1 X X Salidas Q0 Q1 Q2 Q3 0 Q0´ Q1´ Q2´ 1 Q0´ Q1´ Q2´ Q0´ Q1´ Q2´ Q3´ 0 0 0 0 CONTADORES Un contador de N bits se implementa utilizando N biestables de tipo T. Los contadores se pueden clasificar en: -Asíncronos y Síncronos UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA -Ascendentes y descendentes -Módulo N. Contadores Asíncronos: Sólo utilizan biestables sin ninguna puerta lógica adicional. La entrada de reloj al contador sólo se conecta al primero de los biestables (el de menor peso). La salida de estado de cada biestable (Q) o la complementaria (/Q) se conecta con el inmediato posterior. Las entradas de datos de los biestables (J-K o T) se conectan a un “1” fijo. Contadores Sincrónicos: La señal externa del reloj está conectada a todos los biestables, por lo tanto, se activan todos de manera simultánea. La entradas de reloja al contador se conecta a las entradas de reloj de todos los biestables. La entrada de datos (J-K o T) del biestable de menor peso se conecta a un “1” fijo. Se precisan puertas adicionales para implementar la lógica que indique cuando deben voltear su estado los biestables. Contadores módulo N: El módulo de un contador es el número de cuentas distintas que realiza dicho contador. Para implementar un contador de módulo N, se elige un contador con n bits (ascendente o descendente), siendo 2n-1 <N<2n y se eliminan las cuentas sobrantes, añadiendo lógica combinacional. Por ejemplo, para implementar un contador asíncrono módulo diez ascendente, que cuente los diez dígitos decimales se necesita un contador ascendente de 4 bits, ya que 23< 4 < 24, y se añade la lógica combinacional requerida. Ejemplo: Contador asíncrono módulo 10: Paso 1: elegir un Contador ascendente de 4 bits (de 0 a 15) Paso 2: Detectar el 10 (1010 en binario) con una compuerta NAND Paso 3: Reset de todos los biestables cuando ocurra la detección Circuito: Figura 2.28. Contadores de modulo N UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA MAQUINA DE ESTADOS FINITOS DEFINICION Son ciertos circuitos secuenciales que tienen un número determinado de estados (2n). Pueden ser retroalimentados (flip flops, biestables) o máquinas sincrónicas temporizadas cuando utilizan las primeras para crear circuitos cuyas entradas son examinadas y cuyas salidas cambian con respecto a una señal de reloj controlada. En cualquier caso, se tienen unas entradas, unas salidas y unos estados. ESTRUCTURA Figura 2.29. Estructura máquina de estados finitos Lógica de estado siguiente (F): Una función de las entradas y del estado actual. Memoria de estados: Es un conjunto de n flip-flops que almacenan el estado presente de la máquina, que tiene 2n estados diferentes. La señal de reloj controla el cambio de estado en tales flip-flops. La señal de reloj: dispone el funcionamiento de los flip-flops ya sea por disparo de flanco o por disparo de pulso Lógica de salida (G): Una función del estado actual y/o de las entradas Máquina de Mealy: Es la máquina de estado en la cual la salida depende tanto del estado presente como de las entradas externas. (Es el representado en la figura 2.29). Máquina de Moore: Es la máquina de estado en la cual las salidas solo dependen del estado presente. Su estructura se muestra en la figura 2.30 UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA Figura 2.30. Estructura máquina de Moore DISEÑO DE MAQUINAS DE ESTADO SINCRONIZADAS CON RELOJ Los pasos para diseñar una máquina de estados sincronizada con reloj, comenzando con una descripción verbal o especificación escrita, son los contrarios de los pasos de análisis . (1) Construir una tabla de estado/salida correspondiente a la descripción o especificación, mediante nombres mnemotécnicos para los estados. (Puede partirse del diagrama de estados correspondiente. (2) Minimizar el número de estados en la tabla de estado/salida(opcional) (3) Elegir un conjunto de variables de estado y asignar combinaciones de variables de estado a cada uno de los estados. (4) Sustituir las combinaciones de variable de estado en la tabla de estado/salida para crear una tabla de transición/salida que muestre la combinación de variable de estado siguiente y la salida para cada combinación de estado/salida (5) Elegir el tipo de flip flop que hará la memoria de estado. (6) Construir una tabla de excitación que muestre los valores de excitación requeridos para obtener el estado siguiente deseado para cada combinación de estado/entrada. (7) Derivar las ecuaciones de excitación de la tabla de excitación (8) Derivar las ecuaciones de salida de la tabla de transición/salida (9) Dibujar el diagrama lógico que muestre los elementos de almacenamiento de las variables de estado y realice las ecuaciones requeridas de excitación y salida. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA Diseño de tablas de estado El proceso es semejante a escribir un programa de computador: Descripción de entradas y salidas, más bien precisa, pero con descripción ambigua de las relaciones deseadas entre ellas y sin ninguna idea de cómo obtener y sin ninguna idea de cómo obtener en realidad las salidas deseadas a partir de las entradas. Determinación de procedimiento de diseño Nuevas identificaciones y manejo de elementos no tenidos en cuenta en el inicio Prueba Depuración. Ejemplo 1. Diseñe una máquina de estado finito que produce salida 1 si la entrada es un número par de unos, produce la salida 0 en caso contrario. Solución Los dos estados de la máquina serán P e I donde P es par e I es impar. El estado inicial es 0, que es un número par. La tabla de transición de estados es la siguiente: f 0 1 P P I I I P La tabla de salida será: g 0 1 P 1 0 I 0 1 Así, por ejemplo, si la entrada es 11101 entonces la salida vendrá dada por: g(P,11101) = g(g(P,1),1101) UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA = g(I,1101) = g(g(I,1),101) = g(P,101) = g(g(P,1),01) = g(I,01) = g(g(I,0),1) = g(I,1) = 1 UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA RIESGOS O AZARES AZARES Un aspecto muy importante a considerarse dentro del análisis transitorio de los circuitos consiste en deducir las transiciones que tendrán lugar en sus estados. Sería lógico pensar que para cada cambio de las señales de entrada, debería existir como máximo un cambio en cada señal de salida (si tuviese que cambiar su valor lógico) o ninguno (si no tuviese que cambiar dicho valor). No obstante esto no se produce en la mayoría de los casos reales. El principal error consiste en suponer que se pueden producir cambios simultáneos de las diferentes señales del circuito. Como podemos apreciar en la figura 2.31, las señales no llegan de forma simultánea a todas las partes del circuito debido a los diferentes retrasos de cada puerta utilizada. Podemos apreciar que las señales de entrada al circuito han cambiado simultáneamente, pero a la puerta C no llegan los cambios de forma simultánea, sino que el cambio de X1 llega antes. Luego la puerta C realizará dos operaciones en lugar de una, como era de esperar. TA TA X11 TC X2 X2 TB X21 X21 TB Figura 2.31. Imposibilidad de tener transiciones simultáneas en más de una señal digital. Estos retrasos no son controlados ya que además de la función lógica, dependen de otros muchos factores, tanto internos (dispositivos parásitos) como externos (temperatura). Además, la inserción de las señales de entrada (ya sea por un operador humano, mecánico o electrónico) no garantiza que se puedan producir cambios simultáneos de señales, sino todo lo contrario (debido a la no idealidad de los operadores). Por lo tanto, estas transiciones no consideradas son de gran importancia, ya que nos pueden conducir a situaciones erróneas, y no necesariamente de forma transitoria. Si dicho circuito se comporta como entrada de otro, puede que una situación anómala produzca que la situación inicial no sea la correcta, obteniendo UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA un comportamiento diferente al deseado. Además, cuanto más transiciones sean necesarias para la estabilización del circuito, quiere decir que el circuito consumirá más potencia (la energía necesaria para llevar a cabo su operación por unidad de tiempo); este parámetro cobra cada vez más importancia con el auge de los sistemas sin cable. Por lo tanto, Se denomina azar a cualquier desviación del comportamiento esperado, potencial o real, de un circuito de conmutación cuando sufre un cambio en sus entradas. Las desviaciones potenciales, no reales, se siguen considerando azares debido a que el comportamiento de un circuito (y en mayor grado, su régimen transitorio) puede depender de las condiciones de operación en la que se encuentre el circuito, como son la temperatura de operación, la vida de los dispositivos, etc. A una determinada temperatura, no se observa la presencia del azar, pero si se altera dicha temperatura, los retrasos de las puertas pueden variar, ocasionando la presencia del azar. Supongamos que queremos pasar de la combinación “000” a la “110” en la función con las tablas de combinaciones de la figura 2.32. Como hemos visto antes, no podemos cambiar más de una señal de forma simultánea; luego primero debemos cambiar una señal de entrada y luego la otra. Si tenemos en cuenta este razonamiento, la salida pasará por un valor ‘0’ sin que nosotros esperemos este nivel. Por lo tanto, este pulso, mostrado en la figura 2.32, será considerado un azar, por la razón de que no es esperado. Figura 2.32. Ejemplo de azar de función Una vez que hemos detectado la presencia de azares, la cual va a reducir las UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA prestaciones del diseño, tenemos que obtener las causas de estos azares. Como ya hemos dicho la causa principal de los azares es la imposibilidad de tener cambios simultáneos de más de una señal. Así, una primera causa son los cambios simultáneos de las señales de entrada, que debido a la función lógica implementada provocará un azar. Los azares provocados por la función lógica en sí misma se denominan azares de función. Un ejemplo de azar de función es el mostrado en el ejemplo anterior. En ese ejemplo, el azar era debido a que para llegar a la combinación final se debía pasar por otras combinaciones en las que la salida tomaba un valor diferente. Una forma sencilla de evitar los azares de función será imponer la restricción de no permitir cambios simultáneos de señales de entrada. Con esta medida, la transición desde “000” a “110” no sería permitida y tendríamos que elegir alguno de los dos caminos anteriores. El comportamiento sería el mismo pero con la salvedad de que, en caso de elegir el primer camino (donde se obtiene la presencia del azar), el pulso de bajada es esperado y ya no sería considerado azar. Hasta ahora sólo hemos tratado las señales de entrada, no obstante, en un circuito existen tres tipos de señales: entrada, salida e internas. La imposibilidad de cambiar simultáneamente más de una señal interna producirá un comportamiento similar, aunque solamente se haya cambiado una señal de entrada. La función anterior puede tener la implementación mostrada en la figura 2.33. Vamos a estudiar la transición “011” a “001”. En esta transición sólo cambia la señal B, por lo que no existirán azares de función. No obstante, podemos apreciar que se tiene que producir una transición simultánea de las señales N2 y N3. Como esto no es posible, se producirá un azar en la señal N4 que se transmitirá a la salida. Si estudiamos la transición “111” a “101”, podemos apreciar que no existirán azares de función, ya que al igual que antes sólo se produce el cambio de una sola señal de entrada. No obstante se deberían producir una transición simultánea en las señales N2, N3 y N5. Como esto no es posible, se producirá un azar en la señal N4 (debido a la transición de N2 y N3) que se unirá a otro en la salida (debido al azar de N4 y a N5). Estos últimos azares no son debidos a la función lógica, sino al circuito lógico que implementa la función lógica. Los azares provocados por la implementación lógica del circuito se denominan azares lógicos. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA En este caso se aprecia más claro que la no simultaneidad de las transiciones se debe a los retrasos de las puertas utilizadas y a su interconexión. En el ejemplo anterior, hemos observado dos comportamientos diferentes. La diferencia radica en que la señal de salida, al alcanzar el estado estacionario, deba cambiar de valor o no. Esta diferencia nos da otra clasificación de azares: • Azares estáticos.- donde la señal de salida en la que se produce el azar no debería cambiar su estado. Este tipo de azares se debe a que dos señales que deberían ser complementarias entre sí, no lo son en un determinado intervalo temporal dentro del estado transitorio. En nuestro caso serían N2, que debería valer , y N3, que debería valer ; pero debido a los retrasos de las puertas se observa que en el transitorio que será imposible en el estado estacionario. Figura 2.33. Ejemplo de azares lógicos. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA • Azares dinámicos.- donde la señal de salida en la que se produce el azar sí debe cambiar de estado. Este tipo de azares se puede ver como un azar estático al que se le ha añadido la transición de una señal. En nuestro caso sería el azar estático producido por las señales N2 y N3, al que se le ha añadido la transición de la señal B a través de N5. Esta clasificación es válida tanto para azares de función como para azares lógicos. Como hemos visto que la forma de eliminar los azares de función consiste en prohibir cambios en varias señales de forma simultánea, de ahora en adelante nos referiremos a azares lógicos permitiendo únicamente cambios en una sola señal de entrada.