11 votos

¿Qué es la condición de carrera en los flip-flops?

He repasado dos de mis libros de texto y he consultado a mi profesor, pero nada parece aclarar mis dudas.

Las dos versiones de raza que me han enseñado son -

  1. Cuando las entradas S y R de un flipflop SR están en 1 lógico, la salida se vuelve inestable y se conoce como condición de carrera.

  2. Cuando las entradas S y R de un flipflop SR están en 1 lógico y luego la entrada se cambia a cualquier otra condición, entonces la salida se vuelve impredecible y esto se llama condición de carrera.

¿Cuál es la correcta? O, ¿están equivocadas las dos? En caso afirmativo, ¿cuál es realmente la raza?

3 votos

¿Esta pregunta es sobre latches o sobre flip-flops? Algunas respuestas describen los latches pero los llaman flip-flops. La distinción se discute aquí: electronics.stackexchange.com/questions/21887/

0 votos

Hablo de flip-flops (mecanismo de activación por flanco)

0 votos

La pregunta está formulada en términos de S y R, por lo que obviamente no se refiere a la lógica de reloj. Si Lucyfer quería preguntar algo diferente que podría editar la pregunta, creo que no es propper tener un comentario no sólo carify una pregunta, pero darle la vuelta 180 grados.

9voto

GetFree Puntos 495

Una condición de carrera es un fenómeno relacionado con el tiempo. Una S-R FF estándar (dos puertas NAND o NOR acopladas en cruz) es estable para cualquier entrada estable.

enter image description here

La "diversión" está en la entrada S=1 R=1, la situación de la memoria. El estado del FF depende del estado anterior al 11, si era 01 el FF está en el estado Q=1, si era 10 el FF está en el estado Q=0. Este es el efecto de memoria clásico de un FF.

Pero si era 00 y ambas entradas cambiaban a 1 suficientemente cerca en el tiempo, el FF puede entrar en un estado metaestable, que puede durar bastante más que el tiempo de retardo de las compuertas. En este estado, las salidas pueden derivar lentamente hacia su estado final o mostrar una oscilación amortiguada antes de estabilizarse en el estado final. El tiempo necesario para estabilizarse es ilimitado, pero tiene una distribución que cae rápidamente para t >> retardo de puerta.

En funcionamiento normal, desde la entrada 00, una entrada se convierte en 1, y el bucle de realimentación en el flipflop propaga esto (o más bien, la entrada 0 restante) a través de ambas puertas, hasta que el FF se encuentra en un estado estable. Cuando la otra entrada también se convierte en 1 mientras todavía se está produciendo la propagación de la primera, ésta también empieza a propagarse, y nadie sabe cuál de las dos ganará. En algunos casos ninguna gana inmediatamente, y la FF entra en estado metaestable.

La condición de carrera es que, a partir de un estado de entrada 00, una entrada cambia a 0, y la segunda también cambia a 0 antes de que el efecto del primer cambio se haya asentado . Ahora los efectos de los dos cambios "compiten" por la prioridad.

La explicación indicada es para un simple Set-Reset FF (o latch, o como quieras llamarlo). Un circuito disparado por nivel (yo lo llamaría un Latch) puede ser pensado como un RS-FF con ambas entradas activadas por la entrada de habilitación (CLK en este diagrama):

enter image description here

En este circuito, una transición simulada 00 -> 11 de las "entradas" ocultas de las NANDS acopladas en cruz sigue provocando una condición de carrera. Dicha transición puede ocurrir (debido al retardo causado por el inversor) cuando la entrada D cambia simultáneamente con la entrada CLK cambiando de 1 a 0.

Un circuito de memoria con reloj real (activación por flanco) consta de dos latches, activados por niveles de reloj opuestos (disposición maestro-esclavo). Obviamente, el primer latch sigue siendo susceptible a la misma condición de carrera.

enter image description here

PS buscando en google las fotos apropiadas las obtuve de ¿Cómo se almacena 1 bit en un Flip flop? :)

1 votos

Perdona mi estupidez, pero sigo sin entender lo que significa "race-around" en esta respuesta.

0 votos

Añadido algún texto

0 votos

Esta respuesta es para un latch, no para un flip-flop. La OP estaba interesado en reloj SR flip-flops. Véase el comentario debajo de su mensaje.

3voto

Todas las respuestas enter image description here

En primer lugar no es la carrera alrededor de condion....no confundirlo....its Race Condition.....

Cuando S=R=1 Q=Q'=1. Está bien definido, pero el problema surge cuando S y R cambian simultáneamente de 0 a 1 (de alto a bajo).

Los transistores intentarán salir de la saturación...

Ahora ambos transistores Qr y Q's intentarán salir de la saturación...pero como el retardo de saturación si los transistores raramente pueden ser iguales en la producción en masa...el transistor con menos retardo de saturación ganará..y bloqueará el circuito....

Si Qr es más rápido entonces el voltaje en M caerá y Q=0 Si Qs es más rápido, la tensión en N caerá y Q'=0

El resultado es imprevisible

Incluso si las velocidades son iguales, las salidas Q y Q' oscilarán entre 1 y 0 y de 0 a 1. Por lo tanto la salida es inestable...

1voto

En los circuitos digitales, las condiciones de race around se producen cuando el estado final de la salida depende de cómo lleguen las entradas.

Los circuitos digitales tienen retardos inherentes. Así que es posible que una de las entradas llegue un poco antes o después que otras, es decir, las entradas que debían estar presentes al mismo tiempo en realidad llegan en momentos diferentes debido a los diferentes retrasos a lo largo de su camino.

Como resultado, la salida cambia de forma impredecible. En otras palabras, hay una carrera entre las entradas para ver cuál afectará a la salida. Por lo general, esto adopta la forma de picos, que pueden ser tanto altos como bajos.

Para su caso :

enter image description here

Considera lo que ocurrirá si tanto S como R son altos.

Supongamos q = 0 y q' = 1 inicialmente. Entonces

Si A llega antes que B , Q cambiará a Alto lo que momentáneamente pondrá Q' bajo lo que a su vez idealmente debería haber mantenido Q alto y así sucesivamente.

Ahora, al cabo de un momento, llega B ( de muy corta duración). Esto hará que Q' suba, lo que a su vez hará que Q suba.

Puedes comprobar qué ocurre cuando B llega antes que A.

En realidad, aquí ocurren dos cosas:

1) La salida depende momentáneamente de qué entrada llegue primero. Esta es, en esencia, la condición de carrera.

2) El estado final es q = 1 y q' = 1 . Esto NO es una condición de carrera. Es simplemente un estado inválido. Idealmente, Q y Q' deben ser opuestos, lo que no es el caso aquí.

Espero estar en lo cierto.

0voto

bcmcfc Puntos 346

Creo que el caso 1 es el adecuado. es decir., Cuando las dos entradas de un SR latch son '1', la salida es inestable.

Ahora de S=R='1' la entrada se cambia a S=R='0' en esta condición se supone que la salida es el estado anterior. Pero el estado anterior era inestable. Así que la salida puede bloquearse a '1' o '0'. No se puede predecir.

Así que el caso 2 es correcto si la entrada se cambió de '11' a '00'.

0 votos

Bueno si usas nor gates entonces es 11

0voto

Siempre que proporcionemos 1 tanto a J como a K en el Flip Flop JK, se supone que la salida complementa la salida anterior. Esto se denomina "race around condition" (similar al mismo concepto en el "sistema operativo", donde la salida final depende de la secuencia en la que se ejecutan los procesos).

Para superar este problema, utilizamos flip flop maestro-esclavo.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X