stringtranslate.com

Flip-flop (electrónica)

Un pestillo SR interactivo animado ( R1, R2 = 1  kΩ; R3, R4 = 10  kΩ)

En electrónica , los flip-flops y los pestillos son circuitos que tienen dos estados estables que pueden almacenar información de estado: un multivibrador biestable . Se puede hacer que el circuito cambie de estado mediante señales aplicadas a una o más entradas de control y generará su estado (a menudo junto con su complemento lógico también). Es el elemento de almacenamiento básico en la lógica secuencial . Los flip-flops y los pestillos son componentes fundamentales de los sistemas electrónicos digitales utilizados en computadoras, comunicaciones y muchos otros tipos de sistemas.

Los flip-flops y los pestillos se utilizan como elementos de almacenamiento de datos para almacenar un solo bit (dígito binario) de datos; uno de sus dos estados representa un "uno" y el otro representa un "cero". Dicho almacenamiento de datos se puede utilizar para el almacenamiento de estado , y dicho circuito se describe como lógica secuencial en electrónica. Cuando se usa en una máquina de estados finitos , la salida y el siguiente estado dependen no solo de su entrada actual, sino también de su estado actual (y, por lo tanto, de las entradas anteriores). También se puede utilizar para contar pulsos y para sincronizar señales de entrada de temporización variable con alguna señal de temporización de referencia.

Históricamente, el término flip-flop se ha referido genéricamente a circuitos activados por nivel (asíncronos, transparentes u opacos) y activados por borde ( síncronos o sincronizados ) que almacenan un solo bit de datos mediante puertas . [1] Los autores modernos reservan el término flip-flop exclusivamente para los elementos de almacenamiento activados por borde y pestillos para los activados por nivel. [2] [3] Los términos "activado por flanco" y "activado por nivel" pueden utilizarse para evitar ambigüedades. [4]

Cuando se habilita un pestillo activado por nivel, se vuelve transparente, pero la salida de un flip-flop activado por flanco solo cambia en un flanco del reloj (ya sea positivo o negativo).

Se encuentran disponibles diferentes tipos de flip-flops y pestillos como circuitos integrados , generalmente con múltiples elementos por chip. Por ejemplo, 74HC75 es un pestillo transparente cuádruple de la serie 7400 .

Historia

Esquemas de la patente del relé de activación de Eccles y Jordan presentada en 1918, uno dibujado como una cascada de amplificadores con una ruta de retroalimentación positiva y el otro como un par simétrico de acoplamiento cruzado.

El primer pestillo electrónico fue inventado en 1918 por los físicos británicos William Eccles y FW Jordan . [5] [6] Inicialmente se llamó circuito disparador de Eccles-Jordan y constaba de dos elementos activos ( tubos de vacío ). [7] El diseño se utilizó en la computadora de descifrado de códigos británica Colossus de 1943 [8] y dichos circuitos y sus versiones transistorizadas eran comunes en las computadoras incluso después de la introducción de los circuitos integrados , aunque los pestillos y flip-flops hechos de puertas lógicas también son comunes ahora. . [9] [10] Los primeros pestillos se conocían como circuitos de activación o multivibradores .

Según PL Lindley, ingeniero del Laboratorio de Propulsión a Chorro de EE. UU ., los tipos de flip-flop que se detallan a continuación (SR, D, T, JK) se analizaron por primera vez en un curso de 1954 de la UCLA sobre diseño de computadoras impartido por Montgomery Phister, y luego aparecieron en su libro Diseño lógico de computadoras digitales. [11] [12] Lindley estaba en ese momento trabajando en Hughes Aircraft bajo la dirección de Eldred Nelson, quien había acuñado el término JK para un flip-flop que cambiaba de estado cuando ambas entradas estaban activadas (un "uno" lógico). Los otros nombres fueron acuñados por Phister. Difieren ligeramente de algunas de las definiciones que se dan a continuación. Lindley explica que escuchó la historia del flip-flop JK de Eldred Nelson, quien es responsable de acuñar el término mientras trabajaba en Hughes Aircraft. Las chanclas que se usaban en Hughes en ese momento eran todas del tipo que llegó a conocerse como JK. Al diseñar un sistema lógico, Nelson asignó letras a las entradas del flip-flop de la siguiente manera: #1: A y B, #2: C y D, #3: E y F, #4: G y H, #5: J y K. Nelson utilizó las notaciones " j -input" y " k -input" en una solicitud de patente presentada en 1953. [13]

Implementación

Un circuito de cierre transparente basado en transistores de unión bipolar

Se pueden construir pestillos transparentes o asíncronos alrededor de un solo par de elementos inversores de acoplamiento cruzado: en circuitos prácticos se han utilizado tubos de vacío , transistores bipolares , transistores de efecto de campo , inversores y puertas lógicas inversoras.

Los flip-flops sincronizados están especialmente diseñados para sistemas síncronos; dichos dispositivos ignoran sus entradas excepto en la transición de una señal de reloj dedicada (conocida como sincronización, pulsación o estroboscópica). El reloj hace que el flip-flop cambie o retenga su señal de salida en función de los valores de las señales de entrada en la transición. Algunos flip-flops cambian la salida en el flanco ascendente del reloj, otros en el flanco descendente.

Dado que las etapas amplificadoras elementales son inversoras, se pueden conectar dos etapas en sucesión (como una cascada) para formar el amplificador no inversor necesario. En esta configuración, cada amplificador puede considerarse como una red de retroalimentación inversora activa para el otro amplificador inversor. Por lo tanto, las dos etapas están conectadas en un bucle no inversor, aunque el diagrama del circuito generalmente se dibuja como un par simétrico de acoplamiento cruzado (ambos dibujos se introdujeron inicialmente en la patente de Eccles-Jordan).

Tipos

Los flip-flops y los pestillos se pueden dividir en tipos comunes: SR ("set-reset"), D ("datos"), T ("alternar") y JK (consulte la sección Historial más arriba). El comportamiento de un tipo particular puede describirse mediante lo que se denomina ecuación característica, que deriva la salida "siguiente" (es decir, después del siguiente pulso de reloj), Q siguiente en términos de la(s) señal(es) de entrada y/o la corriente. producción, .

Pestillos simples de ajuste y reinicio

Cuando se utilizan puertas estáticas como bloques de construcción, el pestillo más fundamental es el pestillo SR simple , donde S y R significan set y reset , lo que significa que un set S=1 establece el bit en 1 y un reset R=1 establece el bit en 0. Alternativamente, puede llamar a las dos entradas set 1 y set 0 , lo que puede aclarar cierta confusión (el término set por sí solo puede malinterpretarse como establecer el bit en la entrada proporcionada para set ); esta denominación también hace que sea intuitivo en la explicación siguiente que intentar establecer 0 y 1 al mismo tiempo debería hacer que el pestillo SR se comporte de manera impredecible.

El pestillo SR se puede construir a partir de un par de puertas lógicas NOR o NAND de acoplamiento cruzado . El bit almacenado está presente en la salida marcada como Q. Para ayudar a comprender las implementaciones de circuitos siguientes, es conveniente pensar en NAND, NOR, AND y OR como operaciones controladas. Es decir, aunque todas estas puertas son simétricas en su entrada, es conveniente elegir un bit como bit de control establecido por nuestra elección y el otro bit como entrada a procesar dependiendo del estado del control. Luego, como puede ver a continuación, resulta que todas estas puertas tienen un valor de control que ignora la entrada y genera un valor constante, mientras que el otro valor de control deja pasar la entrada (tal vez complementada). Llamemos x a la entrada y el otro bit será el control, entonces:

Básicamente, todos pueden usarse como interruptores que establecen un valor específico o dejan pasar un valor de entrada.

Pestillo SR NOR

Una animación de un pestillo SR, construido a partir de un par de puertas NOR acopladas cruzadas . Rojo y negro significan '1' y '0' lógicos, respectivamente.
Un pestillo SR animado. Blanco y negro significan '1' y '0' lógicos, respectivamente.
  1. S = 1, R = 0: Establecer
  2. S = 0, R = 0: Mantener
  3. S = 0, R = 1: Restablecer
  4. S = 1, R = 1: No permitido
La transición de la combinación restringida (D) a (A) conduce a un estado inestable.

El pestillo SR NOR consta de dos puertas NOR paralelas donde la salida de cada NOR también se distribuye en una entrada del otro NOR, como se muestra en la figura. Llamamos entradas de retroalimentación , o simplemente retroalimentaciones, a estas conexiones de salida a entrada. Las entradas restantes las usaremos como entradas de control como se explicó anteriormente. Observe que en este punto, debido a que todo es simétrico, no importa a qué entradas estén conectadas las salidas. Ahora rompemos la simetría eligiendo cuál de las entradas de control restantes será nuestra configuración y reinicio y podemos llamar "configurar NOR" a la puerta NOR con el control de configuración y "reiniciar NOR" la NOR con el control de reinicio; en las figuras el NOR establecido es el inferior y el NOR reiniciado es el superior. La salida del reset NOR será nuestro bit almacenado Q, mientras que veremos que la salida del conjunto NOR almacena su complemento Q.

Para derivar el comportamiento del pestillo SR NOR, considere S y R como entradas de control y recuerde que, a partir de las ecuaciones anteriores, configurar y restablecer NOR con control 1 fijará sus salidas en 0, mientras que configurar y restablecer NOR con control 0 actuará. como puerta NO. Con esto ahora es posible derivar el comportamiento del pestillo SR como condiciones simples (en lugar de, por ejemplo, asignar valores a cada línea para ver cómo se propagan).

Nota: X significa no me importa , es decir, 0 o 1 es un valor válido.

La combinación R = S = 1 se llama combinación restringida o estado prohibido porque, como ambas puertas NOR generan ceros, se rompe la ecuación lógica Q = no Q. La combinación también es inapropiada en circuitos donde ambas entradas pueden bajar simultáneamente (es decir, una transición de restringido a mantenido ). La salida se bloquearía en 1 o 0 dependiendo de las relaciones de tiempo de propagación entre las puertas (una condición de carrera ).

Cómo funciona un pestillo SR NOR

Para superar la combinación restringida, se pueden agregar puertas a las entradas que se convertirían (S, R) = (1, 1)en una de las combinaciones no restringidas. Eso puede ser:

Esto se hace en casi todos los controladores lógicos programables .

Alternativamente, se puede hacer la combinación restringida para alternar la salida. El resultado es el pestillo JK.

La ecuación característica del pestillo SR es:

o [14]

donde A + B significa (A o B), AB significa (A y B)

Otra expresión es:

con [15]

Pestillo SR NAND

Un pestillo SR construido a partir de puertas NAND de acoplamiento cruzado

El circuito que se muestra a continuación es un pestillo NAND básico. Las entradas también se denominan generalmente S y R para Establecer y Restablecer respectivamente. Debido a que las entradas NAND normalmente deben ser 1 lógico para evitar afectar la acción de enclavamiento, se considera que las entradas están invertidas en este circuito (o activas bajas).

El circuito utiliza la misma retroalimentación que SR NOR, simplemente reemplazando las puertas NOR con puertas NAND, para "recordar" y retener su estado lógico incluso después de que las señales de entrada de control hayan cambiado. Nuevamente, recuerde que una NAND controlada por 1 siempre genera 0, mientras que una NAND controlada por 0 actúa como una puerta NOT. Cuando las entradas S y R están altas, la retroalimentación mantiene las salidas Q en el estado anterior. Cuando cualquiera de ellos es cero, fijan sus bits de salida en 0 mientras que el otro se adapta al complemento. S=R=0 produce el estado no válido.

Pestillo SR AND-OR

Un pestillo SR AND-OR. El verde claro significa '1' lógico y el verde oscuro significa '0' lógico. El pestillo está actualmente en modo de espera (sin cambios).

Desde el punto de vista de la enseñanza, los pestillos SR dibujados como un par de componentes acoplados cruzados (transistores, compuertas, tubos, etc.) suelen ser difíciles de entender para los principiantes. Una explicación didácticamente más sencilla es dibujar el pestillo como un bucle de retroalimentación único en lugar de un acoplamiento cruzado. El siguiente es un pestillo SR construido con una puerta Y con una entrada invertida y una puerta O. Tenga en cuenta que el inversor no es necesario para la funcionalidad de enclavamiento, sino para hacer que ambas entradas sean activas en nivel alto.

Tenga en cuenta que el pestillo SR AND-OR tiene la ventaja de que S = 1, R = 1 está bien definido. En la versión anterior del pestillo SR AND-OR, le da prioridad a la señal R sobre la señal S. Si se necesita prioridad de S sobre R, esto se puede lograr conectando la salida Q a la salida de la puerta OR en lugar de a la salida de la puerta AND.

El pestillo SR AND-OR es más fácil de entender porque ambas puertas se pueden explicar de forma aislada, nuevamente con la vista de control de AND y OR desde arriba. Cuando no se establece ni S ni R, entonces tanto la puerta OR como la puerta AND están en "modo de retención", es decir, dejan pasar la entrada, su salida es la entrada del bucle de retroalimentación. Cuando la entrada S = 1, entonces la puerta OR genera 1, independientemente de la otra entrada del bucle de retroalimentación ("modo de configuración"). Cuando la entrada R = 1, la puerta AND genera 0, independientemente de la otra entrada del bucle de retroalimentación ("modo de reinicio"). Y dado que la puerta AND toma la salida de la puerta OR como entrada, R tiene prioridad sobre S. Los pestillos dibujados como puertas de acoplamiento cruzado pueden parecer menos intuitivos, ya que el comportamiento de una puerta parece estar entrelazado con la otra puerta. Los pestillos estándar NOR o NAND también se pueden volver a dibujar con el bucle de retroalimentación, pero en su caso el bucle de retroalimentación no muestra el mismo valor de señal en todo el bucle de retroalimentación. Sin embargo, el pestillo SR AND-OR tiene el inconveniente de que necesitaría un inversor adicional si se necesita una salida Q invertida.

Tenga en cuenta que el pestillo SR AND-OR se puede transformar en el pestillo SR NOR mediante transformaciones lógicas: invirtiendo la salida de la puerta OR y también la segunda entrada de la puerta AND y conectando la salida Q invertida entre estos dos inversores agregados; siendo la puerta AND con ambas entradas invertidas equivalente a una puerta NOR según las leyes de De Morgan .

pestillo JK

El pestillo JK se utiliza con mucha menos frecuencia que el flip-flop JK. El pestillo JK sigue la siguiente tabla de estados:

Por lo tanto, el pestillo JK es un pestillo SR que está hecho para alternar su salida (oscilar entre 0 y 1) cuando se pasa la combinación de entrada de 11. [16] A diferencia del flip-flop JK, la combinación de 11 entradas para el pestillo JK es No es muy útil porque no hay un reloj que dirija el cambio. [17]

Pestillos cerrados y transparencia condicional.

Los pestillos están diseñados para ser transparentes. Es decir, los cambios en la señal de entrada provocan cambios inmediatos en la salida. Se puede agregar lógica adicional a un pestillo transparente simple para que no sea transparente u opaco cuando no se afirma otra entrada (una entrada "habilitada"). Cuando varios pestillos transparentes se suceden, utilizando la misma señal de habilitación, las señales pueden propagarse a través de todos ellos a la vez. Sin embargo, seguir un pestillo transparente alto por un pestillo transparente bajo (o viceversa) hace que el estado y la salida solo cambien en los bordes del reloj, formando lo que se llama un flip-flop líder-seguidor .

Pestillo SR cerrado

Pestillo SR cerrado NAND (flip-flop SR sincronizado). Tenga en cuenta las entradas invertidas.
Un diagrama de circuito de pestillo SR cerrado construido a partir de puertas AND (a la izquierda) y puertas NOR (a la derecha)

Se puede crear un pestillo SR con compuerta agregando un segundo nivel de puertas NAND a un pestillo SR invertido . Las puertas NAND adicionales invierten aún más las entradas, de modo que un pestillo SR se convierte en un pestillo SR cerrado (un pestillo SR se transformaría en un pestillo SR cerrado con habilitación invertida).

Alternativamente, se puede crear un pestillo SR con compuerta (con habilitación no inversora) agregando un segundo nivel de puertas AND a un pestillo SR .

Con E alto ( habilitar verdadero), las señales pueden pasar a través de las puertas de entrada al pestillo encapsulado; todas las combinaciones de señales excepto (0, 0) = se mantienen y luego se reproducen inmediatamente en la salida (Q, Q ), es decir, el pestillo es transparente .

Con E bajo ( habilitar falso), el pestillo se cierra (opaco) y permanece en el estado en el que se encontraba la última vez que E estaba alto.

La entrada de habilitación es a veces una señal de reloj , pero más a menudo una luz estroboscópica de lectura o escritura. Cuando la entrada de habilitación es una señal de reloj, se dice que el pestillo es sensible al nivel (al nivel de la señal del reloj), a diferencia de los flip-flops de abajo , sensibles a los bordes .

Pestillo D cerrado

Este pestillo aprovecha el hecho de que, en las dos combinaciones de entrada activas (01 y 10) de un pestillo SR cerrado, R es el complemento de S. La etapa de entrada NAND convierte los dos estados de entrada D (0 y 1) en estos dos estados de entrada. combinaciones para el siguiente pestillo SR invirtiendo la señal de entrada de datos. El estado bajo de la señal de habilitación produce la combinación "11" inactiva. Por lo tanto, un pestillo D con compuerta se puede considerar como un pestillo SR síncrono de una entrada . Esta configuración evita la aplicación de la combinación de entrada restringida. También se le conoce como pestillo transparente , pestillo de datos o simplemente pestillo de compuerta . Tiene una entrada de datos y una señal de habilitación (a veces denominada reloj o control ). La palabra transparente proviene del hecho de que, cuando la entrada de habilitación está activada, la señal se propaga directamente a través del circuito, desde la entrada D hasta la salida Q. Los pestillos D con compuerta también son sensibles al nivel con respecto al nivel del reloj. o habilitar la señal.

Los pestillos transparentes se usan típicamente como puertos de E/S o en sistemas asíncronos, o en sistemas síncronos de dos fases (sistemas síncronos que usan un reloj de dos fases ), donde dos pestillos que operan en diferentes fases del reloj impiden la transparencia de los datos como en un líder. flip-flop seguidor.

La siguiente tabla de verdad muestra que cuando la entrada habilitar / bloquear reloj es 0, la entrada D no tiene ningún efecto en la salida. Cuando E/C es alto, la salida es igual a D.

Pestillo Earle

Los diseños clásicos de pestillos tienen algunas características indeseables. [18] Requieren lógica de doble carril o un inversor. La propagación de entrada a salida puede requerir hasta tres retrasos de puerta. La propagación de entrada a salida no es constante: algunas salidas toman dos retardos de puerta mientras que otras toman tres.

Los diseñadores buscaron alternativas. [19] Una alternativa exitosa es el pestillo Earle. Requiere solo una única entrada de datos y su salida requiere retrasos constantes de dos puertas. Además, los dos niveles de puerta del pestillo Earle pueden, en algunos casos, fusionarse con los dos últimos niveles de puerta de los circuitos que accionan el pestillo porque muchos circuitos computacionales comunes tienen una capa OR seguida de una capa AND como sus dos últimos niveles. . La combinación de la función de pestillo puede implementar el pestillo sin retrasos adicionales en la puerta. [18] La fusión se explota comúnmente en el diseño de computadoras canalizadas y, de hecho, fue desarrollada originalmente por John G. Earle para usarse en el IBM System/360 Modelo 91 con ese propósito. [20]

El pestillo Earle no presenta peligros. [21] Si se omite la puerta NAND intermedia, entonces se obtiene el pestillo de retención de polaridad , que se usa comúnmente porque exige menos lógica. [21] [22] Sin embargo, es susceptible a riesgos lógicos. Sesgar intencionalmente la señal del reloj puede evitar el peligro. [22]

D flip-flop

Símbolo del flip-flop D

El flip-flop D se usa ampliamente y se lo conoce como flip-flop de "datos". El flip-flop D captura el valor de la entrada D en una porción definida del ciclo del reloj (como el flanco ascendente del reloj). Ese valor capturado se convierte en la salida Q. En otras ocasiones, la salida Q no cambia. [23] [24] El flip-flop D puede verse como una celda de memoria, una retención de orden cero o una línea de retardo . [25]

Mesa de la verdad:

( X denota una condición de no importa , lo que significa que la señal es irrelevante)

La mayoría de los flip-flops tipo D en los circuitos integrados tienen la capacidad de ser forzados a establecer o restablecer el estado (lo que ignora las entradas D y de reloj), de manera muy similar a un flip-flop SR. Por lo general, la condición ilegal S = R = 1 se resuelve en flip-flops tipo D. Configurar S = R = 0 hace que el flip-flop se comporte como se describe arriba. Aquí está la tabla de verdad para las otras posibles configuraciones S y R:

Registro de desplazamiento de entrada serie y salida paralela (SIPO) de 4 bits

Estos flip-flops son muy útiles, ya que forman la base de los registros de desplazamiento , que son una parte esencial de muchos dispositivos electrónicos. La ventaja del flip-flop D sobre el "pestillo transparente" tipo D es que la señal en el pin de entrada D se captura en el momento en que se sincroniza el flip-flop, y los cambios posteriores en la entrada D se ignorarán hasta el siguiente evento de reloj. Una excepción es que algunos flip-flops tienen una entrada de señal de "reinicio", que restablecerá Q (a cero) y puede ser asíncrono o síncrono con el reloj.

El circuito anterior desplaza el contenido del registro hacia la derecha, una posición de bit en cada transición activa del reloj. La entrada X se desplaza a la posición de bit más a la izquierda.

Flip-flop D clásico disparado por flanco positivo

Algunos tipos diferentes de flip-flops D activados por borde

Este circuito [26] consta de dos etapas implementadas por pestillos SR NAND. La etapa de entrada (los dos pestillos de la izquierda) procesa las señales de reloj y datos para garantizar señales de entrada correctas para la etapa de salida (el pestillo único de la derecha). Si el reloj está bajo, ambas señales de salida de la etapa de entrada están altas independientemente de la entrada de datos; el pestillo de salida no se ve afectado y almacena el estado anterior. Cuando la señal del reloj cambia de baja a alta, solo uno de los voltajes de salida (dependiendo de la señal de datos) baja y establece/restablece el bloqueo de salida: si D = 0, la salida inferior pasa a baja; si D = 1, la salida superior se vuelve baja. Si la señal del reloj continúa alta, las salidas mantienen sus estados independientemente de la entrada de datos y obligan al pestillo de salida a permanecer en el estado correspondiente ya que el cero lógico de entrada (de la etapa de salida) permanece activo mientras el reloj está alto. Por lo tanto, la función del pestillo de salida es almacenar los datos solo mientras el reloj está bajo.

El circuito está estrechamente relacionado con el pestillo D cerrado ya que ambos circuitos convierten los dos estados de entrada D (0 y 1) en dos combinaciones de entrada (01 y 10) para el pestillo SR de salida invirtiendo la señal de entrada de datos (ambos circuitos se dividen la única señal D en dos señales complementarias S y R ). La diferencia es que en el pestillo D con compuerta se utilizan puertas lógicas NAND simples, mientras que en el flip-flop D activado por flanco positivo se utilizan pestillos SR NAND para este propósito. La función de estos pestillos es "bloquear" la salida activa produciendo bajo voltaje (un cero lógico); por lo tanto, el flip-flop D disparado por flanco positivo también puede considerarse como un pestillo D con puertas de entrada bloqueadas.

Flip-flop D líder-seguidor disparado por flanco

Un flip-flop D líder-seguidor. Responde en el flanco descendente de la entrada de habilitación (normalmente un reloj).
Una implementación de un flip-flop D líder-seguidor que se activa en el flanco ascendente del reloj.

Un flip-flop D líder-seguidor (históricamente conocido como flip-flop D maestro-esclavo) se crea conectando dos pestillos D cerrados en serie e invirtiendo la entrada de habilitación en uno de ellos. Se llama líder-seguidor porque el pestillo líder controla el valor de salida Q del pestillo seguidor y obliga al pestillo seguidor a mantener su valor siempre que el pestillo seguidor esté habilitado, ya que el pestillo seguidor siempre copia su nuevo valor del pestillo líder y cambia su valor. sólo en respuesta a un cambio en el valor del pestillo líder y la señal del reloj.

Para un flip-flop D líder-seguidor activado por flanco positivo, cuando la señal de reloj es baja (0 lógico), la "habilitación" vista por el primer pestillo D o "líder" (la señal de reloj invertida) es alta (1 lógico) . Esto permite que el pestillo "líder" almacene el valor de entrada cuando la señal del reloj pasa de bajo a alto. A medida que la señal del reloj sube (0 a 1), la "habilitación" invertida del primer pestillo baja (1 a 0) y el valor visto en la entrada del pestillo líder está "bloqueado". Casi simultáneamente, la "habilitación" dos veces invertida del segundo pestillo D o "seguidor" pasa de bajo a alto (0 a 1) con la señal del reloj. Esto permite que la señal capturada en el flanco ascendente del reloj por el pestillo líder ahora "bloqueado" pase a través del pestillo "seguidor". Cuando la señal del reloj vuelve al nivel bajo (1 a 0), la salida del pestillo "seguidor" se "bloquea" y el valor visto en el último flanco ascendente del reloj se mantiene mientras el pestillo "líder" comienza a aceptar nuevos valores en preparación para el próximo flanco ascendente del reloj.

Quitar el inversor más a la izquierda del circuito crea un flip-flop tipo D que parpadea en el flanco descendente de una señal de reloj. Esto tiene una tabla de verdad como esta:

Flip-flop D disparado por doble borde

Una implementación de un flip-flop D disparado por doble flanco

Los flip-flops que leen un nuevo valor en el flanco ascendente y descendente del reloj se denominan flip-flops disparados por doble flanco. Un flip-flop de este tipo puede construirse usando dos flip-flops tipo D disparados por un solo borde y un multiplexor, o usando dos flip-flops tipo D disparados por un solo borde y tres compuertas XOR.

Símbolo de circuito de un flip-flop D disparado por doble flanco
Un flip-flop D activado por doble flanco implementado utilizando puertas XOR y sin multiplexor

Elemento de almacenamiento D dinámico activado por borde

Una implementación de CMOS IC de un flip-flop dinámico activado por borde con reinicio

Se puede crear una alternativa funcional eficiente a un flip-flop D con circuitos dinámicos (donde la información se almacena en una capacitancia) siempre que se registre con suficiente frecuencia; Si bien no es un verdadero flip-flop, todavía se le llama flip-flop por su función funcional. Mientras que el elemento D líder-seguidor se activa en el borde de un reloj, cada uno de sus componentes se activa mediante niveles de reloj. El " flip-flop D disparado por borde ", como se le llama aunque no es un verdadero flip-flop, no tiene las propiedades de líder-seguidor.

Los flip-flops D activados por flanco a menudo se implementan en operaciones integradas de alta velocidad utilizando lógica dinámica . Esto significa que la salida digital se almacena en la capacitancia del dispositivo parásito mientras el dispositivo no está en transición. Este diseño de flip-flops dinámicos también permite un reinicio simple ya que la operación de reinicio se puede realizar simplemente descargando uno o más nodos internos. Una variedad de flip-flop dinámico común es el tipo de reloj monofásico verdadero (TSPC), que realiza la operación de flip-flop con poca energía y a altas velocidades. Sin embargo, los flip-flops dinámicos normalmente no funcionan a velocidades de reloj estáticas o bajas: dado el tiempo suficiente, las rutas de fuga pueden descargar la capacitancia parásita lo suficiente como para hacer que el flip-flop entre en estados no válidos.

T flip-flop

Un símbolo de circuito para un flip-flop tipo T

Si la entrada T es alta, el flip-flop T cambia de estado ("alterna") cada vez que se activa la entrada del reloj. Si la entrada T es baja, el flip-flop mantiene el valor anterior. Este comportamiento se describe mediante la ecuación característica :

(expandiendo el operador XOR )

y se puede describir en una tabla de verdad :

Cuando T se mantiene alto, el flip-flop divide la frecuencia del reloj por dos; es decir, si la frecuencia de reloj es de 4 MHz, la frecuencia de salida obtenida del flip-flop será de 2 MHz. Esta función de "dividir por" tiene aplicación en varios tipos de contadores digitales . El flip-flop AT también se puede construir usando un flip-flop JK (los pines J y K están conectados entre sí y actúan como T) o un flip-flop D (la entrada T XOR Q anterior controla la entrada D).

chanclas JK

Un símbolo de circuito para un flip-flop JK disparado por flanco positivo
Diagrama de sincronización del flip-flop JK

El flip-flop JK aumenta el comportamiento del flip-flop SR (J: Set, K: Reset) al interpretar la condición J = K = 1 como un "flip" o comando de alternancia. Específicamente, la combinación J = 1, K = 0 es un comando para configurar el flip-flop; la combinación J = 0, K = 1 es un comando para restablecer el flip-flop; y la combinación J = K = 1 es un comando para alternar el flip-flop, es decir, cambiar su salida al complemento lógico de su valor actual. Configurar J = K = 0 mantiene el estado actual. Para sintetizar un flip-flop D, simplemente establezca K igual al complemento de J (la entrada J actuará como entrada D). De manera similar, para sintetizar un flip-flop T, establezca K igual a J. El flip-flop JK es, por lo tanto, un flip-flop universal, porque puede configurarse para funcionar como un flip-flop SR, un flip-flop D o un flip-flop D. una chancla T.

La ecuación característica del flip-flop JK es:

y la tabla de verdad correspondiente es:

Consideraciones de tiempo

Parámetros de tiempo

Parámetros de configuración, retención y temporización de reloj a salida del flip-flop

La entrada debe mantenerse estable en un período alrededor del flanco ascendente del reloj conocido como apertura. Imagínese tomar una fotografía de una rana sobre un nenúfar. [28] Supongamos que la rana luego salta al agua. Si tomas una fotografía de la rana mientras salta al agua, obtendrás una imagen borrosa de la rana saltando al agua; no está claro en qué estado se encontraba la rana. Pero si tomas una fotografía mientras la rana se sienta firmemente en la plataforma (o está constantemente en el agua), obtendrá una imagen clara. De la misma manera, la entrada a un flip-flop debe mantenerse estable durante la apertura del flip-flop.

El tiempo de configuración es la cantidad mínima de tiempo que la entrada de datos debe mantenerse estable antes del evento del reloj, para que el reloj muestree los datos de manera confiable.

El tiempo de espera es la cantidad mínima de tiempo que la entrada de datos debe mantenerse estable después del evento del reloj, para que el reloj muestree los datos de manera confiable.

La apertura es la suma del tiempo de preparación y espera. La entrada de datos debe mantenerse constante durante este período de tiempo. [28]

El tiempo de recuperación es la cantidad mínima de tiempo que la entrada asincrónica de configuración o reinicio debe estar inactiva antes del evento del reloj, para que el reloj muestree los datos de manera confiable. Por lo tanto, el tiempo de recuperación para la entrada de configuración o reinicio asíncrono es similar al tiempo de configuración para la entrada de datos.

El tiempo de eliminación es la cantidad mínima de tiempo que la entrada de configuración o reinicio asíncrona debe estar inactiva después del evento del reloj, para que el reloj muestree los datos de manera confiable. Por lo tanto, el tiempo de eliminación para la entrada de configuración o reinicio asíncrono es similar al tiempo de retención para la entrada de datos.

Los impulsos cortos aplicados a entradas asíncronas (configuración, reinicio) no deben aplicarse completamente dentro del período de recuperación-eliminación, o de lo contrario se vuelve completamente indeterminable si el flip-flop pasará al estado apropiado. En otro caso, donde una señal asíncrona simplemente hace una transición que cae entre el tiempo de recuperación/eliminación, eventualmente el flip-flop pasará al estado apropiado, pero una falla muy breve puede aparecer o no en la salida, dependiendo en la señal de entrada síncrona. Esta segunda situación puede tener o no importancia para el diseño de un circuito.

Las señales de configuración y reinicio (y otras) pueden ser síncronas o asíncronas y, por lo tanto, pueden caracterizarse con tiempos de configuración/retención o de recuperación/eliminación, y la sincronicidad depende en gran medida del diseño del flip-flop.

A menudo es necesaria la diferenciación entre los tiempos de configuración/retención y recuperación/eliminación al verificar la temporización de circuitos más grandes porque las señales asíncronas pueden ser menos críticas que las señales síncronas. La diferenciación ofrece a los diseñadores de circuitos la capacidad de definir las condiciones de verificación para este tipo de señales de forma independiente.

Metaestabilidad

Los flip-flops están sujetos a un problema llamado metaestabilidad , que puede ocurrir cuando dos entradas, como datos y reloj o reloj y reinicio, cambian aproximadamente al mismo tiempo. Cuando el orden no es claro, dentro de las limitaciones de tiempo apropiadas, el resultado es que la salida puede comportarse de manera impredecible, tardando mucho más de lo normal en estabilizarse en un estado u otro, o incluso oscilar varias veces antes de estabilizarse. En teoría, el tiempo para sentar cabeza no está limitado. En un sistema informático , esta metaestabilidad puede provocar corrupción de datos o un fallo del programa si el estado no es estable antes de que otro circuito utilice su valor; en particular, si dos rutas lógicas diferentes utilizan la salida de un flip-flop, una ruta puede interpretarla como un 0 y la otra como un 1 cuando no se ha resuelto al estado estable, poniendo la máquina en un estado inconsistente. [29]

La metaestabilidad en los flip-flops se puede evitar asegurando que los datos y las entradas de control se mantengan válidos y constantes durante períodos específicos antes y después del pulso del reloj, llamados tiempo de configuración (t su ) y tiempo de retención (th h ), respectivamente. Estos tiempos se especifican en la hoja de datos del dispositivo y suelen oscilar entre unos pocos nanosegundos y unos cientos de picosegundos para los dispositivos modernos. Dependiendo de la organización interna del flip-flop, es posible construir un dispositivo con un requisito de tiempo de configuración o mantenimiento cero (o incluso negativo), pero no ambos simultáneamente.

Desafortunadamente, no siempre es posible cumplir con los criterios de configuración y retención, porque el flip-flop puede estar conectado a una señal en tiempo real que podría cambiar en cualquier momento, fuera del control del diseñador. En este caso, lo mejor que puede hacer el diseñador es reducir la probabilidad de error a un cierto nivel, dependiendo de la confiabilidad requerida del circuito. Una técnica para suprimir la metaestabilidad es conectar dos o más flip-flops en una cadena, de modo que la salida de cada uno alimente la entrada de datos del siguiente y todos los dispositivos compartan un reloj común. Con este método, la probabilidad de un evento metaestable se puede reducir a un valor insignificante, pero nunca a cero. La probabilidad de metaestabilidad se acerca cada vez más a cero a medida que aumenta el número de flip-flops conectados en serie. El número de flip-flops que se conectan en cascada se denomina "clasificación"; Las chanclas de "doble rango" (dos chanclas en serie) son una situación común.

Están disponibles los llamados flip-flops metaestables, que funcionan reduciendo al máximo los tiempos de preparación y mantenimiento, pero ni siquiera éstos pueden eliminar el problema por completo. Esto se debe a que la metaestabilidad es más que una simple cuestión de diseño de circuito. Cuando las transiciones en el reloj y los datos están muy juntas en el tiempo, el flip-flop se ve obligado a decidir qué evento ocurrió primero. Por muy rápido que sea el dispositivo, siempre existe la posibilidad de que los eventos de entrada estén tan juntos que no pueda detectar cuál ocurrió primero. Por lo tanto, es lógicamente imposible construir un flip-flop perfectamente metaestable. Los flip-flops a veces se caracterizan por un tiempo máximo de establecimiento (el tiempo máximo que permanecerán metaestables en condiciones específicas). En este caso, los flip-flops de doble rango que tienen una frecuencia más lenta que el tiempo de metaestabilidad máximo permitido proporcionarán un acondicionamiento adecuado para señales asincrónicas (por ejemplo, externas).

Retardo de propagación

Otro valor de temporización importante para un flip-flop es el retardo de reloj a salida (símbolo común en las hojas de datos: t CO ) o retardo de propagación (t P ), que es el tiempo que tarda un flip-flop en cambiar su salida después de la borde del reloj. El tiempo para una transición de alto a bajo (t PHL ) a veces es diferente del tiempo para una transición de bajo a alto (t PLH ).

Cuando se conectan en cascada flip-flops que comparten el mismo reloj (como en un registro de desplazamiento ), es importante asegurarse de que el t CO de un flip-flop anterior sea mayor que el tiempo de espera (th h ) del siguiente flip-flop, de modo que los datos presentes en la entrada del flip-flop siguiente se "desplazan" correctamente siguiendo el flanco activo del reloj. Esta relación entre t CO y t h normalmente está garantizada si los flip-flops son físicamente idénticos. Además, para un correcto funcionamiento, es fácil comprobar que el periodo de reloj tiene que ser mayor que la suma t su  + t h .

Generalizaciones

Los flip-flops se pueden generalizar al menos de dos maneras: convirtiéndolos en 1 de N en lugar de 1 de 2, y adaptándolos a la lógica con más de dos estados. En los casos especiales de codificación 1 de 3, o lógica ternaria multivalor , dicho elemento puede denominarse flip-flap-flop . [30]

En un flip-flop convencional, exactamente una de las dos salidas complementarias es alta. Esto se puede generalizar a un elemento de memoria con N salidas, exactamente una de las cuales es alta (alternativamente, donde exactamente una de N es baja). Por lo tanto, la salida es siempre una representación one-hot (o one-cold ). La construcción es similar a la de un flip-flop convencional de acoplamiento cruzado; cada salida, cuando está alta, inhibe todas las demás salidas. [31] Alternativamente, se pueden usar flip-flops más o menos convencionales, uno por salida, con circuitos adicionales para garantizar que solo uno a la vez pueda ser verdadero. [32]

Otra generalización del flip-flop convencional es un elemento de memoria para lógica multivalor . En este caso, el elemento de memoria retiene exactamente uno de los estados lógicos hasta que las entradas de control inducen un cambio. [33] Además, también se puede utilizar un reloj de valores múltiples, lo que genera nuevas posibles transiciones de reloj. [34]

Ver también

Referencias

  1. ^ Por ejemplo, la edición 1969 de Logic Handfbook Flip Chip™ Modules de Digital Equipment Corporation llama a los pestillos RS transparentes "R/S Flip Flops" (http://www.bitsavers.org/pdf/dec/handbooks/Digital_Logic_Handbook_1969.pdf page 44)
  2. ^ Pedroni, Volnei A. (2008). Electrónica digital y diseño con VHDL. Morgan Kaufman. pag. 329.ISBN _ 978-0-12-374270-4.
  3. ^ Pestillos y chanclas (EE 42/100 Conferencia 24 de Berkeley) "... A veces los términos flip-flop y pestillo se usan indistintamente ..."
  4. ^ ab Roth, Charles H. Jr. (1995). "Cierres y chanclas". Fundamentos del diseño lógico (4ª ed.). PWS. ISBN 9780534954727.
  5. ^ GB 148582, Eccles, William Henry & Jordan, Frank Wilfred, "Mejoras en relés iónicos", publicado el 5 de agosto de 1920 
  6. ^ Ver:
    • Eccles, WH; Jordania, FW (19 de septiembre de 1919). "Un relé de disparo que utiliza tubos de vacío termoiónicos de tres electrodos". El electricista . 83 : 298.
    • Reimpreso en: Eccles, WH; Jordania, FW (diciembre de 1919). "Un relé de disparo que utiliza tubos de vacío termoiónicos de tres electrodos". La revisión de la radio . 1 (3): 143–6.
    • Resumen en: Eccles, WH; Jordania, FW (1919). "Un relé de disparo que utiliza tubos de vacío termoiónicos de tres electrodos". Informe de la 87ª reunión de la Asociación Británica para el Avance de la Ciencia: Bournemouth: 1919, 9 al 13 de septiembre . págs. 271–2.
  7. ^ Pugh, Emerson W.; Johnson, Lyle R.; Palmer, John H. (1991). "Los sistemas 360 y 370 tempranos de IBM ". Prensa del MIT. pag. 10.ISBN _ 978-0-262-16123-7.
  8. ^ Flowers, Thomas H. (1983), "The Design of Colossus", Annals of the History of Computing , 5 (3): 249, doi :10.1109/MAHC.1983.10079, S2CID  39816473
  9. ^ Puertas, Earl D. (2000). Introducción a la electrónica (4ª ed.). Delmar Thomson (Cengage) Aprendizaje. pag. 299.ISBN _ 978-0-7668-1698-5.
  10. ^ Fogiel, Max; Gu, You-Liang (1998). El solucionador de problemas de electrónica, volumen 1 (edición revisada). Asociación de Investigación y Educación. pag. 1223.ISBN _ 978-0-87891-543-9.
  11. ^ Lindley, PL (agosto de 1968). "carta del 13 de junio de 1968". EDN .
  12. ^ Phister, Montgomery (1958). Diseño lógico de computadoras digitales. Wiley. pag. 128.ISBN _ 9780608102658.
  13. ^ US 2850566, Nelson, Eldred C., "Sistema de impresión de alta velocidad", publicado el 2 de septiembre de 1958, asignado a Hughes Aircraft Co. 
  14. ^ Langholz, Gedeón; Kandel, Abraham; Mott, Joe L. (1998). Fundamentos del diseño de lógica digital. Científico mundial. pag. 344.ISBN _ 978-981-02-3110-1.
  15. ^ "Resumen de los tipos de comportamiento flip-flop". Recuperado el 16 de abril de 2018.
  16. ^ Hinrichsen, Diederich; Pritchard, Anthony J. (2006). "Ejemplo 1.5.6 (pestillo R – S y pestillo J – K)". Teoría de Sistemas Matemáticos I: Modelización, Análisis del Espacio de Estados, Estabilidad y Robustez . Saltador. págs. 63–64. ISBN 9783540264101.
  17. ^ Farhat, Hassan A. (2004). Diseño digital y organización informática. vol. 1. Prensa CRC. pag. 274.ISBN _ 978-0-8493-1191-8.
  18. ^ ab Kogge, Peter M. (1981). La arquitectura de las computadoras canalizadas . McGraw-Hill. págs. 25-27. ISBN 0-07-035237-2.
  19. ^ Cotton, LW (1965). "Implementación de Circuitos de Sistemas de Tuberías de Alta Velocidad". Procedimiento AFIPS. Conferencia informática conjunta de otoño : 489–504. doi : 10.1145/1463891.1463945 . S2CID  15955626.
  20. ^ Earle, John G. (marzo de 1965). "Suma de guardado y transporte con cierre". Boletín de divulgación técnica de IBM . 7 (10): 909–910.
  21. ^ ab Omondi, Amos R. (1999). La microarquitectura de computadoras superescalares y canalizadas. Saltador. págs. 40–42. ISBN 978-0-7923-8463-2.
  22. ^ ab Kunkel, Steven R.; Smith, James E. (mayo de 1986). "Canalización óptima en supercomputadoras". Noticias de arquitectura informática de ACM SIGARCH . ACM. 14 (2): 404–411 [406]. CiteSeerX 10.1.1.99.2773 . doi :10.1145/17356.17403. ISSN  0163-5964. S2CID  2733845. 
  23. ^ "El flip-flop D". Archivado desde el original el 23 de febrero de 2014 . Consultado el 5 de junio de 2016 .
  24. ^ "Chanclas activadas por borde". Archivado desde el original el 8 de septiembre de 2013 . Consultado el 15 de diciembre de 2011 .
  25. ^ Un estudio de los sistemas de memoria de computadoras digitales
  26. ^ Hoja de datos SN7474 TI
  27. ^ ab Mano, M. Morris; Kime, Charles R. (2004). Fundamentos de lógica y diseño informático, tercera edición . Upper Saddle River, Nueva Jersey, Estados Unidos: Pearson Education International. pag. 283.ISBN _  0-13-191165-1.
  28. ^ ab Harris, S; Harris, D (2016). Diseño digital y arquitectura informática - Edición ARM . Morgan Kaufmann, Waltham, MA. ISBN 978-0-12-800056-4.
  29. ^ Chaney, Thomas J.; Molnar, Charles E. (abril de 1973). "Comportamiento anómalo de los circuitos sincronizador y árbitro". Transacciones IEEE en computadoras . C-22 (4): 421–422. doi :10.1109/TC.1973.223730. ISSN  0018-9340. S2CID  12594672.
  30. ^ A menudo atribuido a Don Knuth (1969) (ver Midhat J. Gazalé (2000). Número: de Ahmes a Cantor. Princeton University Press. p. 57. ISBN 978-0-691-00515-7.), el término flip-flap-flop apareció mucho antes en la literatura informática, por ejemplo, Bowdon, Edward K. (1960). El diseño y aplicación de un "flip-flap-flop" utilizando diodos túnel (tesis de maestría). Universidad de Dakota del Norte., y en Alexander, W. (febrero de 1964). "La computadora ternaria". Electrónica y Energía . IET. 10 (2): 36–39. doi :10.1049/ep.1964.0037.
  31. ^ Flip-flap-flop "ternario""". Archivado desde el original el 5 de enero de 2009 . Consultado el 17 de octubre de 2009 .
  32. ^ US 6975152, Lapidus, Peter D., "Flip flop que admite una operación sin fallas en un bus y método one-hot", publicado el 13 de diciembre de 2005, asignado a Advanced Micro Devices Inc. 
  33. ^ Irving, Thurman A.; Shiva, Sajjan G.; Nagle, H. Troy (marzo de 1976). "Flip-Flops para lógica de valores múltiples". Transacciones IEEE en computadoras . C-25 (3): 237–246. doi :10.1109/TC.1976.5009250. S2CID  34323423.
  34. ^ Wu, Haomin; Zhuang Nan (julio de 1991). "Investigación sobre el flip-flop JKL ternario activado por borde". Revista de Electrónica (China) . 8 (3): 268–275. doi :10.1007/BF02778378. S2CID  61275953.

enlaces externos