Komisches Verhalten bei einer If-Abfrage

Gast #1785265
Lesenswert?

Hallo an die VHDL-Freunde,

ich arbeite mich gerade in VHDL ein und bin an einer Stelle die ich mir 
nicht erklären kann.

Ich habe einen getakteten Prozess, in dem ich zwei Werte vergleiche und 
an den Ausgang video_on ausgebe.

process(clock, reset, h_video_on, v_video_on)
  begin
 if reset = '1' then
     video_on <= '0';
 elsif (clock'event and clock='1') then
  if (h_video_on = '1') and ( v_video_on = '1' ) then
    video_on <= '1';
  else
    video_on <= '0';
  end if;
end if;

end process;


h_video_on und v_video_on sind Werte die ich aus Zählern vorher bekomme.

Doch bei der Simulation mit Modelsim, passiert was komisches. (siehe 
Bild)
video_on bekommt in  jede Takt Unknown (X) (unltige Zuweisung).
Wie kann ich dieses Problem beheben?

Danke im Voraus.
Angehängte Dateien:
#1785276
Lesenswert?

Nimm mal h_video_on und v_video_on aus der Sensitivity-Liste heraus:
process(clock, reset, h_video_on, v_video_on)
wird dann
process(clock, reset)

Die beiden Signale sollen nämlich nur dann ausgewertet werden, wenn das 
clock Signal sich ändert. Der Prozess darf nicht auf Änderung von 
h_video_on und v_video_on neu ausgewertet werden.

Grüße,
Anguel

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren