Embedded Systems 1 - KIT

Embedded Systems 1 KIT

Embedded Systems 1 KIT


M. H.
Diese Lernkarten behandeln die Grundlagen von Embedded Systems auf Universitätsniveau, mit Fokus auf Hardwarebeschreibungssprachen wie VHDL und Verilog, sowie auf Syntheseverfahren und Systemdesign. Sie decken Themen wie Logiksynthese, Layoutsynthese, Scheduling, und die Verwendung von Paketen und Bibliotheken ab. Diese Karteikarten richten sich an Studierende und Ingenieure, die sich mit der Entwicklung und Optimierung von Embedded Systems beschäftigen, und bieten praktische Einblicke in die Gestaltung und Implementierung von Schaltungen.
Flashcards
82
Students
3
Language
German
Category
Computer Science
Level
University
Created / Updated
09.02.2013 / 10.02.2026

Flashcards

Definition Embedded System (ES) ?

Thaller [1997] : Bei eingebetteten Systemen handelt es sich um einen durch Software kontrollierten Computer oder Mikroprozessor, der Teil eines größeren Systems ist, dessen primäre Funktion nicht rechenorientiert ist.

Anwendungen finden sich in:

  • Wehrtechnik
  • Luft- und Raumfahrt
  • Automobilbau
  • Konsumelektronik
  • bei Messgeräten
  • peripheren Einheiten in der Computerindustrie.

Welche Typen (Systemarten) von Embedded Systems (ES) gibt es?

  • Transformierende Systeme
  • Interaktive Systeme
  • Reaktive Systeme

Wie erstellt man ein reaktives System?

Variante 1:

  • Vorgabe von Echtzeitschranken (Ada, VHDL)
  • Realisierung (Compiler, Hardwaresynthese müssen diese einhalten
  • Nachteil: u.U. existiert gar keine Realisierung

Variante 2:

  • keine Vorgabe von Echtzeitschranken (synchrone Sprachen)
  • möglichst effiziente Realisierung
  • danach Prüfung des Echtzeitverhaltens (Codeanalyse, Prototypen)

Besonderheiten bei Synchronen Sprachen

  • zeitverbrauch wird explizit programmiert, alle anderen anweisungen benötigen keine zeit
  • Ausgaben erfolgen deshalb im selben schritt wie deren eingaben

Was is ein Problem von Sychronen Sprachen

Kausalitätszyklen => nicht reaktive systeme, nicht deterministische systeme

Wie geht man mit Kausalitätszyklen um?

  • Rückwärtsfluss von Informationen
  • Unterschied zu konstruktiven Programmen ???

Was für grafische Varianten von synchronen Sprachen gibt es?

  • Argos
  • Synccharts
  • STATEMATE

Eigenschaften von grafischen Synchronen Sprachen

???

Besonderheiten von VHDL gegenüber klassischen Programmiersprachen?

  • Nebenläufigkeit
  • Signale
  • Zeitmodelle
  • Modulkonzept

Zeitmodelle in VHDL, Verzögerungsmodelle

  • Transport
  • Inertial
  • Reject Inertial

Unterschiede VHDL, Verilog

  • Datentypen (Verilog keine abstrakten Datentypen)
  • Zeitmodell (Verilog genaueres Zeitmodel)
  • Module statt Entity (Verilog hat Module, einfacher) Verilog eher geeignet für RT- und Gatterbeschreibung weniger für Verhaltensbeschreibung

Entwurf: Welche Schritte gibt es, und was ist deren Ergebnis?

  1. Verhaltensspec
  2. High-Level-Synthese
  3. RT-Beschreibung
  4. Logik-Synthese
  5. Gatterbeschreibung
  6. Layout-Synthese / Floorplan
  7. geometrie beschreibung

Ist ES def scharf?

nein

Bsp: Set-Top box ist rechenorientiert

Was ist ein Transformierendes System

ES das einmal gestartet wird und dann keinerlei Interaktion mit der Umgebung hat

z.B. 'Streaming' Anwendungen

Was ist ein Interaktives System?

laufen kontinuierlich, fordern Benutzer zu interaktion auf. Versuchen möglichst wenig auslastung durch interaktion zu haben

(weiche echtzeitanfoderung)

Was ist ein reaktives system?

läuft kontinuierlich, muss zu jedem zeitpunkt auf interaktion mit der umgebung reagieren können

(harte echtzeitanfoderung)

Was ist Esterel ?

Synchrone Sprache

Vorgehen bei Hardware Synthese? (Hauptschritte)

  1. HL Synthese
  2. Logik Synthese
  3. Layout Synthese

Spektrum Eingebetteter Systeme

  • komplexe Aufgaben
    • Standard HW
    • Standard OS
    • Standard SW
  • sehr komplexe Aufgaben (mobil, echtzeit)
    • Standard HW mit Eigenentwicklungen
    • zugeschnittenes OS
    • Standard SW mit Eigenentwicklungen
  • spezielle Aufgaben
    • Prozessorkern (mC, DSP) plus eigene HW
    • kein OS, formale System beschr.
    • Spezial SW
  • sehr spezielle Aufgaben
    • einfache mC oder DSP plus eigene HW
    • Kein OS, C oder Assember
    • Sehr spezielle Software

Eigenschaften von Esterel? (allgemein Synchrone Sprachen)

  • Reaktivität
  • Determinismus
  • log. Korrektheit

Hardware und Software Synthese mit Esterel

Hardware templates …

Wie setzt man ein Esterel Programm in C um?

  • kontrollfluss-endliche Automaten
  • Datenfluss-guarded commands
  • HW synthese-Template

VHDL: Unterschiede von Inertial und Reject-Inertial

Bei reject inertial werden Pulse über einer minimalen Länge die kleiner sind als die Verzögerung erhalten.

Bei inertial werden alle Pulse die kleiner sind als die Verzögerung entfernt.

Wie entwirft man ein ES?

  1. Spezifikation erstellten
  2. HW/SW partitionierung
  3. …

Was sind syncrone Sprachen?

vollständige Syncronität

Zeitverbrauch muss Programiert werden alle anderen befehle werden unendlich schnell abgearbeitet

Def vollständige Synchronität?

direkt mit der änderung der eingaben sind die ausgaben schon fertig. In der praxis geht das natürlich nicht, so das diese definition in ausreichend schnell geändert wird.

Besonderheit von STATEMATE (Nachteile)

  • Signale werden erst im nächten Zeitschritt sichtbar
  • Keine vollständige Syncronität
  • zumTeil mehr Zustände erforderlich

Abstraktionsebenen von VHDL?

Verhaltensebene (Algorithmen) bis runter zur Gatterebene

VHDL, Verilog: Können die Abstraktionsebenen gemischt werden?

VHDL: Port-Mappings zum Übersetzen

Verilog: ???

Algorithmen für Scheduling und Allokation

  • ASAP
  • ALAP
  • List
  • Force Directed
  • Path-based

Scheduling: Funktionsweise von Force directed

  • zeitrahmen der Operationen bestimmen (ASAP/ALAP)

WHILE

  • Distribution Graph
  • Self-force für alle t
  • Predecessor / Successor-Forces
  • Total-Force
  • zuordnen der OP mit niedrigster Force

END WHILE

Warum ist force-directed eine Heuristik?

Reihenfolge in der die Operationen geschdulet werden ist willkürlich. Je nach Reihenfolge anderes Schedule

Wie kann das Echtzeitverhalten von reaktiven Systemen umgesetzt werden?

  • Echtzeit OS
  • alles in Hardware
  • syncrone sprachen

Früher wurden Echtzeitsysteme durch Interrupts gesteuert. Wie können Interrupts in Esterel umgesetzt werden?

Mehrere parallele Threads werden nach der Softwaresynthese zu einem Thread zusammengefasst. Dadurch muss pro Zeitschritt nur noch eine Bedingung für die Syncronität überprüft werden.

Logicsynthese: Welches Problem ist bei unvollständig definierten Automaten zu lösen?

Überdeckungsproblem

FPGA Xilinx: Was ist für einen stand-alone Betrieb nötig?

EEPROM + Logik um die Daten auf den FPGA zu laden.

(Logik sitzt bei Xilinx direkt auf dem FPGA)

VHDL: Simulation

  • TestBench
  • Delta-Zyklen
    • Signale nehmen ihren neuer Wert erst nach Verzögerung (delta) an
  • Schrittweise Signalupdate

Layoutsynthese: Platzierung Algorithmen

  • Mead Conway (optisch)
  • Flying-wire (gummibänder)
  • Scatter (zufall)
  • Fidducia-Mattheyses
    (fläche halbieren, seite wählen mit min leitungen über die trennlinie)
  • Force-directed
    (verschiebe blöcke in zentrum der verbundenen, tausche falls besetzt, markieren, wenn alle markiert dann mark löschen, wiederholen bis bedinungen erfüllt)
  • SA
  • GA

Wie wird HW in VHDL abgebildet?

  • Entity
  • Architecture
  • Configuration

VHDL: Unterschiede zwischen Bibliotheken und Packages?

  • Bibliothek besteht aus primary und secondary unit
  • Package ist in primary unit enthalten, Package Body in secondary unit

Étudier