hdschondelmaier
Registrierter Benutzer
Beiträge: 4 Ort: St.Georgen / Schwarzwald
|
Erstellt: 09.11.05, 13:49 Betreff: Re: Frequenzmessung
drucken
weiterempfehlen
|
|
|
Hallo,
Flanken kann man eigentlich prima mit "rising_edge" oder "falling_edge" abfragen:
z.B:
if falling_edge(FREQ_IN) then .... end if;
wenn Du die Abfrage aber in einem getakteten Prozess laufen lässt, sollte man nicht zwei unterschiedliche Signale auf Flankenwechsel abfragen, damit haben die Synthesetools Probleme (weil die Flipflops im FPGA nur einen Takteingang haben).
Dann hilft eine Hilfssignal, das den alten Signalzustand speichert:
TEST_PROC process (RESET, SYSCLOCK) begin if RESET = '0' then ... elsif falling_edge(SYSCLOCK) then if OLD_FREQ_IN = '1' and FREQ_IN = '0' then .... end if; end if; end process TEST_PROC;
Mit diesem Code wird der Flankenwechsel auf den Systemtakt synchronisiert erkannt.
Hans-Dieter Schondelmaier
embedded Software und VHDL-Designs (www.entwickler-software.com)
|
|