Vom Flip-Flop zum Zähler
Ein einzelnes D-Flip-Flop, so verdrahtet, dass es seinen eigenen Ausgang bei jeder Taktflanke umschaltet (Q wird über ein NOT-Gatter auf D zurückgeführt), teilt die Taktfrequenz durch zwei — es zählt 0,1,0,1... in einem einzelnen Bit. Verkettet man mehrere solcher Umschaltstufen, erhält man eine Schaltung, die binär aufwärts zählt, ein Zählschritt pro Taktimpuls.
Asynchrone (Ripple-)Zähler
Der einfachste Binärzähler speist den Ausgang jedes Flip-Flops als Takteingang des nächsten. Das erste Bit schaltet bei jedem Taktimpuls um, das zweite Bit schaltet jedes Mal um, wenn das erste Bit fällt, und so weiter — genau wie beim manuellen binären Zählen. Dies wird als Ripple- oder asynchroner Zähler bezeichnet, weil sich die Änderung Stufe für Stufe durch die Kette „durchwellt", statt dass alle Stufen gleichzeitig aktualisiert werden.
Der Nachteil: Diese Ripple-Verzögerung summiert sich. In einem 4-Bit-Ripple-Zähler kann sich das höchstwertige Bit leicht nach der Taktflanke aktualisieren, nachdem sich die Änderung durch alle 4 Stufen fortgepflanzt hat — was zu Störungen führt, wenn andere Logik den Zählwert mitten im Ripple ausliest.
Synchrone Zähler
Ein synchroner Zähler löst dies, indem jedes Flip-Flop direkt vom selben Taktsignal angesteuert wird und zusätzliche kombinatorische Logik (typischerweise AND-Gatter) den nächsten Wert jedes Bits basierend auf dem aktuellen Zählwert berechnet. Alle Bits aktualisieren sich genau zum gleichen Zeitpunkt, wodurch die Ripple-Verzögerung auf Kosten etwas mehr Gatter entfällt.
Auf-/Ab- und Modulo-N-Zähler
Ein Richtungseingang erlaubt es einem Zähler, abwärts statt aufwärts zu zählen. Eine Rücksetzlogik, die vor dem natürlichen Überlaufpunkt auslöst, erzeugt einen Modulo-N-Zähler — zum Beispiel einen Zähler, der nach Erreichen von 9 statt 15 zurücksetzt, nützlich zur Ansteuerung einer Dezimalziffer auf einer 7-Segment-Anzeige.
Selbst ausprobieren
Laden Sie ein Zähler-Beispiel in Boolflow, verbinden Sie ein CLOCK-Element und beobachten Sie, wie die OUTPUT-Bits binär aufwärts zählen. Vergleichen Sie die Zeitabfolge mit einer Wahrheitstabelle der erwarteten Sequenz, um die korrekte Verdrahtung zu bestätigen.