Abteilung Entwurf integrierter
Schaltungen (E.I.S.)


Claude Ackad


Adresse

Claude Ackad
Abteilung Entwurf integrierter Schaltungen
Gaußstraße 11, Raum 8
Technische Universität Braunschweig

D-38106 Braunschweig

Tel. +49-531-391-3284
Fax +49-531-391-5840

Sprechstunde: Dienstag, 10.15-11.15 Uhr


Email: ackad@eis.cs.tu-bs.de






Forschungsgebiet: Statechart-basierter Systementwurf





Inhalt dieser Seite:

1 Modellierung mit Statemate
2 Aktuelle Arbeiten
3 Zu vergebende Studien- und Diplomarbeiten


1     Modellierung mit Statemate

Statemate ist ein High-Level-Spezifikationswerkzeug, das u.a. bei der Software- und Hardwareerstellung im Auto- und Flugzeugbau eingesetzt wird. An der Abteilung Entwurf integrierter Schaltungen wurde es erfolgreich zur Modellierung und Simulation des RISC-Prozessors TOOBSIE2 eingesetzt. Die Implementierung des Systemverhaltens erfolgt nicht ausschließlich durch Programmtext à la C oder Pascal, sondern durch zwei Arten von hierarchischen, parallelen Charts.

Activity-Charts besitzen eine den Datenflußdiagrammen ähnliche Semantik und beschreiben die Struktur eines Modells sowie die Datenflüsse zwischen den Strukturkomponenten. Bild 1 zeigt eine Strukturzerlegung eines einfachen Prozessors in die Komponenten Memory, Controller, Alu, Rfile sowie einige Register. Die Pfeile geben den Datenfluß zwischen den Komponenten an.



Bild 1 Ein Activity-Chart

Statecharts stellen erweiterte Zustandsübergangsdiagramme dar und spezifizieren das zeitabhängige Verhalten des Systems. Bild 2 zeigt die Realisierung des Kontrollers für einen Prozessor. Statemate erlaubt die Angabe komplexer Schaltbedingungen für die Transitionen.



Bild 2 Ein Statechart

Statemate-Modelle können entweder interaktiv oder durch Simulationssteuerprogramme ausgeführt und getestet werden. Zusätzlich gibt es Tools, die die Modelle auf Vollständigkeit und Korrektheit sowie Eigenschaften wie z.B. Verklemmungsfreiheit untersuchen. Code-Generatoren erlauben die Generierung von Verilog- oder C-Code.

Statemate-Forschung 1998


2     Aktuelle Arbeiten

Zur Zeit finden folgende Studien-/Diplomarbeiten im Bereich Systementwurf statt:


3     Zu vergebende Studien- und Diplomarbeiten

Auf dem Gebiet des Systementwurfes mit grafischen Beschreibungssprachen sind einige Studien- und Diplomarbeiten an Informatik- und Elektrotechnikstudenten zu vergeben. Statemate- oder Speedchart-Kenntnisse sind keine Voraussetzung, schaden jedoch nicht.

3.1 Forschungsprojekt SCOT

Nach der Erstellung und dem Test der Statechart-Modelle kann mit speziellen Code-Generatoren eine C-Implementierung abgeleitet werden. Dies ist wünschenswert, da auf diese Weise sehr schnell eine verhaltensgleiche Implementierung entsteht. Das entstehende Programm kann auf handelsüblichen Mikroprozessoren ausgeführt werden. Im Forschungsprojekt SCOT (Statechart Compilation for Optimized reactionTime) haben wir einen optimierenden Code-Generator entwickelt, der die Reaktionszeit deutlich verkürzt. Bild 3 zeigt die Umsetzung eines Statechart-Modells in eine Software-Realisierung (C-Programm). Das Statechart-Modell wird von einem Parser in ein Zwischenformat überführt, auf dem der Optimierer leichter arbeiten kann. Er bestimmt die Datenabhängigkeiten, schätzt die Knotenlaufzeiten und führt in Abhängigkeit der Laufzeiten Optimierungen durch. Dabei entsteht ein weiteres Zwischenformat, das in C-Code abgebildet wird. Der C-Code kann dann mit Hilfe handelsüblicher C-Compiler für das entsprechende Zielsystem übersetzt werden.


Bild 3 Vom Statechart-Modell zum C-Programm mit SCOT

Zu vergebende Arbeiten:
  1. Optimierte Umsetzung von Statechart-Modellen in effiziente Software-Implementierungen

    Wir haben das erste Zwischenformat (siehe Bild 3) weiterentwickelt, so daß mehr Optimierungsfreiraum entsteht. Der vorhandene Optimierer soll soweit adaptiert werden, daß die neuen Freiheitsgrade in die Optimierung einbezogen werden. Der Optimierer verfügt über eine relativ simple Optimierungsstrategie. Es sollen daher fortgeschrittene Verfahren wie Simulated-Annealing oder Branch-and-Bound-Algorithmen implementiert werden, die zu einem besseren Ergebnis führen. Wir können uns auch gern auf andere Verfahren einigen.

  2. Erstellung von Statechart-Modellen und Untersuchung ihrer optimierten Umsetzung

    Der SCOT-Code-Generator kann die meisten, jedoch nicht alle Statechart-Elemente transformieren. Da er nun fertiggestellt ist, soll die Optimierung mit realistischen, größeren Modellen getestet werden. Dazu müssen einige Statechart-Modelle erstellt werden, die diejenigen Statechart-Elemente enthalten, die der Codegenerator verarbeiten kann. Die Auswahl der Modelle wird mit Euch abgestimmt; wenn Ihr schon immer mal irgendein (sinnvolles) Modell erstellen wolltet: nur zu! Die Optimierung der Modelle soll ausgewertet werden. Entscheidend dabei ist, welche Modellteile optimiert wurden oder warum keine Optimierung erfolgen konnte.

  3. Implementierung einer Komponente zur Laufzeit-Ergebnisüberprüfung in einen Code-Generator

    Jedes größere Softwareprodukt enthält Fehler. Um diese Fehler im SCOT-Code-Generator zu finden, sollen die Ausgaben des generierten C-Programms mit denen des Statechart-Modells verglichen werden. Dies ist automatisiert möglich, da die Statechart-Ausführungsergebnisse komfortabel über eine Schnittstelle abgefragt werden können. Dazu soll ein Modul entwickelt und in den C-Code-Generator integriert werden, das in das erzeugte C-Programm Schnittstellen-Abfragen für die Variablen einbaut und die Ergebnisse mit den C-Variablen vergleicht. Das C-Programm wird also parallel zu der Statechart-Simulation ausgeführt, wobei beide Prozesse ihre Variablenwerte nach jedem Schritt vergleichen.

3.2 Forschungsprojekt Patroclos

Wir entwickeln zusammen mit dem IBR in einem größeren Projekt ein flexibles Hochleistungskommunikationssystem. Dazu wollen wir parallele, hierarchische Automaten mit dem CAD-Werkzeug Speedcharts modellieren. Aus den Modellen kann dann auf Knopfdruck ein Chip erzeugt werden.

Zu vergebende Arbeiten:
  1. Echtzeit-Darstellung und Überwachung eines Chipzustandes

    Aus einem Statechart kann mit einem Syntheseprogramm ein konfigurierbarer Schaltkreis (FPGA) automatisiert abgeleitet werden, welcher in einer Schaltung mit anderen Bausteinen Daten austauscht (Bild 4). Möchte der Chart-Modellierer zur Laufzeit wissen, ob sich der Chip wie gewünscht verhält, muß der interne Zustand des FPGAs (Variablenwerte) über ein spezielles Interface ausgelesen werden. Aus den Daten wird der Zustand des Statecharts rekonstruiert, auf dessen Basis der Modellierer bewerten kann, ob sich sein Modell wie gewünscht verhält.

    Es soll ein Programm entwickelt werden, das aus den ausgelesenen Daten den Zustand des Statecharts rekonstruiert. Dazu müssen die ausgelesenen Daten analysiert und ggf. modifiziert werden. Die Funktionsfähigkeit wird anhand eines realistischen Statechart-Modells zur Hochleistungskommunikation getestet.


    Bild 4 In-Circuit-Debugging von Statecharts



  2. Parallele Kommunikationsautomaten mit Speedcharts

    Speedcharts ist ein State-of-the-Art Modellierungswerkzeug, das erfolgreich in der Industrie eingesetzt wird. Die Modellierung erfolgt mit parallelen, hierarchischen Speedcharts. Bild 5 zeigt einen Datenempfänger in Speedcharts. Der Empfänger wartet im Zustand IDLE, bis die Übertragung beginnt (Bedingung GO=1). Danach liest er in jedem Schritt einen Wert, falls STROBE=1 gilt. Dabei wird als Aktion die Variable LEN erhöht. TRANSFER wird verlassen, wenn GO=0 ist. Die Zahlen geben die Transitionsprioritäten an.


    Bild 5 Ein Datenempfänger in Speedcharts


    Wir suchen mehrere Studien- und Diplomarbeiter, die die Kommunikationsautomaten mit Speedcharts modellieren und testen. Die Automaten sind bereits in einer grafischen Beschreibungssprache beschrieben worden.

Wie man sieht, fassen wir den Lötkolben nur in Ausnahmefällen an. Ich habe absichtlich keine Unterscheidung in Studien- und Diplomarbeiten vorgenommen. Studienarbeiten sind vom Umfang geringer als Diplomarbeiten und daher wird das Gebiet entsprechend verkleinert. Selbstverständlich integrieren wir bei der genauen Themengestaltung Eure Wünsche und Ideen.

Die Liste enthält nicht alle offenen Arbeiten. Wenn Ihr Interesse habt und in der Nähe seid, schaut doch einfach mal (auch außerhalb meiner Sprechstunde) vorbei und informiert Euch über zu vergebende Arbeiten oder unsere Forschungsgebiete (Gaußstraße 11, Raum 008).


Dies ist Zugriff #