Hallo liebe Forenmitglieder, ich beschäftige mich seit kurzem mit der VHDL Programmierung und mit FPGA's. Ich habe mir ein Basys2 Spartan 3E Board von Digilent gekauft. Ich habe nun folgende Anwendungen auf dem PC installiert. 1) Adept 2) Xilinx ISE Design Suite. Mit Adept konnte ich erfolgreich das Board teste. Alle LED's, Switches und Taster funktionieren. Nun wollte ich ein kleines VHDL File schreiben und dieses auf das Board laden. Also habe ich ein Projekt mit der Design Suite erstellt und "new Source" im VHDL format hinzugefügt. Mit CheckSyntax konnte ich auch den Code auf Fehler überprüfen. Jetzt habe ich zum einen schwierigkeiten, die Pinbelegung zu realisieren. Bei Quartus ging das sehr einfach mit dem PinPlaner. Bei der ISE Design Suite existiert nur I/O PinPlanning (PlanAhead) Pre-Senthysis und I/O PinPlanning (PlanAhead) Post-Senthysis. 1) Ist dieser Weg richtig, die Pinbelegung zu realisieren, entweder bevor man die Synthax gecheckt hat oder nach dem Check? Oder gibt es noch einen anderen? In sämtlichen Tutorials wird nämlich beschrieben, dass ich auf "Assign Package Pins" gehen soll. Jedoch ist dieser Punkt in der ISE Design Suite nicht zu finden. 2) Wie bekomme ich dann meine VHDL Datei bzw. mein Projekt auf den FPGA? Mache ich das dann wieder mit Adept? Ich hoffe, dass mir jemand weiter helfen kann. Dafür wäre ich sehr dankbar. Lieben Gruß Xilinx
xilinx schrieb: > 1) Ist dieser Weg richtig, die Pinbelegung zu realisieren, entweder > bevor man die Synthax gecheckt hat oder nach dem Check? Wenn du PlanAhead aufrufst, wird automatisch ein Syntax-Check gemacht. Sieh dir mal das hier an: http://www.lothar-miller.de/s9y/archives/81-Xilinx-ISE-Step-by-Step.html Und das hier: http://www.lothar-miller.de/s9y/archives/80-Hello-World!.html xilinx schrieb: > 2) Wie bekomme ich dann meine VHDL Datei bzw. mein Projekt auf den FPGA? Weder das Eine noch das Andere kommt aufs FPGA. Aufs das FPGA kommt eine Bitstrom-Datei. Alternativ kann dieser Bitstrom aus einem Flash geladen werden, dann läuft gleich beim Start das richtige Design an... > Mache ich das dann wieder mit Adept? Ja.
Die Pins kannst du entweder manuell über das schreiben einer UCF Datei zuweisen, oder über PlanAhead: User Constraints -> FloorPlan Area/IO/Logic und dann synthtisiert der das Design, öffnet Planahead und du kannst dann über Window -> I/O Ports die FPGA Pins/Balls den I/Os zuordnen, die Spannung einstellen usw. Dann wieder schließen und speichern und der hat dann automatisch die UCF Datei erstellt und dem projekt hinzugefügt. Dann nur noch Generate Programming File und schon bekommst du ein Bit-File, was du mit Adept aufspielen kannst. Neuerdings kann auch Xilinx Impact mit den Digilent Programmern umgehen, kanst du ja mal probieren.
Super, vielen Dank!!! Das werde ich später direkt einmal ausprobieren. Melde mich später nochmal, ob es dann funktioniert hat. Liebe Grüße Xilinx
Wie kann ich die Taktfrequenzen einstellen bzw. wo finde ich den richtigen clk Pin, um diesem im PlanAhead zu verwenden? Das Tutorial vom Lothar Millar ist sehr anschaulich. Das hilft mir wirklich sehr weiter. Vielen Dank nochmal
xilinx schrieb: > Wie kann ich die Taktfrequenzen einstellen Ich mach das mit über das .ucf [1] > bzw. wo finde ich den > richtigen clk Pin, um diesem im PlanAhead zu verwenden? Im Schaltplan bzw. der Dokumentation zum Board. Duke [1] http://www.mikrocontroller.net/articles/UCF-Dateien#Taktdefinition
In der Basys2 Reference Manual habe ich ein MCLK auf Pin B8, ein RCCLK auf Pin C8 und ein UCLK auf Pin M6 gefunden. Sind das die Clocks? Laut Beschreibung können je nach Jumpereinstellung 25 MHz, 50 MHZ und 100 MHz als Clock verwendet werden. Wobei ich mir nicht sicher bin, was man mit dem Jumper macht, wo dieser ist und wie man ihn verändern kann.
xilinx schrieb: > Wobei ich mir nicht sicher bin, was man mit dem Jumper macht, > wo dieser ist und wie man ihn verändern kann. Weitersuchen. Das findest du schon noch... Als Tipp: du machst Hardware. Hardware wird mit einem Schaltplan beschrieben. > In der Basys2 Reference Manual habe ich ein MCLK auf Pin B8, ein RCCLK > auf Pin C8 und ein UCLK auf Pin M6 gefunden. Sind das die Clocks? Ja. > Laut Beschreibung können je nach Jumpereinstellung 25 MHz, 50 MHZ und > 100 MHz als Clock verwendet werden. Und jetzt siehst du einfach mal im Schaltplan nach, was denn wie und wo an diese Pins angeschlossen ist. Ich tippe einfach mal, dass an einem der oben angeführten Pins ein Quarzoszilleotr mit 50MHz (o.ä.) angeschossen ist. Den würde ich dann nehmen...
Sooooo..... jetzt hab ich's. Es war B8. Zumindest funktioniert das Lothar Millar Tutorial. Und jetzt glaube ich auch zu verstehen was es mit dem Jumper auf sich hat. Auf dem Board sind 3 eingefräste Löcher mit drei Bezeichn. 100, 50, 25. So wie ich es aus der Beschreibung entnehmen kann, kann man mit dem "Jumper" diese Kontaktstellen verbinden. Wenn ich die ersten zwei verbinde, erhalte ich 25 MHz, bei den letzen beiden, 100 MHz und wenn ich es so lasse, wie jetzt, dann 50 MHz. Die Taktfrequenz kann man doch auch in der Simulation sehen, oder? Bzw. umrechnen, wenn man von clk nur einen Ausschnitt sieht? Super, jetzt weiß ich schon mal, wie man Projekte anlegt, VHDL Dateien hinzufügt, simuliert und die SYntax checkt, die Pinbelegung macht und letzendlich eine Bitdatei erzeugt und diese auf das Board läd. Ein guter Anfang :-) Was mir noch aufgefallen ist. Wenn ich das Board einschalte, erscheint immer das Testprogramm von Adept (zahlen laufen durch von 1 - F). Dies muss also irgendwie in einen festen Speicher geschrieben worden sein. Die Lothar Miller Datei allerdings in einen flüchtigen Speicher, denn dieser war nach aus und wieder einschalten weg und erneut war die Testdatei zu sehen. So, dann werde ich mich jetzt mal dem VHDL Programmieren widmen. Schönen Abend noch und vielen Dank für die umfangreiche Hilfe !!! Gruß xilinx
xilinx schrieb: > Die Taktfrequenz kann man doch auch in der Simulation sehen, oder? Bzw. > umrechnen, wenn man von clk nur einen Ausschnitt sieht? Naja, in der Simulation gibst ja du selber den Takt vor... xilinx schrieb: > Dies > muss also irgendwie in einen festen Speicher geschrieben worden sein. = Config-Flash > Die Lothar Miller Datei allerdings in einen flüchtigen Speicher, denn > dieser war nach aus und wieder einschalten weg und erneut war die > Testdatei zu sehen. = FPGA (SRAM-basiert) Ich meine, das Verhalten schon erwähnt zu haben im Beitrag "Re: Basys2 Spartan 3E - VHDL Probleme" Kurz: Du mußt eine Jedec-Datei fürs Flash erzeugen und dann das Flash mit dieser Datei programmieren.
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.