Entwicklung einer SystemC/OSSS-IDE als Eclipse-Plugin ...
Entwicklung einer SystemC/OSSS-IDE als Eclipse-Plugin ...
Entwicklung einer SystemC/OSSS-IDE als Eclipse-Plugin ...
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