Ralph H. schrieb:
> Die Bibliothek IEEE.STD_LOGIC_unsigned.ALL ist eingebunden,
> weil ich sie ohnehin brauche.
Wofür brauchst du die denn ohnehin?
> DG13 <= '1' when QD41_42 = 66 -- Setzen bei Zählerstand 66
> else '0' when QD41_42 = 2; -- rücksetzen bei Zählerstand 2
Das ist ein Latch. Und damit grundsätzlich zu hinterfragen!
Denn was passiert, wenn da beim Zählerumschalten mal kurz ein Glitch
auftritt, der entweder 66 oder 2 ist?
Aber du hast mit deinen Zahlenkombinationen vermutlich Glück, denn mit
den Bitmustern
2 = 0000 0010
66 = 0100 0010
88 = 0101 1000
kann dir eigentlich nichts (schlimmes) passieren.
Natürlich kann beim Zählerüberlauf von 3 = 0000 0011
nach 4 = 0000 0100
mal kurz die 2 auftauchen
oder auch beim Überlauf von 7 = 0000 0111
nach 8 = 0000 1000
Aber weil damit dann nur die '0' nochmal gesetzt wird, kann dir hier
zufälligerweise nicht viel passieren...
Nur wenn du jetzt meinst, die Idee ist toll und mal andere Werte
verwendest, dann können dir solche kurzen Glitches schnell mal die Suppe
versalzen.
Christian R. schrieb:
> Vielleicht so: ...
So würde ich das auch machen. Das ist auf jeden Fall sicher, denn
irgendwelche Glitches werden sich bei der nächsten Taktflanke sicher
beruhigt haben...