WEBVTT

00:04.630 --> 00:06.110
Jetzt kommen wir zur Vorlesung.

00:07.190 --> 00:11.190
Und zwar wollen wir heute nochmal Hazards klassifizieren.

00:12.230 --> 00:16.830
Das heißt, wir hatten ja diese Übergänge und wir konnten entweder

00:16.830 --> 00:19.850
einen statischen Übergang haben oder einen dynamischen Übergang.

00:20.170 --> 00:23.770
Bei einem statischen Übergang, wie hier gezeigt, kann das ein 0

00:23.770 --> 00:25.310
-Übergang oder ein 1-Übergang sein.

00:25.390 --> 00:31.350
Das heißt, wir bleiben bei 0 oder von 1 nach 1 und bei einem

00:31.350 --> 00:34.630
dynamischen Übergang von 0 nach 1 oder von 1 nach 0.

00:35.010 --> 00:37.350
Und jetzt können wir natürlich aus dem Übergang, können wir die

00:37.350 --> 00:39.370
entsprechenden Hazards klassifizieren.

00:41.570 --> 00:46.230
Okay, wir können jetzt sagen, die Hazards lassen sich nach ihrer

00:46.230 --> 00:47.370
Ursache auch noch klassifizieren.

00:48.370 --> 00:50.350
Es gibt so etwas wie ein Funktionshazard.

00:50.470 --> 00:53.810
Ein Funktionshazard, da kann ich kaum was tun.

00:54.110 --> 00:56.810
Ja, der liegt in der Funktion selber begründet, werden wir gleich

00:56.810 --> 00:57.070
sehen.

00:57.070 --> 01:01.170
Oder wir haben Strukturhazards und dann liegt der Hazard in der

01:01.170 --> 01:05.010
Struktur des Schaltwerks, so wie ich das Schaltwerk halt designt habe.

01:06.030 --> 01:08.910
Ja, das heißt also, bei einem Funktionshazard liegt die Ursache in der

01:08.910 --> 01:10.570
zu realisierenden Funktion selbst.

01:10.890 --> 01:11.850
Da kann ich wenig machen.

01:12.090 --> 01:14.390
Wir werden gleich sehen, wie man das angeht.

01:15.050 --> 01:20.010
Und bei einem Strukturhazard ist die Ursache jetzt in der Struktur des

01:20.010 --> 01:21.770
realisierten Schaltnetzes.

01:22.050 --> 01:27.270
Und ich kann ja für eine gegebene Funktion beliebig viele Schaltnetze

01:27.270 --> 01:31.950
entsprechend designen und dann liegt sozusagen der Hazard in dem

01:31.950 --> 01:33.730
entsprechenden Schaltnetz.

01:37.510 --> 01:42.110
Der Funktionshazard, habe ich ja gerade gesagt, liegt in der Funktion.

01:42.170 --> 01:44.450
Der tritt in jedem möglichen Schaltnetz auf.

01:44.810 --> 01:49.170
Das heißt also, egal wie ich das Schaltnetz designe für diese Funktion

01:49.170 --> 01:52.010
und wir sind auch bei Schaltnetzen, nicht bei Schaltwerken.

01:52.010 --> 01:53.710
Schaltwerke kommen ja heute später.

01:55.210 --> 01:59.210
Tritt er sozusagen in jedem möglichen Schaltnetz auf und er kann nicht

01:59.210 --> 01:59.910
behoben werden.

02:00.850 --> 02:03.050
Das heißt nicht, dass er unbedingt auftreten muss.

02:03.150 --> 02:04.370
Ich glaube, das haben Sie soweit schon verstanden.

02:04.690 --> 02:05.970
Er muss ja nicht auftreten.

02:06.330 --> 02:09.330
Ja, aber ich kann den Hazard an sich nicht beheben.

02:09.630 --> 02:12.270
Das heißt, ich kann für ein konkretes Schaltnetz mit einem

02:12.270 --> 02:16.110
Funktionshazard, da kann ich zwar den Funktionshazard-Fehler durch

02:16.110 --> 02:19.490
eine günstige Wahl dieser Verzögerungswerte beheben, aber der Hazard

02:19.490 --> 02:24.190
selber, der soll ja unabhängig sein von den Verzögerungen, den kann

02:24.190 --> 02:25.010
ich nicht beheben.

02:27.410 --> 02:30.970
Und ein Struktur-Hazard, der liegt jetzt eben, wie gerade gesagt,

02:31.450 --> 02:35.370
liegt jetzt in der Struktur des realisierten Schaltnetzes.

02:36.070 --> 02:41.650
Das heißt, ich kann jetzt die Schaltnetzstruktur immer ändern in der

02:41.650 --> 02:44.250
Hoffnung, dass ich damit diesen Hazard loswerde.

02:44.550 --> 02:47.010
Jetzt muss man sich natürlich überlegen, so ein Hazard, der gilt ja

02:47.010 --> 02:49.410
für einen bestimmten Übergang.

02:50.330 --> 02:52.990
Und das Problem ist natürlich, wenn ich jetzt für einen bestimmten

02:52.990 --> 02:56.050
Übergang den Hazard behebe, kann es natürlich sein, dass ich für einen

02:56.050 --> 03:03.440
anderen Übergang mir wieder einen anderen Hazard einfange.

03:03.760 --> 03:05.540
Also muss man aufpassen, werden wir gleich noch sehen.

03:06.280 --> 03:09.080
Es ist nicht immer so ganz so einfach zu machen, aber es ist

03:09.080 --> 03:10.100
grundsätzlich möglich.

03:11.520 --> 03:14.040
Grundsätzlich ist schon mal schlecht, wenn Sie sowas lesen.

03:14.040 --> 03:17.340
Wenn man sagt, es ist grundsätzlich möglich, heißt das, es ist

03:17.340 --> 03:17.680
schwierig.

03:18.720 --> 03:22.760
Man kann jetzt im Prinzip ein anderes Schaltnetz entwerfen, welches

03:22.760 --> 03:26.280
dieselbe Funktion realisiert und dann diesen Hazard beseitigt.

03:27.060 --> 03:27.800
Ganz klar.

03:29.340 --> 03:33.620
So, jetzt haben wir hier mal so einen Überblick und wir lesen das

03:33.620 --> 03:34.000
jetzt so.

03:34.220 --> 03:37.740
Wenn wir sagen, zum Erkennen von einem Funktions-Hazard, Struktur

03:37.740 --> 03:41.420
-Hazard, Funktions-Hazard-Fehler, Struktur-Hazard-Fehler, das wäre so

03:41.420 --> 03:46.780
eine Inkarnation von so einem Funktions-Hazard, wäre ein Funktions

03:46.780 --> 03:47.440
-Hazard -Fehler.

03:48.140 --> 03:49.760
Was brauche ich denn, um den zu erkennen?

03:50.100 --> 03:51.740
Da brauche ich die Funktion des Schaltnetzes.

03:52.240 --> 03:55.520
Für den Struktur-Hazard brauche ich die Struktur des Schaltnetzes.

03:57.260 --> 04:00.220
Dann für den Funktions-Hazard-Fehler brauche ich die konkreten

04:00.220 --> 04:00.980
Verzögerungen.

04:00.980 --> 04:05.540
Für den Funktions-Hazard-Fehler und den Struktur-Hazard-Fehler brauche

04:05.540 --> 04:09.960
ich praktisch die konkreten Verzögerungen der Gatter, mit denen ich

04:09.960 --> 04:10.640
das Ganze mache.

04:14.040 --> 04:16.000
Okay, jetzt Analyse von Hazards.

04:16.160 --> 04:19.740
Wir wollen uns jetzt mal überlegen, wie kann ich denn so etwas

04:19.740 --> 04:20.380
analysieren?

04:20.880 --> 04:22.940
Und vielleicht haben Sie mal eine Idee, wie kann ich denn so ein

04:22.940 --> 04:23.740
Hazard analysieren?

04:24.460 --> 04:27.720
Funktions-Hazards und Struktur-Hazards, wie würde ich das denn machen?

04:30.460 --> 04:31.320
Haben Sie eine Idee?

04:34.830 --> 04:36.050
Wie könnte ich denn daran gehen?

04:36.350 --> 04:38.770
Und ich meine, jetzt haben wir ja so ein paar Tools kennengelernt.

04:39.510 --> 04:40.630
Ich sage mal KV-Diagramm.

04:41.130 --> 04:44.990
Wie kann ich im KV-Diagramm denn erkennen, ob ein Funktions-Hazard

04:44.990 --> 04:46.510
oder ein Struktur-Hazard vorliegt?

04:47.970 --> 04:48.830
Haben Sie eine Idee?

04:51.630 --> 04:52.110
Nicht?

04:52.290 --> 04:53.150
Dann gehen wir mal durch.

04:53.790 --> 04:58.170
Und zwar werden wir Funktions-Hazards und Struktur-Hazards beide mit

04:58.170 --> 04:59.610
dem KV-Diagramm untersuchen.

04:59.610 --> 05:04.770
Wir werden aber einmal das strukturspezifische KV-Diagramm betrachten,

05:04.910 --> 05:06.770
und zwar um so einen Struktur-Hazard zu bekommen.

05:07.250 --> 05:09.150
Und da werden wir die Pfadvariablen verwenden.

05:09.570 --> 05:11.910
Wir kommen mit den normalen Variablen dann natürlich nicht klar.

05:12.430 --> 05:15.190
Das werden wir gleich nochmal sehen an dem Bildchen, weil wir ja

05:15.190 --> 05:18.750
unterschiedliche Verzögerungen haben in dem entsprechenden Netzwerk.

05:19.670 --> 05:23.530
Das heißt also, wir werden jetzt ein KV-Diagramm betrachten und

05:23.530 --> 05:25.970
betrachten nun alle möglichen Wege eines Übergangs.

05:25.970 --> 05:28.810
Wenn ich also so einen Übergang habe, möchte ich alle möglichen Wege

05:28.810 --> 05:33.330
dorthin, also die Änderungen von allen möglichen Variablen, die möchte

05:33.330 --> 05:34.070
ich dann betrachten.

05:34.750 --> 05:38.770
Und man stellt also das KV-Diagramm auf, markiert die Anfangsbelegung,

05:38.970 --> 05:39.770
die Endbelegung.

05:40.110 --> 05:42.710
Damit ist aber nicht getan, sondern ich muss jetzt schauen, wie

05:42.710 --> 05:43.770
springe ich denn dahin?

05:44.110 --> 05:46.890
Kann ich jetzt sozusagen, wenn ich jetzt sowas habe wie E1, E2, E3,

05:47.170 --> 05:51.750
springe ich jetzt erstmal mit E1, E1 nicht, E2, E2 nicht und so weiter

05:51.750 --> 05:54.090
dahin oder mache ich das genau andersrum?

05:54.090 --> 05:57.390
Das heißt, man betrachtet also alle Wege, das ist wichtig, die der

05:57.390 --> 05:58.510
Übergang nehmen können.

05:59.330 --> 06:02.210
Dann muss man erstmal überlegen, welche Eingangsvariablen sind denn

06:02.210 --> 06:07.910
überhaupt beteiligt an dem Eingabewechsel und dann kann ich damit

06:07.910 --> 06:11.890
direkt alle Wege durchspielen.

06:12.010 --> 06:16.330
Das heißt, man muss nacheinander an allen Achsen diese

06:16.330 --> 06:17.570
Eingangsvariablen spiegeln.

06:18.110 --> 06:20.510
Damit bekomme ich sozusagen den Weg von der Anfangsbelegung zur

06:20.510 --> 06:21.110
Endbelegung.

06:21.850 --> 06:28.250
Und das gibt dummerweise M-Fakultät verschiedene Wege, da ich ja jede

06:28.250 --> 06:31.510
mögliche Reihenfolge betrachten muss, ja alle Spiegelungen hier

06:31.510 --> 06:32.170
betrachten muss.

06:32.590 --> 06:36.390
Das sind also M-Fakultät, also eine Menge, die ich da betrachten muss.

06:36.450 --> 06:37.950
Das heißt, wir können das jetzt eigentlich nur für so

06:37.950 --> 06:40.730
Spielzeugbeispiele durchspielen, was ja okay ist jetzt für die

06:40.730 --> 06:41.210
Vorlesung.

06:42.090 --> 06:46.850
So, dann ist ein Übergang genau dann funktionsherrsatbehaftet, wenn es

06:46.850 --> 06:52.370
mindestens einen Weg gibt, für den diese Folge der Funktionswerte,

06:52.370 --> 06:56.990
wenn ich jetzt durch diesen Weg durchgehe, wenn der nicht monoton ist.

06:57.410 --> 06:59.330
Jetzt schauen wir uns gleich mal an, was heißt denn nicht monoton?

07:00.130 --> 07:03.950
Und das bedeutet, er muss den Funktionswert mindestens zweimal

07:03.950 --> 07:04.950
wechseln.

07:05.410 --> 07:09.110
Und da schauen wir uns jetzt gleich mal hier etwas an, und zwar

07:09.110 --> 07:10.810
monotone Folgen.

07:11.170 --> 07:14.330
Also monoton wäre, wenn ich bei der Null bleibe.

07:14.850 --> 07:17.750
Wenn ich von der Null zur Eins springe und dann einfach so bleibe.

07:18.030 --> 07:21.530
Wenn ich von der Eins zur Null springe, wenn ich auf der Eins bleibe.

07:21.950 --> 07:24.770
Naja, und dann offensichtlich nicht monotone Folgen.

07:24.850 --> 07:28.890
Jetzt hier im diskreten Fall wäre, ich springe von der Null auf die

07:28.890 --> 07:34.010
Eins, und dann wieder auf die Null, Null auf Eins, Null auf Eins und

07:34.010 --> 07:34.410
so weiter.

07:34.690 --> 07:39.330
Das heißt also, wenn ich so hin und her springe bei Funktionswerten.

07:40.610 --> 07:42.090
Okay, das wollen wir also nicht haben.

07:42.830 --> 07:48.090
Sobald das passiert, bedeutet es, dass wir ja nicht direkt von dem

07:48.090 --> 07:52.230
Wert, von dem wir losgehen, auf den Wert gehen, wo ich hin möchte,

07:52.490 --> 07:56.090
sondern dass ich im Prinzip so ein Schalten zwischendrin habe.

07:56.450 --> 07:59.750
Und das ist dann eben durch so ein Funktionshazard gegeben.

08:01.630 --> 08:04.490
Ja, wir können jetzt also sagen, ist leicht einzusehen, dass also

08:04.490 --> 08:07.970
jeder ermittelte Weg, ja, das ist eine mögliche Übergangsfolge im

08:07.970 --> 08:08.630
Schaltnetz.

08:08.630 --> 08:11.450
Und welcher Weg jetzt eingeschlagen wird, hängt von den

08:11.450 --> 08:12.470
Verzögerungszeiten ab.

08:12.710 --> 08:14.710
Das heißt, ich kann es ja noch nicht unbedingt sagen.

08:14.830 --> 08:18.390
Ich kann ja nicht genau sagen, gehe ich jetzt erst, also springt erst

08:18.390 --> 08:20.510
E1 oder erst E2 und so weiter.

08:20.930 --> 08:23.470
Das heißt also, das hängt von den konkreten Verzögerungszeiten ab.

08:24.110 --> 08:29.290
Und das heißt, wenn wir uns jetzt diese möglichen Pfade anschauen und

08:29.290 --> 08:32.830
es ist mindestens ein nicht monotoner Weg dabei, dann könnte der ja

08:32.830 --> 08:35.710
eingeschlagen werden, wenn ich die entsprechenden Verzögerungen hätte.

08:36.210 --> 08:39.210
Also das heißt, wenn die Verzögerungen ganz dumm laufen, ja, dann

08:39.210 --> 08:42.190
hätte ich diesen entsprechenden nicht monotonen Weg.

08:42.830 --> 08:46.130
Und das nennt man dann so eine Bereitschaft zu einem Hazardfehler.

08:46.670 --> 08:51.070
Das heißt also, wir haben einen Hazard, wenn dieser Funktionshazard

08:51.070 --> 08:51.810
vorliegt.

08:54.330 --> 08:56.890
Okay, schauen wir uns mal so einen Übergang an.

08:56.970 --> 08:58.190
Und ich glaube, daran sehen Sie es sofort.

08:59.350 --> 09:03.850
Wenn Sie so einen Übergang haben, wenn ich jetzt von rechts gelesen

09:03.850 --> 09:08.550
E1, E2, E3, das wechselt jetzt von 0, 1, 0 nach 1, 1, 1 im KV

09:08.550 --> 09:09.110
-Diagramm.

09:09.430 --> 09:11.290
Wir gehen also von hier nach dort.

09:12.250 --> 09:16.290
Das heißt also, wir haben die Variable E1, die ist daran beteiligt,

09:16.330 --> 09:18.690
ja, an dem Übergang, und natürlich E3.

09:19.270 --> 09:21.090
Die beiden sind beteiligt.

09:21.450 --> 09:23.850
Und jetzt gibt es also mehrere Wege, wie ich da durchlaufen kann.

09:25.410 --> 09:27.490
Wenn man sich das vorstellt, ich laufe jetzt erstmal hier rüber.

09:29.490 --> 09:30.530
Und dann hier rüber.

09:31.830 --> 09:35.390
Na gut, das heißt also, wenn ich jetzt von 0, 1, 0 von rechts gelesen,

09:35.730 --> 09:39.710
1, 1, 0, 1, 1, 1, wenn ich darüber gehe, habe ich offenbar einen nicht

09:39.710 --> 09:41.070
-monotonen Pfad gefunden.

09:41.510 --> 09:44.270
Das heißt also, ich gehe von 1 nach 0 nach 1.

09:47.550 --> 09:51.170
Von 1 nach 0 nach 1, habe ich hier also einen nicht-monotonen Pfad

09:51.170 --> 09:51.590
gefunden.

09:51.990 --> 09:55.770
So, und jetzt könnte ich aber auch noch andere Pfade finden, die sind

09:55.770 --> 09:56.870
aber eventuell monoton.

09:57.330 --> 10:01.310
Das heißt also, wenn ich diesen Pfad hier betrachte, wo ich direkt

10:01.310 --> 10:06.190
hier rüber sprenge, also das heißt nur E3-Wechsel, ich gehe also hier

10:06.190 --> 10:12.510
hin und dann dahin, der Pfad führt offenbar zu einer monotonen Folge.

10:13.390 --> 10:17.310
Das heißt, ich schreibe es mal hier hin, also 0, 1, 0, 0, 1, 1, nach

10:17.310 --> 10:17.970
1, 1, 1.

10:18.270 --> 10:20.950
Das gibt natürlich so etwas wie 1, 1, 1.

10:21.410 --> 10:23.370
Das ist also völlig problemlos.

10:23.790 --> 10:27.350
Macht aber nichts, wir haben ja gesagt, wenn wir einen möglichen Pfad

10:27.350 --> 10:31.910
finden, der Probleme macht, und das wäre eben dieser hier, dann reicht

10:31.910 --> 10:33.030
uns das ja schon völlig aus.

10:33.430 --> 10:38.270
Also der macht Probleme, damit haben wir einen Funktionshazard, der

10:38.270 --> 10:40.030
also in der Funktion begründet ist.

10:41.150 --> 10:45.050
Das heißt also, der erste dieser Wege, der liefert also jetzt eine

10:45.050 --> 10:46.070
nicht -monotone Folge.

10:46.970 --> 10:49.670
Das heißt also, der Übergang ist mit einem Funktionshazard behaftet.

10:50.290 --> 10:54.750
Und eine Folge, die nicht-monoton ist, reicht aus, der zweite Weg ist

10:54.750 --> 10:55.350
eigentlich egal.

10:55.350 --> 11:00.070
Und das nennen wir jetzt einen statischen 1-Funktionshazard, weil wir

11:00.070 --> 11:03.430
zwischendrin mal auf die 0 springen und dann wieder auf die 1.

11:03.750 --> 11:06.790
Das ist also ein statischer 1-Funktionshazard.

11:09.710 --> 11:10.550
Soweit klar, ja?

11:10.870 --> 11:13.670
Also, solange Sie sich nicht rühren, mache ich weiter.

11:14.970 --> 11:16.770
Sonst immer, wenn Fragen sind, bitte melden, ja?

11:17.830 --> 11:20.490
Okay, jetzt schauen wir uns mal einen anderen Übergang an.

11:20.950 --> 11:23.070
Und ja, darüber können Sie jetzt mal nachdenken.

11:23.070 --> 11:28.390
Wir gehen jetzt mal auf diesen Übergang, wo ich sozusagen hier nur E1

11:28.390 --> 11:29.050
verändere.

11:29.370 --> 11:32.950
Das heißt, die ganz rechte Variable E1 wird jetzt hier verändert.

11:33.610 --> 11:34.970
Was können Sie mir dazu sagen?

11:36.070 --> 11:37.830
Was kann ich hier für eine Aussage treffen?

11:40.750 --> 11:41.330
Ganz simpel.

11:45.010 --> 11:49.730
Funktionshazard, wenn ich jetzt hier diese Variablenbelegung

11:49.730 --> 11:50.230
betrachte.

11:51.070 --> 11:52.310
Was kann ich sagen?

12:00.560 --> 12:01.480
Noch mal etwas lauter.

12:06.570 --> 12:09.130
Okay, aber vielleicht kann man sogar noch was Generelles.

12:09.150 --> 12:09.890
Ist das also richtig?

12:10.430 --> 12:14.070
Ihr Kommiliton sagt gerade, es gibt also sozusagen nur Einser in den

12:14.070 --> 12:14.650
Funktionswerten.

12:14.710 --> 12:16.710
Aber vielleicht kann man noch was Allgemeineres sagen.

12:19.430 --> 12:22.410
Was ändert sich denn hier, wenn ich mir praktisch diese

12:22.410 --> 12:24.250
Eingabebelegung anschaue?

12:32.300 --> 12:34.200
Es ändert sich nur eine Variable, genau.

12:34.560 --> 12:36.500
Und was kann ich jetzt hier für eine Aussage treffen für ein

12:36.500 --> 12:37.220
Funktionshazard?

12:38.540 --> 12:38.860
Ja?

12:47.160 --> 12:48.180
Ja, aber Vorsicht.

12:48.860 --> 12:50.140
Sie haben ja gerade gesagt...

12:50.140 --> 12:50.860
Ah ja, da ist noch eine...

12:59.670 --> 12:59.910
Genau.

13:00.290 --> 13:01.430
Das heißt, das werden wir auch gleich sehen.

13:01.550 --> 13:02.250
Ja, das ist der Punkt.

13:02.430 --> 13:04.850
Wenn man mal genau hinschaut, wenn sich...

13:04.850 --> 13:05.710
Ich wiederhole es jetzt mal.

13:06.190 --> 13:10.230
Wenn sich nur eine Variable, also eine Eingangsvariable ändert, dann

13:10.230 --> 13:11.730
kann es keinen Funktionshazard geben.

13:11.950 --> 13:13.450
Und das werden wir auch gleich noch mal genauer machen.

13:13.750 --> 13:16.430
Das machen wir jetzt erstmal so ein bisschen heuristisch.

13:17.110 --> 13:18.090
Gehen wir also mal rein.

13:18.190 --> 13:20.610
Das heißt, es ändert sich hier jetzt nur das E1.

13:21.650 --> 13:22.110
So.

13:22.810 --> 13:26.710
Und es gibt nur einen Weg, der aus dem Anfangs- und Endwert des

13:26.710 --> 13:27.530
Übergangs besteht.

13:28.210 --> 13:29.430
Da habe ich jetzt gar keine Möglichkeiten.

13:29.950 --> 13:32.330
Und die Folge ist hier 1,1.

13:32.510 --> 13:34.030
Okay, das wäre ja schon mal in Ordnung.

13:34.550 --> 13:37.210
Aber wir könnten jetzt sagen, okay, für diesen einen Fall ist das

13:37.210 --> 13:37.830
jetzt eben so.

13:38.530 --> 13:43.170
Wir können aber sagen, dieser Übergang enthält jetzt rein anschaulich

13:43.170 --> 13:43.660
keinen Funktionshazard.

13:44.650 --> 13:48.150
Aber wir können auch sagen, ein Übergang, bei welchem nur eine

13:48.150 --> 13:51.410
Eingangsvariable wechselt, die kann gar keinen Funktionshazard

13:51.410 --> 13:52.190
enthalten.

13:52.670 --> 13:53.770
Das ist ja gerade der Witz.

13:54.070 --> 13:56.830
Wir können ja damit gar keine nicht monotone Folge bekommen.

13:57.430 --> 13:58.390
Im Prinzip nie.

14:00.650 --> 14:01.190
Okay.

14:02.310 --> 14:06.090
Die Frage war jetzt, beim letzten Mal haben Sie ja gesehen, der

14:06.090 --> 14:09.230
Übergang hatte aber einen Hazard von da nach da.

14:09.990 --> 14:14.050
Es war aber offenbar kein Funktionshazard, weil, haben wir ja gerade

14:14.050 --> 14:15.010
gesagt, das ist es nicht.

14:15.310 --> 14:18.090
Dann muss es wohl ein Strukturhazard sein.

14:18.090 --> 14:20.790
Ja, und das heißt, den werden wir gleich im nächsten Schritt

14:20.790 --> 14:21.290
betrachten.

14:21.810 --> 14:25.710
Ja, das heißt also, von hier nach da gibt es einen Strukturhazard.

14:27.850 --> 14:31.930
Okay, und jetzt die Frage Strukturhazard, hatte ich ja gerade schon

14:31.930 --> 14:32.450
angesprochen.

14:32.610 --> 14:34.430
Wie kann ich die jetzt untersuchen?

14:35.170 --> 14:37.530
Strukturhazards sind ja nicht so einfach zu untersuchen.

14:38.290 --> 14:41.070
Wir wollen das aber auch mit dem KV-Diagramm machen.

14:42.050 --> 14:46.270
Und klar, das ist jetzt eine Eigenschaft von dem Schaltnetz.

14:46.270 --> 14:49.950
Das heißt, ich muss jetzt also das konkrete Schaltnetz, das muss jetzt

14:49.950 --> 14:51.170
hier mit einfließen.

14:51.390 --> 14:54.390
Sonst kann ich ja diesen Übergang nicht sinnvoll betrachten.

14:55.090 --> 14:57.090
Strukturhazard, nicht Funktionshazard.

14:58.050 --> 15:00.770
Und die Struktur, wie bekomme ich die?

15:01.170 --> 15:04.950
Die Struktur war ja so gegeben, dass wir diese Todzeitenmodelle

15:04.950 --> 15:09.130
verwendet haben, die Todzeiten vom Ausgang zum Eingang verschoben

15:09.130 --> 15:12.130
haben und dann die Todzeiten vorne sozusagen angesammelt haben.

15:12.130 --> 15:15.930
Und dieses entsprechende Todzeitmodell, das wollen wir jetzt hier auch

15:15.930 --> 15:16.390
verwenden.

15:16.670 --> 15:20.750
Wir wollen also das Schaltnetz verwenden, um zu sagen, ja, welche

15:20.750 --> 15:24.930
Pfade haben eigentlich welche Auswirkungen auf den Ausgang?

15:25.250 --> 15:26.090
Und Sie erinnern sich?

15:26.510 --> 15:31.150
Es konnte sein, dass also eine Variable über verschiedene Todzeiten

15:31.150 --> 15:33.770
auf den Ausgang gewirkt hat, über verschiedene Pfade.

15:34.130 --> 15:37.010
Und genau das wollen wir jetzt entsprechend verwenden.

15:38.150 --> 15:42.610
Also der Ausgangspunkt ist der Strukturausdruck des Schaltnetzes.

15:43.030 --> 15:44.430
Den wollen wir jetzt verwenden.

15:45.470 --> 15:49.510
Man stelle also jetzt für den Strukturausdruck mit den Pfadvariablen

15:49.510 --> 15:51.290
das KV-Diagramm auf.

15:51.790 --> 15:55.070
Also anstelle der Eingangsvariablen haben wir jetzt hier die

15:55.070 --> 15:56.470
Pfadvariablen, das ist wichtig.

15:57.570 --> 15:59.090
Das Ganze wird also größer.

15:59.590 --> 16:03.670
Das heißt also, wenn Sie Eingangsvariablen mehrfach verwenden, dann

16:03.670 --> 16:06.490
wird also entsprechend das KV-Diagramm beliebig groß.

16:07.490 --> 16:10.170
Und man markiert wieder die beiden Felder.

16:10.770 --> 16:12.410
Wir werden die dann entsprechend unterscheiden.

16:12.790 --> 16:15.330
Das heißt also, die Felder, die aus den Eingangsvariablen direkt

16:15.330 --> 16:21.350
kommen, und die Pfadvariablen markiert also anfangs und Endbelegung.

16:21.850 --> 16:27.130
Und jetzt wollen wir die Werte von, also die Pfadvariablen und die

16:27.130 --> 16:30.310
Eingangsvariablen sollten in diesen Feldern gleich sein.

16:30.310 --> 16:35.470
Und dann betrachten wir, wie sozusagen die Pfadvariablen sich

16:35.470 --> 16:39.610
verändern, sozusagen variieren in diesem KV-Diagramm.

16:39.790 --> 16:42.850
Und dann betrachtet man wieder alle möglichen Wege von der Anfangs-

16:42.850 --> 16:43.610
zur Endbelegung.

16:43.930 --> 16:47.050
Und damit kann man dann die Struktur berücksichtigen.

16:48.950 --> 16:54.730
Und dann können wir sagen, dass wir einen Übergang haben mit einem

16:54.730 --> 16:58.530
Struktur -Hazard, wenn es mindestens einen Weg gibt, für den jetzt

16:58.530 --> 17:03.150
wieder, das ist genau das Gleiche, dass die Folge des

17:03.150 --> 17:05.030
Strukturausdrucks nicht monoton ist.

17:05.350 --> 17:07.770
Ganz klar, genau das können wir wieder sagen.

17:08.010 --> 17:10.530
Also das heißt, genau wie bei dem Funktions-Hazard haben wir das bei

17:10.530 --> 17:12.210
dem Struktur-Hazard genauso.

17:12.870 --> 17:16.190
Das heißt, der Wert des Strukturausdrucks, der ändert sich jetzt

17:16.190 --> 17:17.230
mindestens zweimal.

17:17.570 --> 17:21.850
Das können wir sagen, dann haben wir einen Struktur-Hazard.

17:23.970 --> 17:25.970
Schauen wir mal das Beispiel an.

17:26.030 --> 17:29.610
Das Beispiel, erinnern Sie sich, hatten wir ja schon gesehen.

17:31.130 --> 17:34.050
Wir hatten ja die Todzeiten entsprechend durchgeschliffen.

17:34.890 --> 17:38.550
Das heißt also, die wurden hier durchgezogen, bis sie sich hier vorne

17:38.550 --> 17:40.950
entsprechend aufakkumulieren.

17:41.870 --> 17:46.510
Und was jetzt hier halt wichtig ist, was man sehen muss, ist, dass E3

17:46.510 --> 17:50.610
beispielsweise nur einmal auf den Ausgang wirkt.

17:52.210 --> 17:55.610
E2 wirkt auch nur einmal auf den Ausgang.

17:56.030 --> 18:02.970
Aber E1 wirkt über zwei Pfade, über den grünen und den blauen Pfad auf

18:02.970 --> 18:03.590
den Ausgang.

18:03.970 --> 18:05.690
Und damit müssen wir also aufpassen.

18:06.090 --> 18:08.950
Das heißt, Sie können also einfach durchhinschauen, sozusagen so eine

18:08.950 --> 18:10.210
visuelle Inspektion.

18:10.530 --> 18:15.490
Können Sie durchhinschauen, jetzt sagen, aha, offenbar wirkt E1

18:15.490 --> 18:16.030
doppelt.

18:16.030 --> 18:20.470
Das heißt, ich muss eigentlich nur E1 wirklich zweimal verwenden in

18:20.470 --> 18:21.530
diesen Pfadvariablen.

18:21.850 --> 18:23.870
Alle anderen muss ich gar nicht mehrfach aufführen.

18:24.530 --> 18:30.850
Das heißt also, was ich jetzt bekomme, ist sowas wie E11 quer, E21

18:30.850 --> 18:34.530
oder E12, E31.

18:35.130 --> 18:40.910
Das heißt also, E31 und E21, die hätte ich auch als E2 und E3 belassen

18:40.910 --> 18:43.710
können, die tauchen einfach nur einmal auf.

18:43.710 --> 18:49.330
Aber was wichtig ist, ist, dass eben dieser Ausdruck E11 und E12, der

18:49.330 --> 18:52.930
taucht jetzt hier eben durch diese beiden Pfade mehrfach auf.

18:53.750 --> 18:55.350
Gut, und das macht genau das Problem.

18:55.730 --> 18:59.450
Jetzt müssen wir praktisch bei der Berechnung, müssen wir diese

18:59.450 --> 19:02.890
Variable jetzt eben berücksichtigen.

19:03.290 --> 19:04.790
Das können wir auch schön machen.

19:04.790 --> 19:13.150
Wir sagen also, die beiden gehen über einen Pfad, E1 über zwei Pfade.

19:14.550 --> 19:19.550
Und wir haben jetzt eben diese Pfadvariable, wie gerade gesagt, und E2

19:19.550 --> 19:22.730
und E3 wären sozusagen unveränderte Pfadvariable.

19:24.210 --> 19:26.490
Das wären also die Variablen selber.

19:27.890 --> 19:30.550
So, und jetzt bekommen wir diesen Strukturausdruck.

19:30.550 --> 19:33.630
Und das ist jetzt etwas, wo Sie mal genau hinschauen müssen.

19:35.070 --> 19:38.850
Wenn ich diesen Strukturausdruck habe und ich habe jetzt das neue KV

19:38.850 --> 19:39.470
-Diagramm.

19:39.670 --> 19:42.610
Das KV-Diagramm hat jetzt offenbar eine Variable mehr.

19:42.850 --> 19:43.250
Sehen Sie das?

19:43.750 --> 19:47.930
Ja, wir haben jetzt also für die Variable E1 zwei Variablen.

19:48.270 --> 19:51.490
Ja, wir haben also jetzt E11 und E12.

19:52.050 --> 19:55.690
Das heißt also, weil eben die Wirkung auf den Ausgang unterschiedlich

19:55.690 --> 19:59.550
ist, können wir jetzt diese Variable zweimal auftreten lassen.

19:59.550 --> 20:06.730
Und die weißen Felder sind die, die wir ohnehin schon hatten.

20:07.010 --> 20:09.950
Diese weißen Felder hier sind die, die wir ohnehin schon hatten.

20:10.410 --> 20:12.910
Das wären praktisch die Variablen E1, E2, E3.

20:13.530 --> 20:17.490
Und die grauen Felder sind die, die nur während eines Übergangs

20:17.490 --> 20:18.670
eigentlich eingenommen werden können.

20:19.050 --> 20:23.930
Das heißt also, wenn wir unterschiedliche Laufzeiten haben in E1, also

20:23.930 --> 20:26.410
E1 wirkt ja doppelt auf den Ausgang.

20:26.410 --> 20:32.090
Ja, und dann würden wir die grauen Felder ja auch noch beaufschlagen.

20:32.830 --> 20:38.790
Normalerweise, wenn also E11 gleich E12 wäre, würden die grauen Felder

20:38.790 --> 20:39.930
nicht auftreten.

20:40.850 --> 20:44.410
Das wäre also jetzt unser Struktur-KV-Diagramm.

20:45.310 --> 20:48.990
Ja, das heißt also, weiß bleiben immer genau diese Felder, wie das

20:48.990 --> 20:51.570
Diagramm enthält, welches die Funktion selber darstellt.

20:51.910 --> 20:54.150
Und grau sind die Übergangsfelder.

20:54.230 --> 20:54.950
Ist das klar soweit?

20:57.690 --> 21:02.890
Ja, das heißt also, wir erweitern das KV-Diagramm und wir haben jetzt

21:02.890 --> 21:07.530
noch die Möglichkeit, sozusagen Unterschiede in den Laufzeiten für

21:07.530 --> 21:10.970
bestimmte Variablen ja da entsprechend eingehen zu lassen.

21:12.770 --> 21:15.150
Okay, betrachten wir mal wieder diesen Übergang.

21:15.290 --> 21:19.090
Also ich lese wieder von rechts, ja, E1, E2, E3 wäre also jetzt 0, 1,

21:19.190 --> 21:21.170
1 nach 1, 1, 1.

21:21.170 --> 21:24.410
Und dann kann ich jetzt Pfadvariable verwenden.

21:24.570 --> 21:29.130
Ja, die Pfadvariablen sagen mir jetzt, dass ich hier ja offenbar

21:29.130 --> 21:30.910
zweimal E1 habe.

21:31.970 --> 21:36.250
Das heißt, ich nehme jetzt zweimal das E1 hinein und zeichne diesen

21:36.250 --> 21:37.750
Übergang im KV-Diagramm ein.

21:38.150 --> 21:40.750
Das wäre der Übergang und der sagt mir erst mal nichts.

21:41.150 --> 21:43.950
Also wenn ich jetzt hier diesen Übergang hätte, den haben wir ja

21:43.950 --> 21:46.030
gerade diskutiert, da passiert ja wohl nicht viel.

21:46.030 --> 21:51.010
Ja, das ist auf jeden Fall in Ordnung, also kein Funktionshazard.

21:51.450 --> 21:54.310
Das sehen Sie ja, die Folge ist monoton.

21:55.310 --> 22:00.830
So, aber jetzt, wenn ich jetzt in das erweiterte KV-Diagramm gehe und

22:00.830 --> 22:03.690
springe jetzt von hier nach da.

22:03.990 --> 22:05.010
So, dann sagen Sie mir mal was.

22:10.480 --> 22:11.960
Sagen Sie mal, was passiert jetzt?

22:23.800 --> 22:28.220
Ich könnte ja so laufen, meinen Sie, oder so laufen.

22:28.220 --> 22:29.360
Was für der Unterschied?

22:37.570 --> 22:40.430
Das heißt, wenn ich hier rüber laufe, habe ich hier Einser, wenn ich

22:40.430 --> 22:42.510
hier unten herlaufe, habe ich einmal ein Null mit drin.

22:42.890 --> 22:44.510
Und genau das wollen wir ja nicht.

22:44.650 --> 22:46.290
Das heißt also, gehen wir mal da rein.

22:46.430 --> 22:51.070
Also wir können jetzt genau diese Methode anwenden, die wir schon bei

22:51.070 --> 22:52.250
Funktionshazards verwendet haben.

22:52.590 --> 22:55.670
Das heißt also, wir haben hier zwei mögliche Wege.

22:56.650 --> 22:59.230
Einmal hier oben rum, das gibt offenbar keinen Hazard.

22:59.230 --> 23:02.290
Und hier unten rum, das gibt, oder Hazardfehler, muss ich sagen.

23:02.570 --> 23:05.790
Und hier unten rum, das gibt einen Hazardfehler.

23:06.190 --> 23:09.050
Und genau mit der gleichen Argumentation, wie wir sie bisher hatten,

23:09.230 --> 23:13.010
kann man sagen, wenn ich einen Hazardfehler finde, dann ist da eben

23:13.010 --> 23:14.130
ein Hazard verborgen.

23:14.530 --> 23:18.410
Das heißt also, wenn ich einen finde, ist es ein Hazard.

23:18.730 --> 23:22.890
Insgesamt ein Hazard in diesem Übergang.

23:22.890 --> 23:27.730
Das heißt also, von da nach da ist also ein struktureller Hazard.

23:31.070 --> 23:34.850
Das heißt, beim zweiten Weg bekommt man eben diesen statischen Eins

23:34.850 --> 23:37.770
-Hazard und der Übergang ist Hazard behaftet.

23:38.550 --> 23:40.770
Also damit haben wir diesen Hazard, wie schon früher auch schon

23:40.770 --> 23:41.270
festgestellt.

23:41.790 --> 23:45.930
Damit können wir also davon ausgehen, dass wir da einen gefunden

23:45.930 --> 23:46.290
haben.

23:46.670 --> 23:47.250
Strukturell.

23:48.530 --> 23:51.230
So, jetzt ein anderer Übergang.

23:51.550 --> 23:59.430
Wir könnten jetzt ja mal sagen, wir gehen von 001 nach 111 in E1, E2,

23:59.530 --> 23:59.950
E3.

24:00.350 --> 24:01.670
Das wäre also dieser Übergang.

24:02.470 --> 24:04.250
Und jetzt können Sie mal nachdenken.

24:04.410 --> 24:06.150
Jetzt wird es etwas komplizierter.

24:06.510 --> 24:13.130
Das heißt, wir gehen wieder von dem normalen Funktions-KV-Diagramm,

24:13.430 --> 24:16.570
gehen wir jetzt hier in dieses strukturelle KV-Diagramm, weil wir ja

24:16.570 --> 24:20.850
gesagt haben, E1 kann sozusagen zwei verschiedene Laufzeiten haben.

24:21.750 --> 24:24.410
Jetzt sagen Sie mal, was kann jetzt hier passieren?

24:26.790 --> 24:31.510
Wir hatten ja gerade gesagt, ich habe ja von M-Fakultät gesprochen und

24:31.510 --> 24:32.470
das beißt uns jetzt hier.

24:33.130 --> 24:35.990
Jetzt werden wir nämlich sehen, dass es hier ziemlich viele

24:35.990 --> 24:36.750
Möglichkeiten gibt.

24:36.830 --> 24:38.090
Wie viele sehen Sie denn jetzt hier mal?

24:38.970 --> 24:42.470
Denken Sie mal eine Minute nach und sagen mir dann mal, was es denn

24:42.470 --> 24:43.190
hier geben kann.

24:46.920 --> 24:47.720
Sehen Sie das?

24:52.830 --> 24:55.590
So an Ihren Gesichtern sehe ich schon, drei oder vier Stück haben Sie

24:55.590 --> 24:56.070
schon gesehen.

24:57.050 --> 25:00.490
Dann gehen wir doch mal weiter und dann können Sie mir die gleich mal

25:00.490 --> 25:01.450
sagen.

25:01.810 --> 25:08.330
Es gibt sechs Wege und einer davon ist nicht monoton.

25:09.150 --> 25:10.210
Welcher ist denn das?

25:10.510 --> 25:10.950
Sehen Sie den?

25:12.590 --> 25:15.750
Ich weiß, es ist natürlich jetzt schwierig, sich zu melden und zu

25:15.750 --> 25:17.310
sagen, wo läuft der her?

25:17.310 --> 25:20.050
Ich weiß auch nicht, welche Notation wir jetzt hier verwenden würden.

25:20.850 --> 25:22.530
Wir hatten es ja gerade schon gehabt, es ist immer ein bisschen

25:22.530 --> 25:24.950
schwierig zu sagen, ja, er geht jetzt von da nach da, von links nach

25:24.950 --> 25:25.910
rechts oder irgendwas.

25:26.210 --> 25:27.670
Aber probieren Sie es einfach mal.

25:33.400 --> 25:39.080
Okay, das wäre zum Beispiel einer, wo wir ein Problem haben, richtig?

25:39.420 --> 25:41.500
Genau, das heißt, jetzt schauen wir uns doch mal alle an.

25:41.640 --> 25:44.120
Oder sehen Sie noch andere, die kein Problem machen?

25:51.860 --> 25:53.320
Oder wir gehen von hier.

25:55.640 --> 25:57.360
Also klar, es gibt ja sechs Stück.

25:57.780 --> 26:00.520
Das heißt also, wir können hier, wir können hier.

26:00.620 --> 26:02.100
Ich zeichne Sie einfach mal ein.

26:02.400 --> 26:03.260
Dann sehen wir die.

26:03.400 --> 26:04.520
Also wir gehen so.

26:05.980 --> 26:06.980
Das ist eine Möglichkeit.

26:08.640 --> 26:09.940
Wir gehen so.

26:13.600 --> 26:15.100
Das wären schon mal drei.

26:17.460 --> 26:21.320
Und dann könnten wir auch nach oben, rüber, zurück.

26:24.140 --> 26:24.720
So.

26:26.880 --> 26:27.660
Und so.

26:28.700 --> 26:32.420
Und jetzt sehen wir hier natürlich, dass wir ein Problem haben.

26:32.780 --> 26:35.500
Das heißt, es wird einmal eine Null angenommen.

26:35.740 --> 26:39.500
Das heißt also, wir wollen ja von Null nach Eins.

26:39.620 --> 26:43.460
Und jetzt gibt es hier sozusagen Null, Eins, Null, Eins.

26:44.700 --> 26:46.360
Und den wollen wir eben nicht haben.

26:48.120 --> 26:49.660
Ach so, vielleicht gehe ich nochmal zurück hier.

26:49.880 --> 26:52.860
Ja, das heißt also, wir sehen, wir haben hier einmal wieder eine Null

26:52.860 --> 26:53.480
zwischendrin.

26:53.660 --> 26:55.940
Und ich glaube, das war auch der, den Sie gemeint hatten, ganz am

26:55.940 --> 26:56.240
Anfang.

26:57.280 --> 26:59.340
Das ist derjenige, der uns hier ein bisschen beißt.

27:00.540 --> 27:00.700
Okay.

27:02.100 --> 27:05.480
Die Frage ist halt jetzt, wenn wir aus dem Strukturdiagramm...

27:05.480 --> 27:05.580
Ja.

27:16.690 --> 27:16.990
Okay.

27:19.490 --> 27:19.950
Okay.

27:20.210 --> 27:22.210
Vielleicht müssen wir hier aufpassen.

27:22.730 --> 27:25.670
Das ist ein Strukturhazard, weil er ja auftreten kann.

27:26.230 --> 27:28.930
Das heißt also, mit den entsprechenden Verzögerungen...

27:28.930 --> 27:30.430
Deswegen muss ich ja alle Wege betrachten.

27:30.750 --> 27:32.370
Sie haben recht, ich muss mit der Notation ein bisschen jetzt

27:32.370 --> 27:33.490
aufpassen, was ich genau sage.

27:34.050 --> 27:39.030
Es könnte ein Strukturhazard-Fehler auftreten mit den entsprechenden

27:39.030 --> 27:39.770
Verzögerungen.

27:40.230 --> 27:42.970
Und das, was Ihre Kommilitonin gerade gesagt hatte, dieser hier, der

27:42.970 --> 27:46.610
rote, der könnte ja bei entsprechenden Verzögerungen auftreten.

27:47.090 --> 27:48.110
Muss aber nicht.

27:48.190 --> 27:50.650
Wenn ich diese Verzögerung nicht habe, taucht er auch nicht auf.

27:50.970 --> 27:53.890
Und trotzdem würde ich dann von einem Hazard sprechen, weil er ja die

27:53.890 --> 27:55.970
Möglichkeit hat, dass da ein Hazard auftritt.

27:56.550 --> 27:56.710
Genau.

27:57.150 --> 27:58.170
Also müssen wir aufpassen.

27:58.310 --> 27:59.290
Ja, ist gut, dass Sie das sagen.

27:59.590 --> 28:02.310
Müssen wir von der Notation jetzt ganz genau aufpassen, dass es auch

28:02.310 --> 28:02.910
immer richtig ist.

28:04.090 --> 28:04.190
Ja.

28:11.480 --> 28:12.280
Nee, muss man nicht.

28:12.660 --> 28:12.740
Nein.

28:15.320 --> 28:16.080
Ah, Moment.

28:16.080 --> 28:20.700
Aber was wir doch jetzt hier durchspielen, ist E1, E2.

28:20.900 --> 28:22.500
Moment, was haben wir denn für ein...

28:22.500 --> 28:26.640
Wir müssen aufpassen, nur die Variablen, die sich ändern, sollten auch

28:26.640 --> 28:27.600
hier eine Wirkung haben.

28:28.400 --> 28:31.260
Wenn ich mehr Variablen habe, die sich ändern, würde ich auch in die

28:31.260 --> 28:31.920
obere Hälfte gehen.

28:32.140 --> 28:32.440
Ja, klar.

28:32.880 --> 28:33.260
Das stimmt.

28:33.820 --> 28:34.560
Genau richtig.

28:35.460 --> 28:39.540
Ja, das heißt also, wir haben jetzt hier entsprechend diese sechs

28:39.540 --> 28:43.000
Pfade gefunden, können also sagen, einer davon, so ist das Beispiel

28:43.000 --> 28:46.680
jetzt konstruiert, einer davon macht ein Problem, was ja ganz witzig

28:46.680 --> 28:46.840
ist.

28:46.960 --> 28:48.380
Also fünf machen kein Problem.

28:48.840 --> 28:51.180
Das heißt also, wenn Sie jetzt grob hinschauen, würden Sie sagen,

28:51.540 --> 28:53.440
eigentlich haben wir doch kein Problem, aber der sechste macht dann

28:53.440 --> 28:54.080
eben doch ein Problem.

28:54.840 --> 28:55.000
Genau.

28:55.420 --> 28:58.660
So, und jetzt können wir mal überlegen, und das war ja auch gerade die

28:58.660 --> 29:00.720
Frage, wann passiert denn das eigentlich?

29:01.180 --> 29:03.680
Und jetzt müssen wir uns vielleicht mal überlegen, welche

29:03.680 --> 29:05.220
Zeitverzögerung haben wir denn hier?

29:05.960 --> 29:08.460
Ja, und das heißt, ich könnte jetzt solche Zeitbedingungen mal

29:08.460 --> 29:08.940
einführen.

29:09.640 --> 29:12.000
Ja, jetzt kann ich so ein Todzeitmodell verwenden, das haben wir ja

29:12.000 --> 29:12.480
schon gemacht.

29:12.480 --> 29:15.880
Und das KV-Diagramm, was wir gerade hatten, und jetzt kann ich die

29:15.880 --> 29:18.160
Zeitbedingungen mir leicht überlegen.

29:19.040 --> 29:24.160
Bei dem Übergang, ja, wenn ich sage, E1, E2, E3 ändern sich, ja, so,

29:24.460 --> 29:29.120
und wir haben ja gesagt, wir haben hier nur eine Änderung in E1, ja,

29:29.240 --> 29:33.480
nur E1 als Variable ändert sich, dadurch ändern sich aber tatsächlich

29:33.480 --> 29:37.640
zwei Pfadvariablen, deswegen ja auch gerade der Punkt, ja, weswegen

29:37.640 --> 29:40.140
wir sozusagen nur in dem unteren Bereich sind, ja, es ändert sich nur

29:40.140 --> 29:41.820
E1,1 und E1,2.

29:42.460 --> 29:47.860
Ja, die beiden ändern sich und, ja, die Frage ist jetzt, was passiert

29:47.860 --> 29:48.320
eigentlich?

29:48.920 --> 29:51.400
Und das kann man ja sagen, das haben wir ja gerade schon mal gesagt,

29:51.440 --> 29:57.200
ich wiederhole es nur nochmal, auf dem Weg 1 und dem Weg 2, hier haben

29:57.200 --> 30:00.660
wir kein Problem, hier haben wir ein Problem, hier entsteht ein Hazard

30:00.660 --> 30:04.420
-Fehler und dieser Weg wird eingeschlagen, wenn sich erst E1,1 und

30:04.420 --> 30:05.720
dann E1,2 ändert.

30:05.720 --> 30:09.480
Ja, das heißt, dadurch, dass wir aber nur eine Variable haben, müssen

30:09.480 --> 30:11.340
es wohl Verzögerungen sein, ja.

30:11.780 --> 30:16.060
Und der Hazard-Fehler tritt dann auf, wenn die Todzeit in dem Pfad E1

30:16.060 --> 30:19.760
,1 kleiner ist als die Todzeit im Pfad E1,2.

30:20.380 --> 30:22.580
Und jetzt schauen wir uns mal an, wie das denn aussieht.

30:23.040 --> 30:26.140
Ja, das Dumme ist halt, das passiert, ja, wir sehen hier die

30:26.140 --> 30:30.400
Todzeiten, sind jetzt hier 3 Tau und 4 Tau, das heißt also, der wird

30:30.400 --> 30:34.280
immer auftauchen bei diesem Modell, so wie wir es jetzt haben, wird

30:34.280 --> 30:37.420
dieser Fehler tatsächlich immer auftauchen, der Hazard-Fehler.

30:37.800 --> 30:42.720
Der Hazard ist ja ohnehin drin, der ist ja sozusagen inhärent, aber

30:42.720 --> 30:46.940
der Hazard-Fehler taucht auch tatsächlich immer auf, weil eben 3 Tau

30:46.940 --> 30:48.220
kleiner als 4 Tau ist.

30:49.740 --> 30:54.700
Gut, dann können wir uns jetzt überlegen, Sie erinnern sich an das

30:54.700 --> 30:57.960
Beispiel von der letzten Stunde, auf der rechten Seite hatten wir

30:57.960 --> 31:01.560
keinen Hazard, weil wir hier praktisch von E1,1 nach 0 springen, hier

31:01.560 --> 31:05.040
springen wir von E1,0 nach 1 und hatten wir diesen Hazard-Fehler.

31:06.300 --> 31:08.960
Jetzt können wir uns überlegen, okay, das liegt offenbar an dieser

31:08.960 --> 31:09.900
Verzögerung.

31:10.720 --> 31:12.840
Ich hoffe, Sie haben es noch im Kopf, das Beispiel, das ist ja das,

31:12.900 --> 31:14.060
was ich gerade auch aufgegriffen hatte.

31:15.500 --> 31:19.500
Und jetzt kann ich im Prinzip, wir wissen ja, hier gibt es einen, hier

31:19.500 --> 31:24.780
gibt es keinen, hier gibt es einen, dann können wir jetzt natürlich

31:24.780 --> 31:26.900
die Todzeit verändern.

31:27.900 --> 31:31.700
Der Übergang ist nach wie vor mit einem Hazard behaftet, ich könnte

31:31.700 --> 31:36.780
aber einen konkreten anderen Verzögerungswert einführen und damit

31:36.780 --> 31:38.340
würde der Hazard-Fehler nicht auftauchen.

31:39.640 --> 31:42.160
Ganz klar, aber wie gesagt, ein Hazard gibt es trotzdem.

31:43.680 --> 31:48.500
Das heißt also, ich würde jetzt dieses Dreitau, was hier auftaucht,

31:49.040 --> 31:55.020
das würde ich jetzt verändern zu einem Tau und dann bekomme ich hier,

31:55.060 --> 31:58.580
weil ich hier nur noch Tau, Sie sehen, wir haben also den Sprung nicht

31:58.580 --> 32:01.900
mehr hier, sondern da, dann hätte ich hier nur noch Tau-Verzögerung,

32:02.200 --> 32:04.520
dann gibt es hier keinen Hazard-Fehler mehr.

32:05.640 --> 32:09.260
Trotzdem haben wir einen Hazard in dem Übergang, er taucht nur nicht

32:09.260 --> 32:09.980
mehr auf.

32:11.240 --> 32:12.820
Ja, ist das soweit klar?

32:14.360 --> 32:17.120
Aber ich glaube, das ist ziemlich einfach zu verstehen, dass man sagt,

32:17.480 --> 32:20.460
ein Hazard muss nicht wirklich auftauchen, nur bei konkreten

32:20.460 --> 32:21.580
Verzögerungen taucht er auf.

32:21.860 --> 32:24.860
Naja, und den können wir jetzt halt beliebig hin- und herdrehen, aber

32:24.860 --> 32:29.000
im Prinzip bei ungeschickt gewählten Verzögerungen taucht er eben auf,

32:29.060 --> 32:29.900
deswegen haben wir einen Hazard.

32:32.060 --> 32:36.140
Okay, dann wäre jetzt die Frage, wie behebe ich denn eigentlich

32:36.140 --> 32:36.860
Hazards?

32:36.860 --> 32:39.040
Da mache ich jetzt mal noch ein paar Folien, dann machen wir gleich

32:39.040 --> 32:39.460
die Pause.

32:40.080 --> 32:41.880
Wie behebe ich denn eigentlich generell Hazards?

32:44.020 --> 32:46.440
Funktions-Hazards kann ich nicht beheben.

32:47.140 --> 32:51.560
Die sind ja in der Schaltfunktion begründet und da müsste ich ja die

32:51.560 --> 32:54.000
Schaltfunktion ändern, das kann ich nicht machen.

32:54.100 --> 32:58.980
Ich kann nur versuchen, geeignete Verzögerungszeiten zu wählen, um

32:58.980 --> 33:00.900
dann den Hazard-Fehler zu vermeiden.

33:01.280 --> 33:04.800
Das heißt aber, den Hazard an sich, den kann ich nicht vermeiden.

33:05.300 --> 33:08.280
Ich denke, das ist klar, das wären Funktions-Hazards.

33:08.720 --> 33:09.800
Da kann ich also nicht viel tun.

33:10.180 --> 33:13.420
Das heißt also, Funktions-Hazards beheben, so wie die Überschrift

33:13.420 --> 33:17.480
suggeriert, kann ich nicht, sondern ich kann nur die Hazard-Fehler

33:17.480 --> 33:18.500
vermeiden.

33:20.380 --> 33:23.600
Okay, Struktur-Hazards, da kann ich natürlich schon was machen, weil

33:23.600 --> 33:26.640
bei dem Struktur-Hazard, das liegt ja daran, dass ich die falsche

33:26.640 --> 33:27.540
Struktur gewählt habe.

33:27.540 --> 33:33.860
Ich habe einfach die gewählt, die dummerweise einen Hazard hat,

33:34.080 --> 33:35.020
beinhaltet.

33:35.520 --> 33:39.740
Und ich kann jetzt eine geeignete Veränderung der Struktur vornehmen,

33:40.100 --> 33:43.580
aber die Schaltfunktion soll natürlich exakt die gleiche sein.

33:43.920 --> 33:45.400
Das wäre schlecht, wenn nicht.

33:46.200 --> 33:47.800
Das heißt, jetzt kann ich Folgendes machen.

33:48.900 --> 33:52.200
Bei einem statischen Struktur-Hazard, die bei Übergang konstant

33:52.200 --> 33:54.960
bleibenden Eingangsvariablen, die muss ich jetzt in die Lage

33:54.960 --> 33:59.840
versetzen, das Ausgangssignal konstant auf dem Wert zu halten.

34:00.180 --> 34:03.020
Das heißt also, wenn ich jetzt von 0 nach 0 gehe oder von 1 nach 1

34:03.020 --> 34:08.040
gehe, dann müssen die Eingangsvariablen in die Lage versetzt werden,

34:08.340 --> 34:11.140
das Ausgangssignal konstant zu halten.

34:11.700 --> 34:13.760
Und da gibt es ein paar ganz einfache Tricks, die werden wir uns jetzt

34:13.760 --> 34:14.320
mal anschauen.

34:16.300 --> 34:22.080
Das eine wäre, wenn ich jetzt einen statischen 1-Struktur-Hazard

34:22.080 --> 34:22.360
hätte.

34:22.360 --> 34:27.160
Und natürlich geht das genauso für einen statischen 0-Struktur-Hazard.

34:28.180 --> 34:32.900
Ist also Funktions-Hazard frei, davon gehen wir jetzt mal aus, aber

34:32.900 --> 34:34.320
Struktur -Hazard behaftet.

34:34.880 --> 34:37.520
Und ich habe jetzt hier diesen 1-Übergang, dann haben wir ja hier

34:37.520 --> 34:38.280
dieses Beispiel.

34:38.800 --> 34:42.400
Und jetzt kann ich mir überlegen, was muss ich denn jetzt tun mit den

34:42.400 --> 34:48.420
Eingangsvariablen, damit der Ausgang auch in so einem Übergang auf 1

34:48.420 --> 34:48.840
bleibt.

34:49.980 --> 34:51.500
Und das können wir uns jetzt hier überlegen.

34:51.700 --> 34:55.240
Wir hatten ja diesen 1-Struktur-Hazard.

34:55.600 --> 34:57.520
Sie erinnern sich, das ist ja nur ein paar Minuten her.

34:58.020 --> 35:00.720
Das heißt also, dieser Weg ist okay, dieser Weg ist jetzt hier nicht

35:00.720 --> 35:01.060
okay.

35:01.860 --> 35:03.880
Und das heißt, wir können jetzt Folgendes machen.

35:04.540 --> 35:12.480
Und ja, da sehen wir jetzt, wir wollen die Variablen E2 und E3, die

35:12.480 --> 35:13.800
bleiben ja konstant auf 1.

35:13.800 --> 35:17.060
Jetzt können wir ein weiteres UNT-Glied hinzufügen.

35:17.560 --> 35:22.340
Und das UNT-Glied, das hält jetzt ganz heuristisch, hält jetzt den

35:22.340 --> 35:25.740
Ausgang während des Übergangs auf konstant 1.

35:26.160 --> 35:30.160
Das heißt also, damit werden wir in der Lage, sozusagen während dieses

35:30.160 --> 35:32.700
Übergangs den Ausgang konstant zu halten.

35:33.340 --> 35:35.680
Und der Ausgang würde nicht springen.

35:35.880 --> 35:36.320
Ist das klar?

35:37.820 --> 35:39.580
Wir wollen ja vermeiden, ja.

35:46.350 --> 35:47.230
Wenn sich...

35:47.230 --> 35:48.170
Nein, das nicht unbedingt.

35:48.550 --> 35:52.090
Wir müssen aber konkret einen Übergang betrachten.

35:52.510 --> 35:54.030
Und den einen Übergang haben wir jetzt betrachtet.

35:54.470 --> 35:57.050
Die Frage ist halt, ja klar, Sie haben recht, wir müssen jetzt

35:57.050 --> 35:59.830
aufpassen, das ist nicht allgemein.

36:00.270 --> 36:01.450
Das ist nicht allgemeingültig.

36:01.530 --> 36:04.090
Wir betrachten diesen einen Übergang und für den können wir das

36:04.090 --> 36:04.350
machen.

36:04.590 --> 36:08.390
Und jetzt haben wir das hier so gemacht, dass wir jetzt E2 und E3

36:08.390 --> 36:08.910
verschalten.

36:08.910 --> 36:11.850
Jetzt müssten wir halt alle möglichen Übergänge anschauen und mit

36:11.850 --> 36:12.530
denen arbeiten.

36:13.110 --> 36:15.610
Ist mit Sicherheit erstmal noch kein Allheilmittel, sondern erstmal

36:15.610 --> 36:19.350
nur eine sehr pragmatische und heuristische Vorgehensweise, ganz klar.

36:19.830 --> 36:20.550
Gibt es weitere Punkte?

36:22.930 --> 36:25.050
Ja, also das ist jetzt mal...

36:25.050 --> 36:27.690
Aber ist ja vielleicht gar nicht so schlecht, dass wir uns jetzt da

36:27.690 --> 36:29.670
mal rantasten, dass Sie mal ein Gefühl dafür bekommen.

36:29.910 --> 36:30.850
Was kann man denn tun?

36:31.190 --> 36:34.570
Ich werde Ihnen gleich nochmal so ein paar allgemeine Sätze an die

36:34.570 --> 36:35.070
Hand geben.

36:35.070 --> 36:37.990
Aber ich glaube hierbei sieht man das doch ganz schön, was man denn

36:37.990 --> 36:41.170
tun könnte, um überhaupt hier einen Effekt zu haben.

36:55.400 --> 36:56.940
Das verstehe ich nicht.

37:01.000 --> 37:03.740
Oder sagen Sie es nochmal genau, damit ich es verstehe.

37:10.170 --> 37:12.330
Ja, nur wenn die beiden entsprechend sind.

37:13.090 --> 37:15.230
Nur wenn E2 und E3 entsprechend sind.

37:18.770 --> 37:22.670
Ja doch, wenn E2 und E3 beide eins sind, dann will ich hier vorne nur

37:22.670 --> 37:23.110
eins haben.

37:24.450 --> 37:25.010
Und sonst nicht.

37:25.470 --> 37:27.210
Ich will ja genau diesen Übergang betrachten.

37:27.710 --> 37:31.670
Dieser Übergang, der das Problem gemacht hat, dass ich zwischendrin

37:31.670 --> 37:33.350
mal auf null geschaltet habe.

37:34.090 --> 37:35.770
Den habe ich, das Problem habe ich jetzt nicht mehr.

37:36.450 --> 37:38.310
Weil ich ja nur noch E2 und E3 drin habe.

37:38.410 --> 37:39.670
Und das E1 schaltet ja.

37:40.610 --> 37:41.950
Damit bin ich das losgeworden.

37:41.950 --> 37:43.070
Und das rein pragmatisch.

37:43.270 --> 37:44.810
Das ist eine ganz pragmatische Vorgehensweise.

37:45.190 --> 37:47.290
Wir werden das aber noch gleich genauer machen.

37:47.630 --> 37:49.790
Also damit lasse ich Sie sozusagen nicht im Regen stehen.

37:50.370 --> 37:50.870
Ganz klar.

37:51.170 --> 37:51.670
Aber sehen Sie das.

37:53.370 --> 37:55.190
E1 taucht ja hier gar nicht mehr drin auf.

37:55.390 --> 37:57.850
Das heißt also E2 und E3, die werden jetzt auf jeden Fall auf den

37:57.850 --> 37:58.510
Ausgang geschaltet.

37:58.810 --> 38:02.610
Und damit wird der Ausgang während des Übergangs, wenn E1 sich ändert,

38:03.430 --> 38:04.930
auf Konstant 1 gehalten.

38:06.770 --> 38:07.870
Das ist die Idee dabei.

38:07.870 --> 38:13.690
Wir konnten jetzt gerade einen statischen 1-Struktur-Hazard beheben.

38:13.870 --> 38:17.370
Indem wir einfach ein weiteres Und-Glied hinzugefügt haben.

38:18.150 --> 38:19.570
Ist natürlich jetzt erstmal pragmatisch.

38:19.850 --> 38:22.510
Also das heißt, wenn Sie hinschauen, sehen Sie, dass es Sinn macht.

38:22.810 --> 38:24.030
Wir haben es auch gerade schon mal diskutiert.

38:24.870 --> 38:26.890
Aber das ist vielleicht noch nicht so sehr systematisch.

38:26.990 --> 38:29.290
Und das wollen wir jetzt vielleicht nochmal etwas genauer machen.

38:31.770 --> 38:36.170
Generell, wenn ich also so einen statischen 1-Struktur-Hazard

38:36.170 --> 38:41.190
betrachte im KV-Diagramm, dann habe ich ja im KV-Diagramm jetzt so

38:41.190 --> 38:43.210
diesen 1-Block E2, E3.

38:43.750 --> 38:45.490
Der enthält die Anfangs- und die Endbelegung.

38:46.450 --> 38:48.010
Das kann ich mir jetzt so überlegen.

38:48.330 --> 38:51.890
Und das heißt, dieser zusätzlich realisierte Und-Teil, das Und-Glied,

38:51.970 --> 38:56.590
was ich da zusätzlich realisiere, das macht ja überhaupt kein Problem.

38:56.590 --> 39:02.770
Das wäre im Prinzip ja hier dieses rot umrandete Teil.

39:03.430 --> 39:05.310
Das heißt also, das macht überhaupt kein Problem.

39:05.730 --> 39:08.410
Den kann ich also dazunehmen, ist aber redundant.

39:08.810 --> 39:11.570
Das heißt also, ich müsste es normalerweise nicht machen, aber kann

39:11.570 --> 39:14.710
damit eben diesen Hazard ausschließen.

39:16.870 --> 39:19.730
So, jetzt kann ich mir überlegen, ich kann das eigentlich immer machen

39:19.730 --> 39:21.270
für den 1-Struktur-Hazard.

39:23.430 --> 39:29.670
Ich könnte immer so einen Block konstruieren.

39:30.350 --> 39:34.050
Wenn das nicht geht, dann ist eine Null im Übergangsbereich.

39:34.350 --> 39:34.870
Das sehen wir hier.

39:35.030 --> 39:36.470
Hier haben wir eine Null im Übergangsbereich.

39:36.870 --> 39:40.770
Und das wäre ein nicht behebbarer Funktions-Hazard.

39:41.070 --> 39:42.490
Da kann ich das natürlich nicht machen.

39:43.170 --> 39:46.990
Das heißt also, ich kann jetzt hier vielleicht so ein Und umschließen,

39:47.110 --> 39:50.350
ich kann hier so ein Und umschließen, aber ich kann nicht das Gesamte

39:50.350 --> 39:50.570
machen.

39:50.570 --> 39:54.250
Das heißt also, ich habe hier einen nicht behebbaren Funktions-Hazard.

39:54.490 --> 39:59.050
Da kann ich nichts tun, sonst könnte ich hier auch wieder so eine Eins

39:59.050 --> 39:59.910
umschließen.

40:01.050 --> 40:02.330
Ich glaube, das ist klar, oder?

40:03.230 --> 40:06.210
Immer wenn ich das also nicht machen kann, habe ich offenbar im

40:06.210 --> 40:08.890
normalen KV-Diagramm einen Funktions-Hazard.

40:10.010 --> 40:11.050
Jetzt bin ich zu schnell.

40:12.070 --> 40:18.370
Also, die Kosten dieser Hazard-Behebung, die sind umso günstiger, je

40:18.370 --> 40:21.810
größer dieser realisierte, dieser zusätzliche Eins-Block ist.

40:22.070 --> 40:23.630
Den brauche ich ja normalerweise nicht.

40:23.990 --> 40:26.890
Ja, und wenn ich so einen Eins-Block realisieren möchte, dann sollte

40:26.890 --> 40:30.730
ich doch dann bitteschön einen Prim-Eins-Block verwenden, der sowohl

40:30.730 --> 40:32.910
die Anfangs- als auch die Endbelegung umschließt.

40:33.430 --> 40:37.270
Und das wäre eine allgemeine Regel zur Beseitigung von solchen Eins

40:37.270 --> 40:38.110
-Struktur -Hazards.

40:38.370 --> 40:41.470
Wir werden gleich sehen, für einen Null-Hazard geht das natürlich

40:41.470 --> 40:41.950
genauso.

40:42.090 --> 40:46.010
Also einen statischen Null-Hazard, da geht das genauso.

40:47.530 --> 40:48.250
Struktur-Hazard.

40:49.090 --> 40:52.550
Ja, das heißt also, man realisiere mit einem UND-Glied so einen Prim

40:52.550 --> 40:56.230
-Implikanten und der enthält die Anfangs- und die Endbelegung und dann

40:56.230 --> 40:59.890
wird der Ausgang disjunktiv verknüpft mit dem Schaltnetzausgang.

41:00.290 --> 41:04.650
Und damit habe ich dann erreicht, dass der Ausgang sozusagen konstant

41:04.650 --> 41:04.930
bleibt.

41:05.790 --> 41:07.630
Ja, und das war ja das, was wir auch gerade diskutiert hatten.

41:08.090 --> 41:09.910
Das können wir also ganz allgemein so machen.

41:10.010 --> 41:11.490
Das sollten Sie sich vielleicht mal überlegen.

41:12.030 --> 41:15.410
Ich hatte ja immer mal wieder gesagt, wenn Sie sich vorbereiten auf

41:15.410 --> 41:17.590
die Prüfung, eine Lerngruppe ist nicht schlecht.

41:17.990 --> 41:21.810
Setzen Sie sich mal gemeinsam hin, zwei, drei Leute und überlegen Sie

41:21.810 --> 41:22.630
sich solche Dinge mal.

41:22.890 --> 41:26.590
Wenn Sie sich das mal durchdenken, dann bringt das wesentlich mehr als

41:26.590 --> 41:27.890
das, was ich Ihnen heute erzählt habe.

41:27.950 --> 41:30.950
Ja, das war sozusagen, was ich Ihnen gesagt habe, nur so ein Piece.

41:31.450 --> 41:34.490
Und das heißt dann, wenn Sie mal darüber nachdenken, verstehen Sie das

41:34.490 --> 41:35.350
viel, viel besser.

41:35.830 --> 41:38.690
Wenn Sie das mal zu zwei, drei Leuten durchdenken.

41:38.690 --> 41:39.950
So, Nullblöcke.

41:40.390 --> 41:44.150
Ich habe ja gesagt, wir machen das Ganze immer so, dass wir mit den

41:44.150 --> 41:48.210
Einsern vorgehen und dann dual mit den Nullblöcken entsprechend

41:48.210 --> 41:48.630
vorgehen.

41:48.710 --> 41:50.090
Das haben wir ja in jeder Hinsicht gemacht.

41:50.750 --> 41:53.950
Und das heißt, wir haben dann eine allgemeine Regel zur Beseitigung

41:53.950 --> 41:55.150
von so einem Nullstruktur-Hazard.

41:55.550 --> 41:56.810
Lassen Sie sich also nicht verwirren.

41:57.130 --> 42:00.030
Wenn Sie jetzt ein Null-Hazard haben, ja, dann funktioniert das ganz

42:00.030 --> 42:00.490
genauso.

42:00.770 --> 42:02.110
Ist eben einfach nur dual.

42:02.490 --> 42:06.730
Aber lernen an Ihrer Stelle würde ich alles nur in einer Domäne.

42:06.730 --> 42:10.910
Und die zweite Domäne sozusagen würde ich durch Analogien versuchen

42:10.910 --> 42:11.570
abzudecken.

42:11.730 --> 42:12.630
So wie auch hier.

42:13.190 --> 42:14.990
Und klar, dann kommt genau das Gleiche raus.

42:15.110 --> 42:16.190
Ja, eben nur dual.

42:17.290 --> 42:20.350
Man realisiere mit einem Oder-Glied so ein Primimplikat.

42:21.090 --> 42:23.070
Ja, und das enthält Anfangs- und Endbelegungen.

42:23.390 --> 42:28.330
Und dann wird sozusagen der Oder-Ausgang, ja, wird dann konjunktiv

42:28.330 --> 42:30.970
verknüpft mit dem Schaltnetzausgang.

42:31.210 --> 42:32.690
Aber ich denke, das ist ja ziemlich klar.

42:33.070 --> 42:34.930
Ja, da müssen wir, glaube ich, nicht weiter darüber nachdenken.

42:35.850 --> 42:38.990
Okay, jetzt gibt es diesen Satz von Eichelberger.

42:39.290 --> 42:40.810
Der verallgemeinert jetzt diese Regel.

42:41.570 --> 42:47.110
Also, wenn ich allgemein habe, ein Schaltnetz, das eine Disjunktion

42:47.110 --> 42:51.030
aller Primimplikanten oder die Konjunktion aller Primimplikate

42:51.030 --> 42:55.450
enthält, dann ist das frei von allen statischen Strukturhersatz.

42:56.130 --> 43:01.150
Oder, das ist jetzt allerdings natürlich nicht so sehr effektiv, ja,

43:01.830 --> 43:05.710
leider von allen dynamischen Strukturhersatz, falls nur eine

43:05.710 --> 43:07.670
Eingangsvariable sich ändert.

43:08.470 --> 43:12.650
Okay, das heißt also, der erste Teil, der ist wichtig, der zweite Teil

43:12.650 --> 43:14.230
ist nicht ganz so ergiebig.

43:14.450 --> 43:19.190
Das heißt also, dynamisch nur für eine Eingangsvariable.

43:19.690 --> 43:21.950
Das hilft uns nicht so viel, aber der erste Teil hilft uns schon.

43:22.450 --> 43:24.950
Ja, das heißt also, wenn wir eine Disjunktion aller Primimplikanten

43:24.950 --> 43:28.750
haben, ja, dann sind wir frei von allen statischen Strukturhersatz.

43:30.190 --> 43:31.070
Und dual.

43:33.150 --> 43:34.470
Ich glaube, das ist schon mal nicht so schlecht.

43:36.890 --> 43:41.870
So, jetzt haben wir so ein Schaltnetz, was wir gerade gesehen haben.

43:42.770 --> 43:44.950
Und hier können wir jetzt sagen, das schreibe ich Ihnen vielleicht mal

43:44.950 --> 43:48.970
hin, ja, wir haben hier alle Primimplikanten realisiert.

43:49.610 --> 43:54.250
Ja, und das sehen wir, indem wir jetzt mal die alle hinschreiben.

43:55.220 --> 44:09.390
Also, wir können sagen, dass A, das ist jetzt ja E1 nicht und E2 oder,

44:10.210 --> 44:22.350
und dann, jetzt passen wir auf, es ist E1 und E3 oder E2 und E3.

44:22.350 --> 44:27.350
Und die können wir jetzt also auch in dem KV-Diagramm, können wir die

44:27.350 --> 44:27.530
sehen.

44:27.610 --> 44:32.530
Wir haben hier einen, wir haben hier einen und wir haben natürlich

44:32.530 --> 44:37.450
noch hier einen Primimplikanten.

44:38.030 --> 44:41.510
Das heißt also, ist redundant.

44:42.270 --> 44:48.670
Das heißt, wir haben ein zu viel realisiert, ja, um eben diesen Hazard

44:48.670 --> 44:49.610
zu vermeiden.

44:49.610 --> 44:55.390
Also, wir sehen ja, wir haben jetzt hier zu viele Implikanten, ja, wir

44:55.390 --> 44:59.010
müssten den hier zum Beispiel gar nicht haben, ganz klar.

45:00.510 --> 45:02.830
Jetzt können wir sagen, wenn alle Primimplikanten realisiert sind,

45:03.290 --> 45:05.670
dann haben wir folgenden Effekt.

45:06.150 --> 45:09.770
Das Schaltnetz ist frei von allen statischen Struktur-Hazards und

45:09.770 --> 45:14.230
allen dynamischen, ja, wenn nur eine Eingangsvariable sich ändert.

45:14.730 --> 45:18.790
Das ist also der Vorteil hierbei und das war ja das Netz von vorhin.

45:18.790 --> 45:20.410
Ist das klar soweit?

45:24.330 --> 45:31.710
Ja, und wenn ich jetzt dynamische Struktur-Hazards beheben möchte, ist

45:31.710 --> 45:35.850
das wesentlich komplizierter als die von statischen Hazards.

45:36.650 --> 45:37.350
Warum?

45:37.830 --> 45:41.230
Die Behebung eines dynamischen Hazards, ja, für einen bestimmten

45:41.230 --> 45:44.690
Übergang, die kann jetzt den Struktur-Hazard ja für den anderen

45:44.690 --> 45:45.670
Übergang erzeugen.

45:45.670 --> 45:46.850
Das werden wir gleich auch noch sehen.

45:47.270 --> 45:48.070
Das ist gar nicht so schön.

45:49.850 --> 45:52.070
Und jetzt werden wir gleich mal den Satz von Eichelberger kennenlernen

45:52.790 --> 45:54.730
oder mit dem nochmal weiterarbeiten.

45:55.930 --> 46:00.590
Wir wollen jetzt, wenn wir einen mehr variablen Wechsel haben, dann

46:00.590 --> 46:05.990
wollen wir ein Verfahren für zweistufige Schaltnetze zeigen und wir

46:05.990 --> 46:09.310
können jetzt generell sagen, ein dynamischer Struktur-Hazard bei einem

46:09.310 --> 46:11.650
Übergang, der wird genau dann vermieden.

46:11.730 --> 46:14.490
So, und jetzt wieder KV-Diagramm, weswegen ich ja immer gesagt habe,

46:14.770 --> 46:18.270
das KV-Diagramm ist überhaupt nicht so verkehrt, ja, um bestimmte

46:18.270 --> 46:19.950
Dinge, um einfach Einsichten zu gewinnen.

46:20.430 --> 46:24.430
Ja, wenn jetzt so ein 1-Block, der in den Übergangsbereich hineinragt,

46:24.930 --> 46:31.030
ja, wenn wir sozusagen, wenn wir den versuchen zu vermeiden, wenn wir

46:31.030 --> 46:35.490
so einen 1-Block haben, ja, und die 1-Belegung ragt in den

46:35.490 --> 46:39.090
Übergangsbereich hinein, dann müssen wir damit was tun.

46:39.170 --> 46:40.070
Das werden wir gleich auch sehen.

46:40.070 --> 46:40.690
Warum?

46:43.390 --> 46:48.930
So, hier haben wir sowas, ja, wir haben also den Ausgang A, das wäre

46:48.930 --> 46:55.010
also E1, E3 nicht, oder E2, E3 nicht, ja, das wäre genau das hier.

46:55.270 --> 46:59.970
Und wenn wir das jetzt in diesem Standard-Diagramm jetzt mal

46:59.970 --> 47:04.650
anschauen, ja, dann hätten wir jetzt hier schon offensichtlich ein

47:04.650 --> 47:10.030
Hazard, ja, weil wir hier so einen 1-Block haben, der hier reinragt in

47:10.030 --> 47:10.750
den Übergang, ja.

47:11.350 --> 47:14.970
Und das heißt, haben wir ja gerade schon diskutiert, ja, das heißt,

47:15.090 --> 47:19.750
dieser Übergang von 1.0.0 nach 1.1.1, der ist jetzt mit dem

47:19.750 --> 47:22.410
dynamischen 0.1-Struktur-Hazard behaftet.

47:22.970 --> 47:24.070
So, und jetzt, was machen wir dann?

47:24.450 --> 47:25.090
Was können wir tun?

47:25.390 --> 47:25.870
Sehen Sie das?

47:29.010 --> 47:32.570
Offenbar ragt ja dieser 1-Block da hinein, ja.

47:33.130 --> 47:33.830
Was können wir machen?

47:34.350 --> 47:34.950
Was können wir ändern?

47:37.290 --> 47:41.510
Wir könnten doch jetzt, oder das wollte ich, glaube ich, mal hinmalen,

47:41.690 --> 47:46.790
ja, genau.

47:51.310 --> 47:53.830
Da ist nämlich die Frage, warum?

47:59.240 --> 48:01.620
Warum haben wir hier ein Struktur-Hazard?

48:03.380 --> 48:05.220
Ich glaube, Sie sehen das schon,

48:08.460 --> 48:11.360
aber trotzdem ist ja nicht schlecht, wenn wir uns das mal

48:11.360 --> 48:11.960
hinschreiben.

48:12.920 --> 48:22.140
Also, wir haben zunächst mal das KV-Diagramm der Funktion.

48:25.780 --> 48:28.620
Das heißt also, KV-Diagramm der Funktion selber.

48:28.760 --> 48:32.300
Und jetzt wollen wir also damit mal überlegen, was denn passiert.

48:32.300 --> 48:43.760
Also, wir haben jetzt A ist E1, E3 nicht, oder E2, E3 nicht.

48:44.520 --> 48:48.680
Und das heißt also, wir haben jetzt folgende Funktion.

48:54.860 --> 49:07.330
So, und das heißt, wir haben hier unten E3, E2 und E1.

49:09.550 --> 49:15.830
Und dann habe ich hier also meine drei Einser, ja, die ich bekomme.

49:15.830 --> 49:21.030
Und ich springe jetzt von hier, das wäre mein Start, bringe ich hier

49:21.030 --> 49:21.230
hin.

49:21.850 --> 49:23.950
So, ja.

49:26.510 --> 49:29.510
Und jetzt können wir uns mal überlegen, ja, oder sagen Sie mir was

49:29.510 --> 49:29.810
dazu.

49:30.870 --> 49:32.030
Ist es ein Funktionshazard?

49:42.360 --> 49:42.960
Ja oder nein?

49:48.680 --> 49:50.340
Denken Sie mal scharf nach, ist es ein oder nicht?

49:54.500 --> 49:55.120
Ja, sagen Sie.

50:01.740 --> 50:03.160
Also, ist es ein Funktionshazard?

50:03.440 --> 50:04.960
Nein, kein Funktionshazard, genau.

50:04.960 --> 50:08.500
Das heißt, das Ding ist funktionshazardfrei, genau richtig.

50:09.300 --> 50:12.200
So, und jetzt schauen wir uns mal an, jetzt wollen wir die Struktur

50:12.200 --> 50:12.800
mit reinnehmen.

50:13.060 --> 50:16.260
Jetzt kommen wir also zu dem strukturspezifischen KV-Diagramm, ja.

50:16.260 --> 50:17.580
Also,

50:20.840 --> 50:22.740
muss man hier radieren.

50:24.360 --> 50:25.280
Also, Struktur,

50:28.490 --> 50:34.050
spezifisches KV-Diagramm.

50:40.440 --> 50:48.540
Und jetzt möchte ich ja die Variable 3 zweimal mit reinnehmen, ja.

50:48.540 --> 50:55.540
Also, ich habe also die Variable 3, also ich habe E1, E31 nicht, wie

50:55.540 --> 50:56.540
gerade diskutiert, ja.

50:57.680 --> 51:03.200
Oder E2, E2 macht auch noch kein Problem, aber E32 nicht.

51:03.540 --> 51:07.300
Das heißt also, ich habe verschiedene Verzögerungen für E3.

51:08.220 --> 51:12.820
So, und dann muss ich jetzt ein KV-Diagramm betrachten, das eben

51:12.820 --> 51:13.880
doppelt so groß ist.

51:14.400 --> 51:16.380
Ja, das heißt also, das malen wir jetzt mal hin.

51:17.840 --> 51:18.980
Also doppelt so groß.

51:27.520 --> 51:32.560
Und da haben wir jetzt hier E2, ja, E31.

51:34.880 --> 51:42.200
Dann haben wir hier E32 und E1.

51:44.640 --> 51:47.820
So, und jetzt muss ich natürlich aufpassen, wenn ich die einzeichne.

51:47.820 --> 51:57.380
Ich habe jetzt hier gespiegelt die vier Einser und hier auch die

51:57.380 --> 51:58.320
entsprechenden Einser.

51:58.820 --> 52:01.160
So, und jetzt, ich nehme vielleicht mal auch wieder schwarz.

52:01.860 --> 52:04.420
Welche sind denn die, die eigentlich normalerweise nicht auftauchen

52:04.420 --> 52:04.800
würden?

52:05.460 --> 52:06.720
Das wären ja diese hier,

52:10.670 --> 52:10.670
ja.

52:12.690 --> 52:14.710
Ich mache die also mal grau, ja.

52:15.570 --> 52:21.530
Und die weißen, das wären die Standard-KV-Einträge.

52:21.890 --> 52:23.450
Und jetzt möchte ich den Übergang betrachten.

52:24.750 --> 52:26.270
Ich hätte also jetzt hier den Übergang.

52:29.110 --> 52:32.570
Und zwar habe ich jetzt, ich male jetzt mal von rechts hin, ja, also

52:32.570 --> 52:38.770
E1, E2, E31, E32.

52:38.770 --> 52:49.410
So, und die gehen jetzt von 1, 1, 1, 1 nach 1, 0, 0, 0.

52:49.850 --> 52:53.630
Ja, und ich muss eben dabei diesen doppelten Übergang betrachten für

52:53.630 --> 52:55.210
das E3, ja.

52:55.750 --> 52:59.930
Und dann ist ziemlich klar, ja, jetzt sagen Sie mal, welcher Übergang

52:59.930 --> 53:00.750
ist denn der kritische?

53:03.230 --> 53:07.090
Wir wollen ja nur einen einzeichnen, einen einzigen, der uns reicht,

53:07.330 --> 53:09.370
um zu zeigen, dass der kritisch ist.

53:11.890 --> 53:12.830
Welcher ist denn das?

53:14.310 --> 53:20.110
Wenn ich jetzt sage, ich wechsle von dieser Eingabebelegung, ja, 1, 1,

53:20.210 --> 53:22.150
1, 1 nach 1, 0, 0, 0.

53:22.410 --> 53:27.190
Klar, in Wirklichkeit ändere ich ja nur von 1, 1, 1, weil die beiden

53:27.190 --> 53:28.430
wären ja normalerweise eine Variable.

53:28.430 --> 53:31.170
Ich habe halt nur zwei verschiedene Pfade, die wir gerade gesehen

53:31.170 --> 53:31.410
haben.

53:32.070 --> 53:33.410
Also, welcher ist der kritische Pfad?

53:36.090 --> 53:38.310
Ja, ich sehe schon, einige von Ihnen sind schon kräftig dabei

53:38.310 --> 53:40.450
nachzudenken, ja, die Pfade zu sehen.

53:40.570 --> 53:41.150
Welcher ist es denn?

53:46.300 --> 53:47.640
Ja, trauen Sie sich, sagen Sie einen.

53:56.370 --> 53:58.370
Das heißt, ich bin hier und wo muss ich jetzt hin?

53:59.590 --> 54:04.470
Einmal nach oben, ja, nochmal nach oben, genau.

54:04.470 --> 54:07.770
Ja, und dann sehen wir schon offensichtlich, das geht schief.

54:08.330 --> 54:12.730
Wir haben hier einen entsprechenden Wechsel, also wir gehen hier von 0

54:12.730 --> 54:14.310
nach 1, nach 0 nach 1.

54:14.610 --> 54:17.770
Also das heißt, dieser Wechsel ist schlecht.

54:18.090 --> 54:20.510
Alle anderen müssen wir gar nicht mehr betrachten, das war der

54:20.510 --> 54:21.170
kritische Wechsel.

54:22.130 --> 54:26.330
Und damit wissen wir, haben wir hier einen Struktur-Hazard.

54:27.170 --> 54:34.030
Okay, das heißt also, wenn wir jetzt wieder zurückgehen auf das

54:34.030 --> 54:38.770
entsprechende Diagramm, das normale KV-Diagramm, wissen wir aber, dass

54:38.770 --> 54:40.070
wir hier einen Struktur-Hazard hatten.

54:40.870 --> 54:43.390
Und jetzt können wir uns überlegen, dass wir diesen Hazard

54:43.390 --> 54:49.970
entsprechend beheben können, indem wir diesen 1-Block, den hier,

54:51.310 --> 54:53.270
aufspalten in zwei Teile.

54:54.430 --> 54:58.890
Und damit praktisch, wir haben ja gerade gesehen, der 1-Block, der

54:58.890 --> 55:03.130
führt ja dazu, dass wir hier sozusagen so einen Sprung haben.

55:03.490 --> 55:06.670
Wir könnten aber jetzt diesen 1-Block aufteilen, also in zwei Teile.

55:07.230 --> 55:11.230
Und dann würde ich also diesen Teil hier aufteilen und damit hätte man

55:11.230 --> 55:12.210
einen hazardfreien Übergang.

55:12.650 --> 55:16.610
Und das wäre jetzt auch eine relativ pragmatische Vorgehensweise, um

55:16.610 --> 55:22.170
zu sagen, ja, wir entfernen diesen Hazard.

55:23.470 --> 55:27.050
Genau, damit würden wir jetzt praktisch diesen Hazard entfernen.

55:27.230 --> 55:30.770
Wir handeln uns aber damit nummerweise einen anderen Hazard ein.

55:31.070 --> 55:33.650
Das hatte ich ja gerade schon gesagt, wenn man diese Aufteilung macht,

55:34.530 --> 55:37.810
das muss nicht schmerzfrei sein, wir bekommen damit einen weiteren

55:37.810 --> 55:38.210
Hazard.

55:38.890 --> 55:42.410
Okay, warum kann man das so machen?

55:43.070 --> 55:47.330
1-Blöcke, die jetzt in den Übergangsbereich hineinragen, eben z.B.

55:47.390 --> 55:52.750
dieses E2, E3 nicht, die sind am Anfang und am Ende sicher 0, aber

55:52.750 --> 55:55.890
zwischendrin haben wir ja gerade gesehen, wenn ich dann entsprechend

55:55.890 --> 56:00.230
sprenge in der Struktur, können die vielleicht mal den Wert ändern.

56:01.370 --> 56:02.850
Damit haben wir diesen Hazardfehler.

56:03.390 --> 56:06.250
Und das können wir genauso gut machen für 0-Blöcke.

56:06.710 --> 56:07.830
Ich hoffe, das ist klar.

56:07.830 --> 56:11.590
Aus dem Strukturdiagramm sieht man das, was man in dem normalen KV

56:11.590 --> 56:13.750
-Diagramm eben vielleicht nicht sehen würde.

56:17.430 --> 56:19.850
Und jetzt können wir, aber das kann ich jetzt glaube ich ziemlich

56:19.850 --> 56:22.130
schnell machen, das ist wieder Dualität.

56:22.570 --> 56:28.790
Ein dynamischer Struktur-Hazard mit 0-Blöcken, da kann ich das genauso

56:28.790 --> 56:29.190
machen.

56:29.310 --> 56:31.670
Aber wie gesagt, das will ich gar nicht mehr so arg erwähnen, weil wir

56:31.670 --> 56:34.170
haben ja gesagt, Sie machen das mit Dualität.

56:34.810 --> 56:36.510
Also das wäre hier genau Dualität.

56:37.310 --> 56:42.650
Und dann, wir könnten jetzt natürlich für die Hazards ganz

56:42.650 --> 56:43.750
verschiedene Methoden verwenden.

56:44.270 --> 56:48.330
Erweiterte Todzeitmodelle, unterschiedliche Todzeiten für die 0-1 und

56:48.330 --> 56:51.370
1 -0-Übergänge, sowas könnte man machen, machen wir nicht in der

56:51.370 --> 56:51.910
Vorlesung.

56:52.410 --> 56:57.150
Wir könnten kompliziertere Simulationsmodelle verwenden, Zwischenwerte

56:57.150 --> 56:58.250
bei den Übergängen usw.

56:58.350 --> 56:59.330
machen wir auch hier nicht.

57:00.270 --> 57:03.930
Und die Methoden, die wir jetzt hier kennengelernt haben, das soll

57:03.930 --> 57:07.190
erstmal reichen, dass Sie damit arbeiten können, dass Sie damit ein

57:07.190 --> 57:09.670
Gefühl bekommen, wie so etwas funktioniert.

57:10.050 --> 57:12.690
Wir wollen das ja auch nicht erschöpfend machen, aber ich denke, damit

57:12.690 --> 57:16.310
können Sie schon mal sehr schön solche Hazards behandeln.

57:18.270 --> 57:20.150
Okay, erstmal soweit Fragen.

57:35.960 --> 57:40.720
Also ich wiederhole mal die Frage, durch Widerstände können Sie keine

57:40.720 --> 57:41.840
Verzögerung einbauen.

57:43.700 --> 57:45.020
Das wird nicht funktionieren.

57:45.020 --> 57:47.360
Das heißt also, Sie müssten irgendwie in der Lage sein, das haben wir

57:47.360 --> 57:49.420
ja gerade gesagt, Sie müssten also irgendwie in der Lage sein,

57:49.900 --> 57:53.700
Verzögerungen so umzumünzen, dass der Hazardfehler, wenn er denn da

57:53.700 --> 57:58.100
ist, also ein inhärenter Hazard, dass der sozusagen nicht auftritt,

57:58.140 --> 58:00.580
dass der Hazardfehler nicht auftritt, indem Sie die entsprechende

58:00.580 --> 58:01.440
Verzögerung verwenden.

58:09.640 --> 58:14.900
Es gibt ja Funktionshazards, aber Strukturhazards, da müssen Sie die

58:14.900 --> 58:18.600
Struktur so umbauen, dass Sie diesen Hazard vermeiden können.

58:21.040 --> 58:24.040
Sie können das entweder über die Verzögerungszeiten machen oder über

58:24.040 --> 58:24.500
die Struktur.

58:25.980 --> 58:29.000
Und bei dem Funktionshazard nur über die Verzögerung.

58:31.640 --> 58:32.520
Weitere Punkte.

58:38.430 --> 58:41.290
Keine Fragen mehr, weil jetzt machen wir einen ganz großen Sprung.

58:41.570 --> 58:43.710
Wir kommen jetzt zu Schaltwerken.

58:43.710 --> 58:50.570
Also Schaltwerke ist jetzt mal ein ganz anderes Thema, ganz

58:50.570 --> 58:52.350
unterschiedlich von dem, was wir gerade gemacht haben.

58:55.870 --> 58:58.510
Ich will Ihnen jetzt vielleicht gar nicht mal das Inhaltsverzeichnis

58:58.510 --> 59:01.050
verlesen, sondern erst mal sagen, was ist denn eigentlich der

59:01.050 --> 59:01.570
Unterschied?

59:02.410 --> 59:06.510
Ein Schaltnetz bisher war ja eine rein kombinatorische Schaltung.

59:07.110 --> 59:11.270
Das heißt also, wenn ich etwas an den Eingang anlege, kommt am Ausgang

59:11.270 --> 59:11.950
etwas heraus.

59:11.950 --> 59:16.710
Also eine rein kombinatorische Schaltung, statisch, ganz wichtig.

59:17.990 --> 59:21.330
Die Schaltwerke, die sind jetzt dynamisch.

59:21.650 --> 59:24.990
Das heißt also, wenn ich etwas an den Eingang anlege, dann ist es

59:24.990 --> 59:28.610
nicht so, man kann sich zum Beispiel so vorstellen, ich habe das

59:28.610 --> 59:34.350
Schaltwerk, lege etwas an dem Eingang an und verändere es und der

59:34.350 --> 59:35.670
Ausgang verändert sich nicht.

59:36.030 --> 59:40.370
Oder ich habe etwas Konstantes am Eingang und der Ausgang verändert

59:40.370 --> 59:41.250
sich ständig.

59:41.250 --> 59:43.090
Also dynamisch.

59:43.490 --> 59:45.450
Das ist also ein dynamisches System.

59:45.990 --> 59:50.450
Sequentielle Schaltungen, das heißt also, die Ausgabewerte, mal ganz

59:50.450 --> 59:54.070
simpel gesagt, die hängen jetzt ab von Belegungen der

59:54.070 --> 59:56.390
Eingangsvariablen zu vergangenen Zeitpunkten.

59:57.110 --> 59:58.670
Das wollen wir aber so eigentlich gar nicht machen.

59:59.010 --> 01:00:02.530
Wir wollen im Prinzip einen internen Speicher haben und der interne

01:00:02.530 --> 01:00:04.950
Speicher soll sozusagen das alles abfedern.

01:00:05.250 --> 01:00:08.670
Das heißt also, wenn ich jetzt ganz viele Eingangsbelegungen habe oder

01:00:08.670 --> 01:00:12.410
Eingabebelegungen habe und damit wird sich der Ausgang ändern, ja also

01:00:12.410 --> 01:00:16.290
auch noch später, dann kann ich das aber alles in einen Zustand

01:00:16.290 --> 01:00:20.830
stecken und der Zustand, der sorgt dafür, dass ich alles das, was ich

01:00:20.830 --> 01:00:24.490
jemals gesehen habe mit dem Schaltwerk, dass ich das entsprechend auf

01:00:24.490 --> 01:00:25.610
den Ausgang gebe.

01:00:26.210 --> 01:00:27.490
Also Zustand ist ganz wichtig.

01:00:28.570 --> 01:00:33.110
Okay, das heißt also, man fasst alle Abhängigkeiten in der

01:00:33.110 --> 01:00:37.410
Vergangenheit, die fasst man in einem Zustand zusammen und das

01:00:37.410 --> 01:00:42.450
Schaltwerk erzeugt sozusagen eine Ausgabe von den augenblicklichen

01:00:42.450 --> 01:00:48.030
Eingabewerten, das heißt genau das, was aktuell kommt und dem Zustand.

01:00:48.370 --> 01:00:51.730
Und der Zustand hat sozusagen, also der Zustand trennt praktisch

01:00:51.730 --> 01:00:53.930
Vergangenheit und Zukunft.

01:00:54.310 --> 01:01:00.610
Das heißt gegeben den Zustand plus den aktuellen Eingabewert, damit

01:01:00.610 --> 01:01:04.630
kann ich dann meine gesamte Zukunft berechnen.

01:01:04.930 --> 01:01:05.970
Das ist also wichtig.

01:01:08.150 --> 01:01:13.450
Ich kann also die aktuelle Ausgabe und alle zukünftigen Ausgaben, die

01:01:13.450 --> 01:01:17.230
kann ich im Prinzip von dem Zustand und den entsprechenden Eingaben

01:01:17.230 --> 01:01:17.930
abhängig machen.

01:01:18.890 --> 01:01:22.970
Und jetzt haben wir so ein Schaltwerk, was wir als so einen

01:01:22.970 --> 01:01:26.290
deterministischen endlichen Automaten interpretieren und da gibt es

01:01:26.290 --> 01:01:27.430
jetzt zwei Stück.

01:01:27.430 --> 01:01:31.330
Es gibt einen Moore-Automaten und es gibt einen Mealy-Automaten.

01:01:33.330 --> 01:01:36.370
Wir wollen also die Einführung der Automatentheorie jetzt mal machen,

01:01:36.770 --> 01:01:39.770
Mealy und Moore, die verschiedenen Darstellungsmöglichkeiten und die

01:01:39.770 --> 01:01:40.430
Realisierung.

01:01:41.810 --> 01:01:43.250
Und machen wir das mal.

01:01:43.510 --> 01:01:44.910
Das sieht erst mal wild aus.

01:01:46.030 --> 01:01:49.250
Also wenn Sie mal tief durchatmen, überstehen Sie diese Folie.

01:01:49.830 --> 01:01:52.230
Ich hoffe, ich glaube, es ist nicht so schlimm.

01:01:52.230 --> 01:01:59.690
Also, wir haben so ein Sextupel und wir können sagen, wir haben sowas

01:01:59.690 --> 01:02:01.090
wie E, A und Z.

01:02:01.630 --> 01:02:05.090
Das wäre die Menge der Eingabebelegungen, die Menge der

01:02:05.090 --> 01:02:08.090
Ausgabebelegungen und die Menge der Zustände.

01:02:08.510 --> 01:02:10.850
Und ich glaube, das ist nicht so verkehrt.

01:02:11.530 --> 01:02:16.550
Das heißt, wir wollen jetzt sagen, wir haben eine Funktion, die nennen

01:02:16.550 --> 01:02:17.750
wir jetzt hier Delta.

01:02:17.750 --> 01:02:24.530
Und das Delta, das ist jetzt das kathesische Produkt von Z kreuz E und

01:02:24.530 --> 01:02:25.970
wir bilden damit ab auf Z.

01:02:26.410 --> 01:02:27.990
Das wäre die Überführungsfunktion.

01:02:28.410 --> 01:02:32.350
Die sagt sozusagen, wie entwickelt sich der interne Zustand weiter.

01:02:33.010 --> 01:02:35.230
Das heißt also, wie entwickelt sich der Automat weiter.

01:02:36.050 --> 01:02:39.510
Jetzt muss ich natürlich auch noch wissen, wie bildet denn der Automat

01:02:39.510 --> 01:02:40.430
nach außen ab.

01:02:40.430 --> 01:02:43.890
Und nach außen dieser Abbildung, das wäre dieses Omega.

01:02:44.230 --> 01:02:47.230
Omega bildet sich von Z kreuz E nach A.

01:02:47.730 --> 01:02:54.350
Und das wäre eine Funktion, die sagt jetzt von Z kreuz E auf diesen

01:02:54.350 --> 01:02:55.310
Wert A.

01:02:55.450 --> 01:02:57.930
Das heißt also, wie viele Ausgabewerte habe ich.

01:02:58.350 --> 01:03:00.770
Das heißt also, das wäre die Menge der Ausgabebelegungen.

01:03:01.590 --> 01:03:07.370
Und Z 0 ist der Grundzustand, wenn ich das Ganze jetzt rekursiv mache,

01:03:07.850 --> 01:03:11.590
wäre Z 0 der Grundzustand, von dem ich starte.

01:03:12.210 --> 01:03:12.650
Ist das klar?

01:03:13.330 --> 01:03:17.330
Das heißt also, ich habe einen Grundzustand und dann laufe ich jetzt

01:03:17.330 --> 01:03:21.870
mithilfe dieser Übergangsfunktion oder Überführungsfunktion.

01:03:22.990 --> 01:03:27.390
Delta laufe ich jetzt weiter und nach außen sehe ich dann immer das,

01:03:27.810 --> 01:03:31.030
was mir diese Ausgabefunktion Omega produziert.

01:03:32.110 --> 01:03:33.510
Und das kann man auch stochastisch machen.

01:03:33.850 --> 01:03:35.690
Das wäre jetzt deterministisch.

01:03:36.190 --> 01:03:39.610
Typischerweise befassen wir uns mit stochastischen Automaten.

01:03:40.130 --> 01:03:44.350
Da habe ich dann also keine 1 zu 1 Abbildung, sondern da können jetzt

01:03:44.350 --> 01:03:50.170
verschiedene Werte im nächsten Zustand sein oder in der Ausgabe sein.

01:03:50.170 --> 01:03:53.010
Mit einem stochastischen Wert, mit einer stochastischen Zuordnung.

01:03:53.610 --> 01:03:57.290
Und wir machen das jetzt hier in der Vorlesung deterministisch.

01:03:57.990 --> 01:04:02.190
Warum ein Zustand?

01:04:02.430 --> 01:04:07.130
Der Zustand, der speichert jetzt die Vergangenheit.

01:04:07.690 --> 01:04:12.050
Das heißt, der Zustand enthält die gesamte Vergangenheit, die das

01:04:12.050 --> 01:04:13.350
System jemals erlebt hat.

01:04:13.910 --> 01:04:15.170
Und das ist eigentlich ganz witzig.

01:04:15.170 --> 01:04:20.410
Das heißt also, wenn ich jetzt zum Zeitpunkt 10.000 bin, dann hat

01:04:20.410 --> 01:04:24.570
trotzdem der Zustand alle 10.000 Eingangswerte, die ich vorher gesehen

01:04:24.570 --> 01:04:28.630
habe, hat der Zustand die trotzdem drin und er speichert die.

01:04:29.290 --> 01:04:32.610
Und bei stochastischen Systemen ist es dann natürlich so, dass der

01:04:32.610 --> 01:04:37.070
Zustand typischerweise ziemlich komplex wird und ziemlich stark

01:04:37.070 --> 01:04:37.510
anwächst.

01:04:37.790 --> 01:04:39.510
Bei deterministischen Systemen eben nicht.

01:04:40.090 --> 01:04:43.070
Das heißt also, der Zustand speichert alles das, was wir bisher

01:04:43.070 --> 01:04:43.850
gesehen haben.

01:04:44.630 --> 01:04:47.810
Und die aktuelle Ausgabebelegung, die haben wir jetzt durch diese

01:04:47.810 --> 01:04:48.570
Funktion Omega.

01:04:49.290 --> 01:04:53.550
Und wir gehen jetzt praktisch in den neuen Zustand und mit dem Omega

01:04:53.550 --> 01:04:57.650
wird dann die neue Ausgabebelegung erzeugt.

01:04:57.830 --> 01:04:59.010
So, jetzt gibt es zwei Möglichkeiten.

01:05:00.690 --> 01:05:01.730
Mealy und Moore.

01:05:03.570 --> 01:05:09.130
Bei einem Moore-Automaten ist es so, dass der Ausgabewert tatsächlich

01:05:09.130 --> 01:05:11.690
nur von dem aktuellen Zustand abhängt.

01:05:11.690 --> 01:05:19.170
Das heißt, wir haben hier so eine Verbindung.

01:05:19.350 --> 01:05:20.690
Ich zeige die mal ein.

01:05:20.990 --> 01:05:25.930
Das heißt also, wir gehen von Z nach A und das ist also alles, was wir

01:05:25.930 --> 01:05:26.370
hier bekommen.

01:05:26.810 --> 01:05:36.210
Z neu wäre jetzt also das Delta von Z und E und das A wäre W von Z und

01:05:36.210 --> 01:05:37.030
mehr nicht.

01:05:37.030 --> 01:05:42.230
Das wäre also hier die entsprechende Ausgabebelegung bei einem Moore

01:05:42.230 --> 01:05:42.830
-Automaten.

01:05:43.190 --> 01:05:45.910
Beim Moore-Automaten müssen wir auch nicht mehr unterscheiden.

01:05:46.150 --> 01:05:51.290
Das heißt also, wir haben hier die entsprechende Abbildung von Z nach

01:05:51.290 --> 01:05:51.550
A.

01:05:52.750 --> 01:05:56.010
Beim Mealy-Automaten, sehen Sie, ist es jetzt ein bisschen anders.

01:05:56.750 --> 01:05:59.710
Das heißt also, bei einem Mealy-Automaten oder Mealy-Schaltwerk haben

01:05:59.710 --> 01:06:01.610
wir jetzt noch einen Durchgriff.

01:06:01.610 --> 01:06:06.470
Das heißt, wir können jetzt von dem E, von dem Eingang E, direkt

01:06:06.470 --> 01:06:09.310
durchgreifen auf den Ausgang A.

01:06:09.910 --> 01:06:12.270
Und wir gehen aber trotzdem noch natürlich von Z durch.

01:06:12.630 --> 01:06:13.630
Und ich zeichne das mal ein.

01:06:15.050 --> 01:06:23.210
Das heißt also, Sie bekommen hier zwei Wirkungen auf das A und eben

01:06:23.210 --> 01:06:24.670
auch diesen entsprechenden Durchgriff.

01:06:25.150 --> 01:06:28.470
Und der Witz ist jetzt aber der, wir können diese beiden Automaten

01:06:28.470 --> 01:06:29.550
ineinander umrechnen.

01:06:29.550 --> 01:06:33.650
Wir sind also nicht komplett irgendwie disjunkt, sondern wir können

01:06:33.650 --> 01:06:35.470
diese beiden Automaten ineinander umrechnen.

01:06:37.270 --> 01:06:42.350
Aber für die eine oder andere Aufgabe mag es Sinn machen, dass man

01:06:42.350 --> 01:06:44.610
Mealy oder Moore verwendet.

01:06:47.170 --> 01:06:51.290
Also, ganz wichtig, wir sind ineinander umwandelbar.

01:06:52.450 --> 01:06:56.870
Und der Mealy-Automat benötigt typischerweise weniger Zustände als der

01:06:56.870 --> 01:06:58.690
Moore -Automat für die gleiche Funktionalität.

01:06:59.110 --> 01:07:01.190
Das ist okay, damit können wir ja leben.

01:07:02.330 --> 01:07:05.850
Und bei den Moore-Automaten haben wir eine Änderung nur nach einer

01:07:05.850 --> 01:07:07.930
Zustandsänderung am Ausgang, ganz klar.

01:07:09.170 --> 01:07:12.490
Und bei den Mealy-Automaten, da können wir ja direkt durch den

01:07:12.490 --> 01:07:15.670
Durchgriff, wir können ja mit dem Durchgriff direkt den Ausgang

01:07:15.670 --> 01:07:16.030
ändern.

01:07:17.470 --> 01:07:22.090
Deswegen kann der Ausgang sich sofort ändern und sogar vor dem neuen

01:07:22.090 --> 01:07:22.430
Takt.

01:07:23.250 --> 01:07:25.330
Und das ist etwas, was wir beachten müssen.

01:07:26.290 --> 01:07:28.790
Und dann kann ich jetzt eine alternative Darstellung finden für Moore

01:07:28.790 --> 01:07:29.350
und Mealy.

01:07:29.810 --> 01:07:34.770
Ich kann ja sagen, der Ausgang A, der könnte abhängig sein von Z neu,

01:07:35.450 --> 01:07:36.590
anstatt von Z.

01:07:36.830 --> 01:07:38.550
Das werden wir gleich sehen in den nächsten Bildern.

01:07:38.910 --> 01:07:43.110
Ich kann ja im Prinzip von Z oder von Z neu abhängig sein.

01:07:44.430 --> 01:07:47.090
Schauen wir uns das mal hier an, also beim Moore-Automaten.

01:07:48.830 --> 01:07:51.930
Die Ausgabebelegung ist also jetzt unabhängig von der Eingabebelegung,

01:07:52.010 --> 01:07:52.490
ganz klar.

01:07:53.010 --> 01:07:55.430
Das heißt, der Ausgang hängt nur ab vom Zustand.

01:07:56.250 --> 01:07:58.870
Anwendung, synchrone und asynchrone Schaltwerke, das werden wir noch

01:07:58.870 --> 01:07:59.110
sehen.

01:08:00.210 --> 01:08:06.630
Das heißt also, ich gehe von dem Z zum A, dann vom Z mit dem E zum Z

01:08:06.630 --> 01:08:10.350
neu und das wird sozusagen rekursiv durchgeführt.

01:08:11.450 --> 01:08:15.430
Bei Mealy-Automaten kann ich jetzt zwei verschiedene Dinge überlegen.

01:08:15.650 --> 01:08:19.150
Und wie gesagt, und dann nochmal diese Unterscheidung, die wir gerade

01:08:19.150 --> 01:08:19.870
diskutiert haben.

01:08:21.610 --> 01:08:25.090
Ausgabewerte, die können sich sofort mit der Änderung der Eingabewerte

01:08:25.090 --> 01:08:25.370
ändern.

01:08:25.530 --> 01:08:28.550
Das heißt, ich habe hier einen Eingabewert, der wirkt sofort auf Z neu

01:08:28.550 --> 01:08:31.030
und ich habe hier das Z, das wirkt auf Z neu.

01:08:31.130 --> 01:08:36.970
Das heißt, diese beiden wirken auf Z neu und beide wirken auch auf A.

01:08:37.770 --> 01:08:42.270
Was wir typischerweise machen, zunächst aus der neu anliegenden

01:08:42.270 --> 01:08:48.670
Eingabebelegung die Ausgabebelegung bilden und dann in den

01:08:48.670 --> 01:08:51.730
Folgezustand wechseln von Z nach Z neu.

01:08:52.130 --> 01:08:55.070
Und das könnte ich jetzt im Prinzip alternativ auch andersherum

01:08:55.070 --> 01:08:55.330
machen.

01:08:56.010 --> 01:08:59.370
Und das bleibt mir ja ungenommen, da kann ich ja verschiedene

01:08:59.370 --> 01:09:01.110
Schaltwerke definieren.

01:09:01.370 --> 01:09:03.290
Anwendung, synchrone Schaltwerke.

01:09:04.270 --> 01:09:05.590
Milliautomat zweiter Art.

01:09:06.350 --> 01:09:09.950
Wir gehen erst mit der neu anliegenden Eingabebelegung in den

01:09:09.950 --> 01:09:14.550
Folgezustand und dann mit der Eingabebelegung, die wir haben,

01:09:15.950 --> 01:09:17.550
bestimmen wir dann die Ausgabebelegung.

01:09:18.350 --> 01:09:21.790
Das kann man auch machen, zum Beispiel für asynchrone Schaltwerke.

01:09:22.050 --> 01:09:24.370
Da haben wir ein paar Dinge, die wir noch diskutieren werden.

01:09:25.070 --> 01:09:29.290
Wir werden also diese Automaten jetzt in Zukunft verwenden.

01:09:33.190 --> 01:09:33.690
Darstellungsmöglichkeiten.

01:09:35.410 --> 01:09:38.170
Vielleicht mal ganz allgemein.

01:09:38.870 --> 01:09:41.070
Ich glaube, so viel will ich auch heute gar nicht mehr machen.

01:09:41.730 --> 01:09:43.290
Wir sind jetzt schon ganz schön weit vorgedrungen.

01:09:43.730 --> 01:09:47.170
Wenn ich jetzt einen Automaten entwerfen möchte, dann habe ich erstmal

01:09:47.170 --> 01:09:48.970
so eine informale, globale Form.

01:09:49.450 --> 01:09:51.970
Ein Pflichtenheft, Pflichtenheft sagt Ihnen was.

01:09:52.330 --> 01:09:55.530
Wenn wir so ein Pflichtenheft oder Lastenheft haben und damit möchten

01:09:55.530 --> 01:09:59.050
wir so einen Automaten beschreiben.

01:09:59.050 --> 01:10:00.990
Das ist rein verbal.

01:10:01.250 --> 01:10:02.670
Was soll denn die Schaltung leisten?

01:10:03.470 --> 01:10:06.350
Weitere Pläne haben wir dann, Ablaufpläne, Technologiebeschreibung und

01:10:06.350 --> 01:10:06.730
so weiter.

01:10:07.590 --> 01:10:10.810
Und wenn wir jetzt so einen systematischen und rechnergestützten

01:10:10.810 --> 01:10:14.210
Entwurf durchführen möchten, dann brauchen wir natürlich irgendwann

01:10:14.210 --> 01:10:16.170
mal so eine formalisierte Beschreibung.

01:10:16.250 --> 01:10:18.590
Und diese formalisierte Beschreibung, die wollen wir jetzt

01:10:18.590 --> 01:10:20.770
entsprechend bekommen.

01:10:21.450 --> 01:10:23.730
Und zwar ein Beispiel.

01:10:23.730 --> 01:10:27.890
Aber wie gesagt, ich mache heute nicht mehr so viel dazu, nur ganz

01:10:27.890 --> 01:10:28.270
kurz.

01:10:29.390 --> 01:10:30.870
Ich glaube, es ist ein ganz interessantes Beispiel.

01:10:31.190 --> 01:10:36.410
Wir haben einen Automaten, der legt die Eingabebelegungen an zwei

01:10:36.410 --> 01:10:37.090
Ausgänge.

01:10:37.530 --> 01:10:39.210
Und zwar wechselseitig.

01:10:39.290 --> 01:10:43.890
Das heißt also, wir haben so einen Automaten und diese vier

01:10:43.890 --> 01:10:46.190
Möglichkeiten wollen wir an dem jetzt mal durch Xen.

01:10:46.810 --> 01:10:52.030
Wir haben ein Schaltwerk, das bekommt eine Impulsfolge am Eingang X.

01:10:52.790 --> 01:10:56.230
Und die Impulse sollen jetzt so abwechselnd hin- und hergeschaltet

01:10:56.230 --> 01:11:00.090
werden, dass sie an den Ausgängen Y0 und Y1 erscheinen.

01:11:00.550 --> 01:11:04.890
Und ich glaube, das ist ganz witzig und ist vor allem auch nicht so

01:11:04.890 --> 01:11:05.930
ganz klar, wie man das macht.

01:11:06.090 --> 01:11:10.830
Sie haben also eine Schaltung, einen Eingang, zwei Ausgänge und die

01:11:10.830 --> 01:11:13.210
Impulse sollen jetzt sozusagen immer hin- und hergeschaltet werden.

01:11:13.610 --> 01:11:15.510
Das ist glaube ich nicht so unmittelbar klar, wie man das macht.

01:11:16.230 --> 01:11:19.330
Also das heißt, das ist hier mal dargestellt.

01:11:20.430 --> 01:11:22.510
X kommt hier rein, also das wäre das X.

01:11:23.030 --> 01:11:27.350
Und das X bewegt sich jetzt hier, so eine Ruhlschifffolge.

01:11:27.930 --> 01:11:32.770
Und wir wollen praktisch den ersten Puls an Y0 legen, den zweiten Puls

01:11:32.770 --> 01:11:37.170
an Y1, den dritten Puls an Y0, den vierten Puls an Y1 und so weiter.

01:11:37.470 --> 01:11:41.750
Das heißt, es soll abwechselnd an die entsprechenden Ausgänge gelegt

01:11:41.750 --> 01:11:42.090
werden.

01:11:42.090 --> 01:11:44.290
Und das, glaube ich, ist nicht so trivial.

01:11:44.850 --> 01:11:47.250
Das ist ein schönes Beispiel, glaube ich, dass man da mal sieht, wie

01:11:47.250 --> 01:11:48.290
man den vorgehen kann.

01:11:49.010 --> 01:11:53.170
Aber ich hoffe, dass Sie jetzt noch nicht wüssten, wie man das

01:11:53.170 --> 01:11:53.670
eigentlich macht.

01:11:57.090 --> 01:11:59.710
Und jetzt haben wir also vier verschiedene Zeitintervalle, die wollen

01:11:59.710 --> 01:12:01.090
wir jetzt mal diskutieren.

01:12:01.370 --> 01:12:07.130
Ist klar, X ist 0 oder 1 und wir wollen jetzt die entsprechenden 0-

01:12:07.130 --> 01:12:09.150
oder 1-Werte betrachten.

01:12:09.150 --> 01:12:17.710
Das wäre, wenn wir hier eine 0 haben, das wäre dann also dann Ausgabe

01:12:17.710 --> 01:12:19.770
von Y0, Y1 gleich 0, 0.

01:12:20.570 --> 01:12:26.790
Und wir warten jetzt auf X gleich 1, um die entsprechende Ausgabe am

01:12:26.790 --> 01:12:28.450
Ausgang Y0 zu machen.

01:12:28.990 --> 01:12:32.930
Wir wollen ja dann hier den nächsten Impuls darstellen.

01:12:35.130 --> 01:12:37.830
Hier genau das gleiche, Z2.

01:12:38.550 --> 01:12:42.410
Wir geben also 1, 0 aus und warten auf X gleich 0.

01:12:42.910 --> 01:12:46.310
Also X gleich 0 wäre sozusagen der nächste Wert, bei dem wir wieder

01:12:46.310 --> 01:12:47.210
umschalten werden.

01:12:48.930 --> 01:12:52.570
Dann hier Ausgabe von Y0, Y1 gleich 0, 0.

01:12:52.770 --> 01:12:54.650
Wir warten jetzt auf X gleich 1.

01:12:54.650 --> 01:13:04.210
Und dann natürlich, wir wollen Y0, Y1 gleich 0, 1 ausgeben und warten

01:13:04.210 --> 01:13:06.570
jetzt hier wieder auf die 0.

01:13:06.830 --> 01:13:10.350
Das heißt also, wir sind entweder in der 0, warten auf 1, sind in der

01:13:10.350 --> 01:13:12.250
1 oder warten auf 0 und so weiter.

01:13:12.370 --> 01:13:16.150
Das heißt, damit wollen wir die entsprechenden Ausgaben definieren.

01:13:18.970 --> 01:13:22.790
Wir können jetzt eine Überführungsfunktion darstellen und eine

01:13:22.790 --> 01:13:23.150
Ausgabefunktion.

01:13:25.690 --> 01:13:30.610
Wir können jetzt überlegen, wenn wir dieses Bildchen hier haben, und

01:13:30.610 --> 01:13:32.270
das ist glaube ich das letzte, was ich heute mache, da sind wir auch

01:13:32.270 --> 01:13:32.530
durch.

01:13:33.170 --> 01:13:38.010
Wir können jetzt sagen, wenn wir im Zustand Z1 sind und X gleich 0

01:13:38.010 --> 01:13:39.910
ist, dann bleiben wir im Zustand Z1.

01:13:40.510 --> 01:13:41.770
Eben 0, 0 aus.

01:13:43.850 --> 01:13:47.650
Z1, X gleich 1 geben wir in Zustand Z2 und so weiter.

01:13:48.250 --> 01:13:50.830
Das heißt, wir können uns das jetzt hier mal so durchtickern.

01:13:51.570 --> 01:13:54.490
Das heißt, jedes Mal, wenn wir in einem bestimmten Zustand sind, hier

01:13:54.490 --> 01:13:58.430
unten farbig gekennzeichnet, dann springen wir in den entsprechenden

01:13:58.430 --> 01:14:01.830
anderen Zustand, wenn sich das X ändert.

01:14:02.590 --> 01:14:03.690
Ich hoffe, das ist klar.

01:14:04.330 --> 01:14:08.690
Und das kann ich jetzt so darstellen oder, und das ist die letzte

01:14:08.690 --> 01:14:14.210
Folie, wir können das jetzt auch nochmal in einer anderen Darstellung

01:14:14.210 --> 01:14:14.730
darstellen.

01:14:15.010 --> 01:14:18.750
Wir können nämlich jetzt sagen, wenn ich von ZK nach ZK plus 1

01:14:18.750 --> 01:14:21.670
springe, dann kann ich mir jetzt auch meine Zustände darstellen.

01:14:22.230 --> 01:14:24.110
Und wohin springe ich denn jetzt?

01:14:24.230 --> 01:14:25.410
Jetzt haben wir ja das Bild gehabt.

01:14:25.950 --> 01:14:27.170
Wohin springe ich denn jetzt?

01:14:28.430 --> 01:14:30.890
Von Z1 nach Z1, wenn X gleich 0 ist.

01:14:31.150 --> 01:14:32.430
Sonst nach Z2.

01:14:33.570 --> 01:14:35.730
Von Z2 nach Z3, wenn X gleich 0 ist.

01:14:36.470 --> 01:14:38.790
Oder nach Z2, dann bleibe ich in Z2 und so weiter.

01:14:38.910 --> 01:14:41.370
Das heißt, das können wir jetzt, glaube ich, ziemlich schnell sehen

01:14:41.370 --> 01:14:42.410
und dann die entsprechende Ausgabe.

01:14:43.270 --> 01:14:44.610
Das wäre jetzt ein Moore-Automat.

01:14:44.610 --> 01:14:50.110
Beim Mili-Automaten habe ich natürlich jetzt jeweils die Ausgabe in

01:14:50.110 --> 01:14:50.930
jedem Zustand.

01:14:52.550 --> 01:14:56.850
Und dann ist das so, dass ich sage, wenn ich in Z1 bin, bei X gleich

01:14:56.850 --> 01:15:00.290
0, gehe ich nach Z1, glaube hier, gebe aber dann 0,0 aus.

01:15:00.650 --> 01:15:03.950
Hier beim Moore-Automaten war das ja eine separate Ausgabe.

01:15:04.710 --> 01:15:08.750
Und wenn ich in Z1 bin, habe ich X gleich 1, gehe ich nach Z2, genau

01:15:08.750 --> 01:15:11.410
wie hier, gebe dann 1,0 aus und so weiter.

01:15:12.130 --> 01:15:17.870
Das heißt, das wäre jetzt das, was der entsprechende Mili-Automat

01:15:17.870 --> 01:15:18.670
liefern würde.

01:15:20.410 --> 01:15:21.770
Gibt es Fragen soweit?

01:15:24.270 --> 01:15:28.070
Also das wäre jetzt ein sehr simples Beispiel, aber ich glaube eben

01:15:28.070 --> 01:15:31.070
ein nicht triviales Beispiel, sodass man dabei auch noch was lernen

01:15:31.070 --> 01:15:31.370
kann.

01:15:31.850 --> 01:15:36.890
Dass man also sagt, wie kann ich eine Eingangsfolge verteilen auf zwei

01:15:36.890 --> 01:15:37.790
Ausgänge.

01:15:39.230 --> 01:15:40.850
Und hiermit würde ich jetzt auch Schluss machen.

01:15:42.410 --> 01:15:44.570
Und dann sehen wir uns, ich glaube am nächsten Dienstag ist Übung,

01:15:44.850 --> 01:15:47.230
dann sehen wir uns am nächsten Donnerstag.

01:15:47.710 --> 01:15:48.750
Also, vielen Dank.

01:15:49.110 --> 01:15:49.350
Tschüss.

