Das Problem: 4 Bit zählen von Natur aus bis 15
Boolflows CNT4-Block zählt von 0 bis 15, bevor er überläuft, da 4 Bit genau 16 Zustände ergeben. Um eine Siebensegmentanzeige mit rohem BCD anzusteuern, braucht man stattdessen einen Zähler, der von 0 bis 9 zählt und wieder zu 0 zurückkehrt — einen Dekaden- oder BCD-Zähler.
10 dekodieren, nicht 9
CNT4 hat einen asynchronen RST-Eingang: Sobald RST=1 ist, wird der Zählerstand sofort auf 0 zurückgesetzt, unabhängig vom Takt. Der klassische Trick besteht darin, den Zählwert 10 (binär 1010 — die Bits Q3 und Q1 sind beide 1) mit einem einzigen AND-Gatter zu dekodieren und das Ergebnis direkt in RST einzuspeisen. Der Zähler zählt normal bis 9, und in dem Moment, in dem er 10 erreicht, löst RST aus und setzt ihn zurück auf 0, noch bevor die nächste Taktflanke überhaupt eintrifft.
Warum 10 dekodiert wird, und nicht 9
Wäre RST stattdessen so verdrahtet, dass es 9 erkennt, würde sich der Zähler in dem Moment zurücksetzen, in dem er 9 erreicht, und ein Betrachter würde die 9 nie tatsächlich angezeigt sehen. Das Dekodieren von 10 lässt den Zähler die 9 wirklich als stabilen, sichtbaren Zustand durchlaufen — den Wert 10 berührt der Zähler nur für das fast augenblickliche Flackern, das ein asynchroner Reset zum Reagieren braucht, in der Praxis unsichtbar. Genau diese Technik verwenden klassische Dekadenzähler-Chips im Stil des 7490 intern.
Probieren Sie es selbst
Verdrahten Sie Q1 UND Q3 eines CNT4-Blocks zurück auf dessen eigenen RST-Eingang im Schaltungseditor, führen Sie den Zählerstand einer SEG7-Anzeige zu und bestätigen Sie, dass die Ziffer zyklisch von 0 bis 9 und zurück zu 0 läuft, statt bis 15 weiterzuzählen.