Forum: FPGA, VHDL & Co. Eigenes FPGA / Soft-CPU Projekt


von Martin G. (Firma: Leckermittag.de) (morin)


Lesenswert?

Moin alle miteinander,

es ist an der Zeit, mal mein aktuelles Projekt vorzustellen. Es geht 
dabei um einen Rechner auf FPGA-Basis mit eigener Softcore-CPU und 
Controllern für die Hardware rundrum. Ziel ist es, ein vollständig 
dokumentiertes Computersystem zu Lehrzwecken zu bauen -- man soll die 
Funktionsweise bis ins Detail verstehen können, inkl. Software, 
Betriebssystem und Hardware (in HDL). Das Projekt ist für mich ein 
Hobby, für die FH Gießen ein Lehrprojekt.

Ein kurzer Überblick über die Features:
- Softcore-CPU + Peripherie in Verilog (letzteres wegen der 
Simulierbarkeit mit Icarus)
- Instruction Level Simulator in Java mit GUI, Modular aufgebaut und zum 
Entwickeln von Zusatzhardware brauchbar
- Unit Tests sowohl für Simulator als auch den Verilog-Code
- Dokumentation des Codes duch Kommentare und Unit-Tests
- Dokumentation der CPU-Architektur als ausführliches PDF
- Tool Chain, noch auf LCC basiert (GCC-basiert ist angedacht)
- Betriebssystem ist aktuell ein portiertes Unix V7
- Als Demo-Unterprojekt wird die Softcore-CPU mit Veränderter Peripherie 
benutzt, um das Spiel Tetris zu realisieren.
- Aktuelle Zielplattform ist das XSA-3S1000 von XESS (mit einem Xilinx 
Spartan-3 1000). Andere Zielplattformen sind prinzipiell möglich, aber 
nicht umgesetzt.

Ich habe eine kurze Einführung als Screencast aufgenommen:
Teil 1: http://www.youtube.com/watch?v=QoJVWDye7ZI
Teil 2: http://www.youtube.com/watch?v=hHHPJnvPvv8

Kritik und Anregungen sind erwünscht!

von Rene B. (themason) Benutzerseite


Lesenswert?

Respekt !

Sehr schönes Projekt. Echt sehr gut gemacht. So stell ich mir das mit 
meiner angedachten Selbstbau-CPU auch vor (im Endausbau), wenns denn mal 
irgendwann was wird :)

Einfach nur Klasse. Weiter so :-)

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.