22.11.2013 Aufrufe

Entwicklung einer SystemC/OSSS-IDE als Eclipse-Plugin ...

Entwicklung einer SystemC/OSSS-IDE als Eclipse-Plugin ...

Entwicklung einer SystemC/OSSS-IDE als Eclipse-Plugin ...

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.

FK II – Department für Informatik<br />

Eingebettete HW-/SW-Systeme<br />

Diplom-/Masterarbeit<br />

<strong>Entwicklung</strong> <strong>einer</strong> <strong>SystemC</strong>/<strong>OSSS</strong>-<strong>IDE</strong> <strong>als</strong> <strong>Eclipse</strong>-<strong>Plugin</strong><br />

Beschreibung:<br />

Bei <strong>SystemC</strong> [1] handelt es sich um eine Hardwarebeschreibungssprache, ähnlich wie VHDL und<br />

Verilog HDL. Im Gegensatz zu diesen beiden „klassischen“ Hardwarebeschreibungssprachen handelt<br />

es sich bei <strong>SystemC</strong> nicht um eine eigenständige Sprache, sondern um eine Klassenbibliothek<br />

für die Programmiersprache C++. Sie erweitert C++ im Wesentlichen um Zeit, Prozesse (Threads),<br />

Channels (Signale), Events und spezielle Datentypen, welche für die Beschreibung von Hardware<br />

benötigt werden. Um ein <strong>SystemC</strong>-Modell zu simulieren benötigt man im Gegensatz zu den klassischen<br />

Hardwarebeschreibungssprachen keinen speziellen Simulator, sondern kann das nach der<br />

Kompilation entstandene Executable direkt ausführen. <strong>SystemC</strong>-Modelle lassen sich in diesem Zusammenhang<br />

auch <strong>als</strong> eine ausführbare Spezifikationen bezeichnen.<br />

Während <strong>SystemC</strong> für die Simulation von Hardware-Systemen gut geeignet ist, mangelt es vor allem<br />

an <strong>einer</strong> Werkzeugunterstützung, um aus <strong>einer</strong> <strong>SystemC</strong>-Beschreibung Hardware zu synthetisieren.<br />

Bei der Beschreibungssprache <strong>OSSS</strong> (Oldenburg System Synthesis Subset) [2,3] handelt es sich um<br />

eine Erweiterung der <strong>SystemC</strong> Klassenbibliothek um synthetisierbare Konstrukte. Zusammen mit<br />

FOSSY (Functional Oldenburg System Synthesizer) ist es möglich <strong>SystemC</strong>/<strong>OSSS</strong>-Modelle nach<br />

VHDL zu transformieren. Diese können dann mit herkömmlichen Synthesewerkzeugen weiter bearbeitet<br />

werden, um schließlich ein FPGA zu programmieren oder einen ASIC herzustellen.<br />

Zur Unterstützung des <strong>Entwicklung</strong>sprozesses soll im Rahmen dieser Arbeit eine auf <strong>Eclipse</strong> [4]<br />

basierende integrierte <strong>Entwicklung</strong>sumgebung für <strong>SystemC</strong> und <strong>OSSS</strong> entwickelt werden. Moderne<br />

<strong>IDE</strong>s (<strong>Eclipse</strong>, Microsoft VisualStudio, Xilinx EDK/ISE,…) bieten neben Syntaxhervorhebung und<br />

der Integration von Kompilier- und Debugwerkzeugen auch Refactoringfunktionen und verschiedene<br />

Strukturdarstellungen. Da <strong>SystemC</strong> und <strong>OSSS</strong> auf C++ aufbauen, können zwar auch gängige<br />

C++-<strong>IDE</strong>s verwendet werden, das ist jedoch unzureichend, da sie keine Sonderbehandlung für spezielle<br />

Syntax- und Strukturelemente bieten. Außerdem werden zusätzliche <strong>Entwicklung</strong>swerkzeuge,<br />

wie z.B. Waveform-Viewer oder Synthesizer, benötigt.<br />

Als Ausgangspunkt für die zu entwickelnde <strong>IDE</strong> soll eine bestehende für C++ (<strong>Eclipse</strong>-CDT [5])<br />

dienen. Darin sollen dann zusätzliche Funktionen wie erweitertes Syntaxhighlighing und Hervorhebung<br />

spezieller Strukturelemente (Ports, Module,…), Integration zusätzlicher <strong>Entwicklung</strong>swerkzeuge<br />

und eine angepasste Strukturdarstellung integriert werden.


Aufgaben:<br />

• Einarbeitung in OSCI <strong>SystemC</strong> [1] und <strong>OSSS</strong> [2,3] (Grundlagen)<br />

• Einarbeitung in <strong>Eclipse</strong>/RCP/CDT<br />

• Konzeption des Erweiterungsmoduls<br />

• Implementierung des Erweiterungsmoduls<br />

• Dokumentation der Arbeit<br />

Voraussetzungen:<br />

• Gute Java-Kenntnisse<br />

• Schwerpunkt ”Eingebettete Systeme“ von Vorteil<br />

• Erfahrung in der Programmiersprache C++ von Vorteil<br />

Literatur:<br />

[1] http://www.systemc.org/ <strong>SystemC</strong> Community<br />

[2] http://icodes.offis.de/infomaterial/index.php ICODES (Interface and Communication based<br />

Design of Embedded Systems) Website<br />

[3] http://icodes.offis.de/infomaterial/material/<strong>OSSS</strong>_Tutorial.pdf A Tutorial for <strong>OSSS</strong> v1.1<br />

[4] http://www.eclipse.org <strong>Eclipse</strong> DIE<br />

[5] http://www.eclipse.org/cdt <strong>Eclipse</strong> C/C++ Development Tools<br />

Arbeitsumgebung:<br />

<strong>Eclipse</strong>, Windows oder Linux, <strong>SystemC</strong> und <strong>OSSS</strong> Bibliotheken, GNU gcc bzw. MinGW<br />

Organisatorisches:<br />

Gutachter: Prof. Dr.-Ing. Wolfgang Nebel<br />

Gültigkeit: 01.08.2009 – 01.08.2010<br />

Geeignet für: Diplomarbeit, Masterarbeit<br />

Bewertungsgrundlage:<br />

„Ordnung zur Durchführung von Studien-, Master- und Diplomarbeiten sowie Individueller Projekte<br />

an der Abteilung Eingebettete Hardware/Software-Systeme und im FuE Bereich Embedded HW-<br />

/SW-Systems von OFFIS“, 12.7.2004<br />

Kreditpunkte: 30<br />

Betreuer/Kontaktperson: Dipl.-Inform. Kim Grüttner

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!