@@ -6,9 +6,7 @@ version: 0.0.6
66language: de
77narrator: Deutsch Female
88
9- import: https://raw.githubusercontent.com/liaTemplates/AVR8js/main/README.md
10- https://raw.githubusercontent.com/LiaTemplates/DigiSim/master/README.md
11- https://github.com/LiaTemplates/Pyodide
9+ import: https://raw.githubusercontent.com/LiaTemplates/DigiSim/master/README.md
1210 https://raw.githubusercontent.com/liascript-templates/plantUML/master/README.md
1311
1412mark: <span style="background-color: @0;
@@ -171,9 +169,46 @@ __Invertierte Wahrheitstafel__ zeigt die Eingaben, die notwendig sind, um eine b
171169 {{1-3}}
172170*******************************************************************************
173171
174- > ** Aufgabe:** Stellen Sie die invertierten Wahrheitstafeln für den flankengesteuerten JK- und den flankengesteuerten D-Flip-Flop auf!
172+ > ** Aufgabe:** Stellen Sie die invertierten Wahrheitstafeln für ein D-Flip-Flop auf!
175173
176174
175+ __ D-Wahrheitstafel__
176+
177+ <!-- data-type="none" style="table-layout: fixed; max-width:480px;"-->
178+ | $D(t)$ | $Q(t+1)$ | Modus |
179+ | ------ | -------- | ------- |
180+ | 0 | $0$ | Löschen |
181+ | 1 | $1$ | Setzen |
182+
183+ __ D-Invertierte Wahrheitstafel__
184+
185+
186+ *******************************************************************************
187+
188+ {{1-2}}
189+ <!-- data-type="none" style="table-layout: fixed; max-width:460px;"-->
190+ | $Q(t)$ | $Q(t+1)$ | $D$ |
191+ | ------ | -------- | --- |
192+ | $0$ | $0$ | |
193+ | $0$ | $1$ | |
194+ | $1$ | $0$ | |
195+ | $1$ | $1$ | |
196+
197+
198+ {{2-3}}
199+ <!-- data-type="none" style="table-layout: fixed; max-width:460px;"-->
200+ | $Q(t)$ | $Q(t+1)$ | $D$ |
201+ | ------ | -------- | --- |
202+ | $0$ | $0$ | $0$ |
203+ | $0$ | $1$ | $1$ |
204+ | $1$ | $0$ | $0$ |
205+ | $1$ | $1$ | $1$ |
206+
207+ {{3-5}}
208+ *******************************************************************************
209+
210+ > ** Aufgabe:** ... und noch mal!
211+
177212__ JK-Wahrheitstafel__
178213
179214<!-- data-type="none" style="table-layout: fixed; max-width:540px;"-->
@@ -189,7 +224,7 @@ __JK-Invertierte Wahrheitstafel__
189224
190225*******************************************************************************
191226
192- {{1-2 }}
227+ {{3-4 }}
193228<!-- data-type="none" style="table-layout: fixed; max-width:460px;"-->
194229| $Q(t)$ | $Q(t+1)$ | $J$ | $K$ |
195230| ------ | -------- | --- | --- |
@@ -198,8 +233,7 @@ __JK-Invertierte Wahrheitstafel__
198233| $1$ | $0$ | | |
199234| $1$ | $1$ | | |
200235
201-
202- {{2-3}}
236+ {{4}}
203237<!-- data-type="none" style="table-layout: fixed; max-width:460px;"-->
204238| $Q(t)$ | $Q(t+1)$ | $J$ | $K$ |
205239| ------ | -------- | --- | --- |
@@ -209,44 +243,11 @@ __JK-Invertierte Wahrheitstafel__
209243| 1 | 1 | d | $0$ |
210244
211245
212- {{3-5}}
213- *******************************************************************************
214-
215- > ** Aufgabe:** ... und noch mal!
216-
217- __ D-Wahrheitstafel__
218-
219- <!-- data-type="none" style="table-layout: fixed; max-width:480px;"-->
220- | $D(t)$ | $Q(t+1)$ | Modus |
221- | ------ | -------- | ------- |
222- | 0 | $0$ | Löschen |
223- | 1 | $1$ | Setzen |
224-
225- __ D-Invertierte Wahrheitstafel__
246+ ### Grundkonzept
226247
248+ {{0-1}}
227249*******************************************************************************
228250
229- {{3-4}}
230- <!-- data-type="none" style="table-layout: fixed; max-width:460px;"-->
231- | $Q(t)$ | $Q(t+1)$ | $D$ |
232- | ------ | -------- | --- |
233- | $0$ | $0$ | |
234- | $0$ | $1$ | |
235- | $1$ | $0$ | |
236- | $1$ | $1$ | |
237-
238- {{4}}
239- <!-- data-type="none" style="table-layout: fixed; max-width:460px;"-->
240- | $Q(t)$ | $Q(t+1)$ | $D$ |
241- | ------ | -------- | --- |
242- | $0$ | $0$ | $0$ |
243- | $0$ | $1$ | $1$ |
244- | $1$ | $0$ | $0$ |
245- | $1$ | $1$ | $1$ |
246-
247-
248- ### Grundkonzept
249-
250251Wie kann man systematisch ein synchrones Schaltwerk ausgehend von
251252der Problembeschreibung entwerfen ?
252253
@@ -264,32 +265,17 @@ Mathematisch kann ein Deterministischer Endlicher Automat als Tupel $A = (Q, \Si
264265+ $q\in Q$ ist der Startzustand (auch Anfangszustand oder Initalzustand).
265266+ $F\subseteq Q$ ist die Menge der akzeptierenden Zustände, die sogenannten Finalzustände (oder Endzustände).
266267
267- Beispiele:
268-
269- __ Zustand einer Tür__
270268
271- Darstellung als Graph
269+ *******************************************************************************
272270
273- ``` text @plantUML
274- @startuml
275- digraph finite_state_machine {
276- rankdir=LR;
271+ {{1-2}}
272+ *******************************************************************************
277273
278- node [shape = point ]; qi
279- node[shape=circle]
280- A[label="zu"];
281- B[label="auf"];
274+ > Beispiel I: __ Zustand einer Tür__
282275
283- qi -> A;
284- A -> A [ label = "schließen" ];
285- A -> B [ label = "öffnen" ];
286- B -> B [ label = "öffnen" ];
287- B -> A [ label = "schließen" ];
288- }
289- @enduml
290- ```
291- @plantUML
276+ Darstellung als Graph
292277
278+ ![ StateMaschine] ( https://www.plantuml.com/plantuml/png/ZOqnJiGm44NxdEBBFITO6MrIKz565ZBs68zmPhEEtO0u2xVW0haOmH4eLD2CzDz_cdzUYisbJgdp_9Jj715OkD33nhSxMHTP2AyT06Ghpvwplhi_jImNJnYNQ6U2ndnXAJ0dNFcdtKljEBj4fk5-JFQHabOlLPdzp_2DR0rVhC4hu-OM_MxqQ04OqLHegCN5nBI-aoYOepRyqjQF4EJW3Fzn_fvxwyualaxf4m00 )
293279
294280Darstellung in einer Übergangstabelle
295281
@@ -298,37 +284,22 @@ Darstellung in einer Übergangstabelle
298284| Zustand offen | offen (unverändert) | geschlossen |
299285| Zustand geschlossen | offen | geschlossen (unverändert) |
300286
301- __ Codeschloss für die Erfassung der Sequenzfolge ` 7022 ` __
302287
288+ *******************************************************************************
303289
304- ``` text @plantUML
305- @startuml
306- digraph finite_state_machine {
307- node [shape = point ]; qi
308- node[shape=Mrecord]
309- A[label="{A|geschlossen}"];
310- B[label="{B|geschlossen}"];
311- C[label="{C|geschlossen}"];
312- D[label="{D|geschlossen}"];
313- E[label="{E|geöffnet}"];
290+ {{2-4}}
291+ *******************************************************************************
314292
315- qi -> A;
316- A -> A [ label = "E != 7" ];
317- A -> B [ label = "E == 7" ];
318- B -> A [ label = "E != 0" ];
319- B -> C [ label = "E == 0" ];
320- C -> D [ label = "E == 2" ];
321- C -> A [ label = "E != 2" ];
322- D -> E [ label = "E == 2" ];
323- D -> A [ label = "E != 2" ];
324- E -> A [ label = "" ];
325- }
326- @enduml
327- ```
328- @plantUML
293+
294+ > Beispiel II: __ Codeschloss für die Erfassung der Sequenzfolge ` 7022 ` __
295+
296+ ![ StateMaschine] ( https://www.plantuml.com/plantuml/png/XSqnReCm5CRnFQVuobwfwj8XSXN07di2X2eN7i6ICGGxKvfhzGAzMD6Bv4J4RHSatk_Fnyu7FOVZO3UjsSzwwj4PPmAzB_VbEUYcDuvmsW206rj2vNiz4GIcqRY0Uek3YNf1yJPJCyvjpVUyilg3hCXE-UUUVDFRqNjovwpUiXVHYwINqSkao-WowIgwMlpxg-iS1LRcWy7ZA_9BcuDVW0hy4GGoXGU1bmprRLAi4d6R5B-jFAsIydxbcfISoFlaUPKaVdHD92VghnNv_ufA98pdpOvSUnpi3m00 )
329297
330298Welche Beschränkungen sehen Sie in diesem Entwurf? Was passiert bei der Sequenzfolge ` 707022 ` ?
331299
300+ *******************************************************************************
301+
302+ {{3}}
332303> ** Wie realisieren wir nun aber das theoretische Modell des endlichen Automaten mit realen Bauteilen?**
333304
334305### Beispiel
@@ -354,7 +325,7 @@ Y | | 1 1 | 0
354325```
355326
356327
357- ``` text @plantUML
328+ ``` text @plantUML.png
358329@startuml
359330digraph finite_state_machine {
360331 rankdir=LR;
@@ -378,7 +349,6 @@ digraph finite_state_machine {
378349}
379350@enduml
380351```
381- @plantUML
382352
383353- Zustand ` A ` : die letzte Eingabe war keine ` 1 ` (` 0 ` oder Start)
384354- Zustand ` B ` : die letzte Eingabe war ` 1 ` , die davor war nicht ` 1 `
@@ -408,7 +378,7 @@ Für unsere digitalen Bauteile müssen wir diese Zustände aber mit `1` und `0`
408378<!-- data-type="none" style="table-layout: fixed; max-width:560px;"-->
409379| Zustände | Flip-Flops | Mögliche Zustände | Ungenutzte Zustände |
410380| -------- | ---------- | ----------------- | ------------------- |
411- | 1 | 0 | 1 | 0 |
381+ | 1 | - | - | - |
412382| 2 | 1 | 2 | 0 |
413383| 3 | 2 | 4 | 1 |
414384| 4 | 2 | 4 | 0 |
@@ -455,7 +425,7 @@ Um die entsprechende Schaltfunktionen für die Änderung der Zustände und die A
455425
456426Zustandstabelle
457427
458- <!-- data-type="none" style="table-layout: fixed; max-width:320px ;"-->
428+ <!-- data-type="none" style="table-layout: fixed; max-width:350px ;"-->
459429| F | G | E | F' | G' |
460430| --- | --- | --- | ------------------------------------- | ------------------------------------- |
461431| 0 | 0 | 0 | 0 | 0 |
@@ -522,7 +492,7 @@ style="width: 80%; min-width: 420px; max-width: 720px;"
522492 .
523493```
524494
525- ``` text @plantUML
495+ ``` text @plantUML.png
526496@startuml
527497digraph finite_state_machine {
528498 rankdir=LR;
@@ -546,7 +516,6 @@ digraph finite_state_machine {
546516}
547517@enduml
548518```
549- @plantUML
550519
551520> ** Die Ausgabelogik bestimmt Ausgabe Y hängt nur vom aktuellen Zustand ab.**
552521
@@ -570,7 +539,7 @@ style="width: 80%; min-width: 420px; max-width: 720px;"
570539 .
571540```
572541
573- ``` text @plantUML
542+ ``` text @plantUML.png
574543@startuml
575544digraph finite_state_machine {
576545 rankdir=LR;
@@ -593,10 +562,8 @@ digraph finite_state_machine {
593562 D -> D [ label = "E=1 \n A=1", fontcolor=blue ];
594563 D -> A [ label = "E=0 \n A=0", fontcolor=green];
595564}
596-
597565@enduml
598566```
599- @plantUML
600567
601568> ** Die Ausgabe Y hängt jedoch die Ausgabelogik vom aktuellen Zustand und vom Eingabesignal E ab**
602569
@@ -610,7 +577,7 @@ Der Mealy-Automat ist die generellere Form. Der Moore-Automat unterbindet den Ei
610577
611578Noch mal zurück zum Beispiel des Binärsequenzdetektors. Welche Konsequenzen hätte die Umsetzung als Mealy-Automat?
612579
613- ``` text @plantUML
580+ ``` text @plantUML.png
614581@startuml
615582digraph finite_state_machine {
616583 rankdir=LR;
@@ -633,14 +600,10 @@ digraph finite_state_machine {
633600 D -> D [ label = "E=1 \n A=1", fontcolor=blue ];
634601 D -> A [ label = "E=0 \n A=0", fontcolor=green];
635602}
636-
637603@enduml
638604```
639605
640-
641-
642-
643- ``` text @plantUML
606+ ``` text @plantUML.png
644607@startuml
645608digraph finite_state_machine {
646609 rankdir=LR;
@@ -659,12 +622,9 @@ digraph finite_state_machine {
659622 C1 -> A1 [ label = "E=0 \n A=0", fontcolor=green ];
660623 C1 -> C1 [ label = "E=1 \n A=1", fontcolor=blue ];
661624}
662-
663625@enduml
664626```
665627
666-
667-
668628Zustandstabelle
669629
670630<!-- data-type="none" style="table-layout: fixed; max-width:780px;"-->
@@ -950,7 +910,7 @@ style="width: 80%; min-width: 420px; max-width: 720px;"
950910
951911Für die Aufgabe ergibt sich folgender Graph:
952912
953- ``` text @plantUML
913+ ``` text @plantUML.png
954914@startuml
955915digraph finite_state_machine {
956916 rankdir=LR;
@@ -971,15 +931,15 @@ digraph finite_state_machine {
971931}
972932@enduml
973933```
974- @plantUML
975934
976935Im Beispiel liegt ein Medwedew-Automat vor. Die Zustände werden direkt auf den Ausgang abgebildet.
977936
978937** 2. Schritt: Erstellen der Zustandstabelle**
979938
980939Hier wäre eine Zustandstabelle denkbar, die alle Eingangskombinationen mit allen Zuständen zeilenweise verknüpft.
981940
982- | aktueller Zustand | A | B | Folgezustand |
941+ <!-- data-type="none" style="table-layout: fixed; max-width:460px;"-->
942+ | aktueller Zustand | A | B | Folge-zustand |
983943| ----------------- | --- | --- | ------------ |
984944| E | 0 | 0 | E |
985945| E | 0 | 1 | L |
@@ -998,14 +958,16 @@ Eine kompaktere Darstellung fasst die Kombinationen der Eingänge zusammen und o
998958
999959Insgesamt sind 3 Zustände zu kodieren, entsprechend werden wiederum 2 Flip-Flops benötigt. Dabei wird die Kodierung wie folgt vorgenommen:
1000960
961+ <!-- data-type="none" style="table-layout: fixed; max-width:460px;"-->
1001962| Zustand | F | G |
1002963| ------- | --- | --- |
1003964| E | 0 | 0 |
1004965| G | 0 | 1 |
1005966| L | 1 | 0 |
1006967
1007- Damit ergibt sich folgende Binäre Zustandstabelle
968+ Damit ergibt sich folgende binäre Zustandstabelle
1008969
970+ <!-- data-type="none" style="table-layout: fixed; max-width:620px;"-->
1009971| aktueller Zustand | AB==00 | AB==01 | AB==10 | AB==11 |
1010972| ----------------- | ------ | ------ | ------ | ------ |
1011973| 00 | 00 | 10 | 01 | 00 |
@@ -1014,6 +976,7 @@ Damit ergibt sich folgende Binäre Zustandstabelle
1014976
1015977In der traditionellen Darstellung zeigt sich diese wie folgt:
1016978
979+ <!-- data-type="none" style="table-layout: fixed; max-width:460px;"-->
1017980| $F_ {t}$ | $G_ {t}$ | $A_ {t}$ | $B_ {t}$ | @gray ($F_ {t+1}$) | @gray ($G_ {t+1}$) |
1018981| ------- | ------- | ------- | ------- | ---------------- | ---------------- |
1019982| 0 | 0 | 0 | 0 | @gray (0) | @gray (0) |
@@ -1037,6 +1000,7 @@ In der traditionellen Darstellung zeigt sich diese wie folgt:
10371000
10381001Wir entscheiden uns für einen D Flip-Flop für die Realisierung. Die entsprechende invertierte Wahrheitstafel haben Sie zwischenzeitlich im Kopf:
10391002
1003+ <!-- data-type="none" style="table-layout: fixed; max-width:460px;"-->
10401004| $Q(t)$ | $Q(t+1)$ | $D$ |
10411005| ------ | -------- | --- |
10421006| $0$ | $0$ | $0$ |
@@ -1046,6 +1010,7 @@ Wir entscheiden uns für einen D Flip-Flop für die Realisierung. Die entspreche
10461010
10471011Damit lässt sich die Zustandsübergangstabelle entsprechend einfach um die zugehörige Eingangsbelegung ergänzen. Für die D-Flip-Flops ist dies einfach eine Kopie der Zustandsspalten.
10481012
1013+ <!-- data-type="none" style="table-layout: fixed; max-width:460px;"-->
10491014| $F_ {t}$ | $G_ {t}$ | $A_ {t}$ | $B_ {t}$ | @gray ($F_ {t+1}$) | @gray ($G_ {t+1}$) | $DF$ | $DG$ |
10501015| ------- | ------- | ------- | ------- | ---------------- | ---------------- | ------- | -------- |
10511016| 0 | 0 | 0 | 0 | @gray (0) | @gray (0) | 0 | 0 |
0 commit comments