08.03.2014 Aufrufe

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

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.

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!