¿Cómo funciona el D Flip Flop y POR QUÉ mantiene su valor?

Estoy tratando de comprender y comprender la electrónica, con suerte, para poder construir una computadora de 8 bits.

Actualmente estoy investigando más a fondo las chanclas y, en lugar de creer que "simplemente funcionan", ¿alguien podría explicarme POR QUÉ Q y no Q mantienen sus valores según el siguiente esquema?

ingrese la descripción de la imagen aquí

Dibujé este esquema a mano, siguiéndolo con entradas cada vez, comenzando con 1 y 1 para D y CLK, luego quitando CLK a 0 a medida que sube el borde, pero siempre salgo con 0 en mi trabajo manual, sin embargo yo han construido físicamente el circuito y funciona como se esperaba.

Entonces, ¿alguien puede explicar CÓMO y POR QUÉ Q tiene su valor?

Su diagrama es incorrecto. Las puertas NAND de la derecha deben ser puertas NOR. Además, lo que está mostrando como una entrada de reloj no es un reloj sino una habilitación. Esto no es un D Flip Flop, sino más bien un pestillo transparente.
@David Creo que el diagrama es correcto. Estoy de acuerdo en que esto es un pestillo, no un FF, pero no todos están de acuerdo con esos términos.
@WoutervanOoijen Tienes razón. Hay varias formas de hacerlo. Una forma es (de izquierda a derecha) AND+NOR, y la otra es NAND+NAND. Los estaba confundiendo.
La convención general es que los FF son sensibles a los bordes, mientras que los pestillos son sensibles al nivel. El diagrama en la pregunta es un pestillo D cerrado y no un DFF. en.wikipedia.org/wiki/Flip-flop_(electronics)#Gated_D_latch El diagrama de bloques no debe tener el símbolo de reloj ">" sino una "E" para habilitar o "C" para controlar.

Respuestas (1)

Tenga en cuenta que enseño estas cosas, así que en lugar de darle la respuesta, intentaré dejar que lo descubra por sí mismo, lo que es mucho más útil a largo plazo. Espero que las otras respuestas no arruinen este enfoque.

Trate de entender primero las dos NAND del lado derecho. Cuando ambas entradas (S y R) son 1, ¿cuáles serán las salidas? Pruébelo usted mismo. Suponga que Q es 1, ¿es un estado estable? ¿Y es Q = 0 un estado estable?

Ahora averigua qué sucede cuando S = 0 (R sigue siendo 1).

¿Y qué sucede cuando DESPUÉS de S = 0 / R = 1 volvemos a S = 0 / R = 0?

Cuando comprenda esa parte, eche un vistazo a las dos NAND de la izquierda. ¿Cuáles son sus salidas cuando CLC = 0? ¿Y qué cuando CLK = 1?

PD Dos estudiantes míos acaban de completar la construcción de una CPU de 16 bits a partir de chips de nivel 74HC (usaron chips ALU, que en mi opinión es un poco trampa). Les tomó ~ 6 meses.

Nuestro curso de computación de bajo nivel para estudiantes de primer año nos hizo diseñar una CPU mips de 16 bits en un simulador lógico y escribir un ensamblador para ella como un proyecto de curso, luego volcarla en una FPGA para ver cómo funcionaba físicamente tomó mucho menos tiempo de lo que tardaría. tome para envolverlo con chips 74xxx, y (IMO) mucho más relevante para CS / EE moderno, solo una sugerencia.
Si la sugerencia está dirigida a mí: esos estudiantes hicieron esto por su cuenta, con un apoyo mínimo de mi parte. Varios pasos a nivel de simulación fueron parte del proceso. El objetivo final era tener una CPU con ALU, registros, secuenciador, etc. físicamente reconocibles.