Hallo Zusammen, ich beginne derzeit VHDL zu lernen. Bei meinem aktuellem Projekt verwende ich hier den FIR-Core (version 5.0) von Xilinx auf einem Spartan3-200. Das ganze funktioniert auch eigentlich super. Ich möchte nun aber zur Laufzeit neue Koeffizienten in den FPGA laden. Leider funktioniert das ganze nicht. In der Simulation arbeitet es einwandfrei (behavior). Sobald ich es aber auf meinen FPGA lade passiert schlichtweg garnichts. Ich habe die Anleitung zum FIR-core so verstanden das ich zuerst einen Impuls auf den Ladeeingang geben muss und dann wenn der Schreibeingang auf High gezogen wird nacheinander bei der steigenden Flanke von Clk die Koeffizienten in den FIR geladen werden. In den Warnings habe ich auch nichts gefunden was das Problem erklären könnte. Hatte jemand mal ein ähnliches Problem und könnte mir Tipps geben wo ich nach dem Problem suchen kann? Viele Grüße und Danke für die Hilfe
Hallo, mein Design besteht hauptsächlich aus zwei FIR-Filter 200. Ordnung. Dazu kommt ein kleines Interface für die Koeffizientenprogrammierung ein ein I2S Interface für einen Audiocodec. Der Synthesizer sagt zur auslastung: Number of BUFGMUXs 2 out of 8 25% Number of DCMs 1 out of 4 25% Number of External IOBs 12 out of 63 19% Number of LOCed IOBs 12 out of 12 100% Number of MULT18X18s 8 out of 12 66% Number of RAMB16s 8 out of 12 66% Number of Slices 1100 out of 1920 57% Number of SLICEMs 176 out of 960 18%
Du musst die Koeffizienten alle nach und nach laden. Tust Du das? Das Laden muss enabled sein.
Ich habe mich nach der Abbildung aus dem Datenblatt gerichtet. In meiner Simulation sieht es genauso aus. Ist es deiner Ansicht nach notwendig den COEF_LD während des gesamten Vorgangs auf High zu halten?
FIR_noob schrieb: > Der Synthesizer sagt zur auslastung: Ok. Die Zahlen sehen gut aus. FIR_noob schrieb: > In meiner > Simulation sieht es genauso aus. Kannst Du davon evtl. noch ein Bild machen? > Ist es deiner Ansicht nach notwendig > den COEF_LD während des gesamten Vorgangs auf High zu halten? Nein, ich denke nicht. COEF_LD ist so eine Art Reset für den Koeffizientenzähler. Hast Du Chipscope oder einen Logic-Analyzer? Kannst Du Dir damit mal die Signale COEF_WE und RFD anschauen? Duke
Wo ist denn diese Beschreibung her? Ich hoffe, Du machst das nicht genau so, wie dort im Datenblatt. Dort ist ja eine Art "stotterndes" Einschreiben beschrieben. Diese Lückenbildung ist vollkommen unnötig und ich sehe auch nicht, wozu man das nutzen können sollte. Normalerweise ist das WE einfach während der gesamten Ladephase an.
Das stotternde Einschreiben ist je nach Host Interface ja zwangsweise.
>Bei uns klappt das am S6 problemlos, einmal das LD Pulsen und dann mit
WE reinschreiben, bis alle drin sind.
Stimmt denn die Reihenfolge? Dazu gibts ja immer eine reload_order.txt
Datei.
Hallo, ich wollte mich noch einmal für die Hilfe und Vorschläge bedanken. Nachdem ich mir die Evalversion der großen ISE besorgt hatte konnte ich nun mit Chipscope pro den Fehler im Kommandomodul lokalisieren. Aus irgendeinem Grund hat dieses im FPGA nicht so gearbeitet wie in der Simulation. Daher konnten auch keine korrekten Programmiersignale an den FIR-Filter gesendet werden. Ich habe nun das entsprechende Modul noch einmal neu programmiert und nun funktioniert alles. viele Grüße
FIR_noob schrieb: > Aus > irgendeinem Grund hat dieses im FPGA nicht so gearbeitet wie in der > Simulation. Da hast du vielleicht eine Sensitivitätslist nicht vollständig, oder mit den Initialwerten stimmt was nicht.
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.