/media/sda-magnetic/david/Dok-15-2023-11-27/informatik/vhdl20240112/automat2024012122.txt


2 3 0 3 
2 2 1 3 
0 1 2 1 
0 0 3 1 
Zustand	Eingabe	Ausgabe	Folgezustand
0		0		2		2
0		1		1		3
0		2		0		0
0		3		3		3
1		0		3		2
1		1		3		2
1		2		0		1
1		3		1		3
2		0		2		0
2		1		1		1
2		2		1		2
2		3		3		1
3		0		3		0
3		1		1		0
3		2		1		3
3		3		0		1


Zustand	Eingabe	Ausgabe	Folgezustand   Code Folgezustand   Code Eingabe    Code Ausgabe
                                       z3+ z2+ z1+ z0+     x1  x0          y1  y0
0		0		2		2              0   1   0   0       0   0           1   0
0		1		1		3              1   0   0   0       0   1           0   1
0		2		0		0              0   0   0   1       1   0           0   0
0		3		3		3              1   0   0   0       1   1           1   1
1		0		3		2              0   1   0   0       0   0           1   1
1		1		3		2              0   1   0   0       0   1           1   1
1		2		0		1              0   0   1   0       1   0           0   0
1		3		1		3              1   0   0   0       1   1           0   1
2		0		2		0              0   0   0   1       0   0           1   0
2		1		1		1              0   0   1   0       0   1           0   1
2		2		1		2              0   1   0   0       1   0           0   1
2		3		3		1              0   0   1   0       1   1           1   1
3		0		3		0              0   0   0   1       0   0           1   1
3		1		1		0              0   0   0   1       0   1           0   1
3		2		1		3              1   0   0   0       1   0           0   1
3		3		0		1              0   0   0   1       1   1           0   0


++++++++++++++++++++++++++

Zustand z3+

Zustand	Eingabe	Ausgabe	Folgezustand   Code Folgezustand   Code Eingabe    Code Ausgabe
                                       z3+ z2+ z1+ z0+     x1  x0          y1  y0
0		1		1		3              1   0   0   0       0   1           0   1
0		3		3		3              1   0   0   0       1   1           1   1
1		3		1		3              1   0   0   0       1   1           0   1
3		2		1		3              1   0   0   0       1   0           0   1

z3+ <= (z0 and not x1 and x0) or (z0 and x1 and x0) or (z1 and x1 and x0) or (z3 and x1 and not x0)
z3+ <= (z0 and x0) or (z1 and x1 and x0) or (z3 and x1 and not x0)

Zustand z2+

Zustand	Eingabe	Ausgabe	Folgezustand   Code Folgezustand   Code Eingabe    Code Ausgabe
                                       z3+ z2+ z1+ z0+     x1  x0          y1  y0
0		0		2		2              0   1   0   0       0   0           1   0
1		0		3		2              0   1   0   0       0   0           1   1
1		1		3		2              0   1   0   0       0   1           1   1
2		2		1		2              0   1   0   0       1   0           0   1

z2+ <= (z0 and not x1 and not x0) or (z1 and not x1 and not x0) or (z1 and not x1 and x0) or (z2 and x1 and not x0)
z2+ <= (z0 and not x1 and not x0) or (z1 and not x1) or (z2 and x1 and not x0)

Zustand z1+

Zustand	Eingabe	Ausgabe	Folgezustand   Code Folgezustand   Code Eingabe    Code Ausgabe
                                       z3+ z2+ z1+ z0+     x1  x0          y1  y0
1		2		0		1              0   0   1   0       1   0           0   0
2		1		1		1              0   0   1   0       0   1           0   1
2		3		3		1              0   0   1   0       1   1           1   1

z1+ <= (z1 and x1 and not x0) or (z2 and x0)

Zustand z0+

Zustand	Eingabe	Ausgabe	Folgezustand   Code Folgezustand   Code Eingabe    Code Ausgabe
                                       z3+ z2+ z1+ z0+     x1  x0          y1  y0
0		2		0		0              0   0   0   1       1   0           0   0
2		0		2		0              0   0   0   1       0   0           1   0
3		0		3		0              0   0   0   1       0   0           1   1
3		1		1		0              0   0   0   1       0   1           0   1
3		3		0		1              0   0   0   1       1   1           0   0

z0+ <= (z0 and x1 and not x0) or (z2 and not x1 and not x0) or (z3 and not x1 and not x0) or (z3 and not x1 and x0) or (z3 and x1 and x0)

Ausgabe y1

Zustand	Eingabe	Ausgabe	Folgezustand   Code Folgezustand   Code Eingabe    Code Ausgabe
                                       z3+ z2+ z1+ z0+     x1  x0          y1  y0
0		0		2		2              0   1   0   0       0   0           1   0
0		3		3		3              1   0   0   0       1   1           1   1
1		0		3		2              0   1   0   0       0   0           1   1
1		1		3		2              0   1   0   0       0   1           1   1
2		0		2		0              0   0   0   1       0   0           1   0
2		3		3		1              0   0   1   0       1   1           1   1
3		0		3		0              0   0   0   1       0   0           1   1

y1 <= (z0 and not x1 and not x0) or (z0 and x1 and x0) or (z1 and not x1) or (z2 and not (x1 xor x0)) or (z3 and not x1 and not x0)

Ausgabe y0

Zustand	Eingabe	Ausgabe	Folgezustand   Code Folgezustand   Code Eingabe    Code Ausgabe
                                       z3+ z2+ z1+ z0+     x1  x0          y1  y0
0		0		1		3              1   0   0   0       0   1           0   1
0		2		3		3              1   0   0   0       1   1           1   1
1		0		3		2              0   1   0   0       0   0           1   1
1		1		3		2              0   1   0   0       0   1           1   1
1		2		1		3              1   0   0   0       1   1           0   1
2		0		1		1              0   0   1   0       0   1           0   1
2		2		1		2              0   1   0   0       1   0           0   1
2		3		3		1              0   0   1   0       1   1           1   1
3		0		3		0              0   0   0   1       0   0           1   1
3		1		1		0              0   0   0   1       0   1           0   1
3		2		1		3              1   0   0   0       1   0           0   1


y0 <= (z0 and x0) or (z1 and not (not x0 and x1)) or (z2 and (x1 or x0)) and (z3 and (x1 nand x0))


z3+ <= (z0 and x0) or (z1 and x1 and x0) or (z3 and x1 and not x0)
z2+ <= (z0 and not x1 and not x0) or (z1 and not x1) or (z2 and x1 and not x0)
z1+ <= (z1 and x1 and not x0) or (z2 and x0)
z0+ <= (z0 and x1 and not x0) or (z2 and not x1 and not x0) or not (z3 and x1 and not x0)
y1 <= (z0 and not x1 and not x0) or (z0 and x1 and x0) or (z1 and not x1) or (z2 and not (x1 xor x0)) or (z3 and not x1 and not x0)
y0 <= (z0 and x0) or (z1 and not (not x0 and x1)) or (z2 and (x1 or x0)) and (z3 and (x1 nand x0))