UNIDAD 1. FLIP - FLOPS Introducción Los circuitos lógicos que hemos considerado hasta ahora han sido combinacionales, cuyos niveles de salida en cualquier instante son dependientes de los niveles presentes en las entradas en ese instante. Cualquier condición anterior en relación con los niveles de entrada no tiene efecto alguno sobre las salidas actuales, ya que los circuitos lógicos combinacionales no tienen memoria. La mayoría de los sistemas digitales consisten tanto de circuitos combinacional como de elementos de memoria. La figura siguiente muestra un diagrama de bloques de un sistema digital general que combina las compuertas lógicas combinacionales con los dispositivos de memoria. La porción combinacional acepta las señales lógicas de las entradas externas y las salidas de los elementos de memoria. El circuito combinacional opera sobre estas entradas para producir varias salidas, algunas de las cuales se utilizan para determinar los valores binarios que se van a almacenar en los elementos de memoria. A su vez, las salidas de algunos de los elementos de memoria van a las entradas de las compuertas lógicas en los circuitos combinacionales. Este proceso indica que las salidas externas de un sistema digital son funciones tanto de sus entradas externas como de la información almacenada en sus elementos de memoria. El elemento de memoria más importante es el flip-flop, el cual está formado por un conjunto de compuertas lógicas. Una compuerta lógica por sí sola no tiene capacidad de almacenamiento, sin embargo, varias de ellas pueden interconectarse de cierta forma logrando que permiten almacenar información. Para producir estos flip-flop (que se abrevian como FF) se utilizan varios arreglos distintos de compuertas. La figura es el tipo general de símbolo que se utiliza para un flip-flop. ത que son el inverso una Ahí se muestran dos salidas identificadas corno Q y 𝑄, de otra. Q/ 𝑄ത son las designaciones más comunes que se utilizan para las salidas de un FF. De vez en cuando utilizaremos otras designaciones tales como X/ 𝑋ത y A/ 𝐴,ҧ por conveniencia, para identificar los distintos FFs en un circuito lógico. Al flip-flop se le conoce también con otros nombres, incluyendo latch y multivibrador biestable. El término latch se utiliza para ciertos tipos de flipflops que describiremos más adelante. El término multivibrador biestable es el nombre técnico más adecuado en español para un flip-flop, pero es demasiado largo como para utilizarlo regularmente. LATCH DE COMPUERTA NAND El circuito de FF más básico puede crearse a partir de dos compuertas NAND o de dos compuertas NOR. En la figura se muestra la versión con compuertas NAND, a la cual se le conoce como latch de compuerta NAND o simplemente latch. Las dos compuertas NAND están retroalimentadas en forma transversal, de manera que la salida de la compuerta NAND-1 está conectada a una de las entradas de la compuerta NAND-2 y viceversa. La operación antes descrita puede colocarse de manera conveniente en una tabla de funciones y se sintetiza de la siguiente manera: l. SET = RESET = 1. Esta condición es el estado normal de reposo, y no tiene efecto sobre el estado de la salida. Las salidas Q y 𝑄ത permanecerán en el estado en el que se hayan encontrado antes de esta condición de entrada. 2. SET = O, RESET = 1. Esta condición siempre provocará que la salida cambie al estado Q = 1, en donde permanecerá aún después de que SET regrese a ALTO. A esto se le conoce como establecer el latch. 3. SET = 1, RESET = O. Esta condición siempre producirá el estado Q = O, en donde permanecerá la salida aún después de que RESET regrese a ALTO. A esto se le conoce como borrar o restablecer el latch. 4. SET = RESET = O. Esta condición trata de establecer y borrar el latch al mismo tiempo, y produce Q = 𝑄ത = 1. Si las entradas se regresan a 1 en forma simultánea, el estado resultante será impredecible. Esta condición de entrada no debe utilizarse. Terminología A la acción de restablecer un FF o un latch también se le conoce como borrar; ambos términos se utilizan sin distinción en el campo digital. De hecho, una entrada RESET puede llamarse también entrada CLEAR, y un latch SET-RESET puede llamarse latch SET-CLEAR. Las formas de onda de la figura se aplican a las entradas del latch con compuertas Nand. Suponga que al inicio Q = O; determine la forma de onda de Q. 1. ¿Cuál es el estado normal de reposo para las entradas SET y RESET? ¿Cuál es el estado activo de cada una de estas entradas? 2. ¿Cuáles serán los estados de Q y 𝑄ത después de que se haya restablecido (borrado) un FF ? 3. Verdadero o falso: la entrada SET nunca puede usarse para hacer que Q = O. 4. Cuando se aplica energía por primera vez a cualquier circuito F F, es ത ¿Qué puede hacerse para imposible predecir los estados iniciales de Q y 𝑄. asegurar que un latch NAND siempre empiece en el estado Q = 1? LATCH DE COMPUERTA NOR Pueden usarse dos compuertas NOR acopladas en forma transversal para formar lo que se conoce como latch de compuerta NOR. El arreglo, que se muestra en la figura, es similar al latch NAND a excepción de que las salidas Q y 𝑄ത aparecen en posiciones invertidas. Podemos realizar el análisis de la operación del latch NOR exactamente de la misma forma que lo hicimos para el latch NAND. Los resultados se proporcionan en la tabla de funciones de la figura y se sintetizan de la siguiente manera: 1. SET = RESET = O. Éste es el estado normal de reposo para el latch NOR y no tiene efecto sobre el estado de la salida. Q y 𝑄ത permanecerán en el estado que tenían antes de que se produjera esta condición de entrada. 2. SET = 1, RESET = O. Esta condición siempre establecerá Q = 1, en donde permanecerá aún después de que SET regrese a O. 3. SET = O, RESET = 1. Esta condición siempre borrará Q = O, en donde permanecerá aún después de que RESET regrese a O. 4. SET = 1, RESET = 1. Esta condición trata de establecer y restablecer el latch al mismo tiempo, y produce Q = 𝑄ത = O. Si las entradas se regresan a O en forma simultánea, el estado de salida resultante será impredecible. Esta condición de entrada no debe utilizarse. Suponga que al principio Q = O y determine la forma de onda de Q para las entradas del latch NOR de la figura 1. ¿Cuál es el estado normal en reposo de las entradas del latch NOR? ¿Cuál es el estado activo? ത 2. Cuando un latch se establece, ¿cuáles son los estados de Q y 𝑄? 3. ¿Cuál es la única manera de hacer que la salida Q de un latch NOR cambie de 1 a O? P1. Suponiendo que al principio Q = O, aplique las formas de onda x, y de la figura a las entradas SET y RESET de un latch NAND y determine las formas de onda de Q y 𝑄ത . P2. Invierta las formas de onda x y y de la figura anterior, aplíquelas a las entradas SET y RESET de un latch NOR y determine las formas de onda de Q ത Suponga que al principio Q = O. y 𝑄. P3. Las formas de onda de la están conectadas al circuito de la figura. Suponga que al principio Q = O y determine la forma de onda de Q. LATCH DE COMPUERTA NOR Pueden usarse dos compuertas NOR acopladas en forma transversal para formar lo que se conoce como latch de compuerta NOR. El arreglo, que se muestra en la figura, es similar al latch NAND a excepción de que las salidas Q y 𝑄ത aparecen en posiciones invertidas. SEÑALES DE RELOJ Y FLIP-FLOPS SINCRONIZADOS POR RELOJ Los sistemas digitales pueden operar en forma asíncrona o síncrona. En los sistemas asíncronos, las salidas de los circuitos lógicos pueden cambiar de estado en cualquier momento en el que una o más de las entradas cambien. En los sistemas síncronos, los tiempos exactos en los que cualquier entrada puede cambiar de estados se determinan con base en una señal que se conoce comúnmente como el reloj. La velocidad a la que opera un sistema digital síncrono depende de la frecuencia con la que ocurren los ciclos del reloj. Un ciclo de reloj se mide desde una PGT hasta la siguiente PGT, o desde una NGT hasta la siguiente NGT. Al tiempo que se requiere para completar un ciclo (segundos/ciclo) se le conoce como periodo (T). Flip-flops sincronizados por reloj Varios tipos de FFs sincronizados por reloj se utilizan en una amplia variedad de aplicaciones, pero antes de comenzar nuestro estudio al respecto, describiremos las ideas principales que son comunes para todos ellos. Los FFs sincronizados por reloj tienen una entrada de reloj que, por lo general, se identifica como CLK, CK o CP. Aquí utilizaremos CLK. En resumen, podemos decir que las entradas de control preparan a las salidas de FF para cambiar, mientras que la transición activa en la entrada CLK dispara el cambio. Las entradas de control controlan el QUE (es decir, a qué estado cambiará la salida); la entrada CLK determina el CUANDO. 1. ¿Cuáles son los dos tipos de entradas que tiene un FF sincronizado por reloj? 2. ¿Qué significa el término disparado por flanco? 3. Verdadero o falso: la entrada CLK afectará a la salida del FF sólo cuando ocurra la transición activa de la entrada de control. FLIP-FLOP SINCRONIZADO POR RELOJ EN S-R La figura muestra el símbolo lógico para un flipflop sincronizado por reloj en SR que se dispara por el flanco de pendiente positiva de la señal del reloj. Esto significa que el FF puede cambiar de estado sólo cuando una señal que se aplica a su entrada de reloj realiza la transición de O a 1. Las entradas S y R controlan el estado del FF de la misma forma como se describió antes para el Iatch de compuerta NOR, pero el FF no responde a estas entradas sino hasta que ocurre la PGT en la señal del reloj. La figura muestra el símbolo y la tabla de funciones para un flip-flop sincronizado por reloj en S-R que se dispara con la transición de pendiente negativa en su entrada CLK. El pequeño círculo y el pequeño triángulo en la entrada CLK. Indican que este FF se disparará sólo cuando la entrada CLK cambie de 1 a O. Este FF opera de la misma forma que el FF de flanco positivo, con la diferencia de que la salida puede cambiar de estado sólo en el flanco negativo de los pulsos de reloj. FLIP-FLOP SINCRONIZADO POR RELOJ EN J-K La figura muestra un flip-flop sincronizado por reloj en J-K, el cual se dispara por el flanco de pendiente positiva de la señal de reloj. Las entradas J y K controlan el estado del FF de la misma forma que las entradas S y R controlan el flip-flop S-R, sólo por una gran diferencia: la condición J = K = 1 no produce una salida ambigua. Para esta condición de 1, 1, el FF siempre cambiará a su estado opuesto al momento en que ocurra la transición positiva de la señal de reloj. A este modo de operación se le conoce como el modo de conmutación. En este modo, si tanto J como K se dejan en ALTO, el FF cambiará de estado (conmutará) para cada PGT del reloj. La figura muestra el símbolo para un flip-flop sincronizado por reloj en J-K que se dispara con las transiciones de pendiente negativa de la señal del reloj. 1. Verdadero o falso: un flip-flop J-K puede usarse como un flip-flop S-R, pero un flip-flop S-R no puede usarse como un flip-flop J -K. 2. ¿Tiene un flip-flop J -K condiciones de entrada ambiguas? 3. ¿Qué condición de entrada en J-K siempre establecerá Q=1 cuando ocurra la transición activa en CLK? FLIP-FLOP SINCRONIZADO POR RELOJ EN D La figura muestra el símbolo y la tabla de funciones para un flip-flop sincronizado por reloj en D que se dispara con una PGT. A diferencia de los flip-flops S-R y J-K, este flip-flop sólo tiene una entrada de control síncrona D (la cual significa datos). La operación del flip-flop D es muy simple: Q cambiará al mismo estado que esté presente en la entrada D cuando ocurra una PGT en CLK. En otras palabras, el nivel presente en D se almacenará en el flip-flop en el instante en que ocurra la PGT. Las formas de onda de la figura ilustran esta operación. Implementación del flip-flop D Un flip-flop D disparado por flanco se implementa con facilidad con sólo agregar un INVERSOR al flip-flop J-K disparado por flanco, como se muestra en la figura. Si usted prueba ambos valores de D, podrá ver que Q toma el nivel presente en D cuando ocurre una PGT. Lo mismo puede hacerse para convertir un flip-flop S-R en un flip-flop D. ENTRADAS ASÍNCRONAS Para los flip-flops sincronizados por reloj que hemos estudiado, las entradas S, R,J,K y D se han designado como entradas de control. A estas entradas también se les conoce como entradas síncronas, ya que su efecto sobre la salida del FF está sincronizado con la entrada CLK. Como hemos visto, las entradas de control síncronas deben usarse en conjunto con una señal de reloj para disparar el FF. La mayoría de los FFs sincronizados por reloj tienen también una o más entradas asíncronas que operan de manera independiente a las entradas síncronas y a la entrada del reloj. Estas entradas asíncronas pueden usarse para establecer el FF al estado 1 o borrar (RESET) el FF al estado O en cualquier momento, sin importar las condiciones en las otras entradas. Dicho de otra forma, las entradas asíncronas son entradas predominantes, las cuales pueden usarse para ignorar todas las demás entradas y colocar el FF en un estado u otro. La figura muestra un flip-flop J -K con dos entradas asíncronas designadas como PRESET y CLEAR, que son entradas activas en BAJO, como lo indican las burbujas en el símbolo del FF. La tabla de funciones que se muestra sintetiza la manera en que afectan a la salida del FF. Vamos a examinar los diversos casos. 𝑃𝑅𝐸𝑆𝐸𝑇 = 𝐶𝐿𝐸𝐴𝑅 = 1 . Las entradas asíncronas están inactivas y el FF es libre de responder a las entradas J, K y CLK; en otras palabras, puede llevarse a cabo la operación con sincronización por reloj. 𝑃𝑅𝐸𝑆𝐸𝑇 = O; 𝐶𝐿𝐸𝐴𝑅 = 1. La señal 𝑃𝑅𝐸𝑆𝐸𝑇 está activa y Q se establece en forma inmediata en 1, sin importar qué condiciones estén presentes en las entradas J, K y CLK. La entrada CLK. no puede afectar al FF mientras que 𝑃𝑅𝐸𝑆𝐸𝑇 =O. 𝑃𝑅𝐸𝑆𝐸𝑇 = 1; 𝐶𝐿𝐸𝐴𝑅 = O. La señal 𝐶𝐿𝐸𝐴𝑅 se activa y Q se borra de inmediato para quedar en O, sin importar las condiciones en las entradas J, K o CLK. La entrada CLK no tiene efecto mientras que 𝐶𝐿𝐸𝐴𝑅 = O. 𝑃𝑅𝐸𝑆𝐸𝑇 = 𝐶𝐿𝐸𝐴𝑅 = O. Esta condición no debe utilizarse, ya que puede producir una respuesta ambigua. La figura muestra el símbolo para un FF J -K que responde a una NGT en su entrada de reloj y que tiene entradas asíncronas activas en BAJO. Antes de seguir con el ejemplo, tome nota de la manera en que están etiquetadas las entradas. Primero observe que la señal de reloj que se aplica al FF está etiquetada como CLK (la barra superior indica que esta señal se activa en la NGT), mientras que en el otro lado de la burbuja (dentro del bloque) se etiqueta como CLK. De igual forma, las entradas asíncronas externas activas en BAJO se etiquetan como PRE y CLR, mientras que dentro del bloque al otro lado de la burbuja se etiquetan como PRE y CLR. El punto importante a recordar es que la presencia de la burbuja en una entrada indica que esa entrada responde a una señal de nivel BAJO. Las entradas J y K se muestran enlazadas al nivel ALTO en este ejemplo. Determine la salida Q en respuesta a las formas de onda de entrada que se muestran en la figura. Suponga que al principio Q está en ALTO.