128
2 Spezifikation und Modellierung
werden kann. Wenn das nicht möglich ist, muss unter Umständen eine fehleranfällige manuelle Übersetzung zwischen den verschiedenen Modellen durchgeführt
werden.
• Algorithmische Ebene: Auf dieser Ebene werden Algorithmen simuliert, die
innerhalb des eingebetteten Systems zum Einsatz kommen sollen. Beispielsweise
kann ein MPEG Video-Encoder simuliert werden, um die Ausgabequalität der
Videos zu bestimmen. Bei der Verwendung solcher Simulationen gibt es keinen
Bezug zum Befehlssatz des Zielprozessors.
Datentypen können in der Simulation durchaus noch eine höhere Wortbreite
haben als in der endgültigen Implementierung. Beispielsweise verwenden die
Referenzimplementierungen des MPEG-Standards doppelt-genaue Gleitkommazahlen. Das endgültige eingebettete System wird solche Datentypen kaum verarbeiten können. Wenn die Datentypen so gewählt wurden, dass jedes Bit in der
Simulation genau einem Bit in der Implementierung entspricht, so spricht man
von einem bitgenauen Modell. Die Übersetzung von nicht-bitgenauen in bitgenaue Modelle sollte durch Hilfsprogramme unterstützt werden (siehe Seite 388).
• Befehlssatzebene: In diesem Fall wurden die Algorithmen bereits für den Befehlssatz des zu verwendenden Prozessors (oder der Prozessoren) übersetzt. Simulationen auf dieser Ebene erlauben das Zählen der ausgeführten Instruktionen.
Es gibt verschiedene Varianten der Befehlssatzebene:
– In einem grobkörnigen Modell wird nur die Wirkung von Instruktionen simuliert, das Zeitverhalten wird vernachlässigt. Die Informationen aus AssemblerReferenz-Handbüchern (die Befehlssatzarchitektur, Instruction Set Architecture (ISA)) sind für die Definition eines solchen Modells ausreichend.
– Modellierung auf Transaktionsebene: Bei der Modellierung auf Transaktionsebene werden Transaktionen, wie z.B. Bus-Lese- oder Schreiboperationen,
sowie Kommunikationsvorgänge zwischen verschiedenen Komponenten modelliert. Diese Art der Modellierung enthält weniger Details als die zyklengenaue Modellierung (s.u.), daher können hier deutliche Vorteile bei der Simulationsgeschwindigkeit erzielt werden [105].
– In einem feinkörnigeren Modell kann man eine zyklengenaue Befehlssatzsimulation erreichen. In diesem Fall kann die genaue Zyklenzahl, die zur Ausführung einer Applikation benötigt wird, bestimmt werden. Zum Aufstellen
von zyklengenauen Modellen braucht man sehr genaue Informationen über
die Prozessorhardware, um z.B. eine Fließband-artige Befehlsverarbeitung,
Ressourcenkonflikte und Speicherwartezyklen richtig modellieren zu können.
• Register-Transfer-Ebene (RTL): Auf dieser Ebene werden alle Komponenten
auf der Register-Transfer-Ebene modelliert. Das beinhaltet arithmetisch/logische
Einheiten (ALUs), Register, Speicher, Multiplexer und Dekodierer. Modelle auf
dieser Ebene sind immer zyklengenau. Die automatische Synthese aus solchen
Modellen heraus ist keine große Herausforderung.
• Modelle auf Gatterebene: Hier enthalten die Modelle Gatter als Basisbausteine.
Modelle auf Gatterebene erlauben genaue Aussagen über die Wahrscheinlich-
2 Spezifikation und Modellierung
werden kann. Wenn das nicht möglich ist, muss unter Umständen eine fehleranfällige manuelle Übersetzung zwischen den verschiedenen Modellen durchgeführt
werden.
• Algorithmische Ebene: Auf dieser Ebene werden Algorithmen simuliert, die
innerhalb des eingebetteten Systems zum Einsatz kommen sollen. Beispielsweise
kann ein MPEG Video-Encoder simuliert werden, um die Ausgabequalität der
Videos zu bestimmen. Bei der Verwendung solcher Simulationen gibt es keinen
Bezug zum Befehlssatz des Zielprozessors.
Datentypen können in der Simulation durchaus noch eine höhere Wortbreite
haben als in der endgültigen Implementierung. Beispielsweise verwenden die
Referenzimplementierungen des MPEG-Standards doppelt-genaue Gleitkommazahlen. Das endgültige eingebettete System wird solche Datentypen kaum verarbeiten können. Wenn die Datentypen so gewählt wurden, dass jedes Bit in der
Simulation genau einem Bit in der Implementierung entspricht, so spricht man
von einem bitgenauen Modell. Die Übersetzung von nicht-bitgenauen in bitgenaue Modelle sollte durch Hilfsprogramme unterstützt werden (siehe Seite 388).
• Befehlssatzebene: In diesem Fall wurden die Algorithmen bereits für den Befehlssatz des zu verwendenden Prozessors (oder der Prozessoren) übersetzt. Simulationen auf dieser Ebene erlauben das Zählen der ausgeführten Instruktionen.
Es gibt verschiedene Varianten der Befehlssatzebene:
– In einem grobkörnigen Modell wird nur die Wirkung von Instruktionen simuliert, das Zeitverhalten wird vernachlässigt. Die Informationen aus AssemblerReferenz-Handbüchern (die Befehlssatzarchitektur, Instruction Set Architecture (ISA)) sind für die Definition eines solchen Modells ausreichend.
– Modellierung auf Transaktionsebene: Bei der Modellierung auf Transaktionsebene werden Transaktionen, wie z.B. Bus-Lese- oder Schreiboperationen,
sowie Kommunikationsvorgänge zwischen verschiedenen Komponenten modelliert. Diese Art der Modellierung enthält weniger Details als die zyklengenaue Modellierung (s.u.), daher können hier deutliche Vorteile bei der Simulationsgeschwindigkeit erzielt werden [105].
– In einem feinkörnigeren Modell kann man eine zyklengenaue Befehlssatzsimulation erreichen. In diesem Fall kann die genaue Zyklenzahl, die zur Ausführung einer Applikation benötigt wird, bestimmt werden. Zum Aufstellen
von zyklengenauen Modellen braucht man sehr genaue Informationen über
die Prozessorhardware, um z.B. eine Fließband-artige Befehlsverarbeitung,
Ressourcenkonflikte und Speicherwartezyklen richtig modellieren zu können.
• Register-Transfer-Ebene (RTL): Auf dieser Ebene werden alle Komponenten
auf der Register-Transfer-Ebene modelliert. Das beinhaltet arithmetisch/logische
Einheiten (ALUs), Register, Speicher, Multiplexer und Dekodierer. Modelle auf
dieser Ebene sind immer zyklengenau. Die automatische Synthese aus solchen
Modellen heraus ist keine große Herausforderung.
• Modelle auf Gatterebene: Hier enthalten die Modelle Gatter als Basisbausteine.
Modelle auf Gatterebene erlauben genaue Aussagen über die Wahrscheinlich-
