01.01.2015 Aufrufe

Der UMC 0.18 Design Flow am Beispiel eines PDA ... - Mpc.belwue.de

Der UMC 0.18 Design Flow am Beispiel eines PDA ... - Mpc.belwue.de

Der UMC 0.18 Design Flow am Beispiel eines PDA ... - Mpc.belwue.de

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.

Vom UML-Mo<strong>de</strong>ll einer Zustandsmaschine zu <strong>de</strong>ren<br />

VHDL- und SystemC-Architektur<br />

Bild 1: Met<strong>am</strong>o<strong>de</strong>ll <strong>de</strong>r Zustandsmaschine<br />

einem Signal zugewiesen (assignedSignal). Weiterhin<br />

ist je<strong>de</strong> Transition an beliebig viele Weiterschaltbedingungen<br />

(Constraint) gebun<strong>de</strong>n, welche sich auf<br />

das über <strong>de</strong>n Event zugewiesene Eingangssignal<br />

beziehen. Je<strong>de</strong>m Signal können für die automatische<br />

Erstellung <strong>de</strong>r Testbench für die Zustandsmaschine,<br />

beliebig viele TestPattern zugewiesen wer<strong>de</strong>n. Diese<br />

Testsequenzen legen die zeitlichen Stimuli <strong>de</strong>r<br />

Eingangs- und die dazu gehören<strong>de</strong>n Verifikationsmuster<br />

<strong>de</strong>r Ausgangssignale für <strong>de</strong>n automatischen<br />

Testablauf fest.<br />

3.2. Mo<strong>de</strong>ll-zu-Mo<strong>de</strong>ll-Transformation<br />

Das UML-Eingangsmo<strong>de</strong>ll <strong>de</strong>r Zustandsmaschine<br />

wird im ersten Arbeitsschritt in ein zielsprachenunabhängiges<br />

Zwischenmo<strong>de</strong>l (EMF Ecore-Mo<strong>de</strong>ll)<br />

überführt. Bild 2 stellt ein solches UML-Eingangsmo<strong>de</strong>ll<br />

dar. Die darin enthaltene Zustandsmaschine<br />

Main besteht aus vier Hauptzustän<strong>de</strong>n (SimpleState):<br />

Q 0 , Q 1 , Q cb , Q ot , <strong>de</strong>n schwarz gekennzeichneten<br />

Startzustän<strong>de</strong>n und <strong>de</strong>n Stoppzustän<strong>de</strong>n. Bei <strong>de</strong>n<br />

Zustän<strong>de</strong>n Q 1 , Q cb und Q ot han<strong>de</strong>lt es sich um<br />

zus<strong>am</strong>mengesetzte Zustän<strong>de</strong>. Q 1 enthält die Unterzustandsmaschine<br />

Sub1 (siehe Bild 3), welche ein<br />

eigenes Element vom UML-Typ State Machine mit<br />

eigenen Ein- und Ausgängen, darstellt. Q cb enthält<br />

eine sogenannte Pseudo-Unterzustandsmaschine,<br />

welche keine eigene Ein-/Ausgänge <strong>de</strong>finieren kann,<br />

son<strong>de</strong>rn sich diese mit <strong>de</strong>r hierarchisch übergeordneten<br />

Zustandsmaschine teilt. Q ot besitzt zwei<br />

parallele Unterzustandsmaschinen, von <strong>de</strong>nen die<br />

untere eine Pseudo-Unterzustandsmaschine ist und<br />

bei<strong>de</strong> terminiert sein müssen (das heißt <strong>de</strong>n Endzustand<br />

erreicht haben) bevor <strong>de</strong>r übergeordnete<br />

Zustand verlassen wer<strong>de</strong>n kann. An <strong>de</strong>n Transitionen<br />

zwischen <strong>de</strong>n Zustän<strong>de</strong>n sind die Trigger-Signale und<br />

Weiterschaltbedingungen (in geschweiften Kl<strong>am</strong>mern),<br />

sowie (mittels Schrägstrich getrennt)<br />

eventuelle Aktionen vermerkt. Außer<strong>de</strong>m sind optional<br />

in <strong>de</strong>n einzelnen Zustän<strong>de</strong>n die auszulösen<strong>de</strong>n<br />

Aktionen aufgeführt. Dabei wird, wie bereits erwähnt,<br />

zwischen do-Aktionen und entry/exit-Aktionen unterschie<strong>de</strong>n<br />

(Anmerkung: alle Aktionen haben das<br />

Setzen <strong>eines</strong> zugewiesenen Ausgangssignals zur<br />

Folge). Da sowohl Transitionen als auch Zustän<strong>de</strong><br />

Aktionen ausführen können bzw. Zustän<strong>de</strong> entry-/exit-<br />

Aktionen auslösen können, ist es möglich, sowohl<br />

Moore- als Mealy-Automaten aus <strong>de</strong>m UML-Eingangsmo<strong>de</strong>ll<br />

zu generieren. Zur Zeit wird <strong>de</strong>r UML-<br />

Event-Typ SignalEvent als Transitions-Trigger-<br />

Ereignis unterstützt. In Bild 4 ist das erzeugte<br />

Zwischenmo<strong>de</strong>ll für das hierarchische UML-<br />

Eingangsmo<strong>de</strong>ll (nach Bild 2 und Bild 3) dargestellt.<br />

Zu erkennen sind die Unterzustandsmaschinen und<br />

<strong>de</strong>ren Referenzierung im Zustand Q ot . Die letzten<br />

bei<strong>de</strong>n Zustandsmaschinen in Bild 4 sind Pseudo-<br />

Unterzustandsmaschinen, was über <strong>de</strong>n angehängten<br />

Suffix PSSM angezeigt wird. Die<br />

Weiterschaltbedingungen beziehen sich immer auf<br />

das mit <strong>de</strong>r Transition verknüpfte Eingangsignal. Es<br />

sind die Vergleichsrelationen: gleich, ungleich, größer,<br />

kleiner, größergleich und kleinergleich bezogen auf<br />

einen konstanten Wert im <strong>de</strong>zimalen o<strong>de</strong>r hexa<strong>de</strong>zi-<br />

MPC-Workshop, Juli 2009<br />

74

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!