Zustandsautomaten

Ziele

  1. Verständnis der Funktionsweise von zustandsbasierten sequenziellen Logiksystemen
  2. Verständnis der Funktionsweise und Aufbau von Zustandsautomaten
  3. Entwurf von Zustandsautomaten mit VHDL

RTL und Zustandsautomaten

  • Der Bereich von digitalen Systemen reicht von steuerungs- bis zu datenintensiven Systemen.

  • Systeme mit Steuerungsschwerpunkt sind rein reaktive Systeme die auf äußere Ereignisse reagieren.

  • Systeme mit Datenschwerpunkt benötigen Datenverarbeitung mit hohen Datendurchsatz, wie. z.B. im Bereich der digitalen Signal- und Bildverarbeitung.

  • Der Kontrollfluss ist sequenziell aufgebaut, d.h. in mehrere zeitlich getrennte Einzelschritte zerlegt.

  • Wie in vorherigen Kapiteln gezeigt wurde, kann ein sequenzielles System in einen Kontroll- und Datenfluss aufgeteilt werden, mit Steuerungs- und Datenpfadeinheiten.

RTL und Zustandsautomaten

  • Datenpfade enthalten
    1. Arithmetische und logische Recheneinheiten (ALUs),
    2. Logik für den Datentransport zwischen einzelnen Datenpfadeinheiten bzw. Stufen,
    3. Register für die Datenzwischenspeicherung und zum Aufbau von Pipelines, die dadurch gekennzeichnet sind, dass zu einem Zeitpunkt t sich mehrere Datensätze in unterschiedlichen Bearbeitungsstufen befinden können (Erhöhung des Datendurchsatzes).

RTL und Zustandsautomaten

figrtldp1


Abb. 1. Datenpfade mit RTL

Endliche Zustandsautomaten

  • Datenpfade werden mit endlichen Zustandsautomaten gesteuert (FSM: Finite State Machine).

  • Steuerungseinheit FSM

  • Datenpfadeinheiten können zyklisch wechselnde Datensätze, d.h. Datenströme, bearbeiten.

  • Der Zustandsautomat muss die einzelnen Operationen im Datenpfad steuern und koordinieren:

    1. Datentransport (Multiplexer)
    2. Datenspeicherung (Register)
    3. Operationen und Daten selektieren (ALU + Multiplexer)
  • Datenpfade bestehen aus einer Vielzahl von regulären Strukturen (einfach zu optimieren),

  • Kontrolleinheiten (FSM) bestehen i.A. aus irregulären Strukturen (“zufällig” strukturierte Logik - schwierig/aufwendig zu optimieren).

Endliche Zustandsautomaten

Partitionierte Sequenzielle Maschinen
Partitionierung einer sequenziellen Maschine (z.B. Mikroprozessor) in einen Daten- und Steuerungspfad macht die Architektur deutlicher und strukturierter, und vereinfacht den System/Hardware-Entwurf.

figrtl3


Abb. 2. Allgemeine Architektur und Strukturierung einer Sequenziellen Maschine.

Endliche Zustandsautomaten

Ein Zustandsautomat ist ein allgemeines sequenzielles System, dessen Reaktionen und Ausgangswerte außer vom aktuellen Zustand auch von den Eingangsgrößen abhängen. Man unterscheidet im wesentlichen zwei verschiedene Typen von Automaten:

Moore-Automat

Bei diesem Automaten hängen die Ausgangssignale nur vom aktuellen Zustand ab, welcher von Eingangssignalen aus der Vergangenheit und vorherigen Zuständen bestimmt wurde.

Mealy-Automat

Bei diesem Automaten hängen die Ausgangssignale zusätzlich von den Eingangssignalen ab.

Endliche Zustandsautomaten