¿Puede alguien explicar el siguiente circuito de flip-flop?

8

Estoyteniendoproblemasparaentenderloqueestápasandoenestecircuito.Lapreguntapregunta"¿cuál es el valor de Q si \ $ \ bar {R} = 1 \ $ y \ $ \ bar {S} = 0 \ $" (como se muestra)?

En este caso, ¿cómo puedo determinar cómo se ve Q? Me doy cuenta de que esta pregunta puede requerir conocimiento de la anterior, razón por la cual la hice primero. Cualquier información sobre dónde ir sería genial.

    
pregunta Bob John

6 respuestas

4

Estoy de acuerdo con el OP en que la parte crítica de la función de un D-latch reside en su SR-latch, por lo que me centraré en esa parte solo por el momento.

Ya que estamos tratando con NANDs aquí, derivaría la función de latch SR o la tabla de verdad de una NAND con las entradas A y B y la salida Z:

$$ \ array {A & B & Z \\ 0 & 0 & 1 \\ 0 & 1 & 1 \\ 1 & 0 & 1 \\ 1 & 1 & 0} $$

Mirando su esquema de retención SR, nombrando la NAND superior (manejada por S ') "T" y la NAND inferior (manejada por R') "U", tenemos las siguientes relaciones:

$$A_T=\bar{S},B_T=\bar{Q},A_U=\bar{R},B_U=Q$$

Apartirdeeso,podemoscomenzaradibujarunatabladeverdadparaellatchSR,delcualsoloconocemoslasentradasenestepunto:

$$\array{A_T=\bar{S}&&A_U=\bar{R}&B_U=Q=Z_T&&B_T=\bar{Q}=Z_U\\0&&&&&&\\0&&&&&&\\1&&0&&&&\\1&&am;&&}$$

MirandohaciaatrásenlatabladeverdadparalaNAND,nosdamoscuentadequesialgunadesusentradasAoBes0,lasalidaZes1.Apartirdeeso,podemoscomenzaracompletarlosvaloresfaltantesennuestrolatchSRtabladeverdad:

$$\array{A_T=\bar{S}&&A_U=\bar{R}&B_U=Q=Z_T&&B_T=\bar{Q}=Z_U\\0&&&&&1&&1\\0&&1&&1&&\\&&&0&&&1;&&&}$$

Ahora,volviendoamirarlatabladeverdadNANDydándonoscuentadequelasalidaZes0sitantoAcomoBson1,seguimoscompletandolosvaloresfaltantes:

$$\array{A_T=\bar{S}&&A_U=\bar{R}&B_U=Q=Z_T&&B_T=\bar{Q}=Z_U\\0&&&&&&&&1\\0&&1&&1&&0\\1&&&0&&&;&&&}$$

ParecequetenemostodaslasentradasexceptoladecuandotantoS'comoR'son1,porqueesteestadosolodependedelosvaloresQyQ'anteriores.Asíescomoelpestillomantienesuvalor,porqueparaeseestado,lasentradasdelosNANDparecen:

$$\array{A_T=\bar{S}=1,B_T=\bar{Q}\\A_U=\bar{R}=1,B_U=Q}$$

deloquesededucequelassalidasdeestospestillosson

$$\array{Z_T=!\bar{Q}=Q\\Z_U=!Q=\bar{Q}}$$

Etiquetandoestosvaloresde"Q" y "Q" como "Qp y Qp", tenemos la tabla de verdad final para nuestro latch SR:

$$ \ array {A_T = \ bar {S} & & A_U = \ bar {R} & B_U = Q = Z_T & & B_T = \ bar {Q} = Z_U \\ 0 & & & & & & & & 1 \\ 0 & & 1 & & 1 & & 0 \\ 1 & & & 0 & & & ; & Q_p & & \ bar {Q_p}} $$

Si prefiere ver algunas formas de onda de este pestillo SR creado a partir de puertas NAND, lo siguiente podría ayudar:

LosvaloresparaQyQ'enestediagramapuedenderivarsedelatabladeverdaddelpestilloSR:

  • a.S'baja,causandoqueQaumenteyQ'acaer.
  • b.S'aumenta,QyQ'mantienensusvaloresactuales.
  • c.R'cae,causandoqueQbajeyQ'suba.
  • d.R'sube,QyQ'mantienensusvaloresactuales.
  • e.TantoR'comoS'caenalmismotiempo,loquehacequeQyQ'seeleven.
  • f.S'"libera" (va alto) primero, dejando el pestillo SR en el mismo estado que estaba después de c: Q baja y Q' permanece alto.
  • g. R 'sube, Q y Q' mantienen sus valores actuales.
  • h. Tanto R 'como S' caen al mismo tiempo, lo que hace que Q y Q 'se eleven.
  • i. R '"libera" (va alto) primero, que luego es equivalente al estado a: Q va alto y Q' baja.
  • j. S 'lanzamientos. Tanto Q como Q 'mantienen sus valores actuales.

A la OP: Si eso no está claro o si desea más detalles (como más esquemas de los diferentes estados), hágamelo saber en un comentario. Veré qué puedo hacer.

    
respondido por el FriendFX
5

En tu primera foto, considera la puerta superior NAND. Sabemos que una compuerta NAND es tal que, si alguna entrada es 0, entonces la salida debe ser 1 (la única forma en que la salida de una compuerta NAND es 0, es si ambas entradas son 1). Por lo tanto, desde ~ S = 0, entonces Q = 1, independientemente de la segunda entrada a la puerta superior NAND.

Como ahora conoce las dos entradas de la segunda puerta NAND, es fácil deducir que ~ Q = 0 (ambas entradas son 1, por lo que la salida de la puerta NAND es 0)

~S = 0
~R = 1
 Q = 1
~Q = 0

El punto del circuito es que, si ahora establece ~ S = 1, las salidas no cambiarán, porque la segunda entrada a la puerta NAND superior es 0 desde antes (ambas entradas deben ser altas para hacer la salida NAND cambiar a 0). Así que ahora tienes:

~S = 1  
~R = 1  
 Q = 1  
~Q = 0 

Considera esto: ¿Qué pasaría si se cambiaran las condiciones iniciales, es decir, ~ R = 0 y ~ S = 1? Haciendo exactamente el mismo razonamiento que antes (excepto que ahora comenzamos con la puerta NAND inferior) encontramos que Q = 0, y ~ Q = 1

~S = 1  
~R = 0  
 Q = 0  
~Q = 1  

Ahora sucede la magia: establecemos ~ R = 1. ¿Qué sucede? Puede ser útil extraerlo, pero básicamente, los resultados no cambiarán debido al mismo argumento que teníamos antes; la otra entrada a la compuerta NAND ya es 0, y necesitamos que ambas entradas sean 1 para cambiar la salida (~ Q) a 0. (Existe una pista de que esto sucedería, ya que el circuito es perfectamente simétrico)

~S = 1  
~R = 1  
 Q = 0  
~Q = 1  

Las entradas son las mismas que antes, ¡pero las salidas son diferentes! - Recuerdan el estado anterior.

En general, nunca usará el caso cuando ambos ~ S = 0 y ~ R = 0, porque entonces Q = 1 y ~ Q = 1, lo que probablemente romperá la lógica que depende del circuito. Ese es el punto de las dos puertas adicionales en tu segunda foto; protegen el flip flop SR para que esta entrada en particular nunca suceda.

(Piense en S como "set" y en R como "reset": cuando ambos están bajos, el flip flop recuerda el estado anterior. Cuando S es alto, "establece" la salida (Q) en 1; cuando R es alto, usted "(re) establece" la salida a 0. Si intenta configurar la salida en 0 y 1 simultáneamente, obviamente sucederá algo incorrecto, por lo que debe asegurarse de que no ocurra.)

En tu segunda imagen, considera la señal "D": va directamente a la primera puerta NAND, y una versión invertida va a la segunda. Ahora, si D es alto, entonces la segunda NAND siempre emitirá 1, de modo que ~ R = 1. Por otra parte, si D es baja, entonces la salida de la primera NAND siempre será 1, de modo que ~ S = 1. De esta manera, garantizamos que nuestro escenario aterrador con el flip flop SR de arriba nunca sucederá, ¿no?

Ahora considera la señal G. Si G = 0, entonces ambos ~ S = 1 y ~ R = 1; por lo tanto, este es el estado "recordatorio", en el que la salida permanece igual. Sin embargo, si G = 1, entonces ~ S o ~ R serán bajos, ¿verdad? Lo que dependerá del valor de D.

En resumen, cuando G es 1, entonces Q = D, y cuando G es 0, entonces Q = Qold

    
respondido por el tor
4

El primer circuito es un "flip-flop" o "latch" estándar. Aquí hay una tabla de verdad: $$ \ array {\ bar {S} & \ bar {R} & Q & \ bar {Q} \\ 0 & 0 & 1 & 1 \\ 1 & 0 & 0 & 1 \\ 0 & 1 & 1 & 0 \\ 1 & 1 &? &?} $$ Lo interesante es que en la última fila, con \ $ \ bar {S} = \ bar {R} = 1 \ $ hay dos estados estables para la salida, \ $ Q = 0, \ bar {Q} = 1 \ $ y \ $ Q = 1, \ bar {Q} = 0 \ $. Esto significa que básicamente puede "recordar" cuál de las entradas \ $ \ bar {S} \ $ y \ $ \ bar {R} \ $ se vio por última vez en \ $ 0 \ $.

Ahora veamos la primera mitad del segundo circuito. $$ \ array {D & G & \ bar {S} & \ bar {R} \\ 0 & 0 & 1 & 1 \\ 1 & 0 & 1 & 1 \\ 0 & 1 & 1 & 0 \\ 1 & 1 & 0 & 1} $$ Mientras que \ $ G = 0 \ $ produce \ $ \ bar {S} = \ bar {R} = 1 \ $ y, por lo tanto, el flip-flop permanece sin cambios en el estado estable que se mantuvo por última vez. Pero cuando \ $ G = 1 \ $ el valor de \ $ D \ $ establecerá el estado del flip-flop, y al combinar ambas tablas podemos ver que establece \ $ Q = D \ $.

    
respondido por el Shard
0

nand-gate se determina que será 1 si una de sus entradas es 0.

entonces Q sería 1 y pasaría este 1 al lado de abajo de nand-gate.

entonces no hay dos entradas de nand-gate 1, por lo que Q-bar es 0

puedes verificar si la barra Q afecta alguna entrada.

    
respondido por el snowcake and icejelly
0

Lo importante a tener en cuenta es que, en la lógica CMOS, la salida siempre se define y se dirige a cero o a uno, todo lo que se encuentre entre ellas es un estado transitorio. Establezca las dos salidas (Q y Q ') en cualquiera de los cuatro estados "posibles", avance de manera discreta y propague los unos y los ceros a través del sistema y vea dónde se asientan las cosas. Recuerde que una compuerta NAND presentada con un cero en una de sus entradas siempre da salida a una, y una compuerta NAND presentada con uno en una de sus entradas actúa como un inversor aplicado a la otra entrada.

    
respondido por el vicatcu
0

Cuando alguna vez la barra S y la barra Q sean 1. entonces la Q actual no cambió i significa Q (t) = Q (t + 1). Cuando S (barra) = 0, entonces Q = 1 y cuando R (barra) = 0 entonces Q = 0

    
respondido por el SW.

Lea otras preguntas en las etiquetas