¿Qué es un flip flop?


25

Parece que hay varias definiciones diferentes de chanclas y cierres, algunas de las cuales son contradictorias.

El libro de texto de Informática para el curso que enseño es probablemente el más confuso (de hecho, tengo poca fe en el libro porque es simplemente incorrecto en varios lugares).

Me siento cómodo con el funcionamiento de los pestillos (SR, SR con compuerta, D con compuerta) y la diferencia entre los dispositivos activados por nivel y los activados por borde, al menos en términos de puertas lógicas y diagramas de temporización. Sin embargo, todavía estoy buscando una definición concisa de un flip flop y un pestillo.

Esto es lo que creo hasta ahora:

"Un flip flop es un dispositivo biestable activado por borde que puede almacenar 1 bit".

"Un pestillo es un dispositivo biestable activado por nivel que puede almacenar 1 bit".

He echado un vistazo a las publicaciones anteriores en este sitio web sobre esto y, a pesar de lo esclarecedores que son, todavía estoy buscando algo definitivo.

Mi comprensión actual, que quiero verificar, está en los diagramas a continuación ...

Lado a lado es lo que entiendo son dos implementaciones de un enclavamiento D activado por nivel.

Debajo de estos hay un detector de borde positivo, en ese breve momento cuando la puerta NOT aún no ha respondido a la entrada de cambio de bajo a alto, es decir, el borde ascendente (el rojo es 1 azul es 0).

En el último diagrama, el detector de bordes se ha instalado en un pestillo D anticuado y esto es lo que lo convierte en un flip-flop.

ingrese la descripción de la imagen aquí

¿Es el último diagrama realmente un flip flop, o todavía es solo un pestillo?

¿Y por qué necesitamos la versión maestra esclava dada, que este dispositivo es mucho más simple?


1
@DanielTork ¿por qué no hacer eso una respuesta?
Icy

10
En Australia y Nueva Zelanda, son una forma de zapatos abiertos que a menudo se usan en la playa o cuando hace buen tiempo. ;)
KyranF

3
En los Estados Unidos también. Pero solíamos llamarlos tangas, pero eso se refiere a algo diferente ahora ;-)
Pausado hasta nuevo aviso.

1
Ahora quiero ver un diagrama de circuito dibujado con las sandalias conocidas como chanclas ...
keshlam

1
¡@immibis, sal de aquí, kiwi podrido!
KyranF

Respuestas:


11

He estado pensando mucho en esta definición hoy.

Como otros señalaron, los significados exactos variarán. Además de eso, probablemente verá que más personas se equivocan, incluso en este sitio, de lo correcto. ¡No me importa lo que diga Wikipedia!

Pero en general:

  • Un flip flop cambiará su estado de salida como máximo una vez por ciclo de reloj.
  • Un pestillo cambiará su estado tantas veces como la transición de datos durante su ventana de transparencia.

Adicionalmente,

  • Un flip flop es muy seguro. Casi infalible. Por esta razón, las herramientas de síntesis suelen usar chanclas. Pero, son más lentos que un pestillo (y usan más energía).
  • Los pestillos son más difíciles de usar correctamente. Pero, son más rápidos que las chanclas (y más pequeños). Por lo tanto, los diseñadores de circuitos personalizados a menudo "extenderán el flip flop" a través de su bloque digital (un pestillo en cada extremo con fase opuesta) para exprimir algunos picosegundos adicionales de un arco de sincronización defectuoso. Esto se muestra en la parte inferior de la publicación.

Un flip flop se caracteriza más típicamente por una topología maestro-esclavo. Estos son dos acoplados (puede haber lógica entre ellos), la fase opuesta se engancha de forma consecutiva (a veces en la industria llamada L1 / L2).

Esto significa que un flip flop consiste inherentemente en dos elementos de memoria: uno para mantener durante el ciclo bajo y otro para mantener durante el ciclo alto.

Un pestillo es solo un elemento de memoria (SR pestillo, D pestillo, JK pestillo). El hecho de que introduzca un reloj para controlar el flujo de datos en el elemento de memoria no lo convierte en un flip flop, en mi opinión (aunque puede hacer que actúe como tal: es decir, se activa más flanco ascendente). Simplemente lo hace transparente durante un período de tiempo específico.

A continuación se muestra un verdadero flip flop creado a partir de dos pestillos SR (observe los relojes de fase opuesta).

verdadero d ff

Y otro flip-flop verdadero (este es el estilo más común en VLSI) de dos pestillos D (estilo de puerta de transmisión). Observe nuevamente los relojes de fase opuesta :

verdadero estilo flip flop tg

Si pulsa el reloj a un pestillo lo suficientemente rápido, comienza a parecerse a un comportamiento de flip flop (pestillo de pulso). Esto es común en el diseño de ruta de datos de alta velocidad debido al menor retraso de D-> Out y Clk-> Out, además del mejor tiempo de configuración otorgado (el tiempo de retención también debe aumentar, pequeño precio a pagar) por la transparencia a través de la duración de el pulso. ¿Esto lo convierte en un flip flop? En realidad no, pero parece que actúa como tal.

Sin embargo, esto es mucho más difícil de garantizar para trabajar. Debe verificar en todas las esquinas del proceso (nmos rápido, pmos lento, tapa de cable alta, cable bajo r; como ejemplo de uno) y todos los voltajes (el voltaje bajo causa problemas) que el pulso de su detector de borde permanezca lo suficientemente ancho como para abrirse realmente el pestillo y permitir la entrada de datos.

Para su pregunta específica, en cuanto a por qué se considera un bloqueo de pulso en lugar de un flip flop, es porque realmente solo tiene un elemento de almacenamiento de bits sensible de un solo nivel. Aunque el pulso es estrecho, no forma un sistema de bloqueo y presa que crea un flip flop.

Aquí hay un artículo que describe un cierre de pulso muy similar a su consulta. Una cita pertinente: "Si la forma de onda del reloj de pulso activa un pestillo, el pestillo se sincroniza con el reloj de manera similar al flip-flop activado por el borde porque los bordes ascendente y descendente del reloj de pulso son casi idénticos en términos de temporización".

EDITAR Para mayor claridad, incluí un gráfico de diseño basado en pestillo. Hay un pestillo L1 y un pestillo L2 con lógica en el medio. Esta es una técnica que puede reducir los retrasos, ya que un pestillo tiene un retraso menor que un flip flop. El flip flop se "separa" y la lógica se pone en el medio. ¡Ahora, ahorra un par de retrasos en la puerta (en comparación con un flip flop en cada extremo)!

diseño basado en pestillo


"Caracterizado por una topología maestro-esclavo", que suena más como un detalle de implementación, en lugar de una característica de comportamiento definitoria. Comportalmente, un flip-flop (por su definición) es una memoria de un solo bit que resulta ser activada por el borde. En la práctica, la magia de implementación requerida para aproximar el disparo de borde requiere un segundo elemento de almacenamiento.
Oliver Charlesworth

1
@OliverCharlesworth: Bueno, es un detalle de implementación. Además de un detalle físico, conductual, estructural y topológico. No puedes simplemente llamar a un pestillo un flip flop porque parece uno. Es posible que pueda salirse con la suya, pero para usarlos al máximo necesita saber la diferencia. Si separas un flip flop, tienes dos pestillos separados de fase opuesta. Puedes meter la lógica en el medio. Esto es más rápido que tener un flip flop en cada extremo. También permite "tomar prestado tiempo" a través de un límite de ciclo, que es un concepto muy importante para los diseños de alta velocidad.
jbord39

Aquí hay algunas imágenes más útiles de DFF que podrían ayudar, vea la última. El DFF publicado anteriormente es confuso debido al enganche en las fases opuestas del reloj (es decir, los pestillos maestros en el borde ascendente, los pestillos esclavos en la caída). electronics.stackexchange.com/a/84247/42957
mrbean

Sería bueno ver un ejemplo de un verdadero flip-flop disparado por borde de una sola fase ("TSPC" DFF) aquí.
mrbean


1

Mucha gente se referirá a los dispositivos con reloj como "chanclas" y los dispositivos sin reloj como pestillos. Cuando lo aprendí, eran "chanclas con reloj" y "chanclas". Cualquiera de los dos puede ser activado por el borde.

Existe suficiente ambigüedad que, cuando es importante, se basa en las hojas de datos de los números de pieza y los diagramas de tiempo, y no en descripciones de palabras.


Entonces, ¿un GTO-SCR es un flip-flop también?
Bradman175

1

Gracias a todos los que respondieron mi pregunta. Como se esperaba, hay un cierto desacuerdo. Lamentablemente, la semántica suele ser más importante que la comprensión cuando se trata de exámenes. Si necesito discutir con una junta de examen por haber marcado incorrectamente el examen de un estudiante de A Level Computer Science (y lo he hecho en el pasado), quiero estar en una posición sólida. Pensé en compartir con ustedes un par de páginas del libro de texto oficial del curso A Level.

El primer diagrama es un pestillo activo bajo SR. El libro lo llama flip-flop.

En el texto, el libro dice "Al usar dos flip-flops podemos crear un circuito llamado flip-flop tipo D que usa un circuito controlado por reloj para controlar la salida, retrasándolo en un pulso de reloj. La D significa retraso ". Este texto parece referirse a la configuración maestro / esclavo. El segundo diagrama (figura 14.2) está etiquetado como un flip-flop de tipo D. En realidad, se trata de un pestillo activo de alta compuerta D.

¡No muy útil!

Me voy a conformar con "Un flip flop se caracteriza típicamente por una topología maestro-esclavo". como ha sugerido jbord39, con la advertencia de que el término flip-flop a menudo se usa para referirse a un pestillo activado por borde y, a veces, a cualquier tipo de pestillo. Creo que de aquí viene el libro, aunque no llegue de manera convincente.

Gracias de nuevo a todos.

ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí


2
Sí, ese libro es directamente engañoso. Además, D significa Datos, no retrasos ... jaja. La parte importante es comprender cómo funcionan y no quedar demasiado atrapados en la semántica. Le expliqué la semántica tal como me la explicaron en las empresas donde he trabajado. Podría variar con el área y el nivel de experiencia (especialmente en relación con las partes internas de las puertas lógicas, que es en lo que trabajo).
jbord39

Tengo que estar de acuerdo con jbord39. Como he mostrado en mi respuesta, esa entrada E solo permite que los datos afecten a la salida. Sin embargo, tiene libros de texto que contienen información incorrecta. Bastante molesto en realidad.
Bradman175

1

Un flip flop es diferente a un pestillo. Ambos son circuitos biestables, pero en realidad son dos cosas diferentes.

El pestillo tiene un pin de habilitación y escucha las entradas / entradas de datos solo cuando este pin es alto. Cuando está bajo, el pestillo se congela y memoriza su estado. Ahora, incluso si manipulas las entradas, no reaccionará.

El flip flop contiene un pin de reloj, que reacciona solo al cambiar los pulsos (cambios de nivel). Piensa en una onda cuadrada. El tiempo transitorio entre apagado y encendido; apagado y encendido es el tiempo en que el circuito reacciona a las señales de entrada. Solo entonces está disponible para cambiar, no cuando el pin está estable y completamente encendido.

Tiempo de reacción del flip flop

Tenga en cuenta que las líneas verdes representan el período que escucha la entrada y las líneas rojas el período cuando no lo hace. El pestillo permite la entrada solo durante los períodos mostrados por las líneas rojas superiores.

El SR independiente no es un circuito factible en la práctica.

Créditos a jbord39 por señalar el error. Imagen tomada de radio-elctronics.com y editada.


Un flip flop no es un pestillo, pero se puede construir a partir de dos pestillos de fase opuesta de forma consecutiva.
jbord39

Edité la respuesta @ jbord39
Daniel Tork

Gracias, @ Peter Mortensen. No los vi.
Daniel Tork

0

Los términos a medida que los usa en su pregunta están 100% en línea con lo que escuché usado en el contexto del diseño de circuitos integrados analógicos. Los pestillos tienen una señal de habilitación sensible al nivel, mientras que los flip flops tienen señales de habilitación sensibles al borde llamadas 'reloj'. He notado algunos lugares en línea o en algunos libros que parecen usar el término flip flop para ambos tipos, lo que puede tener sentido si solo piensa en el estado del circuito "flip flop" entre dos puntos estables, pero cada vez que los diseñadores hablan de En los circuitos donde trabajo, los pestillos son sensibles al nivel y los flip flops (o también comúnmente "flops") son sensibles al borde.

Sobre su otra pregunta sobre si diseñar un flip flop como un pestillo con un detector de bordes frente a un par de pestillos maestro-esclavo. De cualquier manera puede funcionar, suponiendo que haya suficiente retraso en su detector de borde. Los pestillos tendrán una cantidad mínima de tiempo de activación. Sospecho que es más difícil hacer un flip flop de alta velocidad utilizando la técnica del detector de bordes, y el tiempo de configuración / retención puede variar más sobre el proceso / voltaje / temperatura.


Me pregunto por qué rara vez veo flops implementados con un par maestro / esclavo con umbrales lógicos que no se superponen (por lo que un voltaje de entrada por debajo de VDD / 4 habilitaría al maestro, y un voltaje por encima de VDD / 2 habilitaría al esclavo. Si hay múltiples flops en cascada alimentado con una señal de entrada ruidosa o de aumento lento, el comportamiento sería confiable siempre que, en un borde ascendente, ninguno de ellos vea un voltaje por debajo de VDD / 4 después de que alguno haya visto un voltaje por encima de VDD / 2.
supercat

@supercat ¿Estás hablando de histéresis?
Cort Ammon - Restablece a Monica el

@CortAmmon: No, algo mejor. Si dos flip flops con disparadores Schmidt independientes se conectan en cascada, puede producirse una operación incorrecta si el primer flop reconoce el borde del reloj y propaga la entrada a la salida antes de que el segundo flop reconozca su borde del reloj. Si los flip flops usan umbrales de entrada divididos, el segundo flop capturaría su entrada cuando el reloj se eleva por encima del umbral inferior, pero la salida del primer flop no cambiará hasta que el reloj alcance el umbral superior.
supercat

0

(Salte al final si desea saber si el último circuito del OP es flip-flop o pestillo).

En términos básicos, un Flip-Flop es una disposición de puertas lógicas (o componentes) que permite el enclavamiento de 2 estados junto con un pin de reloj que permite estos cambios de estados.

Ahora aquí está la diferencia entre un Flip-flop y un pestillo. Los pestillos son asíncronos, mientras que los flip-flops son sincrónicos.

  • Los pestillos asincrónicos no requieren un pin de actualización, que comúnmente se llamaría el CLKpin (abreviatura de reloj) en un flip-flop. Lo único que les importa es si las entradas están en un estado específico, ya sea HIGHo LOW. Cuando una determinada combinación de HIGHsys LOWse instiga en la entrada, es cuando el circuito decide realizar una acción y el resultado deseado se devuelve "inmediatamente". Hay 4 acciones posibles en un pestillo.

    1. Hacer nada
    2. Establecer QenHIGH
    3. Establecer QenLOW
    4. El estado no válido (supuestamente invierte el valor de Q)

    Tenga en cuenta que Q'depende de Q.

Un ejemplo es el pestillo SR que muestra las 4 acciones posibles que puede realizar un pestillo: RS Latch

  1. Cuando Ses LOWy Res LOW, nada cambia.
  2. Cuando Sis HIGHy Ris LOW, Qse establece en HIGH.
  3. Cuando Sis LOWy Ris HIGH, Qse establece en LOW.
  4. Cuando Sis HIGHy Ris HIGH, Qse invierte, a una velocidad rápida "impredecible". Este estado no es válido
  • Los flip-flops síncronos le permiten establecer un valor para los pines de datos. Esto significa que solo le importa el estado de estos pines. Sin embargo, el circuito aún no decide realizar ninguna acción en la salida. Tienes el CLKpin como se mencionó anteriormente. Cuando el CLKpin cambia de estado (ya sea de LOWa HIGH, viceversa, o incluso ambos), los pines de datos se "capturan" y las lleva a cabo flip-flop una acción basada en la combinación de HIGHs y LOWS de los datos capturados de los pines de datos. Hay dos acciones para el CLKpin.
  1. Hacer nada
  2. "Capture" datos de los pines de datos y realice una acción en la salida en función de los valores de los pines de datos en ese momento específico.

Nuevamente hay 4 acciones posibles que el circuito puede hacer en la salida.

  1. Hacer nada
  2. Establecer QenHIGH
  3. Establecer QenLOW
  4. Invierta el valor de Q(ahora es válido porque solo lo hace una vez)

ESTO NO ES UN FLIP-FLOP:

ingrese la descripción de la imagen aquí

¿Pero por qué puedes preguntar? Ese Epin no es un pin de reloj. Los pines del reloj permiten que el circuito analice la información de los pines de datos UNA VEZ donde esa información se envía como instrucciones para realizar acciones específicas en la salida. Sin embargo, habilitar pines como este permite que el circuito analice la información de los pines de datos siempre que se mantenga alta y establezca constantemente los valores de la salida. Por lo tanto, es un pestillo. (Gracias a jbord39 por señalar mi error).

Entonces, el Flip-flop es como un pestillo, excepto que necesita un paso adicional de "confirmación", que es el CLKpin.

Entonces, ¿ese último circuito de la pregunta del OP es un flip-flop? Intente mantener la C en alto y vea si la salida cambia cuando cambia el valor de D. Si la salida cambia, debería llamarse enable en su lugar y es un pestillo. Pero si la salida no cambia (en ese caso), entonces es un flip-flop.

Las imágenes provienen de Wikipedia.


No, muchos pestillos tienen pasadores de reloj. nxp.com/documents/data_sheet/74HC_HCT373.pdf, de hecho, el circuito que mostró es un pestillo, no un flip flop ...
jbord39

@ jbord39? ¿Qué pin de reloj? Y habilitar pin es diferente a un pin de reloj.
Bradman175

@ jbord39 y whoops tienes razón. Los dos circuitos inferiores son pestillos. Por favor reconsidere mi respuesta.
Bradman175

Déjame ver si entiendo. Los flip flops verifican cada entrada y encienden una salida y un pestillo verifica el reloj y actúa si es 1, generando el valor de D. Entonces, el pestillo SR ES un flip-flop ya que no está sincronizado, pero el pestillo D es un verdadero pestillo.
Daniel Tork

@DanielTork Lo que pasa es que tienes varios "relojes" y un reloj no puede alternar entre pines y también sirve como un pin de datos.
Bradman175
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.