Hallo,
ja ich denke, Du kannst die Meldung erstmal ignorieren.
Zum Thema Signal / Variable :
Wenn Du count als Variable deklarierst und nicht als Signal,
dann ist besondere Vorsicht geboten. Ich verwende deshalb
Variablen nur für Kombinatorik.
Das Problem ist (villeicht weisst Du es ja schon), dass
das Syntheseergebnis bei Variablen von der Reihenfolge abhängen
kann, in der Du Deinen Source-Code schreibst.
Hier ein kleines Beispiel :
count := count +1; -- hier als erste Zeile
if count = 0 then
cnt_zero <= '1';
else
cnt_zero <= '0';
end if;
lifert ein anderes Synthese-Ergebnis als :
if count = 0 then
cnt_zero <= '1';
else
cnt_zero <= '0';
end if;
count := count +1; -- jetzt am Ende hingeschrieben
Wers nicht glaubt, probiere es selbst aus.
In dem Beispiel wirkt es sich nur aufs Timing aus, aber auch
das kann schon lustige Effekte bringen.
Wenn man stattdessen count als Signal deklariert, dann ist es
egal, wo die Zeile
count <= count +1 im Prozess hingeschrieben wird -> immer dasselbe
Ergebnis bei der Synthese !