/media/sda-magnetic/david/Dok-15-2023-11-27/informatik/fsm2024-02-10/ausendig20240203b.txt


Schaltwerk
Zustandsdiagram
Die Knoten des Graphen sind die Zustände des Schaltwerks/Die Zustände des Schaltwerks sind die Knoten des Graphen

Gerichtete Kante
Zustand
Knoten

Eingabe: i
Ausgabe: o

Gerichtete Kante mit i/o markiert

Eine Ampel zeigt normalerweise auf Rot. Drückt man den Knopf wechselt sie auf grün. Dort verbleibt sie für 3s und wechselt wieder auf rot

Eingabe: i
Ausgabe: o
* steht für beliebige Eingabe

Eingabe: Signal Knopf
Asugabe: Signal Farbe 0 rot, 1 grün

Ein Schaltwerk arbeitet in Schritten

Takt
Taktsignal
Taktdauer

Taktdauer: Die Länge eines schritts
Taktsignal: Signal das nach einer Taktdauer steigende Flanke hat
Frequenz: Kehrwert der Taktdauer

z0->z0
z0->z1
z1->z0

z0->z0
z0->z1
z1->z2
z2->z0

Die Takte jedes Schrittes sind bei einem Schaltwerk in der Regel gleich lang

x
z0+, z0
z1+, z1
z2+, z2
zw+, zw

Folgezustand
z0+
z1+
z2+

Speicherglied
n-Bit Register

n-Bit Register
    n Dateneingänge
    n Datenausgänge
    CLK oder Taktsignal, Steuersignal

Die Menge der
    Zustände
    eingaben
    Ausgaben
    sind Endlich

CLK oder Steuereingang

Übergangsschaltnetz für z0+ -> n-Bit-Register -> z0
Übergangsschaltnetz für z1+ -> n-Bit-Register -> z1
Übergangsschaltnetz für z2+ -> n-Bit-Register -> z2

Ampel:

z0+ := z0 AND NOT Knopf OR z2
z1+ := z0 AND Knopf
z2+ := z1

Farbe := z0 AND Knopf OR z1 OR z1

Eingaben:
    Ampel Knopf nicht gedrückt Ampel rot
    Ampel Knopf gedrückt Ampel rot
    Ampel rot
    Ampel grün

Zustand     Eingabe     Ausgabe     Folgezustand        Code-Folgezustand
                                                        z0+ z1+ z2+

1.) Die Zustände eines Schaltwerks sind von 0 beginnend, konsekutiv nummeriert und unär kodiert
2.) Ein Schaltwerk mit n Zuständen, n Bit register, im Zustand i, hat Bit i den Wert 1 alle anderen Bit haben den Wert 0

1.) Unär Codiert: n Bit Register
2.) Binär codiert: Aufgerundet zum Ganzen log_2(b) Schaltglieder

1.) Die Rot Phase 2s
2.) Gefolgt von einer Gelb Phase von 1s
3.) Die Grünphase mindestens 2s
4.) Kann auf 5s verlängert werden

ro: rot
gr: grün
ge: gelb

RTL-Notation
    1.) Logisch
        1.) NOT
        2.) AND
        3.) OR
        4.) EXOR
    2.) Arithmetisch
        1.) Addition +
        2.) Inkrement ++
        3.) Subtraktion -
        4.) Dekrement --
        5.) Einerkomplement
    3.) Verschieben und Konkatenation
        1.) schiebe um n bit nach links << n
        2.) Schiebe um n bit nach rechts >> n
        3.) Rotiere um n bit nach links: Geschweifter Pfeil nach links n
        4.) Rotiere um n bit nach rechts: Geschweifter Pfeild nach rechts n
        5.) Verbinde zwei Vektoren zu einem Grösseren Vektor ||

Allzweckregister
1.) R
2.) Addressregister AR
3.) PC - Programmcounter
4.) IR - Instruction Register
5.) Arbeitsspeicher M []

IR <- M [PC], PC <- PC + 1

Randbits angeben

R2 (7:0): 1 Byte

MSB: Most Significant Bit: 2^7 das rechte Bit
LSB: Least Significant Bit: 2^0 das linke Bit

RTL-Notation: Register Transfer Level

ASM-Diagramm: Algorithmic State Machine