Gast
#3644961
Ich verwende nachfolgenden Code innerhalb eines getakteten Prozesses:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
Die Zähler g1-g4 sollen bei ihrem jeweiligen MAX-Wert überlaufen, den Rest mit in die neue Periode nehmen, was auch funktioniert. Die Primzahlen als Inkrement sorgen dafür, dass beide Zähler alle denkbaren Werte annehmen. Mir kommt es auf die zuweisung des off_count an. Jedesmal, wenn er benutzt wird, wird ein neuer Wert zugewiesen, damit der offset ändert. Dies würde man sauber mit einem enable lösen und getrennt realiseren - es geht aber auch so. Der Punkt ist nun der, dass theoretisch beide Bedinugngen greifen können, der Counter also scheinbar! redundant inkremetiert wird, was er nicht soll und wohl auch nicht wird. Was aber wäre nun, wenn ich im zweiten Ast eine + 9 eintrage? Dann wären die Bedingungen widersprüchlich. Müsste dann der Compiler nicht meckern? ModelSIM sagt nichts dazu. Oder darf ich das interpretieren, dass hier einfach ein default-Effekt greift und damit die erste Anweisung gilt solange die andere nicht greift und diese überschreibt? Nur der Vollständigkeit halber: Dass im "Kollisionsfall" beide Zähler denselben Offset abbekommen, ist nicht von Bedeutung und akzeptabel.