Thomas schrieb:
> WriteData: process(mainCLK)
mainCLK wird im gesamten Prozess nicht benutzt?
> begin
> case zustand is
> when Z0=> WriteCounter2<="0000000000000000";
> when Z1=> WriteCounter2<="0000000000000000";
> when Z2=> WriteCounter2<="0000000000000000";
> when Z3=> DATA <= WriteCounter2;
Da es sich hier um einen kombinatorischen Prozess handelt, muss jedes
Signal in jedem moeglichen Fall zugewiesen werden. Du weisst DATA jedoch
nur einen Wert zu, wenn er gerade im Zustand Z3 ist - was soll in den
andern Faellen passieren?
> WriteCounter2<=WriteCounter2+1;
Ein Counter in einem kombinatorischen Prozess kann nicht funktionieren.
Wann genau soll er denn weiterzaehlen?
Ich nehme mal an, du hast einfach ein
if rising_edge(mainCLK) then ... end if;
vergessen in diesem Prozess?