Also arbeite ich an: http://www.nand2tetris.org/ und es fällt mir schwer, den D-Flip Flop zu verstehen , oder vielleicht sollte ich sagen, wie Logismus ihn darstellt.
Ich habe diese Schaltung und dies ist der aktuelle Zustand, in dem ich mich befinde. Das D-Flip-Flop, das ich in meiner Schaltung habe, hat die Eigenschaft Trigger: Falling Edge.
Jetzt klicke ich auf Laden und in Eingänge:
Und ich werde einmal ankreuzen
In diesem Moment ist es in Ordnung, dass out = 0 ist . Ich kann das verstehen. Meine Erwartung ist jedoch, dass D bereits geladen sein sollte und 1 und nicht 0 anzeigen sollte .
Erst nachdem ich noch einmal angekreuzt habe , wird das D geladen:
Wenn ich den von D angezeigten Wert überdecke, ergibt alles einen Sinn, wie das Flip Flop funktioniert usw. Aber solange ich den Wert im D - Flip Flop selbst sehe, bin ich verwirrt.
Ist mein Verständnis falsch oder stimmt etwas mit Logisim nicht?
Worauf Sie hier stoßen, ist eine Eigenart von Logisim. Jeder "Tick" des Simulators führt zu einem halben Taktzyklus, nicht zu einem ganzen Zyklus. (Sie können dies in den Screenshots sehen: Der Takteingang wechselt nach dem ersten Tick von dunkelgrün auf hellgrün und nach dem zweiten Tick wieder auf dunkel.)
Da das D-Flip-Flop so eingestellt ist, dass es auf die fallende Flanke des Takts triggert, wird der Ausgang nur nach dem zweiten Tick aktualisiert, da dieser Tick derjenige ist, in dem die fallende Flanke auftritt.
Das Anschließen des Takteingangs an einen anderen digitalen Eingang (wie Sie ihn für "Load" und "In" haben) kann es einfacher machen, mit dieser Schaltung herumzuspielen.
Martin Zabel
Koray Tugay