Ringzähler Digitale Werke

Geben Sie hier die Bildbeschreibung einIch habe Probleme mit einer Digtal Works-Simulation eines Ringzählers. (Version 3.0.5.0, Urheberrecht Mecanique)

Der Ein-Aus-Knopf löscht die Flip-Flops nicht; Das Flip-Flop links ist immer eingeschaltet.

(Ich verwende dies in einer Simulation einer CPU für die Computerorganisationsklasse, die ich unterrichte. Dies dient der grundlegenden Steuerung, ob der Computer eine Anweisung aus dem Speicher abruft, eine sofortige Operation ausführt usw.)

Ich habe in diesem Stapelüberlauf nach "Digital Works" gesucht und nichts gefunden. Natürlich habe ich im Allgemeinen viele Informationen zu diesem Thema im Internet gefunden und verwendet.

Ich bin mit der Software nicht vertraut, aber irgendetwas sieht seltsam an dem Draht unter dem mittleren rechten Flip-Flop aus. Es hat einen Verbindungspunkt in der Mitte des Drahtes und geht über den Stift hinaus. Ist es richtig angeschlossen?

Antworten (1)

Ich habe ein kommentiertes Bild Ihres Schaltplans beigefügt:

Erstens ist es ein bisschen chaotisch. Es ist ein langer Weg, den Schaltplan "sauber aussehen" zu lassen, insbesondere weil Drahtsprünge häufig Netzlistenfehler verursachen (oder zumindest nicht die Netzliste erstellen, wie Sie es erwarten würden). Jeder Draht ist idealerweise gerade. Die Gates sind nicht zufällig platziert, sondern so angeordnet, dass sie den Signalfluss intuitiv zeigen.

kommentiertes Schema

Ich bin nicht vertraut mit den unteren beiden Anschlüssen des Flip-Flops. Ich nehme an, es ist irgendwie klar?

Beachten Sie trotzdem das grüne Netz. Was treibt das an? Für mich sieht es schwebend aus. Im Allgemeinen möchten Sie Netze entweder an die Versorgungsspannung oder an Masse binden. Wenn sie nur schweben, kann das Verhalten unvorhersehbar sein.

Alternativ geht das rote Netz (das mit dem ganz linken Flip-Flop verbunden ist) an jedem Flip-Flop an denselben Port wie das grüne (klar, nehme ich an). Aber es ist an den Druckknopf gebunden, während das Grün noch von nichts angetrieben wird.

Wenn Sie also möchten, dass sich der ganz linke Flip-Flop wie die anderen 3 Flip-Flops verhält, verbinden Sie ihn mit der gepunkteten orangefarbenen Linie und schneiden Sie den Draht zum ersten Flip-Flop, der aus dem roten Netz kommt (die lila gepunktete Linie steht für einen Schnitt).

In der Praxis möchten Sie jedoch sicherstellen, dass alle Eingangsnetze gebunden sind. Ich vermute, dass Sie in diesem Fall damit durchkommen, weil Sie auf der Grundlage von Verilog simulieren und das Zurücksetzen so etwas wie @rising_edge(clear) ist. Da ein schwimmendes Netz niemals „aufsteigt“, löst dies niemals aus. Aber im wirklichen Leben würde es zu sehr unvorhersehbaren Ergebnissen führen, da seine Spannung aufgrund von Rauschen und Drift schwanken könnte.

Hier ist ein Beispielschema, wie ich es bauen würde:

myschem

Danke für die schnelle Antwort. Ich habe Ihr Diagramm im Designer von Digital Works implementiert. (Beachten Sie, dass dieses Tool nicht auf Verilog basiert; es scheint ein altmodischer digitaler Logik-Schaltplan-Schubladen/Simulator zu sein, der für diesen Kurs geeignet erscheint). Das Problem ist, dass, wenn ich das System im Normalbetrieb starte und die Taste drücke, am Ende mehr als ein Bit im Ringzähler steht. Wenn ich einen Schritt nach dem anderen mache, ist es schwierig, den Knopf nur einen Zyklus lang gedrückt zu halten. Ich habe es jedoch endlich zum Laufen gebracht, aber ich bevorzuge es, wenn es weniger schwierig wäre, sowohl für mich als auch für meine Schüler
@LaurenceLeff: Sie können den Zähler stattdessen mit einem NOR-Gatter mit 4 Eingängen anstelle der Drucktaste initialisieren. Jeder Eingang ist der Ausgang eines der Flip-Flops. Nur wenn alle Flip-Flop-Ausgänge "0" sind, erzeugt das NOR-Gatter auf diese Weise einen logischen "1"-Wert, um den Zähler zu starten. Dann brauchen Sie den Taster vielleicht gar nicht.