Warum das Signal c nicht gleich auf "0" setzen?

OP #3620071
Lesenswert?

Hallo, guten Tag.
Warum wird dieses Signal "c" nicht gleich auf "" gesetzt, es wird doch
nachher hochgezählt?

Danke.
Gruss
------------------------
signal c : integer range 0 to 24999999 := 0; -- 0,5s bei 50MHz fosc
signal x : std_logic:= '0';

begin
   process begin
      wait until rising_edge(clk); -- warten bis zum nächsten Takt
      if (c<24999999) then         -- 0…24999999 = 25000000 Takte = 1/2 
Sekunde bei 50MHz
          c <= c+1;                -- wenn kleiner: weiterzählen
      else                         -- wenn Zählerende erreicht:
          c <= 0;                  -- Zähler zurücksetzen
          x <= not x;              -- und Signal x togglen
      end if;
   end process;
   led <= x;                       -- Signal x an LED ausgeben
end Behavioral;
--------------------------
Gast #3621844
Lesenswert?

Ich glaube, es wird Zeit für ein gutes Buch, in dem man die Details 
einmal nachliest. z.B: Zahlenbereiche, Zuweisungen etc.

Ich habe gute Erfahrungen mit Ashenden, Designers Guide to VHDL. Aber 
das ist Geschmackssache.

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