Kapitel 1: Einleitung Rechnertechnologie I Prof. Dr.-Ing. Sorin A ...
Kapitel 1: Einleitung Rechnertechnologie I Prof. Dr.-Ing. Sorin A ...
Kapitel 1: Einleitung Rechnertechnologie I Prof. Dr.-Ing. Sorin A ...
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Eingebettete Systeme I<br />
<strong>Einleitung</strong><br />
S. A. Huss / Folie 1-1<br />
1. <strong>Einleitung</strong><br />
• Motivation<br />
• Generischer Entwurfsablauf<br />
• HW/SW Ko-Entwurf<br />
• Fundamentale Syntheseprobleme<br />
• HW Entwurf<br />
• HW Synthese
S. A. Huss / Folie 1-2<br />
Motivation<br />
Eingebettete Systeme I<br />
<strong>Einleitung</strong><br />
Anforderungen an die Entwickler eingebetteter HW/SW Systeme:<br />
• Sehr gute Kenntnisse in der Beschreibung (Modellierung) bzw.<br />
Analyse komplexer informationstechnischer Systeme.<br />
• Gute Kenntnisse in HW-Architekturen (Prozessoren, Koprozessoren,<br />
Intellectual Property-Module, verteilte Systeme).<br />
• Verständnis der ingenieurtechnischen Grundlagen der<br />
Anwendung sowie der Einsatzumgebung.<br />
• Grundkenntnisse in Schaltungstechnik und vor allem in der<br />
elektrischen Datenerfassung sowie -übertragung.<br />
• Sehr gute theoretische und praktische Kenntnisse in den Bereichen<br />
SW-Entwicklung, Kommunikations-SW und RealTime-OS.<br />
Ganz schön n viel, oder?<br />
Deswegen werden solche Leute auch sehr gesucht ...
Motivation<br />
Eingebettete Systeme I<br />
<strong>Einleitung</strong><br />
Embedded C<br />
Services<br />
Network<br />
opamp<br />
asp<br />
Filters AD/DA<br />
RF<br />
System on<br />
IC<br />
Software<br />
Hardware<br />
gate<br />
memory<br />
RT-ops<br />
FSM<br />
µC<br />
dspP<br />
µP<br />
ASIP<br />
ASIC<br />
FPGA<br />
IP<br />
VHDL<br />
Design Software<br />
1960 70 80 90 2000<br />
Silicon Board<br />
OO<br />
cC++<br />
2010<br />
t<br />
© H.De Man EiS’99<br />
S. A. Huss / Folie 1-3
S. A. Huss / Folie 1-4<br />
Eingebettetes System<br />
Eingebettete Systeme I<br />
<strong>Einleitung</strong><br />
Definition:<br />
Ein (Mikro-) Computersystem, das in ein technisches System<br />
eingebettet ist, welches selbst nicht als Computer erscheint.<br />
Kopplung<br />
Besonderheiten:<br />
• feste Funktionalität<br />
Speicher<br />
ASIC<br />
Standard-<br />
Komponente<br />
• kontrolliert und verarbeitet<br />
physikalische<br />
Größen<br />
• in der Regel sicherheitsund<br />
zeitkritisch<br />
Prozessor<br />
Prozessor<br />
Eingebettetes System (EbS)<br />
Systemumgebung<br />
• eingeschränkte Ressourcen
S. A. Huss / Folie 1-5<br />
Beispiele<br />
Eingebettete Systeme I<br />
<strong>Einleitung</strong><br />
• Telekommunikation: Vermittlungssysteme, Endgeräte, ...<br />
• Unterhaltungselektronik: Video, Audio, Spiele, ...<br />
• Bürotechnik: <strong>Dr</strong>ucker, Fax, ...<br />
• Fahrzeugtechnik: Motor, Getriebe, Bremsen, Navigation, ...<br />
• Avionik, Raumfahrttechnik, Automatisierungstechnik, ...
S. A. Huss / Folie 1-6<br />
Anwendungen in PKW<br />
Eingebettete Systeme I<br />
<strong>Einleitung</strong><br />
Aussagen aus der Entwicklung Elektrik/Elektronik, BMW AG:<br />
• 80% der Funktionen eines Fahrzeugs werden<br />
künftig in Software realisiert.<br />
• Integration der Softwarefunktionen ist ein zentrales Problem.<br />
• Gängige Softwareprodukte sind hierzu nicht geeignet<br />
nicht geeignet:<br />
Hinreichende Qualität, Sicherheit, garantiertes Zeitverhalten, ...
S. A. Huss / Folie 1-7<br />
Anforderungen an EbS<br />
Eingebettete Systeme I<br />
<strong>Einleitung</strong><br />
• Enge Kostengrenzen<br />
• Harte Zeitbedingungen<br />
• Nebenläufige Operation<br />
• Geringe Verlustleistung (z. B. in Mobiltelefon, PDA)<br />
• Sicherheit - einschließlich EMV (inbesondere in Kfz, Avionik)<br />
• Grösse, Gewicht, ...
S. A. Huss / Folie 1-8<br />
Herausforderungen<br />
an den Entwurf<br />
Eingebettete Systeme I<br />
<strong>Einleitung</strong><br />
System Specs -> 7th Heaven of Software<br />
People<br />
x[i]=<br />
fft(4πy[k])...<br />
UML<br />
C++, Java<br />
MATLAB<br />
200M+ transistor<br />
200M+ transistors<br />
SoC Architecture<br />
S<br />
A<br />
CAE, IP, VSIA<br />
Reality -> Hell of Physics<br />
© H.De Man EiS’99<br />
1V,1Watt<br />
VHDL
S. A. Huss / Folie 1-9<br />
…Herausforderungen<br />
Eingebettete Systeme I<br />
<strong>Einleitung</strong><br />
• Auswahl geeigneter Standard-Prozessoren<br />
• Entwurf anwendungsspezifischer Prozessoren<br />
• Design peripherer Hardware<br />
• Entwicklung der Anwendungssoftware<br />
und der Hardware-Treiber<br />
• Auswahl und Konfiguration des Laufzeitsystems<br />
• Integration der Komponenten und Systemtest
S. A. Huss / Folie 1-10<br />
Entwurfsproduktivität<br />
Eingebettete Systeme I<br />
<strong>Einleitung</strong><br />
• Kürzere Lebenszeit der Produkte<br />
• "Time to Market" wird immer wichtiger
S. A. Huss / Folie 1-11<br />
Trends<br />
Eingebettete Systeme I<br />
<strong>Einleitung</strong><br />
• Wachsender Umfang der Anwendungen<br />
• Grosse Systeme mit "Legacy"-Funktionen<br />
• Kombination von reaktiven und transformierenden<br />
Prozessen<br />
• Anforderungen an Flexibilität und Betriebssicherheit<br />
• Kürzere Entwicklungszeiten<br />
• Zeitpunkt der Markteinführung entscheidend<br />
• Kürzere Produktlebenszeiten<br />
• Zunehmende Komplexität t der Zielsysteme<br />
• Verdoppelung der Gatterzahl pro IC ca. alle 18 Monate<br />
• Kombination verschiedener Technologien, Prozessortypen,<br />
Entwurfsstile, Signaldomänen, ...<br />
• Grosse heterogene SoC - zusammengestellt aus einer<br />
Kombination von Komponenten (HW und/oder SW)<br />
verschiedener Lieferanten am IP Markt<br />
SoC: : System-on<br />
on-Chip IP: Intellectual Property
S. A. Huss / Folie 1-12<br />
Lösungsansätze für den<br />
Systementwurf<br />
Eingebettete Systeme I<br />
<strong>Einleitung</strong><br />
• Das drastische Wachstum der Produktivität ist nur durch<br />
Fortschritte in der Entwurfsautomatisierung und in der<br />
Wiederverwendung von Komponenten erreichbar.<br />
• Entwurf mit klaren Schnittstellen<br />
• Ausführbare/Synthetisierbare Beschreibung von Moduln<br />
• Enge Marktfenster erfordern einen "First-Time-Right" Entwurf<br />
• Verifikation der Spezifikation<br />
• Simulation des Entwurfs während der Entwicklung<br />
• Vergleich der Spezifikation mit der Implementierung<br />
• Strukturierung des Entwurfs durch Einführung von<br />
Abstraktionsebenen und Nutzung von Hierarchie.<br />
• Ein Entwurf kann mehrere Hierarchie- und<br />
Abstraktionsstufen enthalten ("Mixed-Level").<br />
• Berücksichtigung von Standardkomponenten<br />
• Hardware- und Softwarefunktionen eingebetteter Systeme<br />
(EbS) müssen gleichzeitig entworfen werden.<br />
• HW/SW Ko-Entwurf ("co-design")<br />
• Ko-Simulation des Gesamtssystems
S. A. Huss / Folie 1-13<br />
Entwurfsablauf für EbS<br />
Eingebettete Systeme I<br />
<strong>Einleitung</strong><br />
Requirements<br />
Top-down<br />
Entwurf<br />
Specification<br />
Architecture<br />
Components<br />
Während des Ablaufs:<br />
• Analysiere den Entwurf im Hinblick<br />
auf die Anforderungen<br />
• Verfeinere den Entwurf, indem<br />
Details hinzugefügt werden<br />
• Überprüfe<br />
das Entwurfsergebnis,<br />
damit die Zielsetzungen erfüllt<br />
werden<br />
System Integration<br />
Bottom-up<br />
Entwurf
S. A. Huss / Folie 1-14<br />
Anforderungen<br />
Eingebettete Systeme I<br />
<strong>Einleitung</strong><br />
Aktivitäten:<br />
1. Befrage den Kunden und stelle alle funktionalen und<br />
nicht-funktionalen Anforderungen und Beschreibungen<br />
des Systems zusammen: Requirements<br />
2. Verfeinere und formalisiere die Anforderungen: Specification<br />
Einige nicht-funktionale Anforderungen:<br />
• Durchsatz<br />
• Fertigungskosten<br />
• Größe und Gewicht<br />
• Leistungsverbrauch
S. A. Huss / Folie 1-15<br />
Beispiel MovMap: GPS Navigation<br />
Eingebettete Systeme I<br />
<strong>Einleitung</strong><br />
Tragbares Gerät t zur fortlaufenden Darstellung einer Karte<br />
um die aktuelle Position des Benutzers<br />
Display:<br />
I-78<br />
Aktuelle<br />
Position<br />
Längen- und<br />
Breiten-Koord.<br />
lat : 40 13<br />
long: 32 19<br />
X<br />
Scotch Road
S. A. Huss / Folie 1-16<br />
... GPS Navigation<br />
Eingebettete Systeme I<br />
<strong>Einleitung</strong><br />
Requirements Chart<br />
Name:<br />
Purpose:<br />
Inputs:<br />
Outputs:<br />
Functions:<br />
Performance:<br />
Manufacturing cost: max. USD 100.-<br />
Physical size:<br />
4" x 6", 12 ounces<br />
GPS MovMap<br />
Moving map for driving use<br />
Power and two control buttons<br />
LCD display, 400x600 pixels, monochrome<br />
3 user-selectable resolutions,<br />
always display current lat. & long. coord.,<br />
use 5-receiver GPS system<br />
update screen within 0.25 sec upon<br />
movement
S. A. Huss / Folie 1-17<br />
Spezifikation<br />
Eingebettete Systeme I<br />
<strong>Einleitung</strong><br />
Specs should be understandable enough for requirements verification<br />
and<br />
unambiguous enough for the designers to know what they need to construct.<br />
Einige GPS MovMap Spec Bestandteile:<br />
• Positionsdaten - von GPS Satelliten zu ermitteln<br />
• Kartendaten<br />
• Benutzungs-Interface<br />
• Durchzuführende Operationen<br />
• Aktionen im Hintergrund, z. B. Betrieb des<br />
GPS Empfängers
S. A. Huss / Folie 1-18<br />
Architektur-Entwurf<br />
Eingebettete Systeme I<br />
<strong>Einleitung</strong><br />
1. System-Architektur<br />
Noch keine Implementierungsdetails, wie Zuordnung von<br />
Teilfunktionen in SW oder HW<br />
Blockdiagramm des GPS MovMap<br />
GPS<br />
receiver<br />
Search<br />
engine<br />
Renderer<br />
Display<br />
Data base<br />
User interface
S. A. Huss / Folie 1-19<br />
... Architektur-Entwurf<br />
Eingebettete Systeme I<br />
<strong>Einleitung</strong><br />
2. Verfeinerung der System-Architektur<br />
Implementierung der<br />
Funktion Renderer<br />
in SW<br />
Hardware<br />
Software<br />
Pixel<br />
Display<br />
Frame<br />
Buffer<br />
CPU<br />
Database<br />
Search<br />
Renderer<br />
Memory<br />
Bus<br />
GPS<br />
Receiver<br />
Panel I/O<br />
User<br />
Interface<br />
Timer<br />
Position<br />
Architekturbeschreibungen müssen m<br />
sowohl alle funktionalen<br />
als auch sämtliche s<br />
nicht-funktionalen Anforderungen erfüllen.
S. A. Huss / Folie 1-20<br />
Komponenten-Entwurf<br />
Eingebettete Systeme I<br />
<strong>Einleitung</strong><br />
Eingebettete Systeme bestehen in der Regel aus<br />
• Standard-Komponenten<br />
GPS Empfänger, Prozessor, Speicher, Display,<br />
topographische Datenbank, ...<br />
• Applikationsspezifische Komponenten<br />
Anwendungs-SW, HW/SW Interaktion,<br />
dedizierte Schaltkreise, Platinen, ...<br />
Gute Ratschläge aus der Praxis:<br />
- Verwende soviele Standardkomponenten, SW-Pakete<br />
und verfügbare Dienstleistungen wie möglich.<br />
- Führe Entwicklungsarbeiten nur für die Schlüsselkomponenten<br />
des eingebetteten Systems durch.<br />
- Stelle ihre Integration in den Mittelpunkt der Entwicklung,<br />
damit alle Systemanforderungen erfüllt werden.
S. A. Huss / Folie 1-21<br />
SW-dominierte EbS<br />
Eingebettete Systeme I<br />
<strong>Einleitung</strong><br />
Warum wird anwendungsspezifische HW benötigt<br />
–<br />
die Funktionalität t lässt l<br />
sich doch in SW realisieren !<br />
Man muss doch nur einen schnelleren<br />
Prozessor einsetzen – die Auswahl ist ja groß !!<br />
• Wohin mit dem Lüfter?<br />
• Wo bekommt man günstig Autobatterien<br />
und Rucksäcke für das mobile System?<br />
Nicht-funktionale<br />
Anforderungen<br />
bestimmen die<br />
Systemarchitektur…<br />
Der Kunde wird das alles sicherlich akzeptieren und auch<br />
bezahlen wollen – bei den Leistungen unseres Produktes!
S. A. Huss / Folie 1-22<br />
EbS: HW-Architekturkomponenten<br />
in System-on-Chip Realisierung<br />
Eingebettete Systeme I<br />
<strong>Einleitung</strong><br />
SoC
S. A. Huss / Folie 1-23<br />
EbS Entwurfsaufgaben<br />
Eingebettete Systeme I<br />
<strong>Einleitung</strong><br />
• Spezifikation<br />
• Partitionierung<br />
• Allokation<br />
• Scheduling/Ablaufplanung<br />
• Bindung<br />
• Evaluierung/Verifikation
S. A. Huss / Folie 1-24<br />
Generischer Entwurfsablauf<br />
Eingebettete Systeme I<br />
<strong>Einleitung</strong>
S. A. Huss / Folie 1-25<br />
Hardware/Software Ko-Entwurf<br />
Eingebettete Systeme I<br />
<strong>Einleitung</strong><br />
HW/SW Ko-Entwurf:<br />
Gemeinsamer Entwurf von Hardware und Software<br />
Ziele<br />
· Optimierung des Entwurfsprozesses<br />
-> Erhöhte Entwurfsproduktivität<br />
· Optimierung des Entwurfs<br />
-> Verbesserte Produktqualität<br />
Aufgaben<br />
· Ko-Spezifikation und Ko-Modellierung<br />
· Ko-Verifikation/-Simulation<br />
· Integration unterschiedlicher Entwurfsdomänen<br />
· Entwurfsoptimierung und Ko-Synthese
Ko-Synthese<br />
Eingebettete Systeme I<br />
<strong>Einleitung</strong><br />
Ko-Synthese bestehend aus<br />
· Hardware/Software-Partitionierung, Komponentenauswahl<br />
· Hardware/Software-Scheduling<br />
· Softwaresynthese und Codegenerierung<br />
· Hardwaresynthese<br />
· Interface- und Kommunikationssynthese<br />
Anwendungen<br />
· Entwurfsraumexploration<br />
· Systemoptimierung<br />
S. A. Huss / Folie 1-26
S. A. Huss / Folie 1-27<br />
Ko-Simulation<br />
Eingebettete Systeme I<br />
<strong>Einleitung</strong><br />
Ziel:<br />
Erweiterung der bekannten Simulationstechniken auf<br />
Ko-Simulation von Hard- und Software zur Evaluierung<br />
des Verhaltens des Gesamtsystems<br />
Besonderheiten:<br />
• Unterschiedliche Sprachen (z. B. VHDL, C, C++, DSP-Assembler)<br />
• Unterschiedliche Abstraktionsebenen<br />
• Dynamische Wahl des Abstraktionsgrades zur<br />
Minimierung der Ausführungszeit<br />
Trend:<br />
Dies erfordert mehrere Modelle jeder Komponente !<br />
SystemC als gemeinsame Sprache für f r eine ganzheitliche Spezifikation<br />
von Hardware und Software auf einer "mittleren" Abstraktionsebene.<br />
e.
S. A. Huss / Folie 1-28<br />
Spezifikation<br />
Eingebettete Systeme I<br />
<strong>Einleitung</strong><br />
Definition:<br />
Festlegung des Verhaltens und der Eigenschaften<br />
eines Systems im Sinne der Anforderungen.<br />
Beispiel eines Beschreibungmittels: Problemgraph<br />
Ein Problemgraph G (V,E) ist ein gerichteter Graph mit Knotenmenge<br />
V und Kantenmenge E, in dem jeder Knoten v i<br />
∈ V eine Aufgabe<br />
(Task, Prozeß, Anweisung, Elementaroperation) und jede Kante<br />
e = (v i<br />
, v j<br />
) ∈ E eine Datenabhängigkeit / Kommunikationsverbindung<br />
darstellt.
S. A. Huss / Folie 1-29<br />
Partitionierung<br />
Eingebettete Systeme I<br />
<strong>Einleitung</strong><br />
Definition:<br />
Aufteilung der Funktionalität unter Einhaltung von<br />
Entwurfsbedingungen (Kosten, Performanz, Speicherbedarf,<br />
Fläche, ...).<br />
Problemformulierung:<br />
Gegeben: O = {o 1<br />
, o 2<br />
, ..., o n<br />
} : Menge von Objekten<br />
Gesucht : P = {p 1<br />
, p 2<br />
, ..., p m<br />
} : Aufteilung der Objekte<br />
m<br />
so daß : p = O<br />
Υ<br />
i=<br />
1<br />
i<br />
p<br />
i<br />
∩<br />
p<br />
j<br />
=<br />
{} ∀i,<br />
j : i ≠ j<br />
f(P) → min : Kostenfunktion
S. A. Huss / Folie 1-30<br />
Begriffe<br />
Eingebettete Systeme I<br />
<strong>Einleitung</strong><br />
• Strukturelle Partitionierung<br />
Die Architektur ist vorgegeben, die Funktionalität wird<br />
auf die Komponenten abgebildet.<br />
• Funktionale Partitionierung<br />
Das System wird in Funktionseinheiten zerlegt.<br />
• HW/SW Partitionierung<br />
Aufteilung des Systems in Hardware- und Software-<br />
Module.<br />
• Hierarchische Partitionierung<br />
Erleichtert die (Wieder-) Verwendung von Standardkomponenten<br />
bzw. IP-Moduln.
S. A. Huss / Folie 1-31<br />
Allokation<br />
Eingebettete Systeme I<br />
<strong>Einleitung</strong><br />
Zweck:<br />
Vorgabe der zur Verfügung stehenden Ressourcen.<br />
Definition:<br />
+<br />
Eine Allokation ist eine Funktion α : Z , die jedem<br />
→ 0<br />
Ressourcentyp r k<br />
∈ V T<br />
die Anzahl α (r k<br />
) verfügbarer Instanzen<br />
zuordnet.<br />
V T
S. A. Huss / Folie 1-32<br />
Ablaufplanung<br />
Eingebettete Systeme I<br />
<strong>Einleitung</strong><br />
Zweck:<br />
Festlegung von Startzeiten der Aufgaben unter Berücksichtigung<br />
aller Datenabhängigkeiten im Problemgraphen.<br />
Definition:<br />
Ein Ablaufplan eines Problemgraphen (G (V, E)) ist eine<br />
+<br />
Funktion τ : V → Z 0<br />
, die jedem Knoten v i<br />
∈ V die Startzeit<br />
zuordnet, so dass gilt:<br />
τ = τ<br />
i<br />
( v i<br />
)<br />
τ ( v ) ≥ τ ( v ) + d ∀(<br />
v , v ) ∈<br />
i<br />
j<br />
j<br />
j<br />
i<br />
E
S. A. Huss / Folie 1-33<br />
Bindung<br />
Eingebettete Systeme I<br />
<strong>Einleitung</strong><br />
Zweck:<br />
Zuordnung von Aufgaben zu Ressourcentyp / Instanz<br />
Definition:<br />
Gegeben sei eine Spezifikation (G (V, E), G R<br />
(V R<br />
, E R<br />
)).<br />
Die Bindung ist ein Tupel von Funktionen (β,γ) mit<br />
T<br />
A<br />
i<br />
k<br />
T<br />
( vi<br />
β ( vi<br />
)) ∈ ER<br />
β : V → V mit β ( v ) = r ∈V<br />
und , ;<br />
( β ( ))<br />
γ : V → Z<br />
+ mit γ ( v i ) ≤ α v i<br />
B<br />
C<br />
MIPS<br />
DSP<br />
Mem<br />
D<br />
E<br />
ASIC<br />
Mem
S. A. Huss / Folie 1-34<br />
Beispiel: Bindung<br />
Eingebettete Systeme I<br />
<strong>Einleitung</strong><br />
Ablaufplanung und Bindung<br />
eines Problemgraphen
S. A. Huss / Folie 1-35<br />
Hardware-Entwurf<br />
Eingebettete Systeme I<br />
<strong>Einleitung</strong><br />
Abstraktionsebenen der HW in digitalen Systemen
Sichtweisen<br />
Verhalten<br />
Systemebene<br />
Eingebettete Systeme I<br />
<strong>Einleitung</strong><br />
Algorithmische Ebene<br />
Struktur<br />
Systemspezifikation<br />
Algorithmen<br />
Register-Transfers<br />
Boolesche Gleichungen<br />
Differentialgleichungen<br />
RT-Ebene<br />
Logikebene<br />
Schaltungs-<br />
ebene<br />
Gatter,FF, Leitungen<br />
Transitoren<br />
Masken, Polygone<br />
Integrierter Schaltkreis<br />
Subsysteme,Busse<br />
Module, Leitungen<br />
Zellen<br />
Floorplan<br />
Geometrie<br />
Cluster<br />
Partitionierung<br />
Y-Diagramm<br />
nach D. Gajski<br />
S. A. Huss / Folie 1-36
S. A. Huss / Folie 1-37<br />
Beispiel:<br />
Eingebettete Systeme I<br />
<strong>Einleitung</strong><br />
EXOR-Gatter mit Verzögerung<br />
Verhalten : y = a*(not b) + (not a)*b<br />
delayed 5 ns<br />
Boolesche Funktion<br />
Struktur :
S. A. Huss / Folie 1-38<br />
HW-Abstraktionen und Sichten<br />
Eingebettete Systeme I<br />
<strong>Einleitung</strong><br />
Typische Inhalte:<br />
Abstraktion Struktur Verhalten<br />
System-Ebene CPU, Speicher, Busse Leistungsdaten<br />
(Durchsatz, ...)<br />
Algorithmische<br />
Ebene<br />
Register-Ebene<br />
μP, RAM, ROM<br />
UART<br />
ALU, Register, Zähler,<br />
Multiplexer<br />
E/A - Verhalten,<br />
nebenläufig notierte<br />
Algorithmen,<br />
Mikrooperationen<br />
Wahrheitstabellen,<br />
Zustandsgraphen,<br />
Mikrooperationen<br />
Logik-Ebene Gatter, Flip-Flop Boolesche Gleichungen<br />
Schaltungs-Ebene Transistor, R, L, C Differentialgleichungen<br />
Topologische Ebene<br />
geometrische Objekte<br />
(symbolisches Layout)<br />
-<br />
UART :<br />
RT:<br />
´universal asynchronous receiver / transmitter´<br />
Register-Transfer
S. A. Huss / Folie 1-39<br />
Parallelität und Pipelining<br />
Eingebettete Systeme I<br />
<strong>Einleitung</strong><br />
Prinzipielle Vorgehensweisen zur Erhöhung der Rechenleistung:<br />
I. Erhöhung des Datendurchsatzes T<br />
II. Verringerung der Latenz L, d.h. Dauer einer Berechnung t exec<br />
Parallelverarbeitung<br />
Pipelining<br />
Nebenläufige Verarbeitung (´concurrency´):<br />
Pipelining und Parallelverarbeitung<br />
Charakteristisches Merkmal der Arbeitsweise von HW-Komponenten
S. A. Huss / Folie 1-40<br />
Verfahren zur HW Synthese<br />
Eingebettete Systeme I<br />
<strong>Einleitung</strong><br />
Zweck:<br />
Synthese bildet eine funktionale Spezifikation auf eine<br />
strukturelle Beschreibung ab.<br />
Aufgaben:<br />
Die drei Hauptprobleme der Synthese sind Allokation<br />
(Allocation), Ablaufplanung (Scheduling) und Bindung<br />
(Binding). Diese sind unabhängig von der<br />
Abstraktionsebene und davon, ob es sich um Hardware oder<br />
Software handelt.<br />
Vorgaben:<br />
Ausgangsspezifikationen sind der Problemgraph und<br />
der Ressourcengraph.
S. A. Huss / Folie 1-41<br />
Begriffe<br />
Eingebettete Systeme I<br />
<strong>Einleitung</strong><br />
Synthese (Verhalten => Struktur) :<br />
S:Synthese<br />
I: Implementierung<br />
G: Generierung<br />
• High-Level Synthese<br />
Architektursynthese,<br />
algorithmische Synthese<br />
• Register-Transfer<br />
Transfer-Level Synthese<br />
RT Synthese<br />
• Logik Synthese<br />
wird häufig RT Synthese zugeordnet
S. A. Huss / Folie 1-42<br />
Abgrenzung<br />
Eingebettete Systeme I<br />
<strong>Einleitung</strong><br />
Frage: Worin liegen die Unterschiede in den Syntheseverfahren<br />
für Eingebettete Systeme, HW/SW und HW?<br />
Antwort:<br />
1. Granularität der Aufgaben und der Verarbeitungseinheiten<br />
HW: Funktionsblock/Rechenwerk/Prozessor<br />
SW: Anweisung/Prozeß/Task<br />
2. Komplexität des Entwurfsobjekts<br />
3. Homogenität der Komponenten<br />
4. Anzahl der möglichen Lösungen
High-Level Synthese<br />
Eingebettete Systeme I<br />
<strong>Einleitung</strong><br />
Ziel: Transformation einer formalen Verhaltensbeschreibung (HDL) auf<br />
eine das Verhalten realisierende, "geeignete" Struktur auf RT-Ebene.<br />
Voraussetzung: Entwurfsmodell (Zielarchitektur, generische<br />
Architektur) ist vorhanden.<br />
Allgemeine Zielarchitektur: Kommunizierende Verarbeitungseinheiten<br />
d.h. 'processing elements', PE<br />
GenerischeVerarbeitungseinheit: ♦<br />
♦<br />
♦<br />
Steuerwerk ('control unit', CU)<br />
° Zustandsregister<br />
° Steuerlogik<br />
- Steuerung des DP<br />
- Kommunikation mit anderen PE<br />
Datenpfad ('data path', DP)<br />
° Speicher (REG, RAM)<br />
° Funktionseinheiten (ALU, ADD, MULT,<br />
MUX)<br />
° Busverbindungen<br />
Kommunikation zwischen CU und DP<br />
eines PE über Entscheidungs- und<br />
Kontrollvariable<br />
S. A. Huss / Folie 1-43
S. A. Huss / Folie 1-44<br />
RT-Level Synthese<br />
Eingebettete Systeme I<br />
<strong>Einleitung</strong><br />
Ziel: Erzeugung einer Netzliste auf Gatterebene unter Verwendung<br />
vorgegebener Zellbibliotheken.<br />
Voraussetzung: Beschreibung der Architektur auf RT-Ebene (HDL)<br />
Entwurfsschritte: 1. Erzeugung der impliziten Struktur auf RT-Ebene<br />
2. Logikminimierung<br />
3. Implementierung auf Gatterebene (´library<br />
mapping´)<br />
und Optimierung der Netzliste (Zeit ↔ Fläche)<br />
RT-Architekturbeschreibung:<br />
- explizit : (abstrakte) Netzliste<br />
- implizit : z. B. 'data flow' in VHDL
S. A. Huss / Folie 1-45<br />
Zusammenfassende Übersicht<br />
Eingebettete Systeme I<br />
<strong>Einleitung</strong><br />
Algorithmus<br />
Aufgaben:<br />
High-Level<br />
Synthese<br />
RT<br />
Synthese<br />
Logik<br />
Synthese<br />
Architektur<br />
Logik<br />
Gatter<br />
• Scheduling<br />
• Allokation<br />
• Register-Sharing<br />
• Speicher-Inferenz<br />
• Schleifen-Pipelining<br />
• Ressourcen-Sharing<br />
• Register-Inferenz<br />
• Arithmetische Optimierung<br />
• Sequentielle Optimierung<br />
• Redundanz-Elimination<br />
• Logik-Minimierung<br />
• Technology Mapping