Flipflop-Simulator - Dokumentation

zum Simulator

Circuit definition

Hier kommt die logische Beschreibung der Schaltung hinein. Es gibt zwei Elemente, die beliebig durch ; getrennt hintereinander stehen können.

Beispiel 2-Bit Up-Down-Counter

Dieser Zähler repräsentiert seinen Zustand durch zwei Bits q1, q0. Eine zusätzliche Steuerleitung d bestimmt, ob hinauf (d=0) oder hinunter (d=1) gezählt wird.

d = 000000111111;
JK j0 k0 q0;  JK j1 k1 q1;
j0 = 1;  k0 = 1;
j1 = -d q0 + d -q0; k1 = j1;

In der ersten Zeile wird die Richtungssteuerleitung d so definiert, dass sie zu den Zeitpunkten t=1,2,...6 den Wert 0 hat, für t=7,8,...,12 den Wert 1 und dann wieder von vorn beginnt. In der zweiten Zeile werden zwei JK-Flipflops angelegt mit den Eingängen j0 ... k1 und den Ausgängen q0 und q1. Letztere stellen die 2 Bits des Zählers dar. In der dritten Zeile wird festgelegt, dass die Eingänge des ersten Flipflops auf 1 gelegt sind. Und in der letzten Zeile wird der J-Eingang des zweiten Flipflops mit der Formel ¬d ∧ q0 ∨ d ∧ ¬q0 berechnet. Der K-Eingang wird mit dem J-Eingang gleichgesetzt.

Iterations

Gibt an, wieviele Zeitschritte simuliert werden.

Variable order

Hier kann man (muss aber nicht) die Reihenfolge der Variablen in der Simulations-Ausgabe festlegen. Einfach Variablennamen in der gewünschten Reihenfolge durch Leerzeichen (oder ander Zeichen) getrennt angeben.

Ausgabe

Die Ausgabe der Simulation erfolgt mit einer Zeile für jeden Zeitpunkt (Simulationsschritt). Für jede Variable wird der Zustande (1 oder 0) ausgegeben. Für JK-Flipflops bestimmt der Zustand der Eingänge zum Zeitpunkt t den Zustand des Ausgangs zum Zeitpunkt t+1, also eine Zeile darunter. Logische Berechnungen erfolgen aber unmittelbar noch in der selben Zeile.

Fehler

Wenn der Simulator einen Fehler ausgibt, kann das mehrere Ursachen haben. Es könnte eine Variable nicht berechnet werden. Jede Variable muss irgendwo links von einem = stehen oder als Q-Ausgang eines Flipflops. Es könnte eine Variable doppelt berechnet werden, was natürlich nicht zulässig ist. Es könnte einen Syntax-Fehler geben. Sind die Ausdrücke durch ; getrennt? Wurde ein ungültiges Zeichen verwendet? Stimmen die Klammern?