Ich habe versucht, ein JK-Flip-Flop herzustellen, kann aber keinen der Ausgänge dazu bringen, jemals von 0 zu wechseln

Ich habe 3 verschiedene Versionen ausprobiert - 1 mit AND- und NOR-Gattern, eine andere mit NAND und eine andere, bei der der NOR-Ausgang zum vorherigen Gatter in derselben Zeile zurückkehrt (dh der Ausgang des oberen NOR geht zurück in die oberen ANDs, während der Die unteren NORs gehen zu den unteren ANDs.)

Ich bin mir nicht einmal sicher, ob diese letzte Version korrekt ist, da ich nur ein Bild so online gesehen habe (in allen anderen ist das obere mit dem unteren und das untere mit dem oberen verknüpft), aber ich dachte, ich versuche es trotzdem

Wie in diesem kurzen Video zu sehen ist, bleiben Q und Q' unabhängig davon, welche Eingänge ich verwende, 0

Video.

Beispiel:

Geben Sie hier die Bildbeschreibung ein

Wenn jemand irgendwelche Hinweise hat, warum dies nicht funktioniert, würde ich es schätzen.

Bearbeiten: Ich bin auch neugierig, was passiert, wenn J & K beide 1 sind, wodurch die Werte von Q und Q' umgeschaltet werden. Bedeutet das jetzt nicht, dass, wenn wir das JK-Flip-Flop als Speicher betrachten, es jetzt den falschen Wert speichern würde? Wenn dies wahr ist, wie erklärt die Schaltung das? Korrigiert sich die Schaltung irgendwie selbst oder wird ihr bewusst, dass der Wert, der vorher in Q war, jetzt in Q' ist?

Antworten (1)

Was Sie gebaut haben, ist ein JK- Latch . Alle JK-Latches, egal ob sie aus NAND oder NOR aufgebaut sind, leiden unter dem gleichen Problem, wenn der Takt hoch ist und beide Eingänge '1' sind: Sie oszillieren. Es ist keine nützliche Schaltung.

Ein JK- Flip-Flop hingegen verwendet zwei JK-Latch-Stufen und ist flankengesteuert. Dies funktioniert wie erwartet und schaltet um, wenn beide Eingänge bei steigender Taktflanke "1" sind.

Mehr hier: JK Latch, möglicher Ben Eater Fehler?

Hm, okay. Ja, ich habe Bilder wie dieses ( i1.wp.com/dcaclab.com/blog/wp-content/uploads/2020/01/… ) in meinem Lehrbuch oder dem Ben Eater-Tutorial verfolgt – alle nannten sie Flip Flops, vielleicht falsch dann. Damit es tatsächlich funktioniert, haben Sie ein Beispiel dafür, was ich in diesem Programm erstellen müsste? Meinst du das, wenn du sagst, ich brauche 2 JK-Latches: web.eecs.utk.edu/~sislam/ECE533/Final433Labs/jkflipflop[1].gif
Ich habe eine Antwort verlinkt, die Falstad-Simulationen funktionierender JK-Flip-Flops enthält.
Alles klar, cool. Ich werde das überprüfen. Scheint, dass dieses Lehrbuch dann auch falsch sein könnte ... oder zumindest die Dinge so weit vereinfachen, dass sie nicht funktionieren ... für das, was sie als "Flip-Flop" bezeichnen ... i.imgur.com/xbqawiA.png
Der Begriff Flip-Flop wurde in der Vergangenheit verwendet, um sowohl Latches als auch flankengetriggerte Register zu beschreiben. Aufgrund dieser Verwirrung vermeiden Datenbücher es jetzt, während Designer „Latch“ sagen, wenn sie das meinen, und „Flop“ oder „Register“, wenn sie den flankengetriggerten Typ meinen.
Habe es. Ich bin dann neugierig - da Sie sich anscheinend auskennen - was genau bedeutet das "Umschalten"? Ich meine, wenn die Werte umschalten, bedeutet das nicht, dass die Daten jetzt falsch sind? Angenommen, wir haben eine 1 gespeichert, aber jetzt wechselt sie zu einer 0? Oder ist das irgendwie in der Schaltung berücksichtigt?
Das normale Verhalten eines flankengetriggerten (Master-Slave) JK-Flops, bei dem beide Eingänge hoch sind, besteht darin, dass Q und Qn bei steigendem Takt die Zustände tauschen. Das ist mit „umschalten“ gemeint. Es ist nicht "falsch", es sei denn, Sie haben das nicht erwartet, in diesem Fall möchten Sie wahrscheinlich stattdessen einen D-Flop verwenden.
Ok ... wenn JK-Flops als 1-Bit-Speicher betrachtet werden können, nehmen wir dann immer den Wert in Q, um den Wert des Flip-Flops zu erhalten? Oder müssen wir manchmal den Wert in Qn nehmen?
Es hängt von den Anforderungen Ihres Systems ab. Es gibt Szenarien mit Logikdecodierung (wie Zähler), in denen die Verwendung des Komplements Qn Logik einsparen kann. Oder die beiden Ausgänge könnten das eine oder andere Signal steuern, sodass beide verwendet würden. Das AD-Register kann aus den gleichen Gründen auch einen einzelnen Q-Ausgang oder sowohl Q als auch Qn haben.