Forum: FPGA, VHDL & Co. Quartus II / Startwert setzen


von Antony (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen.

Ich habe ein kleines Problem.

ICh will einen Oszillator bauen der mit 2 Mhz taktet.

Der Algorithmus dafür sieht flogendermasen aus:

{y(n)}  =   2 * y(n-1)* cos[2 * PI*( f_0 / f_t)] - y(n-2)
mit den Anfangsbedingungen
y(0)=0
und
y(1) = sin(2*PI*f_0/f_T)

Da wir mit 40 MHz abtasten ergeben sich folgende Werte:

y(n) = y(n-1)* 1,902 - y(n-2)
mit den Anfangsbedingungen
y(0)=0
und
y(1) = 0,309.

Ich habe versucht die Anfangswerte zu setzen allerdings gibt Quartus
immer die Warnung: Ignored Default Value for Signal "Latch1"
Am Ausgang des Oszis tut sich leider auch gar nichts.

Ich habe es probiert in der Theorie funktioniert der Generator.
Nur beim Programmieren scheint es noch ein paar Problemchen zu geben.

Vielleicht weiß ja jemand bescheid.
Vielen Dank im voraus

von Jörn (Gast)


Angehängte Dateien:

Lesenswert?

Könnte die Fehlermeldung daher kommen, dass du noch "after 1000ms"
dabei stehen hast? Verzögungszeiten auf RTL Ebene lassen sich nicht
synthesieren. Lass die Angabe weg. Dein VHDL Code sieht nicht sehr
sauber aus.

Teile deine beiden Prozesse in nochmals zwei auf, so dass du in jedem
Prozess nur eine "clk'event AND clk = '1'" Anweisung hast.

Soll der Reset synchron oder asynchron sein? Weiterhin solltest du den
Reset an alle Prozesse führen, um einen definierten Startwert für die
Signal zu setzen.

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.