Ich bin zwei Wochen davon entfernt, meinen ersten College-Kurs für digitales Logikdesign abzuschließen, und anscheinend wird es kein Abschlussprojekt geben – nur eine langweilige Abschlussprüfung.
Wie es jeder neugierige Student tun würde, habe ich mir angeschaut, was FPGAs eigentlich sind und was mir im Unterricht vorgegaukelt wurde. Und ich habe mich entschieden, ein einfaches FPGA-Projekt abzuschließen. Ich verwende ein Basys2 Spartan-3E FPGA und bin mit digitaler Logik vertraut und verwende ISE, um Logikgatter herumzuschieben, aber ich kenne VHDL/Verilog nicht (ich bin mir sicher, dass ich es leicht abholen könnte).
Hat jemand eine Projektidee für einen Anfänger? Ich habe viele Labordemonstrationen gemacht, aber nichts Besonderes.
Ich fand Pong Chus „FPGA Prototyping By Verilog Examples: Xilinx Spartan-3 Version“ als ein sehr hilfreiches Buch. Es ist für ein anderes Spartan-3-Board als das von Ihnen erwähnte gedacht, sollte aber dennoch hilfreich sein.
Es gibt auch eine VHDL-Edition, wenn Sie lieber diesen Weg gehen möchten
So wie es aussieht, hast du VGA drauf. Video macht immer neugierig auf meine Erfahrung :)
Hier ist ein Plan, den Sie vielleicht ausprobieren möchten (kein Framebuffer erforderlich):
Ich denke das sollte alles in einen 250E passen. (Der VGA-Takt ist in FPGA-Begriffen langsam, sodass Sie ihn mit dem DCM um das 4-8-fache multiplizieren können, wodurch eine Sprite-Engine über mehr als eine Sprite-Instanz multiplexen kann.)
Dieser kostenlose Online-Kurs , der von Hamster geschrieben wurde, ist erstaunlich und wurde mit Blick auf Basys 2 und Nexys 2 geschrieben.
Ich persönlich habe das Basys 2 verwendet und durch diesen Kurs eine Menge gelernt. Es geht durch alle Aspekte des Basys-Boards und viele Konzepte, um die meisten Projekte über den Kurs hinaus zu erledigen.
Beginnen Sie wie bei allem anderen mit einem Hallo-Welt- Projekt, in diesem Fall - blinken Sie eine LED - und machen Sie ihre Periode nur zum Spaß variabel.
Dazu müssen Sie lernen, wie man einen Zähler in Verilog/VHDL erstellt. Das ist ein guter Anfang, um die Feinheiten von HDL zu lernen, denn Sie werden lernen, wie man:
Sobald das erledigt ist, gehen Sie zu Opencores und fangen Sie an, größere Projekte zu hacken. Hier finden Sie viele andere lustige Projekte von einigen unserer Mitglieder, einschließlich Ihres. :)
Martin schlägt vor, dass Sie VGA-fähig sind.
Wie wäre es mit einem anständigen "Fotorahmen", der eine bessere Kontrolle über Fotos ermöglicht als jeder normalerweise verfügbare.
Die meisten behandeln Unterverzeichnisse schlecht.
Ungefähr keiner erlaubt eine zufällige Reihenfolge der Anzeige - was ein sehr großer Vorteil ist, wenn Sie eine große Anzahl von Fotos haben.
Die Möglichkeit, eine Diashow basierend auf ausgewählten Fotos zu erstellen, ist ein Bonus. (Siehe Irfanview für Beispiele).
Extrapunkte - MP3-Wiedergabefunktion hinzufügen. Verschachteln Sie Musik mit Fotos.
SD-Flash-Datenspeicher.
USB?
802.11? (zu viel zu hoffen.)
Ich habe mit dem NEXYS2- Board und dem zugehörigen Text von Digilent gearbeitet. Es ist teuer, aber es war eine gute Erfahrung.
Das Buch von Hamblen et al. ist voll von interessanten Projekten für die Boards Altera Cyclone DE1 und DE2; VHDL-Code wird mitgeliefert. Implementieren Sie einige davon auf Ihrem Spartan-3E-Board.
Eines der ersten Dinge, die Sie tun müssen, ist, einfach herunterzuladen (von einem Anbieter oder einer Website für Enthusiasten) und ein Skelettprojekt zu erstellen, das die Eingaben mit den Ausgaben verknüpft. Dies kann äußerst frustrierend sein, wenn Sie mit der Arbeit beginnen, bis Sie etwas Erfahrung haben.
Dann können Sie anfangen, Logik dazwischen zu setzen - Zustandsmaschinen für erfundene Beispiele, wie Sie sie im Unterricht hatten, oder kompliziertere, wie die von anderen empfohlenen Videogeneratoren. Kompliziertere Blöcke wie einfache DIY-Prozessoren usw.
Als ich meinen VHDL-Kurs belegte, baute ich einen Mikroprozessor mit ALU mit einigen Befehlen, Speicherkommunikation und Mikrobefehlssequenzer. Es dauert länger, als Sie denken, besonders wenn Sie es robust machen wollen.
Russell McMahon
armf
Connor Wolf