Hallo in die Runde!
Folgende Situation: Ich möchte einen endlichen Zustandsautomaten 
realisieren, welcher Taktsynchron den Zustand wechselt. In der 
Hochschule lernt man oftmals solch einen Automaten in zwei Prozessen zu 
realisieren, ala:
1  | -- ...
  | 
2  | 
  | 
3  | SW: process(CLK, RESET)
  | 
4  | begin
  | 
5  | 
  | 
6  |    if RESET = '1' then
  | 
7  |       STATE <= INITi;
  | 
8  |    elsif CLK'event and CLK = '1' then
  | 
9  |       STATE <= NEXT_STATE;
  | 
10  |    end if;
  | 
11  | 
  | 
12  | end process SW;
  | 
13  | 
  | 
14  | -- ...
  | 
15  | 
  | 
16  | SN: process(INPUTs, STATE)
  | 
17  | begin
  | 
18  | 
  | 
19  |    count <= count - 1; -- "Timer" (downward)
  | 
20  | 
  | 
21  |    case STATE is
  | 
22  | 
  | 
23  |       when X =>  if ( count = 0 ) then  -- # Sekunden vorbei
  | 
24  |                    NEXT_STATE <= Y;
  | 
25  |                    count <= 100;         -- Aufladen auf A Sekunden
  | 
26  |                  end if;
  | 
27  | 
  | 
28  |       when Y =>  if ( count = 0 ) then  -- # Sekunden vorbei
  | 
29  |                    NEXT_STATE <= Y;
  | 
30  |                    count <= 1000;       -- Aufladen auf A*10 Sekunden 
  | 
31  |                  end if;
  | 
32  | 
  | 
33  |    end case;
  | 
34  | 
  | 
35  | end process SW;
  | 
Auch wenn das Beispiel total Sinnfrei ist, möchte ich damit mein Problem 
verdeutlichen: Der Wechsel eines Zustandes soll unter anderem durch 
Eingänge (hier nicht ausgeführt) eben auch durch eine bereits im 
aktuellen Zustand verweilte Zeit möglich sein: "Nach A Sekunden in den 
Zustand Y wechseln" ... "Nach A*10 Sekunden in den Zustand X wechseln".
Das Problem dabei ist, dass ich das:
Ja eigentlich im Taktsynchronen Prozess schreiben muss, ansonsten ist es 
ja totaler Mist. Dann jedoch kann ich den Counter/Timer ja nicht mehr 
entsprechend für den Folgeprozess "aufladen" (--> Mehrere Quellen für 
ein Signal).
Hier ist quasi meine Frage wie man das am Besten lösen kann? Auch 
interessiert es mich weshalb man so etwas überhaupt in zwei Prozessen 
macht. Auf der Seite von Lothar Miller habe ich gesehen, dass man sowas 
durchaus auch in einem Prozess machen kann!?
Vielen Dank für Eure Hilfe!
Gruß Justus Jonas ;)