Proteus Prozessor
Proteus Prozessor
Proteus Prozessor
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
<strong>Proteus</strong> <strong>Prozessor</strong><br />
Der <strong>Prozessor</strong><br />
<strong>Proteus</strong> ist ein Herstellerunabhängiger 8/16-Bit Softcore<br />
<strong>Prozessor</strong> welcher für minimalen Ressourcenbedarf und<br />
maximale Konfigurierbarkeit entwickelt wurde. Dadurch kann er<br />
extrem gut an verschiedene Anwendungsgebiete angepasst<br />
werden und somit praktisch ohne Overhead auch auf den<br />
kostengünstigsten FPGAs eingesetzt werden.<br />
Der <strong>Prozessor</strong> kann über 23 Hardware Einstellungen an die Anforderungen des<br />
Projektes angepasst werden, sein Instruktionssatz umfasst je nach Konfiguration<br />
zwischen 45 und 73 Instruktionen und kann mit benutzerdefinierten Instruktionen<br />
erweitert werden. Die Resultate der Synthese schwanken ebenfalls je nach<br />
Konfiguration: Die kleinste Variante ist in 264 Cyclone II Logikzellen realisierbar,<br />
während die grösste 1396 Logikzellen benötigt. Der <strong>Prozessor</strong> ist also um mehr<br />
als den Faktor 5 skalierbar. Diese Kombination von starker Konfigurierbarkeit und<br />
geringem Ressourcenbedarf ist zum heutigen Zeitpunkt einzigartig und<br />
ermöglicht es den <strong>Prozessor</strong> auch auf sehr kostengünstigen FPGAs zu<br />
implementieren. Je nach Optimierung, Chip und Konfiguration können<br />
Taktfrequenzen bis zu 250 MHz erreicht werden. Auch die Leistungsaufnahme<br />
von 3.2 mW bei 20 MHz auf einem Low Power FPGA ist erwähnenswert.<br />
Die Toolchain<br />
Die Toolchain wurde auf der Basis von bestehenden Programmen realisiert.<br />
Beim Assembler fiel die Wahl auf ein tabellengesteuertes Produkt namens<br />
HASM. Dadurch konnte die Architektur des <strong>Proteus</strong> <strong>Prozessor</strong>s in einer Datei<br />
abgebildet werden. Der Assembler kennt neben dem Instruktionssatz auch<br />
interne Register und gibt Fehlermeldungen aus, wenn der Programmcode Fehler<br />
aufweist.<br />
Als Editor konnte eine Freeware namens Crimson Editor so angepasst werden,<br />
dass alle dem Assembler bekannten Ausdrücke farblich hervorgehoben werden.<br />
Dadurch konnte eine sehr komfortable Umgebung für den Programmierer<br />
geschaffen werden.<br />
Logic Solutions Bründler ∙ Winkelbüelrain 10 ∙ 6043 Adligenswil ∙ 076 408 83 58<br />
info@logicsolutions.ch ∙ www.logicsolutions.ch
Für das Debugging Tool wurde das Open Source JTAG Tool UrJTAG um einige<br />
prozessorspezifische Kommandos erweitert. Alle Änderungen wurden so<br />
angebracht, dass die bestehenden Funktionalitäten nicht eingeschränkt werden.<br />
Dadurch ist es möglich, neben Debugging weitere Aktionen wie zum Beispiel das<br />
Programmieren eines Speicherbausteins mit demselben Tool durchzuführen.<br />
Auch das Debugging mehrerer <strong>Prozessor</strong>en über einen JTAG Port wird<br />
unterstützt.<br />
Beim Builder Tool konnte auf ein bestehendes Projekt der Logic Solutions<br />
Bründler zurückgegriffen werden. Dieses ist in Java geschrieben und leicht<br />
anpassbar. Durch einige Änderungen wurde es möglich gemacht, ein <strong>Proteus</strong><br />
System inklusive Programmspeicher, <strong>Prozessor</strong> und Peripherien zu erzeugen,<br />
ohne dass eine einzelne Zeile VHDL Code geschrieben werden muss.<br />
Logic Solutions Bründler ∙ Winkelbüelrain 10 ∙ 6043 Adligenswil ∙ 076 408 83 58<br />
info@logicsolutions.ch ∙ www.logicsolutions.ch