k430-Entwurf_sequentieller_Schaltkreise

k430-Entwurf_sequentieller_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

Entwurf sequentieller Schaltkreise

Zustandsdiagramm:

  ┌───┐  0/0   ┌───┐
  │ 0 │───→───│ 1 │
  └───┘       └───┘

Zustands- und Ausgangstafel:

0 0 0 0 0
0 0 1 0 0
0 1 0 1 0
0 1 1 1 0
1 0 0 1 0
1 0 1 1 0
1 1 0 0 1
1 1 1 0 1

Sequentieller Schaltkreis:

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

Page 3

page-03.png

Entwurfsschritte

  1. Optimierung des Zustandsdiagramms:
    • Zustandsminimierung – Identifikation der äquivalenten Zustände.
    • Ergebnis: Ein (evtl. kleineres) Zustandsdiagramm.
  2. Wahl der Zustandskodierung.
    • Ergebnis: Anzahl der Flipflops im Register, Funktionen und (Zustands- und Ausgangstafel).
  3. Implementierung von und .
    • Kombinatorische Logiksynthese, z.B. Quine-McCluskey.

Page 4

page-04.png

Zustandsminimierung

Idee: Bestimme und verschmelze äquivalente Zustände.

Zwei Zustände sind äquivalent, wenn der Automat von ihnen aus bei gleichen Eingabefolgen stets die gleichen Ausgabefolgen produziert.

 s₁     s₂     s₃     s₄          s₁,₂   s₃     s₄
  ●─────●─────●─────●      ⇒      ●─────●─────●

Page 5

page-05.png

Weiteres Beispiel (1/4)

Hinreichende Bedingung (unvollständiges Verfahren!): Wenn bei zwei Zuständen bei gleicher Eingabe auch die gleiche Ausgabe erzeugt wird und der gleiche Folgezustand angenommen wird, dann sind die Zustände sicherlich äquivalent.

Äquivalente Zustände können durch einen einzigen Zustand ersetzt werden (siehe nächste Folie).

Page 6

page-06.png

Weiteres Beispiel (2/4)

  a ── b ── c ── d ── e ── f ── g ── h

Zustand und sind äquivalent, weil die hinreichende Bedingung erfüllt ist.

Page 7

page-07.png

Weiteres Beispiel (3/4)

  a ── b ── c ── d ── f ── g ── h

Zustand eliminiert.

Zustand und sind äquivalent gemäß hinreichender Bedingung.

Page 8

page-08.png

Weiteres Beispiel (4/4)

  a ── b ── d ── f ── g ── h

Zustand eliminiert.

Page 9

page-09.png

Entwurfsschritte

  1. Optimierung des Zustandsdiagramms:
    • Zustandsminimierung – Identifikation der äquivalenten Zustände.
    • Ergebnis: Ein (evtl. kleineres) Zustandsdiagramm.
  2. Wahl der Zustandskodierung.
    • Ergebnis: Anzahl der Flipflops im Register, Funktionen und (Zustands- und Ausgangstafel).
  3. Implementierung von und .
    • Kombinatorische Logiksynthese, z.B. Quine-McCluskey.

Page 10

page-10.png

Zustandskodierung

Kodierung , , :

4 Monome, 9 Literale

Kodierung , , :

6 Monome, 11 Literale

Ziel: Wähle Zustandskodierung, die nachfolgende kombinatorische Synthese erleichtert. Dafür gibt es (heuristische) Verfahren.

Page 11

page-11.png

Gray-Code inspirierte Kodierungen

Gray-Code:

0 0 0 1 0 1
1 0 1 2 1 1
2 1 1 3 1 0
3 1 0 0 0 0

Natürliche Kodierung:

0 0 0 1 0 1
1 0 1 2 1 0
2 1 0 3 1 1
3 1 1 0 0 0

Page 12

page-12.png

Entwurf eines einfachen sequentiellen Schaltkreises am Beispiel

Aufgabenbeschreibung (Textspezifikation): Modulo-4 Vorwärts/Rückwärtszähler

Der Zähler soll von 0 bis 3 zählen können.

  • Ist der Steuereingang auf 1 gesetzt, so soll vorwärts gezählt werden, d.h. die Zahlenfolge durchlaufen werden.
  • Ist auf 0 gesetzt, so soll rückwärts gezählt werden, d.h. die Zahlenfolge durchlaufen werden.
  • Am Ausgang ist der Zählerstand anzugeben (Ausgabevektor ).
  • Start des Zählers mit Wert 0.

Page 13

page-13.png

Zustände im Zustandsdiagramm

Wie viele Zustände benötigt das Zustandsdiagramm für den Zähler bei der gegebenen Spezifikation?

a. 1
b. 2
c. 4
d. 8
e. 16

Page 14

page-14.png

Von der Textspezifikation zum Zustandsdiagramm

4 Zustände erforderlich. Startzustand 0.

        Start
         ↓
  ┌───┐ 1/  ┌───┐ 1/  ┌───┐ 1/  ┌───┐
  │ 0 │──→──│ 1 │──→──│ 2 │──→──│ 3 │
  └───┘     └───┘     └───┘     └───┘

Page 15

page-15.png

Vom Zustandsdiagramm zur Zustands- und Ausgangstafel

Zustandsminimierung Keine äquivalente Zustände.

Zustandskodierung: , , , .

Zustands- und Ausgangstafel:

1 0 0 0 1 0 0 Vorwärts
1 0 1 1 0 0 1 zählen
1 1 0 1 1 1 0
1 1 1 0 0 1 1
0 1 1 1 0 1 1 Rückwärts
0 1 0 0 1 1 0 zählen
0 0 1 0 0 0 1
0 0 0 1 1 0 0
 ←──── Eingänge ────→  ←──── Ausgänge ────→

Page 16

page-16.png

Implementierung des kombinatorischen Kerns

1 0 0 0 1 0 0 Vorwärts
1 0 1 1 0 0 1 zählen
1 1 0 1 1 1 0
1 1 1 0 0 1 1
0 1 1 1 0 1 1 Rückwärts
0 1 0 0 1 1 0 zählen
0 0 1 0 0 0 1
0 0 0 1 1 0 0

Übergangsfunktion:

Page 17

page-17.png

Implementierung des komb. Kerns: Logikminimierung

Ausgangsfunktion:

Übergangsfunktion:

Minimierung:

Page 18

page-18.png

Beispiel: Ergebnis

              ┌─────────────┐
   x ────────→│ Übergangs-  │──→ z₁ᵗ⁺¹ ──→[D-FF₁]──→ z₁ᵗ ──→ y₁
              │ funktion δ  │                  │
              │             │──→ z₀ᵗ⁺¹ ──→[D-FF₀]──→ z₀ᵗ ──→ y₀
              └─────────────┘                  │
                    ↑                          │
                    └──────────────────────────┘
                         ck ──→

Resultierender Automat ist Moore-Automat.

Ausgabefunktion ist Identität auf den Zustandsbits: , .