From ade0e421a7ba1db17012fd1dade34646a7dbab21 Mon Sep 17 00:00:00 2001
From: Roger Wolf <roger.wolf@kit.edu>
Date: Tue, 22 Oct 2024 10:49:23 +0200
Subject: [PATCH] rework of exercise sheet

---
 Schaltlogik/Schaltlogik.ipynb | 427 +++++++++++++---------------------
 1 file changed, 165 insertions(+), 262 deletions(-)

diff --git a/Schaltlogik/Schaltlogik.ipynb b/Schaltlogik/Schaltlogik.ipynb
index df90166..8f6f359 100644
--- a/Schaltlogik/Schaltlogik.ipynb
+++ b/Schaltlogik/Schaltlogik.ipynb
@@ -3,15 +3,17 @@
   {
    "cell_type": "markdown",
    "id": "885c7767-e912-4e31-b5d6-3a3443ffa58e",
-   "metadata": {},
+   "metadata": {
+    "jp-MarkdownHeadingCollapsed": true
+   },
    "source": [
     "# Fakultät für Physik\n",
     "\n",
     "## Physikalisches Praktikum P1 für Studierende der Physik\n",
     "\n",
-    "Versuch P1-63, 64, 65 (Stand: Oktober 2023)\n",
+    "Versuch P1-51, 52, 53 (Stand: **Oktober 2024**)\n",
     "\n",
-    "[Raum F1-08](https://labs.physik.kit.edu/img/Praktikum/Lageplan_P1.png)\n",
+    "[Raum F1-08](https://labs.physik.kit.edu/img/Klassische-Praktika/Lageplan_P1P2.png)\n",
     "\n",
     "\n",
     "\n",
@@ -20,7 +22,7 @@
   },
   {
    "cell_type": "markdown",
-   "id": "02723acd-b4da-43cb-8534-d52f27e5e556",
+   "id": "a5158bf7-76c7-4e89-a93a-456426bca270",
    "metadata": {},
    "source": [
     "Name: __________________ Vorname: __________________ E-Mail: __________________\n",
@@ -68,12 +70,12 @@
   },
   {
    "cell_type": "markdown",
-   "id": "bd1ced8c-5364-400f-b2ab-cd86a81d5eda",
+   "id": "3d603ffb-970b-4f4b-896b-16327ffbe91b",
    "metadata": {},
    "source": [
     "---\n",
     "\n",
-    "**Beanstandungen:**\n",
+    "**Beanstandungen zu Protokoll Version _____:**\n",
     "\n",
     "\\begin{equation*}\n",
     "\\begin{split}\n",
@@ -97,265 +99,247 @@
   },
   {
    "cell_type": "markdown",
-   "id": "305b8433-7bc6-4a3c-b0e6-fa5c8955849a",
-   "metadata": {},
+   "id": "88038e94-cbb5-4df8-860e-44a71d9bdfe5",
+   "metadata": {
+    "jp-MarkdownHeadingCollapsed": true
+   },
    "source": [
-    "# Durchführung\n",
-    "\n",
-    "Dieser Praktikumsversuch ist so gegliedert, dass die einzelnen Aufgabenteile eine logische Folge bilden. Auch ohne Vorkenntnisse erhalten Sie so wertvolle Einblicke in die Grundlagen der Digitaltechnik. Es genügt, wenn Sie etwa zwei Drittel der vorgeschlagenen Aufgaben bearbeiten. Treffen Sie Ihre Auswahl je nach Vorkenntnissen und Interesse. Die mit **(*)** gekennzeichneten **Aufgaben 3.1** und **3.2**, **4**, **5.1** und **6.1 sollten jedoch auf jeden Fall bearbeitet werden**. \n",
-    "\n",
-    "## Aufgabe 1: Gatter aus diskreten Bauelementen \n",
-    "\n",
-    "Bei dieser Aufgabe lernen Sie einfachste Grundschaltungen der Schaltlogik kennen.\n",
-    "\n",
-    "### Aufgabe 1.1: Das AND-Gatter \n",
-    "\n",
-    "Bauen Sie ein Dioden-AND-Gatter auf und prüfen Sie seine Funktion.\n",
-    "\n",
-    "---"
+    "# Durchführung"
    ]
   },
   {
    "cell_type": "markdown",
-   "id": "375bc285-33cc-43cc-bf8f-9247c1431ae4",
-   "metadata": {},
+   "id": "387c78c9-606e-4201-b2be-5ed4fe1d249f",
+   "metadata": {
+    "jp-MarkdownHeadingCollapsed": true
+   },
    "source": [
-    "**Lösung:**\n",
-    "\n",
-    "*Sie können Ihr Protokoll direkt in dieses Dokument einfügen. Wenn Sie dieses Dokument als Grundlage für ein [Jupyter notebook](https://jupyter.org/) verwenden wollen können Sie die Auswertung, Skripte und ggf. bildliche Darstellungen mit Hilfe von [python](https://www.python.org/) ebenfalls hier einfügen. Löschen Sie hierzu diesen kursiv gestellten Text aus dem Dokument.* \n",
+    "## Aufgabe 1: Gatter auf dem Steckbrett\n",
     "\n",
-    "---"
+    "Die folgenden logischen Schaltungen stecken Sie mit Hilfe von diskreten Bauelementen und Kabeln **auf einer Experimentiertafel**."
    ]
   },
   {
    "cell_type": "markdown",
-   "id": "20887c3e-9c2e-4cf2-918e-c6091ec8f900",
-   "metadata": {},
+   "id": "aadff87b-99c4-40d6-b9a9-3da7282e3e16",
+   "metadata": {
+    "jp-MarkdownHeadingCollapsed": true
+   },
    "source": [
-    "### Aufgabe 1.2: NOT- und NAND-Gatter \n",
+    "### Aufgabe 1.1: AND-Gatter \n",
     "\n",
-    "Bauen Sie zusätzlich zum AND-Gatter ein Transistor-NOT-Gatter auf und bilden Sie durch Hintereinanderschalten ein NAND-Gatter. Prüfen Sie seine Funktion.\n",
+    " * Implementieren Sie ein **Dioden-AND-Gatter**.\n",
+    " * Vergewissern Sie sich von dessen Funktion.\n",
     "\n",
     "---"
    ]
   },
   {
    "cell_type": "markdown",
-   "id": "4ff10d07-87d1-4a2a-a7ef-a7014dc727b6",
+   "id": "666ab655-a0f0-4123-82b1-c948cc5c1ba7",
    "metadata": {},
    "source": [
-    "**Lösung:**\n",
+    "**D I S K U S S I O N**\n",
     "\n",
-    "*Sie können Ihr Protokoll direkt in dieses Dokument einfügen. Wenn Sie dieses Dokument als Grundlage für ein [Jupyter notebook](https://jupyter.org/) verwenden wollen können Sie die Auswertung, Skripte und ggf. bildliche Darstellungen mit Hilfe von [python](https://www.python.org/) ebenfalls hier einfügen. Löschen Sie hierzu diesen kursiv gestellten Text aus dem Dokument.* \n",
+    "*Fügen Sie eine abschließende Diskussion und Bewertung Ihrer Lösung hier ein. Löschen Sie hierzu diesen kursiv gestellten Text aus dem Dokument.* \n",
     "\n",
     "---"
    ]
   },
   {
    "cell_type": "markdown",
-   "id": "97b7053b-f7c8-471f-bd76-01bb183198e0",
-   "metadata": {},
+   "id": "20887c3e-9c2e-4cf2-918e-c6091ec8f900",
+   "metadata": {
+    "jp-MarkdownHeadingCollapsed": true
+   },
    "source": [
-    "### Aufgabe 1.3: OR-Gatter \n",
+    "### Aufgabe 1.2: NOT- und NAND-Gatter\n",
     "\n",
-    "Bauen Sie ein Dioden-OR-Gatter auf und prüfen Sie seine Funktion.\n",
+    " * Implementieren Sie zusätzlich zum AND-Gatter ein **Transistor-NOT-Gatter**.\n",
+    " * Bilden Sie durch Hintereinanderschalten ein NAND-Gatter.\n",
+    " * Vergewissern Sie sich von dessen Funktion.\n",
     "\n",
     "---"
    ]
   },
   {
    "cell_type": "markdown",
-   "id": "c81ae931-21c9-4eff-bb7b-259cf64b3c5e",
+   "id": "483a0f6b-44a4-4266-a5ac-d1e798e3162c",
    "metadata": {},
    "source": [
-    "**Lösung:**\n",
+    "**D I S K U S S I O N**\n",
     "\n",
-    "*Sie können Ihr Protokoll direkt in dieses Dokument einfügen. Wenn Sie dieses Dokument als Grundlage für ein [Jupyter notebook](https://jupyter.org/) verwenden wollen können Sie die Auswertung, Skripte und ggf. bildliche Darstellungen mit Hilfe von [python](https://www.python.org/) ebenfalls hier einfügen. Löschen Sie hierzu diesen kursiv gestellten Text aus dem Dokument.* \n",
+    "*Fügen Sie eine abschließende Diskussion und Bewertung Ihrer Lösung hier ein. Löschen Sie hierzu diesen kursiv gestellten Text aus dem Dokument.* \n",
     "\n",
     "---"
    ]
   },
   {
    "cell_type": "markdown",
-   "id": "66f60b58-6aac-4a8b-bb6a-adad17f3c95a",
-   "metadata": {},
+   "id": "97b7053b-f7c8-471f-bd76-01bb183198e0",
+   "metadata": {
+    "jp-MarkdownHeadingCollapsed": true
+   },
    "source": [
-    "## Aufgabe 2: Weitere einfache logische Funktionen (Gatter)\n",
-    "\n",
-    "Die folgenden Gatter sollen Sie als *Integrated Circuits* (ICs) mit Hilfe einer Experimentiertafel (von Fischer TB05) realisieren. Vergessen Sie nicht, die ICs an die Betriebsspannung ($+5\\,\\mathrm{V}$ und $\\perp$) anzuschließen. Bei allen verwendeten IC-Typen wirken freie Eingänge so, als seien sie an das Potential 'Logisch 1' angeschlossen (sprich 'auf 1 gelegt'). Die bei den Teilaufgaben in eckigen Klammern angegebenen Zahlen bezeichnen die vorgeschlagenen IC-Typ-Nummern.\n",
-    "\n",
-    "### Aufgabe 2.1: Inverter (NOT-Gatter) aus NAND- oder NOR-Gatter [7400, 7402]\n",
+    "### Aufgabe 1.3: OR-Gatter \n",
     "\n",
-    "Realisieren Sie einen digitalen Inverter (NOT-Gatter) aus einem NAND- oder einem NOR-Gatter. Betrachten Sie hierzu die Wahrheitstabellen der Gatter. Es gibt für beide Gatter jeweils zwei verschiedene Möglichkeiten, einen Inverter zu realisieren. Das Invertieren einer Dualziffer (der wechselseitige Austausch von 0 und 1) wird auch als 'Negieren' bezeichnet. Dies sollte nicht mit der negativen Zahl (vgl. **Aufgabe 3.3**) verwechselt werden. Das Invertieren aller Ziffern einer Dualzahl wird auch als 'Komplementieren' bezeichnet.\n",
+    " * Implementieren Sie ein **Dioden-OR-Gatter**.\n",
+    " * Vergewissern Sie sich von dessen Funktion.\n",
     "\n",
     "---"
    ]
   },
   {
    "cell_type": "markdown",
-   "id": "150973f7-01c7-40e7-b99a-8ccd437ea3c5",
+   "id": "ce9b1e1a-0771-4cec-a26b-e5f302f0fba3",
    "metadata": {},
    "source": [
-    "**Lösung:**\n",
+    "**D I S K U S S I O N**\n",
     "\n",
-    "*Sie können Ihr Protokoll direkt in dieses Dokument einfügen. Wenn Sie dieses Dokument als Grundlage für ein [Jupyter notebook](https://jupyter.org/) verwenden wollen können Sie die Auswertung, Skripte und ggf. bildliche Darstellungen mit Hilfe von [python](https://www.python.org/) ebenfalls hier einfügen. Löschen Sie hierzu diesen kursiv gestellten Text aus dem Dokument.* \n",
+    "*Fügen Sie eine abschließende Diskussion und Bewertung Ihrer Lösung hier ein. Löschen Sie hierzu diesen kursiv gestellten Text aus dem Dokument.* \n",
     "\n",
     "---"
    ]
   },
   {
    "cell_type": "markdown",
-   "id": "d3dda936-f113-45ca-87bf-3bfe51644ad7",
-   "metadata": {},
+   "id": "19b17e0e-dcc2-4eef-b362-506dfcabc10d",
+   "metadata": {
+    "jp-MarkdownHeadingCollapsed": true
+   },
    "source": [
-    "### Aufgabe 2.2: XOR [7400, 7408, 7432] \n",
+    "### Aufgabe 1.4: NOT-Gatter (Inverter)\n",
     "\n",
-    "Lesen Sie aus der Wahrheitstabelle der XOR-Funktion (siehe Vorbereitungshilfe S.10) deren disjunktive Normalform ab. Realisieren Sie diese (ohne vorherige Umformung) mit Hilfe von Gattern und überprüfen Sie die Funktion der Schaltung. Sie lernen hiermit ein Verfahren kennen, mit dessen Hilfe Sie ein zunächst nur durch eine Wahrheitstabelle gegebenes Problem durch eine Schaltlogik-Funktion (in der Booleschen Algebra) beschreiben und schließlich als logische Schaltung realisieren können.\n",
+    " * Implementieren Sie ein NOT-Gatter (Inverter) aus einem **NAND- oder einem NOR-Gatter**.\n",
+    " * Vergewissern Sie sich von dessen Funktion.\n",
     "\n",
     "---"
    ]
   },
   {
    "cell_type": "markdown",
-   "id": "24056bff-8dbb-4acd-a03e-1bf6c3f5a1f0",
+   "id": "c261b134-60d1-4d13-8c6a-5a5e825e8983",
    "metadata": {},
    "source": [
-    "**Lösung:**\n",
+    "**D I S K U S S I O N**\n",
     "\n",
-    "*Sie können Ihr Protokoll direkt in dieses Dokument einfügen. Wenn Sie dieses Dokument als Grundlage für ein [Jupyter notebook](https://jupyter.org/) verwenden wollen können Sie die Auswertung, Skripte und ggf. bildliche Darstellungen mit Hilfe von [python](https://www.python.org/) ebenfalls hier einfügen. Löschen Sie hierzu diesen kursiv gestellten Text aus dem Dokument.* \n",
+    "*Fügen Sie eine abschließende Diskussion und Bewertung Ihrer Lösung hier ein. Löschen Sie hierzu diesen kursiv gestellten Text aus dem Dokument.* \n",
     "\n",
     "---"
    ]
   },
   {
    "cell_type": "markdown",
-   "id": "b4758697-b501-45da-a365-05d90a0e0c26",
-   "metadata": {},
+   "id": "a14f3fec-784b-4edc-9e5f-6960344a2c0b",
+   "metadata": {
+    "jp-MarkdownHeadingCollapsed": true
+   },
    "source": [
-    "### Aufgabe 2.3: XOR mit NAND-Gattern [7400] \n",
-    "\n",
-    "Versuchen Sie die Umformung der in **Aufgabe 2.2** aufgestellten XOR-Funktion in die Form \n",
-    "\n",
-    "$$\n",
-    "f=\\overline{\\overline{a\\overline{ab}}\\,\\overline{b\\overline{ab}}}. \n",
-    "$$\n",
-    "\n",
-    "Realisieren Sie das XOR in dieser Form und überprüfen Sie seine Funktion.\n",
+    "## Aufgabe 2: Gatter auf dem FPGA\n",
     "\n",
-    "---"
+    "Die folgenden logischen Schaltungen implementieren Sie mit Hilfe der frei verfügbaren Herstellersoftware **auf einem FPGA-Chip**."
    ]
   },
   {
    "cell_type": "markdown",
-   "id": "6cf16b2f-c166-41dd-a08c-d46a3c21f527",
-   "metadata": {},
+   "id": "d3dda936-f113-45ca-87bf-3bfe51644ad7",
+   "metadata": {
+    "jp-MarkdownHeadingCollapsed": true
+   },
    "source": [
-    "**Lösung:**\n",
+    "### Aufgabe 2.1: XOR-Gatter \n",
     "\n",
-    "*Sie können Ihr Protokoll direkt in dieses Dokument einfügen. Wenn Sie dieses Dokument als Grundlage für ein [Jupyter notebook](https://jupyter.org/) verwenden wollen können Sie die Auswertung, Skripte und ggf. bildliche Darstellungen mit Hilfe von [python](https://www.python.org/) ebenfalls hier einfügen. Löschen Sie hierzu diesen kursiv gestellten Text aus dem Dokument.* \n",
+    " * Lesen Sie aus der **Wahrheitstabelle der XOR-Funktion** deren [disjunktive Normalform](https://de.wikipedia.org/wiki/Disjunktive_Normalform) ab.\n",
+    " * Implementieren Sie diese mit Hilfe von Gattern.\n",
+    " * Vergewissern Sie sich von der Funktion der Schaltung.\n",
     "\n",
     "---"
    ]
   },
   {
    "cell_type": "markdown",
-   "id": "615aac0f-25ed-4fb8-9a5c-77c11c6c1036",
+   "id": "72f42794-0259-4f13-805a-9598939ccd68",
    "metadata": {},
    "source": [
-    "## Aufgabe 3: Addierer\n",
-    "\n",
-    "### Aufgabe 3.1: Halbaddierer [7408, 7486] **(*)**\n",
+    "**D I S K U S S I O N**\n",
     "\n",
-    "Der Halbaddierer soll zwei einstellige Dualzahlen addieren. Überlegen Sie sich die zugehörige Wahrheitstabelle (einschließlich Summe und Übertrag). Realisieren Sie den Halbaddierer mit je einem passenden Gatter für Summe und Übertrag und prüfen Sie seine Funktion.\n",
+    "*Fügen Sie eine abschließende Diskussion und Bewertung Ihrer Lösung hier ein. Löschen Sie hierzu diesen kursiv gestellten Text aus dem Dokument.* \n",
     "\n",
     "---"
    ]
   },
   {
    "cell_type": "markdown",
-   "id": "8eaa1938-1347-4d76-abad-e1646d094359",
-   "metadata": {},
+   "id": "b4758697-b501-45da-a365-05d90a0e0c26",
+   "metadata": {
+    "jp-MarkdownHeadingCollapsed": true
+   },
    "source": [
-    "**Lösung:**\n",
+    "### Aufgabe 2.2: XOR aus NAND-Gattern\n",
     "\n",
-    "*Sie können Ihr Protokoll direkt in dieses Dokument einfügen. Wenn Sie dieses Dokument als Grundlage für ein [Jupyter notebook](https://jupyter.org/) verwenden wollen können Sie die Auswertung, Skripte und ggf. bildliche Darstellungen mit Hilfe von [python](https://www.python.org/) ebenfalls hier einfügen. Löschen Sie hierzu diesen kursiv gestellten Text aus dem Dokument.* \n",
-    "\n",
-    "---"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "id": "44dd4e62-90df-4b5d-83f5-7564c1b22df9",
-   "metadata": {},
-   "source": [
-    "### Aufgabe 3.2: Volladdierer [7408, 7486, 7432] **(*)**\n",
+    "**Diese Aufgabe ist nicht verpflichtend.**\n",
     "\n",
-    "Überlegen Sie sich eine 1-Bit-Volladdierer-Schaltung, die aus zwei Halbaddierern und einem OR-Gatter für deren Übertragsausgänge besteht. Bauen Sie die Schaltung auf und prüfen Sie ihre Funktion.\n",
+    " * Demonstrieren Sie die Umformung der in **Aufgabe 2.1** vorgestellten XOR-Funktion in disjunktiver Normalform in die Form \n",
     "\n",
-    "---"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "id": "3c46aa34-239d-4171-8976-89f59c470745",
-   "metadata": {},
-   "source": [
-    "**Lösung:**\n",
+    "$$\n",
+    "f=\\overline{\\overline{a\\overline{ab}}\\,\\overline{b\\overline{ab}}}. \n",
+    "$$\n",
     "\n",
-    "*Sie können Ihr Protokoll direkt in dieses Dokument einfügen. Wenn Sie dieses Dokument als Grundlage für ein [Jupyter notebook](https://jupyter.org/) verwenden wollen können Sie die Auswertung, Skripte und ggf. bildliche Darstellungen mit Hilfe von [python](https://www.python.org/) ebenfalls hier einfügen. Löschen Sie hierzu diesen kursiv gestellten Text aus dem Dokument.* \n",
+    " * Implementieren Sie das XOR-Gatter in dieser Form.\n",
+    " * Vergewissern Sie sich von der Funktion der Schaltung.\n",
     "\n",
     "---"
    ]
   },
   {
    "cell_type": "markdown",
-   "id": "484da8ed-05c5-4df3-bf85-d5e1750fef38",
+   "id": "af6a0f12-b1d0-458a-a075-1f452dcfbb3d",
    "metadata": {},
    "source": [
-    "### Aufgabe 3.3: Subtrahierer [7483, 7400, 7486] \n",
-    "\n",
-    "Bauen Sie den vorgeschlagenen 4-Bit-Subtrahierer (siehe Vorbereitungshilfe S.15) auf und untersuchen Sie seine Funktion, sowohl für positive, als auch für negative Differenzen. Die Schaltung ist nicht-trivial, sie ist aber ein gutes Beispiel dafür, wie man bei geschickter Ausnutzung aller Möglichkeiten den Schaltungsaufwand gering halten kann.\n",
+    "**D I S K U S S I O N**\n",
     "\n",
+    "*Fügen Sie eine abschließende Diskussion und Bewertung Ihrer Lösung hier ein. Löschen Sie hierzu diesen kursiv gestellten Text aus dem Dokument.* \n",
     "\n",
     "---"
    ]
   },
   {
    "cell_type": "markdown",
-   "id": "d57fa648-cf4a-43ce-8ad7-c79ca0685efb",
-   "metadata": {},
+   "id": "0f8d8b8a-d78a-4cba-ac34-7e9aed025534",
+   "metadata": {
+    "jp-MarkdownHeadingCollapsed": true
+   },
    "source": [
-    "**Lösung:**\n",
-    "\n",
-    "*Sie können Ihr Protokoll direkt in dieses Dokument einfügen. Wenn Sie dieses Dokument als Grundlage für ein [Jupyter notebook](https://jupyter.org/) verwenden wollen können Sie die Auswertung, Skripte und ggf. bildliche Darstellungen mit Hilfe von [python](https://www.python.org/) ebenfalls hier einfügen. Löschen Sie hierzu diesen kursiv gestellten Text aus dem Dokument.* \n",
+    "## Aufgabe 3: Speicherelemente\n",
     "\n",
-    "---"
+    "Mit dieser Aufgabe stellen wir Ihnen eine Reihe von Flip-Flop-(FF)Schaltungen vor. FFs sind bistabile Kippstufen, die als **digitale Speicher** dienen."
    ]
   },
   {
    "cell_type": "markdown",
-   "id": "a81eea90-0a30-4aa0-b07e-1b9c7acc6caa",
-   "metadata": {},
+   "id": "6b2e81d0-68f5-4740-b994-39deda663167",
+   "metadata": {
+    "jp-MarkdownHeadingCollapsed": true
+   },
    "source": [
-    "## Aufgabe 4: Speicherelemente **(*)**\n",
+    "### Aufgabe 3.1: RS-Flip-Flop (RS-FF) \n",
     "\n",
-    "Mit dieser Aufgabe stellen wir Ihnen eine Reihe von Flip-Flop-Typen vor. Flip-Flops (FF) sind bistabile Kippstufen, die als digitale Speicher dienen. Sie sind auch die Bausteine von Schieberegistern und Zählern.\n",
+    " * Verbinden Sie zwei NAND-Gatter zu einem FF.\n",
+    " * Demonstrieren Sie seine **Funktionstabelle**.\n",
     "\n",
-    "### Aufgabe 4.1: RS-Flip-Flop (RS-FF) [7400] \n",
-    "\n",
-    "Verbinden Sie zwei NAND-Gatter zu einem FF. Ermitteln Sie seine Funktionstabelle. Eine Funktionstabelle beschreibt die Abhängigkeit der Ausgangszustände (hier an $Q$ und $\\overline{Q}$) von den Eingangszuständen (hier an $R$ (Reset) und $S$ (Set)).\n",
+    "**NB:** Eine Funktionstabelle beschreibt die Abhängigkeit der Ausgangszustände (hier an $Q$ und $\\overline{Q}$) von den Eingangszuständen (hier an $R$ (Reset) und $S$ (Set)).\n",
     "\n",
     "---"
    ]
   },
   {
    "cell_type": "markdown",
-   "id": "946253e8-b996-42c3-8770-ea7140004ef2",
+   "id": "5b95b912-c45b-422f-b11d-0bddbc69e635",
    "metadata": {},
    "source": [
-    "**Lösung:**\n",
+    "**D I S K U S S I O N**\n",
     "\n",
-    "*Sie können Ihr Protokoll direkt in dieses Dokument einfügen. Wenn Sie dieses Dokument als Grundlage für ein [Jupyter notebook](https://jupyter.org/) verwenden wollen können Sie die Auswertung, Skripte und ggf. bildliche Darstellungen mit Hilfe von [python](https://www.python.org/) ebenfalls hier einfügen. Löschen Sie hierzu diesen kursiv gestellten Text aus dem Dokument.* \n",
+    "*Fügen Sie eine abschließende Diskussion und Bewertung Ihrer Lösung hier ein. Löschen Sie hierzu diesen kursiv gestellten Text aus dem Dokument.* \n",
     "\n",
     "---"
    ]
@@ -363,23 +347,27 @@
   {
    "cell_type": "markdown",
    "id": "6f4aa669-45c2-4ee5-84ca-adcaa1b9dd56",
-   "metadata": {},
+   "metadata": {
+    "jp-MarkdownHeadingCollapsed": true
+   },
    "source": [
-    "### Aufgabe 4.2: Getaktetes RS-Flip-Flop (RST-FF) [7400] \n",
+    "### Aufgabe 3.2: Getaktetes RS-Flip-Flop (RST-FF)\n",
     "\n",
-    "Bauen Sie ein RST-FF (siehe Vorbereitungshilfe S.19) auf. Ermitteln Sie seine Funktionstabelle. Finden Sie eine Möglichkeit, den „verbotenen Zustand“ zu eliminieren.\n",
+    " * Schalten Sie getaktetes RS-FF (RSR-FF).\n",
+    " * Demonstrieren Sie seine **Funktionstabelle**.\n",
+    " * Beschreiben Sie eine Möglichkeit, den *verbotenen Zustand* zu eliminieren.\n",
     "\n",
     "---"
    ]
   },
   {
    "cell_type": "markdown",
-   "id": "755cdc69-7c8a-4574-9950-15f6dea1478c",
+   "id": "189b23a5-bc6b-49c6-9189-76dddedde56e",
    "metadata": {},
    "source": [
-    "**Lösung:**\n",
+    "**D I S K U S S I O N**\n",
     "\n",
-    "*Sie können Ihr Protokoll direkt in dieses Dokument einfügen. Wenn Sie dieses Dokument als Grundlage für ein [Jupyter notebook](https://jupyter.org/) verwenden wollen können Sie die Auswertung, Skripte und ggf. bildliche Darstellungen mit Hilfe von [python](https://www.python.org/) ebenfalls hier einfügen. Löschen Sie hierzu diesen kursiv gestellten Text aus dem Dokument.* \n",
+    "*Fügen Sie eine abschließende Diskussion und Bewertung Ihrer Lösung hier ein. Löschen Sie hierzu diesen kursiv gestellten Text aus dem Dokument.* \n",
     "\n",
     "---"
    ]
@@ -387,127 +375,66 @@
   {
    "cell_type": "markdown",
    "id": "cdd6bc28-52b6-468f-9320-87c3ecc49c85",
-   "metadata": {},
-   "source": [
-    "### Aufgabe 4.3: JK-Master-Slave-Flip-Flop (JK-MS-FF) [7400, 7410] \n",
-    "\n",
-    "Bauen Sie ein JK-MS-FF (siehe Vorbereitungshilfe S.23) auf. Ermitteln Sie seine Funktionstabelle, in der sowohl die Master-, als auch die Slave-Ausgänge enthalten sein sollen, und die zwischen dem 0-1-Wechsel und dem 1-0-Wechsel des Taktsignals unterscheidet. Beschreiben Sie die Unterschiede und Vorteile dieses FF-Typen gegenüber den zuvor untersuchten FF-Typen.\n",
-    "\n",
-    "---"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "id": "93babac0-edce-4fe5-a285-7392d16af206",
-   "metadata": {},
-   "source": [
-    "**Lösung:**\n",
-    "\n",
-    "*Sie können Ihr Protokoll direkt in dieses Dokument einfügen. Wenn Sie dieses Dokument als Grundlage für ein [Jupyter notebook](https://jupyter.org/) verwenden wollen können Sie die Auswertung, Skripte und ggf. bildliche Darstellungen mit Hilfe von [python](https://www.python.org/) ebenfalls hier einfügen. Löschen Sie hierzu diesen kursiv gestellten Text aus dem Dokument.* \n",
-    "\n",
-    "---"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "id": "8b3fcc7b-4342-4a37-b661-ca5f7bdd896e",
-   "metadata": {},
-   "source": [
-    "## Aufgabe 5 Schieben, Multiplizieren, Rotieren\n",
-    "\n",
-    "### Aufgabe 5.1: 4-Bit-Schieberegister [7400, 7476] **(*)**\n",
-    "\n",
-    "Bauen Sie ein 4-Bit-Schieberegister (siehe Vorbereitungshilfe S.25) auf. Löschen Sie das Register über den C-Eingang. Laden Sie dann das Register durch geeignete Stellungen des Eingangsschalters bei den folgenden vier Taktzyklen (0-1-0) mit einer gewünschten 4-Bit-Dualzahl. Beobachten Sie nach jeder Taktflanke die Ausgänge $Q_{A}$, $Q_{B}$, $Q_{C}$, $Q_{D}$. Machen Sie sich klar, dass Sie seriell (zeitlich nacheinander auf einer Leitung) ankommende Information jetzt parallel, gleichzeitig auf verschiedenen Leitungen, vorliegen haben. \n",
-    "\n",
-    "**Anmerkung:** Da mechanische Schalter beim Ein- und Ausschalten prellen, müssen Sie mit Hilfe eines Flip-Flops ein prellfreies Taktsignal erzeugen (siehe Vorbereitungshilfe S.21).\n",
-    "\n",
-    "---"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "id": "b6f919ce-38cb-4797-bdfa-64318420e19e",
-   "metadata": {},
+   "metadata": {
+    "jp-MarkdownHeadingCollapsed": true
+   },
    "source": [
-    "**Lösung:**\n",
-    "\n",
-    "*Sie können Ihr Protokoll direkt in dieses Dokument einfügen. Wenn Sie dieses Dokument als Grundlage für ein [Jupyter notebook](https://jupyter.org/) verwenden wollen können Sie die Auswertung, Skripte und ggf. bildliche Darstellungen mit Hilfe von [python](https://www.python.org/) ebenfalls hier einfügen. Löschen Sie hierzu diesen kursiv gestellten Text aus dem Dokument.* \n",
+    "### Aufgabe 3.3: JK-Master-Slave-Flip-Flop (JK-MS-FF)\n",
     "\n",
-    "---"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "id": "f4811f58-7369-4fac-a5b4-097a3b4dc826",
-   "metadata": {},
-   "source": [
-    "### Aufgabe 5.2: 4-Bit-Rotationsregister (parallele Eingabe) [7400, 7476]. \n",
+    "**Bei der Schaltung zu dieser Aufgabe unterstützt Sie Ihr:e Tutor:in. Sie sollten die Schaltung jedoch verstehen und in der Lage sein diese zu erklären und zu diskutieren.**\n",
     "\n",
-    "Benutzen Sie die Preset-Eingänge ($P$) der JK-MS-FF für parallele Dateneingabe in das Schieberegister. Schließen Sie den Ausgang $Q_{D}$ des letzten FFs jetzt an den Eingang $J_{A}$ des ersten FFs. Untersuchen Sie die Funktion dieser Schaltung beim Takten. Sie kennen das Rotieren von Information z.B. von der Lauflicht-Reklame.\n",
+    "* **Erklären Sie** die Schaltung eines JK-MS-FF.\n",
+    "* Demonstieren Sie seine **Funktionstabelle**, in der sowohl die Master-, als auch die Slave-Ausgänge enthalten sein sollen, und die zwischen dem 0/1-Wechsel und dem 1/0-Wechsel des Taktsignals unterscheidet.\n",
+    "* Beschreiben Sie die Unterschiede und Vorteile dieses FF-Typen gegenüber den zuvor untersuchten FF-Typen.\n",
     "\n",
     "---"
    ]
   },
   {
    "cell_type": "markdown",
-   "id": "9dbda470-da7b-437c-934a-bc5f61683e3f",
+   "id": "f16f9d2c-655d-4584-817b-3343e2c94bcc",
    "metadata": {},
    "source": [
-    "**Lösung:**\n",
+    "**D I S K U S S I O N**\n",
     "\n",
-    "*Sie können Ihr Protokoll direkt in dieses Dokument einfügen. Wenn Sie dieses Dokument als Grundlage für ein [Jupyter notebook](https://jupyter.org/) verwenden wollen können Sie die Auswertung, Skripte und ggf. bildliche Darstellungen mit Hilfe von [python](https://www.python.org/) ebenfalls hier einfügen. Löschen Sie hierzu diesen kursiv gestellten Text aus dem Dokument.* \n",
+    "*Fügen Sie eine abschließende Diskussion und Bewertung Ihrer Lösung hier ein. Löschen Sie hierzu diesen kursiv gestellten Text aus dem Dokument.* \n",
     "\n",
     "---"
    ]
   },
   {
    "cell_type": "markdown",
-   "id": "2de77e54-0527-4eee-8459-77823ac42c42",
-   "metadata": {},
-   "source": [
-    "## Aufgabe 6: Zähler \n",
-    "\n",
-    "Elektronische Zähler sind heute vielbenutzte Messinstrumente. Zählt man Ereignisse während einer bestimmten Zeit, so spricht man bei statistischen Ereignissen von Zählratenmessung, bei periodischen von Frequenzmessung. Speist man den Zähler mit einer periodischen Impulsfolge bekannter Frequenz, erhält man eine Uhr. Gibt eine solche Uhr beim Erreichen einer vorgewählten Zeit ein Schaltsignal ab, dann bezeichnet man sie Timer (oder auch auch Wecker).\n",
-    "\n",
-    "### Aufgabe 6.1: 4-Bit-Asynchronzähler [7476] **(*)**\n",
-    "\n",
-    "Schalten Sie gemäß Vorbereitungshilfe S.27 vier JK-MS-FF hintereinander, löschen Sie den Inhalt und beobachten Sie nach jedem Taktzyklus am Zählereingang $T$ die an $Q_{A}$, $Q_{B}$, $Q_{C}$, $Q_{D}$ angezeigte Dualzahl.\n",
-    "\n",
-    "---"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "id": "32855f82-9189-40cb-a073-5e110b35c4f5",
-   "metadata": {},
+   "id": "031bfdc7-3f6d-4fcd-b7c4-78069330bbcf",
+   "metadata": {
+    "jp-MarkdownHeadingCollapsed": true
+   },
    "source": [
-    "**Lösung:**\n",
-    "\n",
-    "*Sie können Ihr Protokoll direkt in dieses Dokument einfügen. Wenn Sie dieses Dokument als Grundlage für ein [Jupyter notebook](https://jupyter.org/) verwenden wollen können Sie die Auswertung, Skripte und ggf. bildliche Darstellungen mit Hilfe von [python](https://www.python.org/) ebenfalls hier einfügen. Löschen Sie hierzu diesen kursiv gestellten Text aus dem Dokument.* \n",
-    "\n",
-    "---"
+    "## Aufgabe 4: Digitale Zähler "
    ]
   },
   {
    "cell_type": "markdown",
-   "id": "c95ee2d7-1f6d-4a02-999c-3cec69a3b9d5",
-   "metadata": {},
+   "id": "0776babe-35cf-43b9-9c73-174e0cca86ed",
+   "metadata": {
+    "jp-MarkdownHeadingCollapsed": true
+   },
    "source": [
-    "### Aufgabe 6.2: Asynchroner Dezimalzähler [7400, 7476] \n",
+    "### Aufgabe 4.1: 4-Bit-Asynchronzähler\n",
     "\n",
-    "Erweitern Sie den Zähler von **Aufgabe 6.1** durch ein NAND-Gatter so, dass beim Erreichen von $Q_{D}Q_{C}Q_{B}Q_{A} = 1010$ (dezimal 10) der Zähler über die C-Eingänge auf Null zurückgesetzt wird.\n",
+    " * Schalten Sie **vier JK-MS-FFs hintereinander**.\n",
+    " * Löschen Sie den Inhalt und **beobachten Sie nach jedem Taktzyklus** am Zählereingang $T$ die an $Q_{A}$, $Q_{B}$, $Q_{C}$, $Q_{D}$ angezeigte Dualzahl.\n",
     "\n",
     "---"
    ]
   },
   {
    "cell_type": "markdown",
-   "id": "06ca3e72-f03a-4842-b4cc-6101c0423175",
+   "id": "0610ffe9-dac3-4feb-9dd2-a88546834f90",
    "metadata": {},
    "source": [
-    "**Lösung:**\n",
+    "**D I S K U S S I O N**\n",
     "\n",
-    "*Sie können Ihr Protokoll direkt in dieses Dokument einfügen. Wenn Sie dieses Dokument als Grundlage für ein [Jupyter notebook](https://jupyter.org/) verwenden wollen können Sie die Auswertung, Skripte und ggf. bildliche Darstellungen mit Hilfe von [python](https://www.python.org/) ebenfalls hier einfügen. Löschen Sie hierzu diesen kursiv gestellten Text aus dem Dokument.* \n",
+    "*Fügen Sie eine abschließende Diskussion und Bewertung Ihrer Lösung hier ein. Löschen Sie hierzu diesen kursiv gestellten Text aus dem Dokument.* \n",
     "\n",
     "---"
    ]
@@ -515,73 +442,49 @@
   {
    "cell_type": "markdown",
    "id": "2095f327-c003-44c4-bc01-7e7dd2eaeaa9",
-   "metadata": {},
-   "source": [
-    "### Aufgabe 6.3: 4-Bit-Synchronzähler [7408, 7476] \n",
-    "\n",
-    "Entwerfen Sie eine Schaltung für einen 4-Bit-Synchronzähler. Bauen Sie diese auf und überprüfen Sie ihre Funktion.\n",
-    "\n",
-    "---"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "id": "f73d8566-758e-49df-8e69-ebf2e710428b",
-   "metadata": {},
-   "source": [
-    "**Lösung:**\n",
-    "\n",
-    "*Sie können Ihr Protokoll direkt in dieses Dokument einfügen. Wenn Sie dieses Dokument als Grundlage für ein [Jupyter notebook](https://jupyter.org/) verwenden wollen können Sie die Auswertung, Skripte und ggf. bildliche Darstellungen mit Hilfe von [python](https://www.python.org/) ebenfalls hier einfügen. Löschen Sie hierzu diesen kursiv gestellten Text aus dem Dokument.* \n",
-    "\n",
-    "---"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "id": "9f016edf-d3d9-4f84-bd46-992d2c11cf5b",
-   "metadata": {},
+   "metadata": {
+    "jp-MarkdownHeadingCollapsed": true
+   },
    "source": [
-    "### Aufgabe 6.4: Synchroner Dezimalzähler [(7400,) 7408, 7476] \n",
+    "### Aufgabe 4.2: 4-Bit-Synchronzähler \n",
     "\n",
-    "Bauen Sie den synchronen Dezimalzähler entsprechend Vorbereitungshilfe S.30 auf und überprüfen und diskutieren Sie seine Funktion.\n",
+    " * **Entwerfen Sie** eine Schaltung für einen 4-Bit-Synchronzähler.\n",
+    " * Implementierne Sie die Schaltung und **überprüfen Sie ihre Funktion**.\n",
     "\n",
     "---"
    ]
   },
   {
    "cell_type": "markdown",
-   "id": "2462bcfd-3417-43b2-9f95-2a23d1037a76",
+   "id": "136e8747-69c4-4d56-99bd-0a56b4ca1fae",
    "metadata": {},
    "source": [
-    "**Lösung:**\n",
+    "**D I S K U S S I O N**\n",
     "\n",
-    "*Sie können Ihr Protokoll direkt in dieses Dokument einfügen. Wenn Sie dieses Dokument als Grundlage für ein [Jupyter notebook](https://jupyter.org/) verwenden wollen können Sie die Auswertung, Skripte und ggf. bildliche Darstellungen mit Hilfe von [python](https://www.python.org/) ebenfalls hier einfügen. Löschen Sie hierzu diesen kursiv gestellten Text aus dem Dokument.* \n",
+    "*Fügen Sie eine abschließende Diskussion und Bewertung Ihrer Lösung hier ein. Löschen Sie hierzu diesen kursiv gestellten Text aus dem Dokument.* \n",
     "\n",
     "---"
    ]
   },
   {
    "cell_type": "markdown",
-   "id": "51862096-eef3-461e-8d5e-5d0fe63936ac",
-   "metadata": {},
+   "id": "f745017e-62b8-47de-ab9d-2310d99dbf29",
+   "metadata": {
+    "jp-MarkdownHeadingCollapsed": true
+   },
    "source": [
-    "## Aufgabe 7: Digital-Analog-Wandlung \n",
-    "\n",
-    "Schließen Sie ein Drehspulmessinstrument über ein geeignetes Widerstandsnetzwerk so an die Ausgänge $Q_{D}$, $Q_{C}$, $Q_{B}$, $Q_{A}$ eines Dezimalzählers an, dass die Ausschläge proportional zum Zählerstand sind und beim Zählerstand 9 gerade 90% des Vollausschlages erreicht werden. Die Kenndaten des Instruments sind $R_{i}=1\\,\\mathrm{k\\Omega}$ und $I_{\\mathrm{max}}=100\\,\\mathrm{\\mu A}$. Bei den benutzten ICs beträgt das 1-Potential ca. $4\\,\\mathrm{V}$, das 0-Potential ca. $0\\,\\mathrm{V}$.\n",
-    "\n",
-    "---"
+    "# Beurteilung"
    ]
   },
   {
    "cell_type": "markdown",
-   "id": "0b8a553d-e338-4074-8930-a620cb18c5d7",
+   "id": "addcc2f6-8cc5-4055-9970-ad72ae10237c",
    "metadata": {},
    "source": [
-    "**Lösung:**\n",
-    "\n",
-    "*Sie können Ihr Protokoll direkt in dieses Dokument einfügen. Wenn Sie dieses Dokument als Grundlage für ein [Jupyter notebook](https://jupyter.org/) verwenden wollen können Sie die Auswertung, Skripte und ggf. bildliche Darstellungen mit Hilfe von [python](https://www.python.org/) ebenfalls hier einfügen. Löschen Sie hierzu diesen kursiv gestellten Text aus dem Dokument.* \n",
-    "\n",
-    "---"
+    " * Nach Abschluss des Versuchs haben Sie die Möglichkeit diesen Versuch individuell zu beurteilen.\n",
+    " * **Folgen Sie zur Beurteilung dieses Versuchs diesem [Link](https://www.empirio.de/s/2xxb9WYW=a)**.\n",
+    " * Beachten Sie, dass jede:r Studierende nur einmal pro Versuch eine Beurteilung abgeben kann.\n",
+    " * Wir empfehlen die Beurteilung nach der Besprechung Ihrer Versuchsauswertung mit Ihrem:r Tutor:in auszufüllen.  "
    ]
   }
  ],
@@ -601,7 +504,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.10.12"
+   "version": "3.12.3"
   }
  },
  "nbformat": 4,
-- 
GitLab