05.08.2013 Aufrufe

Proteus Prozessor

Proteus Prozessor

Proteus Prozessor

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!