Zustand
Schaltwerk arbeitet in Schritten
Beispiel 3.1 Eine Fußgänger-Ampel zeigt normalerweise Rot. Wenn man den
Knopf drückt, geht sie auf Grün, verbleibt dort für 3 Sekunden, und wechselt
wieder auf Rot.
Zustandsgraph
Knoten des Graphen
Knoten des Graphen sind die Zustände des Schaltwerks
Gerichtete Kante
Eingabe i
Ausgabe o
i/o Durch Schrägstrich getrennt
Signal knopf
* steht für beliebige Eingabe
Ausgabe: Signal Farbe Wert (0 Rot), (1 Grün)
Zeitintervalle
z0->z1
z1->z0
z0->z0
Mit fester Schrittdauer
z0->z1
z1->z2
z2->z0
z0->z0
Eingaben:
Knopf nicht gedrückt Ampel rot
Knopf gedrückt Ampel rot
Ampel rot
Ampel grün
In der Regel sind die schritte gleichlang
Takte, Länge jedes Schritts: Taktdauer
Taktsignal
Takt
Taktdauer
Taktsignal
Taktsignal: Signal, das nach einer Taktdauer steigende Flanke hat
Der Kehrwert der Taktdauer: Frequenz
Die Mengen
der Zustände
Eingaben
und Ausgaben
sind endlich
Konkret spricht man von einem Mealy Automaten
Ausgehende Kante
mögliche Zustände
sind definiert
Spezialfall: Ausgabe ist nur von dem aktuellen Zustand abhängig nicht von der Eingabe: Moore-Automat
Implementierung von Schaltwerken
Die Möglichen Zustände eines Schalwerks werden mit 0 beginnend, konsekutiv nummeriert und unär kodiert
d.h. wenn es n verschiedene Zustände 0 bis n-1 gibt, besteht die Zustandskodierung aus n Bits und im Zustand i hat genau Bit i den Wert 1, alle anderen Bits haben den Wert 0
Der Aktuelle Zustand wird in einem Speicherglied gespeichert.
n-Bit Register
Schaltglied mit n Dateneingängen
n Datenausgänge
Steuereingang, der Clock oder Taktsignal genannt wird
n-Bit-Register
n Dateneingänge
n Datenausgänge
Steuereingang, Clock oder Taktsignal
Mit steigender Flanke wird der Wert ausgegeben
Übergangsschaltnetz
Ausgangsschaltnetz: Ausgabe
Nachfolgezustand
x, z2
z0+, z0, z1+, z1, zw+
Übergangsschaltnetz für
z0+
z1+
z2+
Übergangsschaltnetz->Register
n-Bit Register
-> Übergangsschaltnetz für z0+ -> 3 Bit Register -> z0 ->
-> Übergangsschaltnetz für z1+ -> 3 Bit Register -> z1 ->
-> Übergangsschaltnetz für z2+ -> 3 Bit Register -> z2 ->
Die Wertetabellen dieser beiden Schaltfunktionen kann man alternativ in einem ROM oder PROM speichern
Mikroprogramm
Eine solche Speicherung von Nachfolgezustände und Ausgaben nennt man Mikroprogramm
Und das Schaltwerk Mikroprogrammsteuerwerk
Gleichung
z0+ = z0 AND NOT Knopf OR z2
z1+ = z0 AND knopf
z2+ = z1
farbe = z0 AND knopf OR z1 OR z2
Herleitung des Ausgangssschaltnetzes und Übergangsschaltnetzes des Zustandsgraphen
- Speicherglieder
- Gatter
- Transformat Mealy und Moore
- Binäre Codierung
Synthese:
Zustandsgraph
Zustandstabelle
Gleichung für Übergangs und Ausgangsschaltnetz
Analyse
Zustandstabelle
aktueller Zustand Eingabe Ausgabe Folgezustand Code Folgezustand
z0+ z1+ z2+
0 0 0 0 1 0 0
0 1 1 1 0 1 0
1 0 1 2 0 0 1
1 1 1 2 0 0 1
2 0 1 0 1 0 0
2 1 1 0 1 0 0
Nachfolge-Zustand: Angabe Nummer des Zustandes und seine Kodierung
Zeile drei und vier Zusammenfassung zu einer Zeile
1 * 1 2 0 0 1
Ampel: Beginnt mit Rot-Phase von 2 Sekunden,
gefolgt von einer Geld-Phase 1 Sekunde
Die Grünphase mindestens 2 Sekunden
Kann, wenn warten auf 5 Sekunden verlängert werden
ro, ge, gr
akt. Zustand Eingabe Ausgabe Folgezustand Codierung: z0+ z1+ z2+ z3+ z4+ z5+ z6+ z7+ z8+
0
1
2
3
4
5
6
7
8
z0+ = z5 AND NOT warte OR z6 AND NOT warte OR z7 AND NOT warte OR z8 = (z5 OR z6 OR z7) AND NOT warte OR z8
o = z0 AND (a1 OR a0) OR z1 AND a0
z0+ = z0 AND (a1 OR a0) OR z2
z1+ = z1 AND NOT a1 OR z0 AND (a1 OR a0)
z2+ = z1 AND a1
Ein Schaltwerk dient lediglich der Steuerung
Tests und Berechungen auf Daten durchführen: Komplexes Schaltwerk
Komplexes Schaltwerk: Besteht aus
Schaltwerk
und Steuerwerk
Speicherglieder
Latch, Flip Flop
x NOR 0 = NOT x
x NOR 1 = 0
R, S, Q, NOT Q
Q := R NOR Q'
Q' := S NOR Q
Setzvorgang = Setzsignal = Set = S
Rücksetzen, Rücksetzsignal, Rest = R
SR-Latch
kreuzweise Rückkopplung
SR-Latch Flimmert
D-Flipflop
Für die Zeit der Steigendesn Taktflanke darf es sich nicht ändern
Setzzeit (Setup-Time)
Haltezeit (Hold Time)
Wirkintervall
Kippintervall: Das Intervall, in dem die neu eingespeicherten Datensignal frühestens oder spätestens am Datenausgang des Flipflops erscheint
Die Zeit: die sich der Wert des Datensignal vor der Flanke nicht ändern darf: Setzzeit
Die Zeit: Die sich der Wert des Datensignal nach der Flanke nicht ändern darf: Haltezeit
Taktsignal: CLK
Flip Flops: bei denen sich Wirk und Kippintervall nicht überlappen: Master Slave Flip Flops
Bestehen in der Regel aus hintereinander geschalteten Flip Flops
Enable, CLK
ENABLE, CLK, D
ENABLE. CLK, R, S
Binärcodiert und das davor bitte genauer schreiben
Komplexe Schaltwerke
Mikropgrammierung
Tabellen
Multiplikation
Komplexes Schaltwerk
Hardware Algorithmus
steuernder Teil, verarbeitender Teil
Steuerkwer und Operationswerk
Schaltwerke für komplizierte Aufgabenstellungen, d.h. Schaltwerke mit einer grossen Zahl von Zuständen
Operationswerk:
Verarbeitender Teil
Eingabevektor X wird schrittweise in Ausgabevektor Y umgeformt
Eingabevektor
Zwischenergebnisse
und Ausgabevektor werden in Registern zwischengespeichert
Datenpfade zwischen Registern und Solchen Operationsschaltnetzen
Steuervektor
Die Auszuführenden Operationen
Statusvektor
Steuwervektor
Statusvektor
Eingabevektor X
Ausgabevektor Y
Steuervektor S
Statusvektor V
Operationswerk
Steuwerwerk
Operationswerk
Eingabevektor X
Ausgabevektor Y
Steuervektor S
Statusvektor V
Steuwerwerk
Steuervektor S
Statusvektor V
RTL-Notation: Register Transfer Level
AR: address register
Daten: R und durchnummieren
Register wird als Vektor definiert, indem man die Randbits angibt
R2(7:0)
R2 8 Bit Register
LSB - Least Significant Bit - 2^0 - das Rechte Bit
MSB - Most Significant Bit - 2^7 - Das Linke Bit
Beginnt man mit dem höherwertigen Byte D31, ..., D24: Big Endian-Reihung
D7..D0, beginnt: Little-Endian
Datenübernahme von Steuersignal abhängig
if (S1 = 1) then (R1 <- R1 + R2)
S1: Steuervariable
Takt, S1 gehen in AND gehen in CLK oder ENABLE von R1
if-Anweisung verkürzt
S1:R1<-R1+R2
Neben Register kann Speicher verwendet werden
Abkürzung: M
IR <- M[PC], PC <- PC+1
PC: Programm Counter
IR: Instruction Register
PC++ Verkürzte Schreibweise
Mikropoerationen
Logisch, bitweise
NOT
AND
OR
EXOR
arithmetisch
Addition +
Um 1 Inkrementieren ++
Subtraktion -
Um 1 dekrementieren --
Einerkomplemnent
Verschieben und Konkatenation
Schiebe um n Bits nach Links << n
Schiebe um n Bits nach Rechts >> n
Rotiere um n Bit nach links <-|n
Rotiere um n Bit nach Rechts |-> n
Verbinde zwei Vektoren zu einem grösseren Vektor ||
Logisch
Arithmetisch
Verschieben und Konkatenation
Mikrooperation, realisiert durch
Schaltnetze, Addition
An und Umordnen der Datenleitungen, Konkatenation, Schiebemultiplexer
Die Verkettung dieser Elementaren Operationen: Makrooperation
ASM-Diagramme:
Algorithmic State Machine Chart
ASM-Diagramm ähnelt Flussdiagramm
1.) Flussdiagramm
2.) ASM-Diagramm
Boxen:
Zustandsboxen
Entscheidungsboxen
Bedingte Ausgangsboxen
Zustandsbox bezeichnet durch
Zustandsnamen
Zustandscode
Innerhalb der Zustandsbox wird einem oder mehreren Registern ein Wert zugewiesen
Anfangszustand Z0
Bedingte Ausgangsboxen: Bei Mealy
ASM-Block: Zustandsbox am Eingang
Konstruktionsregeln für Operationswerke
Für Jede Variable ein Register
Wenn Variable mehr als ein Ausdruck, davor Multiplexer
Registerblock
Zugriff zeitversetzt über Bus
Ports: Schreibe und Leseports
Konstanten fest verdrahtet
Die Berechnung der Ausdrücke mittels Funktionsschaltnetzen
Wertezuweisungen können parallel ausgeführt werden
Wenn keine Datenabhängigkeiten bestehen
Zur Abfrage der Bedingungen, Statusvariablen