¿Alguien puede explicar el siguiente circuito flip-flop?

ingrese la descripción de la imagen aquí

Tengo problemas para entender lo que está pasando en este circuito. La pregunta es "¿cuál es el valor de Q si R ¯ = 1 y S ¯ = 0 " (como se muestra).

ingrese la descripción de la imagen aquí

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

Mire la tabla de verdad de las puertas NAND y considere las entradas que tiene.

Respuestas (6)

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

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

A B Z 0 0 1 0 1 1 1 0 1 1 1 0

Mirando el esquema de su pestillo SR, nombrando la NAND superior (impulsada por S ') "T" y la NAND inferior (impulsada por R') "U", tenemos las siguientes relaciones:

Pestillo SR

A T = S ¯ , B T = q ¯ , A tu = R ¯ , B tu = q

A partir de eso, podemos comenzar a dibujar una tabla de verdad para el SR-latch, de la cual conocemos solo las entradas en este punto:

A T = S ¯ A tu = R ¯ B tu = q = Z T B T = q ¯ = Z tu 0 0 0 1 1 0 1 1

Mirando hacia atrás en la tabla de verdad para la NAND, nos damos cuenta de que si alguna de sus entradas A o B es 0, su salida Z es 1. A partir de eso, podemos comenzar a completar los valores que faltan en nuestra tabla de verdad SR-latch:

A T = S ¯ A tu = R ¯ B tu = q = Z T B T = q ¯ = Z tu 0 0 1 1 0 1 1 1 0 1 1 1

Ahora, mirando la tabla de verdad NAND nuevamente y dándonos cuenta de que su salida Z es 0 si A y B son 1, continuamos completando los valores faltantes:

A T = S ¯ A tu = R ¯ B tu = q = Z T B T = q ¯ = Z tu 0 0 1 1 0 1 1 0 1 0 0 1 1 1

Parece que tenemos todas las entradas excepto la de cuando tanto S' como R' son 1, porque este estado solo depende de los valores anteriores de Q y Q' . Así es como el pestillo mantiene su valor, porque para ese estado, las entradas de las NAND se ven como

A T = S ¯ = 1 , B T = q ¯ A tu = R ¯ = 1 , B tu = q

de lo que se deduce que las salidas de estos pestillos son

Z T = ! q ¯ = q Z tu = ! q = q ¯

Al etiquetar estos valores Q y Q' "anteriores" como Qp y Qp', tenemos la tabla de verdad final para nuestro pestillo SR:

A T = S ¯ A tu = R ¯ B tu = q = Z T B T = q ¯ = Z tu 0 0 1 1 0 1 1 0 1 0 0 1 1 1 q pag q pag ¯

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

Temporización de enclavamiento SR

Los valores de Q y Q' en este diagrama se pueden derivar al observar la tabla de verdad del latch SR:

  • una. S' baja, lo que hace que Q suba y Q' baje.
  • b. S' sube, Q y Q' mantienen sus valores actuales.
  • C. R' cae, lo que hace que Q baje y Q' suba.
  • d. R' sube, Q y Q' mantienen sus valores actuales.
  • mi. Tanto R' como S' caen al mismo tiempo, lo que hace que Q y Q' suban.
  • F. S' se "libera" (sube) primero, dejando el pestillo SR en el mismo estado que estaba después de c: Q baja y Q' permanece alto.
  • gramo. 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' suban.
  • i. R' se "libera" (sube) primero, lo que equivale al estado a: Q sube y Q' baja.
  • j. Lanzamientos de S. Tanto Q como Q' mantienen sus valores actuales.

Para el OP: si eso no está claro o si desea obtener más detalles (como más esquemas de los diferentes estados), hágamelo saber en un comentario; veré qué puedo hacer.

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

Como ahora conoce ambas 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 que la salida NAND cambie a 0 ). Así que ahora tienes:

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

Considere esto: ¿Qué pasaría si sus condiciones iniciales fueran cambiadas, 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 dibujarlo, pero básicamente, las salidas no cambiarán debido al mismo argumento que teníamos antes; la otra entrada a la puerta NAND ya es 0, y necesitamos que ambas entradas sean 1 para cambiar la salida (~Q) a 0. (Hay 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 ~S = 0 y ~R = 0, porque entonces tanto Q = 1 como ~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 imagen; protegen el flip flop SR para que esta entrada en particular nunca suceda.

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

En su segunda imagen, considere la señal "D": va directamente a la primera puerta NAND y una versión invertida entra en la segunda. Ahora, si D es alta, entonces la segunda NAND siempre generará 1, de modo que ~R = 1. Por otro lado, si D es baja, 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á, ¿sí?

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

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

El primer circuito es un "flip-flop" o "latch" estándar. Aquí hay una tabla de verdad: -

S ¯ R ¯ q q ¯ 0 0 1 1 1 0 0 1 0 1 1 0 1 1 ? ?
Lo interesante es esa última fila, con S ¯ = R ¯ = 1 hay dos estados estables para la salida, q = 0 , q ¯ = 1 y q = 1 , q ¯ = 0 . Esto significa que esencialmente puede "recordar" cuál de las entradas S ¯ y R ¯ fue visto por última vez en 0 .

Ahora echemos un vistazo a la primera mitad del segundo circuito.

D GRAMO S ¯ R ¯ 0 0 1 1 1 0 1 1 0 1 1 0 1 1 0 1
Tiempo GRAMO = 0 da salida S ¯ = R ¯ = 1 y así el flip-flop permanece sin cambios en cualquier estado estable que haya tenido por última vez. Pero cuando GRAMO = 1 El valor de D establecerá el estado del flip-flop, y al combinar ambas tablas podemos ver que establece q = D .

¿Puedes explicar las tablas de verdad? No entiendo por qué tienen esos valores, aquí es donde estoy confundido.
Básicamente, esas tablas de verdad son así porque cualquier otro resultado evolucionará a este resultado, porque este es el único resultado estable . Imagina lo que sucederá con cualquier otro resultado. Afectará a las puertas de esa manera que obtendrá este resultado al final.

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

entonces Q sería 1 y pasaría este 1 a la puerta nand del lado inferior.

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

puede verificar si Q-bar afecta alguna entrada.

Lo importante a tener en cuenta es que en la lógica CMOS, la salida siempre se define y conduce a cero o uno, cualquier cosa intermedia es un estado transitorio. Establezca las dos salidas (Q y Q') en cualquiera de los cuatro estados "posibles", avance el tiempo discretamente y propague los unos y 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 genera un uno, y una compuerta NAND presentada con un uno en una de sus entradas actúa como un inversor aplicado a la otra entrada.

aquí está la forma de onda de Q

Siempre que la barra S y la barra Q sean 1, entonces la Q actual no cambió, quiero decir Q (t) = Q (t + 1). Cuando S(bar)=0 entonces Q=1 y cuando R(bar)=0 entonces Q= 0