Anstatt die nächste, mache ich die alte noch mal mit anderen Werten.
Ich mache Aufgabe zu Zustandskodierung.
Zur Sicherheit: 6 7 4 Zustand Folge-Zustand fuer Ausgang x=0 x=1 1 4 8 1 2 4 8 0 3 7 4 0 4 6 7 0 5 2 8 1 6 7 4 0 7 4 6 0 8 8 5 1
Zur Sicherheit: 6 7 4 Zustand Folge-Zustand fuer Ausgang x=0 x=1 1 4 8 1 2 4 8 0 3 7 4 0 4 6 7 0 5 2 8 1 6 7 4 0 7 4 6 0 8 8 5 1 (1,5) (4,2) (8,8) (1,8) (4,8) (8,5) (5,8) (2,8) (2,5) (2,3) (4,7) (4,4) (2,4) (4,6) (4,7) (2,6) (4,7) (4,4) (2,7) (4,4) (4,6) (3,4) (7,6) (7,7) (3,6) (7,7) (7,4) (3,7) (7,4) (7,6) (4,6) (6,7) (6,4) (4,7) (6,4) (6,6) (6,7) (7,4) (7,6) (1,5) (4,2) (1,8) (4,8) (8,5) (5,8) (2,8) (2,5) (2,3) (4,7) (2,4) (4,6) (4,7) (2,6) (4,7) (2,7) (4,6) (3,4) (7,6) (3,6) (7,4) (3,7) (7,4) (7,6) (4,6) (6,7) (6,4) (4,7) (6,4) (6,7) (7,4) (7,6) (1,5) (2,4) (1,8) (4,8) (5,8) (2,3) (4,7) (2,4) (4,6) (4,7) (2,6) (4,7) (2,7) (4,6) (3,4) (6,7) (3,6) (4,7) (3,7) (4,7) (6,7) (4,6) (6,7) (4,6) (4,7) (4,6) (5,8) (2,8) (2,5) (6,7) (4,7) (6,7) (1,5) (2,4) --(1,8) --(4,8) (5,8) (2,3) (4,7) (2,4) (4,6) (4,7) (2,6) (4,7) (2,7) (4,6) (3,4) (6,7) (3,6) (4,7) (3,7) (4,7) (6,7) (4,6) (6,7) (4,6) (4,7) (4,6) --(5,8) --(2,8) (2,5) (6,7) (4,7) (6,7) (1,5) (2,4) (2,3) (4,7) (2,4) (4,6) (4,7) (2,6) (4,7) (2,7) (4,6) (3,4) (6,7) (3,6) (4,7) (3,7) (4,7) (6,7) (4,6) (6,7) (4,6) (4,7) (4,6) (6,7) (4,7) (6,7) Also, das sieht doch schon mal ganz ordentlich aus, f"ur die Menge an unn"otigen Zust"adne
Gut, im nächsten Schritt, kommt das ASM-Diagramm mit reduzierter Anzahl von Registern.
Das Operationswerk würde somit seinen Zweck erfüllen, bis auf eines - Ich habe keinen Vergleicher an R2 in Z4 R2 == 29. den denken wir uns. Von diesem aus geht die Eingangsvariable, die einzige an das Steuerwerk weiter.
Oder, wir erlauben uns einen Spass und malen ihn noch dazu. Was wir auch unbedingt tun müssten, das sind unsere Steuersignale
WE
Zum Beispiel
WE1 WE2 ...
Oder
RegWrite1 RegWrite2 RegWrite3 ...
damit die Register entsprechend frei geschaltet werden. Das mache ich jetzt noch.
z1+ := z4 and x z2+ := z1 z3+ := z2 z4+ := z3 z5+ := z4 and not x z6+ := z5 y0 := z1 or z6 y1 := z2 y2 := z3 y3 := z5 y4 := z6
Zur Sicherheit: 6 2 0 Zustand Folge-Zustand fuer Ausgang x=0 x=1 1 3 5 0 2 0 6 1 3 5 7 0 4 8 8 1 5 3 5 1 6 2 0 1 7 8 5 1 8 8 2 0 Zur Sicherheit: 6 2 0 Zustand Folge-Zustand fuer Ausgang x=0 x=1 2 0 6 1 4 8 8 1 5 3 5 1 6 2 0 1 7 8 5 1 Zur Sicherheit: 6 2 0 Zustand Folge-Zustand fuer Ausgang x=0 x=1 1 3 5 0 3 5 7 0 8 8 2 0 Zur Sicherheit: 6 2 0 Zustand Folge-Zustand fuer Ausgang x=0 x=1 2 0 6 1 4 8 8 1 5 3 5 1 6 2 0 1 7 8 5 1 (2,4) (0,8) (6,8) (2,5) (0,3) (6,5) (2,6) (0,2) (6,0) (2,7) (0,8) (6,5) (4,5) (8,3) (8,5) (4,6) (8,2) (8,0) (4,7) (8,5) (8,5) (5,6) (3,2) (5,0) (5,7) (3,8) (5,5) (6,7) (2,8) (0,5) Zur Sicherheit: 6 2 0 Zustand Folge-Zustand fuer Ausgang x=0 x=1 1 3 5 0 3 5 7 0 8 8 2 0 (1,3) (3,5) (5,7) (1,8) (3,8) (5,2) (3,8) (5,8) (7,2) (2,4) (0,8) (6,8) (2,5) (0,3) (6,5) (2,6) (0,2) (6,0) (2,7) (0,8) (6,5) (4,5) (8,3) (8,5) (4,6) (8,2) (8,0) (4,7) (8,5) (8,5) (5,6) (3,2) (5,0) (5,7) (3,8) (5,5) (6,7) (2,8) (0,5) (1,3) (3,5) (5,7) (1,8) (3,8) (5,2) (3,8) (5,8) (7,2) (1,3) (3,5) (5,7) (1,8) (3,8) (5,2) (2,4) (0,8) (6,8) (2,5) (0,3) (6,5) (2,6) (0,2) (6,0) (2,7) (0,8) (6,5) (3,8) (5,8) (7,2) (4,5) (8,3) (8,5) (4,6) (8,2) (8,0) (4,7) (8,5) (8,5) (5,6) (3,2) (5,0) (5,7) (3,8) (5,5) (6,7) (2,8) (0,5) (1,3) (3,5) (5,7) (1,8) (3,8) (2,5) (2,4) (0,8) (6,8) (2,5) (0,3) (5,6) (2,6) (0,2) (0,6) (2,7) (0,8) (5,6) (3,8) (5,8) (2,7) (4,5) (3,8) (5,8) (4,6) (2,8) (0,8) (4,7) (5,8) (5,8) (5,6) (2,3) (0,5) (5,7) (3,8) (5,5) (6,7) (2,8) (0,5) (1,3) (3,5) (5,7) (1,8) (3,8) (2,5) (2,4) (0,8) (6,8) (2,5) (0,3) (5,6) (2,6) (0,2) (0,6) (2,7) (0,8) (5,6) (3,8) (5,8) (2,7) (4,5) (3,8) (5,8) (4,6) (2,8) (0,8) (4,7) (5,8) (5,8) (5,6) (2,3) (0,5) (5,7) (3,8) (6,7) (2,8) (0,5)
/* Das bescheuerte ist, dass der Fehler eigentlich nicht drin war. Ich hatte schon vorher dass +1. "Uberall +1. Das ist das bescheuerte. Deswegen waren bisher die Aufgaben auch richtig. Das ist verr"uckt. Der Fehler war in der urspr"unglichen Aufgabe auch nicht drin. Das stimmt nicht und in der auch nicht. Nur in den seltensten F"allen. Ich sage es gleich. Nur in den seltensten Bisher waren die Aufgaben richtig. Der Witz ist n"amlich, dass alle Zust"ande +1 erzeugt wurden. Das wurde vorher auch schon. Wurde, bei allen +1 erzeugt Aber ich habe ja den Ring hergestellt. Von den drei zust"anden und selbst, das war vorher richtig. Zumindest beim ersten. Ich habe ja gesagt, Ring von 3 Zust"anden. Gut und beim ersten vom Ring, war es richtig. Nur beim zweiten und dritten habe ich es vers"aumt. Beim zweiten und dritten und das heisst nicht mal, dass es jedes Mal falsch war. Nicht mal Weil, der zweite und dritte sind schliesslich zuf"allig gew"ahlt. Im Ring sind der zweite und dritte zuf"allig. nur manchmal werden sie null. Die anderen wurden es nicht, weil es war hier schon richtig. */ #include <stdio.h> #include <stdlib.h> #include <time.h> int main (void) { time_t t; int i; int a [3]; int j; srand ((int)time (\&t)); a [0] = (rand () % 8) + 1; while ((a [1] = ((rand () % 8)+1)) == a [0]); while (((a [2] = ((rand () % 8)+1)) == a [0]) || (a [2] == a [1])); j = rand () % 2; printf ("Zur Sicherheit: %i %i %in", a [0], a [1], a [2]); printf ("ZustandttFolge-Zustand fuertAusgangn"); printf ("tttx=0tx=1ttttn"); for (i = 1; i <= 8; i++) { if (i == a [0]) printf ("%ittt%it%itttt%in", a [0], a [1], a [2], j); else if (i == a [1]) printf ("%ittt%it%itttt%in", a [1], a [2], a [0], j); else if (i == a [2]) printf ("%ittt%it%itttt%in", a [2], a [0], a [1], j); else printf ("%ittt%it%itttt%in", i, (rand () % 8) + 1, (rand () % 8) + 1, rand () % 2); } return 0; }