Wo ist der Unterschied in den Prozessen

Gast #336720
Lesenswert?

Hallo,

ich mache grade meine ersten Anfänge mit VHDL und möchte ein
zustandgesteuertes D Latch nach machen.

Folgende paar Zeilen hab ich:

  Status: process (Clk)
  begin
    if (Clk'event and Clk = '1') then
    Q <= D;
    end if;
  end process Status;

  Kill: process (Reset)
  begin
    if(Reset = '0') then
      Q <= '0';
    end if;
  end process Kill;

--  process (Clk, Reset)
--  begin
--    if ( Reset = '0') then
--      Q <= '0';
--    elsif ( Clk'event and Clk = '1') then
--      Q <= D;
--    end if;
--  end process;


Um den Rücksetzer zu testen, habe ich das Cls Signal di eganze Zeit auf
0 gesetzt und D auch. Nach zwei Takten kommt ein 0 Signal bei Reset,
welches sonst immer 1 ist.

Nutze ich die auskommentierte Funktion, so funktioniert es, nutze ich
aber die beiden nicht auskommentierten Funktionen, so liegt auf Q die
ganze zeit ein unbekannter Zustand.

Kann mir jemand sagen, wieso ich ein so seltsames verhalten habe?

Bin über jede Antwort dankbar.

Tim :)

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