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

VHDL, Verilog: Welche Sprache würden Sie eher verwenden?

Verilog, das näher an C und einfacher, keine Copy & Paste

Wie funktioniert Zustandsminimierung?

  • vollständig spezifiziert mit Äquivalenzklassen
  • unvollständig spezifiziert mit Kompatibilitätsklassen

Verilog: Wie reject inertial von VHDL machen?

  1. Leitung: transport delay
  2. Gatter: inertial delay

Schritte der automatischen Synthese?

  1. High-Level
  2. Logisch
  3. Layout

Verilog: welche ebenen

auch die transistor ebene (Verhalten von Gattern durch benutzerdefinierte Primitive(Funktionstabellen))

Verilog: Zeitbeschreibung

Gatter haben inertial delay, leitungen haben transport delay bei Verilog wird anders als bei VHDL auch die Flankenrichtung unterschieden außerdem gibt es unterscheidung zwischen minimaler, maximaler und standard verzögerung

Layoutsynthese: Verdrahtung Algoritmen

  • Simple Router
    (Labyrinth such Algo sucht kürzeste verbindung)
  • Hierarchischer Router
    (halbierung und routing in beiden hälften rekursiv)
  • Pathfinder
    (überladen der Kanäle, dann verteuerung der überfüllten kanäle in jedem schritt)

Verdrahtung: Was ermöglichst eine 100% automatische Verdrahtung?

Verdrahtungskanäle variabler Breite

VHDL: Wie kann man verschiedene Abstraktionsebenen verbinden?

Ports und Übersetzungsfunktionen

Was passiert bei der High-Level Synthese?

Abstraktionslücke (Verhalten -> Struktur, Kausalität -> Clock Time, Abstrakte Daten -> Bitvektoren)

Scheduling und Allokierung

Path based Scheduling: Ziel?

Anzahl der Zustände reduzieren (unter gegebenen Contraints)

Systemarten: Wer wartet auf wen bei Interaktiven Systemen?

  • Benutzer wartet auf System bei niedrigem Komfort
  • Bei reaktiven ist das umgekehrt.

Logiksynthese: Ablauf

  1. Bibliotheksabbildung
  2. Zustandminimierung
  3. Zustandskodierung
  4. Logikminimierung

Layoutsynthese: Ablauf

  1. Platzierung
  2. Verdrahtung

Harwarebeschreibungssprachen

(Übernahme und Ergänzungen)

  • Softwareaspekte (übernommen)
    • Strukturierte Prozedurkonstrukte
    • Datentypen
    • Prozeduraufrufe
    • Gültigkeitsbereich von Variablen
  • Parallelität und Nebenläufigkeit in Hardware
  • Beschreibung von Zeit (Ergänzung)
  • Beschreibung von Schnittstellen (Ergänzung)

Was heißt VHDL ?

Very High Speed Integrated Circuit Harware Description Language

VHDL: Durch was werden Schnittstellen beschrieben

VHDL: Wie viele Arcitecture sind pro Entity erlaubt?

VHDL: Was macht eine Configuration?

  • Ordnet einer Entity eine von vielen Arcitecture zu.
  • Verbindet Signale und Ports bei Hirarchien

VHDL: Aus was besteht ein Package?

  • Package-Declaration
    • Funktionen
    • Proceduren
    • Typen
    • Variablen
  • Package Body
    • Definition von Funktionen
    • Definition von Prozeduren

VHDL: Wie sind Bibliotheken (Libraries) aufgebaut?

  • Primary Unit
    • Schnittstellendefinitionen (ENTITY)
    • Packagedeklarationen (PACKAGE)
  • Secondary Unit
    • Architekturen (ARCHITECTURE)
    • Package-Rümpfe (PACKAGE BODY)
    • Konfigurationen (CONFIGURATION)

VHDL: Wann nehmen Signale Ihren neuen Wert an?

VHDL: Zeitliche Signalzuweisung

Es können mehere Wert/Zeit-Paare angegeben werden.

VHDL: Die Simulation in VHDL ist

VHDL: Simulation Ablauf

  1. ELABORAION: Schaltungsaufbau
  2. INITIALIZATION: Ausgangswerte seten, Prozesse aktivieren
  3. EXECUTION

Durchführung mehrerer Delta-Zyklen bis zustand stabil

  • process evaluation (abarbeitung bis END oder WAIT)
  • signal update (signaländerungen aktivieren prozesse die ein Delta später durclafen werden.

Erhöhung der Simulationszeit bis zum nächsten Eintrag in der Ereignisliste

Gründe für den Einsatz von ES.

  • Komforterhöhung in einfachen Geräten
  • Reduktion Größe und Gewicht
  • Erhöhung Mobilität
  • Erhöhung Effizienz / Funktionalität
  • Erhöhung der Sicherheit
  • Erhöhung der Wartbarkeit
  • Reduktion Produktionskosten
  • Senken des Energieverbrauches

HL-Synthese: Ablauf

  • Verhaltensspezifikation
  • compilieren
  • Zwischenformat
  • optimieren
  • opt. Zwischenformat
  • Synthese
  • RT-Beschreibung

 

HL-Synthese: Zwischenformate

  • Kontrollfluss-Information (Petri-Netze)
  • Datenfluss-Information (Datenflussgraph)
  • Verbindung zwischen Kontroll- und Datenfluss
  • Ausgangspukt für Synthese
  • möglichst geeignet für formale Verifikation

z.B.:

  •  

Synthese: Ziel

Erzeuge möglichst

  • kleine (Aufgabe der Allokation) und
  • schnelle (Aufgabe des Schedulings) Schaltung

Scheduling: List - Ablauf

  • Knoten werden nach Länge der Pfade sortiert (prio)
  • Bestimme ablaufbereite OPs
  • max Prio zuordnen auf freie Resourcen bis voll
  • nächster Zeitpunkt

Force directed: Distribution Graph

Summe der Wahrscheinlichkeiten eines OP typen zum Zeitpunkt t ausgeführt zu werden

HL-Synthese: Verbesserungen

  • Busse minimieren
  • Register minimieren
  • Zeibedingungen berücksichtigen (interface-synthese)
  • schleifen / verzweigungen berücksichtigen

HL-Synthese: Verträglichkeitsgraph

  • Knoten: variablen
  • Kanten: zwischen Knoten deren lebensdauer sich nicht uberlappen
  • dann: bildung von cliquen (knoten die alle untereinander verbunden sind) [np-hart]

HL-Synthese: Konfliktgraph

  • Knoten: variablen
  • Kanten: zwischen variablen deren lebenszeiten sich überlappen
  • dann: Graphfärbung mit minimaler #farben (zwei verbundene knoten dürfen nicht die gleiche frabe haben) [np-hart]

Path-based scheduling Vorteile/Nachteile

+ Gute Ergebnisse

- Keine Unterstützung für Optimierung von Bussen, Registern, Schnittstellen etc.

- Keine Schleifen abrolltechniken

- Keine berücksichtigung von pipelining

- keine unterstützung für das umsortieren von instruktionen

Logiksynthese: Zustandskodierung

entspricht optimaler binärer Darstellung der Zustände

  • Optimal: einfache Zustandsübergangsfunktionen ermöglichen sparsamen Flächenverbrauch.

benötigte Zustandsbits r>=ceil(log2 n)
[r: #bits ; n: #Zustände]

Es gibt n! Arten die Kodewörter auf n Zustände abzubilden (Lösung ist NP-hart)

Logiksynthese: Zustandskodierungen, Gängige Kodierungen

  • Binärkodierung (00, 01, 10, 11)
  • Gray-Kodierung (00, 01, 11, 10
  • 1-aus-n-kodierung (1000; 0100; 0010; 0001)
  • Zufallskodierung
  • Greedy-Kodierung

Layoutsynthese: Platzierungsproblem

läßt sich auf TSP reduzieren => daher NP-hart

heuristik ist erforderlich

Zieltechnologien: Vollkundenentwurf

Entwurf; Fertigungsvorbereitung; Fertigung; Nutzung

  • Entwurf
    • Individuelle Optimierung der Platzierung und Dim der Transistoren auf dem Chip
  • Fertigungsvorbereitung
    • Individuelle Erstellung aller Fertigungsmasken
  • Fertigung
    • Individuelle Durchführung aller Fertigungsschritte
  • Nutzung
    • Hoch optimiert für (nur) eine Anwendung

Zieltechnologien: Standardzellen / Makrozellen

Entwurf; Fertigungsvorbereitung; Fertigung; Nutzung

  • Entwurf
    • Platzierung standardisierter Teilschaltungen (Zellen) auf Chip
  • Fertigungsvorbereitung
    • Individuelle Erstellung aller Fertigungsmasken
  • Fertigung
    • Individuelle Durchführung aller Fertigungsschritte
  • Nutzung
    • Hoch optimiert für (nur) eine Anwendung

Lernen