Guten Morgen, ich bekomme die Fehlermeldung: Error (10820): Netlist error at freq_zaehler.vhd(29): can't infer register for zaehler[0] because its behavior depends on the edges of multiple distinct clocks. Kann mir bitte jemand sagen, woran das liegen könnte? Die einzelne Dati freq_zaehler.vhd lies sich erst problemlos compilieren. Erst nach der Verknüpfung mit der auswertung.vhd trat dieser Fehler auf. Der Fehler muss aber irgendwo in der freq_zaehler.vhd stecken. Ich finde ihn nur nicht. Vielen Dnak schon einmal für die Hilfe! Ach und, weis jmd zufällig wie bei einem Altera Board das Signal aussieht was mit der MIC Eingang liefert?
> rising_edge(ton) > rising_edge(clk) Und das im selben Prozess. Überdenk das mal.
okay daran habe ich jetzt auch schon gedacht. ich hatte blos noch keine idee, wie ich den zaehler sonst wieder zurücksetzen kann. muss ich dafür einfach einen neuen prozess einfügen? ich bin, wie sicherlich bereits aufgefallen ist, noch blutiger anfänger.
Ich habe mir angewöhnt: -- nur auf die rising_edge der Clock zu triggern. Alles andere muss man sich merken, und gucken, ob der Zustand sich verändert hat. -- keine Variablen. Die sind 'böse' und funktionieren anders, als der gemeine Programmierer (also ich) es sich vorstellt. Nur mit Signalen lebt es sich ganz gut. ach ja: ist die Division synthetisierbar?
okay also ich triggere auch nur noch auf die clock. jetzt lässt sich das ganze auch ohne probleme compilieren. ob das design letztendlich so funktioniert wie ich mir das gedacht habe, kann ich noch nicht sagen, da ich noch keinen zugang zum board hatte und es nicht ausprobieren konnte, das problem ist ja, dass der zaehler nicht zurückgesetzt wird und so die frequenz nicht mehr ordentlich gemessen werden kann. ich habe auch keine andere idee wie ich das rücksetzen realisieren soll.
PittyJ schrieb: > ach ja: ist die Division synthetisierbar? Hatten wir das nicht letztens erst? Ansonsten: http://www.mikrocontroller.net/articles/Rechnen_in_VHDL und
1 | Library ieee; |
2 | USE ieee.std_logic_1164.all; |
3 | USE ieee.std_logic_unsigned.all; |
4 | USE ieee.std_logic_arith.all; |
Beitrag "IEEE.STD_LOGIC_ARITH.ALL obsolete" Duke
Cubi schrieb: > ob das design letztendlich so > funktioniert wie ich mir das gedacht habe, kann ich noch nicht sagen, da > ich noch keinen zugang zum board hatte und es nicht ausprobieren konnte, Dafür gibt es die funktionale Simulation (mittels Testbench). Damit prüfst Du, ob es gehen könnte. Ganz ohne Board... Duke
Cubi schrieb: > das problem ist ja, dass der zaehler nicht zurückgesetzt wird und so die > frequenz nicht mehr ordentlich gemessen werden kann. Du machst in der "clk"-Domain eine Edge-Detection vom Signal "ton" und resetierst dann damit synchron Deinen Zähler.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.