friedhof:fpga_nexys3_ubuntu
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungNächste ÜberarbeitungBeide Seiten der Revision | ||
project:fpga_nexys3_ubuntu [2011-12-04 16:21] – 95.208.83.25 | project:fpga_nexys3_ubuntu [2011-12-04 16:36] – 95.208.83.25 | ||
---|---|---|---|
Zeile 15: | Zeile 15: | ||
den FPGA mit dem .bit File programmieren. | den FPGA mit dem .bit File programmieren. | ||
//(OT: wer kommt auf den bescheuerten Namen djtgcfg für das Programm? wenn man adept2 installiert erwartet man, dass das Programm auch adept2 heißt... fuuuuuuu)// | //(OT: wer kommt auf den bescheuerten Namen djtgcfg für das Programm? wenn man adept2 installiert erwartet man, dass das Programm auch adept2 heißt... fuuuuuuu)// | ||
+ | |||
+ | inzwischen bin ich auf die Windows Version von Adept2 und ISE umgestiegen und arbeite in einer Windows VM auf meinem MacBook Air. | ||
===== Ansteuern der 4x 7-Segment-Displays ===== | ===== Ansteuern der 4x 7-Segment-Displays ===== | ||
Zeile 69: | Zeile 71: | ||
[[https:// | [[https:// | ||
- | ===== Zugriff auf den Cellular | + | ===== Zugriff auf den RAM ===== |
+ | |||
+ | Auf dem NEXYS3 Board ist ein CellularRam von Micron verbaut ([[http:// | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Ich habe den RAM an den ersten Speicherstellen auf 0 gesetzt, um richtig erkennen zu können, ob das schreiben funktioniert. | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Als ich dann den FPGA programmiert habe und danach den RAM ausgelesen habe, konnte ich erkennen, dass mein Schreiben erfolgreich war. | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Inzwischen habe ich auch geschafft zu lesen. Ich habe die Funktionalität (Die State-Machine) in einen MemoryController ausgelagert und nun einfach lesen und schreiben zu können. Mein Beispiel Projekt befindet sich auch wieder auf [[https:// | ||
- | Nachdem ich mit dem VGA Ausgang herumgespielt habe, bin ich langsam an die internen Speichergrenzen gestoßen. Ich habe ein 640x480 1 Byte Array auf dem FPGA gespeichert, | ||
- | Auf dem NEXYS3 Board befinden sich verschiedene RAM arten. Eines davon ist der CellularRam von der Firma micron. | ||
- | Ich habe mir dazu das Datenblatt ([[http:// | ||
- | Nach ein paar Stunden lesen und testen habe ich es endlich geschafft. Der VHDL Code (main.vhd) ist in meinem github.com Repository zu finden ([[https:// | ||
- | Hier noch ein Video des Tests: http:// | ||
- | update: | + | ===== lessons learned ===== |
- | ich habe es nicht geschafft. Auf den Datenleitungen waren einfach noch die alten Werte und die hab ich wieder gelesen. Also wieder zurück auf 0... T_T | + | * Der FPGA verdammt schnell - eventuell hilft runtertakten. |
+ | * Man darf nicht in das normale Programmier-Denken zurück fallen - hier gibt es keine Funktionen | ||
+ | * Immer in Block-Diagrammen/ | ||
+ | * An die Signallaufzeit von Signalen denken. Vor Allem bei schnellen Clocks. (States und Counter eventuell als Variabeln nehmen) |
friedhof/fpga_nexys3_ubuntu.txt · Zuletzt geändert: 2020-07-20 11:06 von neos