DaMicha
Stammgast
Beiträge: 27
|
Erstellt: 27.09.06, 12:03 Betreff: Re: Latch XY has unsafe behavior |
|
|
Hallo.
Das Problem tritt auf wenn Du ein Latch baust, dessen Enable Signal auch als Dateineingang dient. Das ist nicht gut! Ich habe leider nicht sehen können an welcher Stelle in Deinem Design das auftritt. Auf den ersten Blick sind aber im PublicProcess fast alle Signale bei Dir als Latch ausgelegt. Auch das ist nicht gut. Eigentlich sollte Dir der Synthetisierer das auch im Logfile mitteilen. Allgemein gilt, dass alle Latche, die Du nicht explizit geplant hast auch nicht ins Design gehören. Der Grund für das Vorhandensein der Latche ist, dass die betroffenen Signale nicht in jedem Zweig (if-else, case) voll beschrieben sind. Du solltest vielleicht erstmal alle Signal auskommentieren und nur mit act_state und nxt_state beginnen und mit jeden neuen Signal überprüfen (Dir darüber bewusst werden), ob es ein Latch hervorruft oder nicht. Was mir noch auffällt, Deine Counter-Values werden nicht in Registern gespeichert (sondern als Latch). Du braucht einen ähnliches Konstrukt wie bei den States. Also ein Clock-Prozess (bzw. den selben) der Speichert.
Gruß DaMicha.
[editiert: 27.09.06, 12:35 von DaMicha]
|
|