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
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