Forum: FPGA, VHDL & Co. Quartos Error 10820


von Cubi (Gast)


Angehängte Dateien:

Lesenswert?

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?

von P. K. (pek)


Lesenswert?

> rising_edge(ton)
> rising_edge(clk)

Und das im selben Prozess. Überdenk das mal.

von Cubi (Gast)


Lesenswert?

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.

von PittyJ (Gast)


Lesenswert?

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?

von Cubi (Gast)


Lesenswert?

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.

von Duke Scarring (Gast)


Lesenswert?

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

von Duke Scarring (Gast)


Lesenswert?

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

von P. K. (pek)


Lesenswert?

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
Noch kein Account? Hier anmelden.