Hallo,
ich bin zwar auch noch am Anfang, aber kann glaube ich dennoch einige
Kommentare beisteuern:
Als erstes habe ich weder aus dem Code, noch aus deiner Beschreibung
verstanden, was du eigentlich vorhast. Kannst du das irgendwie genauer
formulieren? "clock aufmodulieren"?!
Dann zum Code: Du hast nach der Beschreibung des synchronen Teils deines
Prozesses (zwischen if rising_edge und end if) noch weiteren Code.
Dieser Teil der Beschreibung wird nicht synchron ausgeführt, d.h. ist
unabhängig vom Takt!
Du verwendest auch ziemlich viele Variablen. Ich habe gelernt, diese nur
im Notfall und gut überlegt zu verwenden, da die Semantik ziemlich
schnell zu Latches führen kann. Ist dir die Semantik von Variablen
bewusst? Also, wann der Wert aktualisiert wird und welche Folgen das für
die Hardware hat?
Gruß
Peter