k420-Sequentielle_Schaltkreise

k420-Sequentielle_Schaltkreise

Page 1

page-01.png

Kapitel 4 – Sequentielle Logik

  1. Speichernde Elemente
  2. Sequentielle Schaltkreise
  3. Entwurf sequentieller Schaltkreise
  4. SRAM
  5. Anwendung: Datenpfade von ReTI
  6. Anwendung: Kontrolllogik von ReTI

Albert-Ludwigs-Universität Freiburg
Prof. Dr. Armin Biere
Institut für Informatik

Page 2

page-02.png

Sequentielle Schaltkreise

Im Folgenden werden keine allgemeinen Schaltpläne mehr analysiert, sondern sogenannte Schaltwerke (auch (synchrone) sequentielle Schaltkreise genannt).

Diese bestehen aus einem Register und einem (kombinatorischen) Schaltkreis (auch kombinatorischer Kern genannt).

Im Gegensatz zu (kombinatorischen) Schaltkreisen können Schaltwerke (= sequentielle Schaltkreise) Zyklen enthalten. Die Zyklen müssen aber durch Flipflops des Registers gehen.

Der Zustand eines Schaltwerkes ist gegeben durch die im Register gespeicherten Werte.

Schaltwerke (= sequentielle Schaltkreise) entsprechen endlichen Zustandsautomaten.

Page 3

page-03.png

Beispiel: Zähler als sequentieller Schaltkreis

         ┌─────────┐     ┌───────┐
    /C ──→│         │──→│       │──→ Y
    ck ──→│  n-INC  │   │ n-Reg │
  Cin ──→│         │──→│       │──→ Cₒᵤₜ
    /L ──→│         │   │       │
    X ──→│         │   │       │
         └─────────┘     └───────┘
   Kombinatorischer Kern    Register
              ck ─────────→

Page 4

page-04.png

Endliche Zustandsautomaten

Endliche Zustandsautomaten (Finite State Machines, FSMs) sind ein Formalismus, um sequentielles (zeitabhängiges) Verhalten zu spezifizieren.

Mealy- und Moore-Automaten

In der theoretischen Informatik werden (unter anderem) endliche Automaten mit akzeptierenden Zuständen betrachtet. Diese sind mit FSMs verwandt, aber nicht identisch.

Aus einer FSM-Spezifikation kann der sequentielle Schaltkreis hergeleitet werden (Sequentielle Synthese).

Page 5

page-05.png

Halbautomat

Definition: Das Quadrupel heißt deterministischer, endlicher Halbautomat. Dabei bezeichnet:

  • eine endliche Menge von erlaubten Eingabesymbolen ("Eingabealphabet"),
  • eine endliche Menge von Zuständen,
  • eine endliche Menge von erlaubten Anfangszuständen,
  • eine Übergangsfunktion.

Page 6

page-06.png

Mealy- und Moore-Automat

Definition: Ein Mealy-Automat ist ein endlicher deterministischer Halbautomat erweitert um:

  • eine endliche Menge von Ausgabesymbolen ("Ausgabealphabet"),
  • eine Ausgabefunktion .

Definition: Ein Moore-Automat ist ein endlicher, deterministischer Halbautomat erweitert um:

  • eine endliche Menge von Ausgabesymbolen,
  • eine Ausgabefunktion .

Page 7

page-07.png

Mealy- vs. Moore-Automat

Mealy-Automat Moore-Automat
Ausgabe abhängig vom Zustand und der Eingabe: abhängig nur vom Zustand:
Folgezustand abhängig vom Zustand und der Eingabe: abhängig vom Zustand und der Eingabe:
Beziehung spezieller Mealy-Automat

Moore- und Mealy-Automaten kann man ineinander überführen.

Page 8

page-08.png

Unterschiedliche Darstellungen von endlichen Zustandsautomaten

a) Zustands- und Ausgangstafel:

state next-state
1 0
0 1
0

b) Zustandsdiagramm:

  ┌─────────┐       ┌─────────┐
  │   s₁    │──1/0─→│   s₂    │
  │         │←─0/1──│         │
  └─────────┘       └─────────┘

c) Sequentieller Schaltkreis:

  x ──→[ D-FF ]──→ y

Im Folgenden "Sequentielle Synthese": Wie kommt man von b) zu c)?

Page 9

page-09.png

Sequentielle Schaltkreise allgemein

 x₁ᵗ  ...  xₖᵗ            y₁ᵗ  ...  yₘᵗ
  │           │             │           │
  ↓           ↓             ↑           ↑
  ┌─────────────────────┐
  │  Kombinatorischer    │
  │  Kern                │
  │  (δ und λ)           │
  └─────────────────────┘
  │           │             │           │
  ↓           ↓             ↑           ↑
  s₁ᵗ⁺¹ ... sₚᵗ⁺¹        s₁ᵗ  ...  sₚᵗ
  │           │             │           │
  └───── Speicher ──────┘
              ck

Die Belegung der Flipflops im Register heißt Zustand des sequentiellen Schaltkreises zum Zeitpunkt .

Page 10

page-10.png

Kombinatorischer Kern

Der kombinatorische Kern hat vier Arten von Ein- und Ausgängen:

  • Primäre Eingänge bekommen Werte "von außen".
  • Primäre Ausgänge liefern Werte "nach außen".
  • Sekundäre Eingänge sind mit den Datenausgängen der Flipflops im Register verbunden. Auf diese Weise kann der aktuelle Zustand des Schaltkreises in Funktionen und berücksichtigt werden.
  • Sekundäre Ausgänge sind mit den Dateneingängen der Flipflops verbunden. Durch sie wird der nächste Zustand des Schaltkreises spezifiziert.

Page 11

page-11.png

Primäre und sekundäre Ein- und Ausgänge

 x₁ᵗ  ...  xₖᵗ            y₁ᵗ  ...  yₘᵗ
  │           │             │           │
  ↓           ↓             ↑           ↑  ← Primäre Ausgänge
  ┌─────────────────────┐
  │  Kombinatorischer    │
  │  Kern (δ und λ)      │
  └─────────────────────┘
  │           │             │           │
  ↓           ↓             ↑           ↑
  s₁ᵗ⁺¹ ... sₚᵗ⁺¹        s₁ᵗ  ...  sₚᵗ
  │           │             │           │
  └───── Speicher ──────┘
              ck
  ↑ Sekundäre       ↑ Sekundäre
    Ausgänge          Eingänge

Page 12

page-12.png

Sequentielle Schaltung für einen FSM

Mealy-Automat:

 x₁ᵗ ... xₖᵗ                              y₁ᵗ ... yₘᵗ
  │        │                                ↑        ↑
  ↓        ↓     ┌─────┐                   ┌─────┐   │
  ┌──────────────────┐    s₁ᵗ⁺¹ ... sₚᵗ⁺¹ ┌─────┐   │
  │       δ          │──→ │               │       │  │
  └──────────────────┘    │   Register    │       │──┘
  ┌──────────────────┐    │               │       │
  │       λ          │──→ └───────────────┘       │
  └──────────────────┘    s₁ᵗ  ... sₚᵗ           │
                          ↑        │              │
                          └────────┘              │

Moore-Automat:

 x₁ᵗ ... xₖᵗ                              y₁ᵗ ... yₘᵗ
  │        │                                ↑        ↑
  ↓        ↓     ┌─────┐                   ┌─────┐   │
  ┌──────────────────┐    s₁ᵗ⁺¹ ... sₚᵗ⁺¹ │       │  │
  │       δ          │──→ │   Register    │       │──┘
  └──────────────────┘    │               │       │
                          └───────────────┘       │
                          s₁ᵗ  ... sₚᵗ           │
  ┌──────────────────┐    ↑        │              │
  │       λ          │←───└────────┘              │
  └──────────────────┘                            │
  • Übergangsfunktion:
  • Ausgabefunktion (Mealy):
  • Ausgabefunktion (Moore):