Schaltnetze Klaus Becker 2003
Funktionale Schaltsysteme MUX d0 & 1 b d1 & s
Steuern mit logischen Operationen Teil 1 Steuern mit logischen Operationen
Aufzugssteuerung Ein Aufzug soll sich nur dann nach oben bewegen, wenn der Knopf gedrückt und die Tür zu ist. nach H. Bühler: Grundlagen einer Verständigung mit Computern
Technische Lösung – mit Stromkreis Schalter Schalter Nur wenn der Stromkreis geschlossen ist, kann der Motor den Aufzug bewegen.
Binäre Kodierung mit Schaltvariablen y x1 x2 Schaltvariable x1 = 0: Tür ist offen x1 = 1: Tür ist geschlossen Binäre Kodierung: Kodierung mit zwei Werten: 0 / 1 x2 = 0: Schalter ist nicht gedrückt x2 = 1: Schalter ist gedrückt y = 0: Motor ist inaktiv y = 1: Motor ist aktiv
Beschreibung des Systemverhaltens x1 x2 Schalttabelle / Schaltfunktion x1 = 0: Tür ist offen x1 1 x2 1 y 1 x1 = 1: Tür ist geschlossen x2 = 0: Schalter ist nicht gedrückt x2 = 1: Schalter ist gedrückt y = 0: Motor ist inaktiv y = 1: Motor ist aktiv
Logische Deutung y x1 x2 x1 1 x2 1 y 1 Schaltfunktion Aussagen x1 1 x2 1 y 1 x1: „Tür ist geschlossen“ x2: „Schalter ist gedrückt“ y: „Motor ist aktiv“ 0: falsch 1: wahr Wahrheitswerte
Logische Verknüpfung y x1 x2 x1 1 x2 1 y 1 Schaltfunktion x1 1 x2 1 y 1 „Motor ist aktiv“ genau dann, wenn „Tür ist geschlossen“ und „Schalter ist gedrückt“ Schaltterm
Technische Lösung – mit Logikgatter y x1 x2 Kontaktschalter x1 & y Motor Kontaktschalter x2 Und-Gatter
Elektronik-Logik-Schichtung Systemgrößen Systemverhalten x1: „Tür ist geschlossen“ x2: „Schalter ist gedrückt“ y: „Motor ist aktiv“ Logik Elektronik Kontaktschalter x1 & y Motor Kontaktschalter x2 Logikgatter
Idee: Logik-basierte Systembeschreibung x1 x2 Binäre Kodierung der Systemgrößen mit Schaltvariablen Beschreibung des Systemverhaltens mit einer logischen Schaltfunktion x1: „Tür ist geschlossen“ x2: „Schalter ist gedrückt“ y: „Motor ist aktiv“
Steuerung eines Türöffners Die Haustür soll sich öffnen, wenn der Türöffner im ersten oder im zweiten Stock gedrückt wird. nach H. Bühler: Grundlagen einer Verständigung mit Computern
Lösung Binäre Kodierung mit Schaltvariablen x1: „Türöffner im 1. Stock ist gedrückt“ x2: „Türöffner im 2. Stock ist gedrückt“ y: „Türverriegelung ist deaktiviert“ Beschreibung des Systemverhaltens mit logischen Operationen x1 1 x2 1 y 1 x1 1 y x2
Steuerung einer Kühlschrankbeleuchtung Öffnet man den Kühlschrank, so geht das Licht im Kühlschrank automatisch an. nach H. Bühler: Grundlagen einer Verständigung mit Computern
Lösung Binäre Kodierung mit Schaltvariablen x: „Tür ist geschlossen“ y: „Licht im Kühlschrank ist an“ Beschreibung des Systemverhaltens mit logischen Operationen x 1 y 1 bzw. x 1 y
Logische Grundoperationen Konjunktion / UND-Operation Disjunktion / ODER-Operation Negation / NICHT-Operation x1 1 x2 1 x1 x2 1 x1 1 x2 1 x1 x2 1 x 1 x 1 Logik Elektronik x1 x1 & y 1 y x 1 y x2 x2 UND-Gatter ODER-Gatter NICHT-Gatter
Übung Aufgabe: Testen Sie die Gatter zu den logischen Grundoperationen mit Hilfe von Hades.
Schaltfunktionen und Schaltnetze Teil 2 Schaltfunktionen und Schaltnetze
Multiplexer – Demultiplexer MUX DEMUX 1 Ein Problem der Vermittlungstechnik: Zwei Teilnehmer sollen wahlweise ihre Daten (in binärer Form kodiert) über eine gemeinsame Leitung senden.
Funktionale Modellierung Binäre Daten MUX DEMUX Steuersignal Steuersignal 1 Ein-/Ausgabe-Modellierung (Black-Box-Modellierung) d0 d0 MUX DEMUX b b d1 d1 s s
Logische Systembeschreibung d0 d0 MUX DEMUX b b d1 d1 s s Entwicklung von Schalttermen s = 0: b = d0 s = 0: d0 = b s = 1: b = d1 s = 1: d1 = b
Schaltnetz d0 d0 MUX DEMUX b b d1 d1 s s d0 & & d0 b 1 d1 & & d1 s s
Idee: Funktionale Modellierung MUX b Beschreibung des Systemverhaltens mit einer logischen Schaltfunktion d1 s d0 & 1 Realisierung des Systems mit Hilfe eines Logik-basierten Schaltnetzes d1 & s
Übung Aufgabe: Erstellen und testen Sie mit Hilfe von Hades das entwickelte Schaltnetz. d0 & & d0 b 1 d1 & & d1 s s
Übung Aufgabe: Entwickeln und testen Sie ein Multiplexer-Demultiplexer-System mit 4 Datenleitungen. Benutzen Sie zur Auswahl der Datenleitung 2 Steuerleitungen. Adressieren Sie die Datenleitungen wie unten angezeigt. d0 d0 d1 b d1 MUX DEMUX d2 d2 d3 d3 1 s1 s0 s1 s0
Teil 3 Schaltalgebra
Steuerung einer Autoinnenbeleuchtung Öffnet man eine der beiden Türen, so geht das Licht im Auto an. nach H. Bühler: Grundlagen einer Verständigung mit Computern
Steuerung einer Autoinnenbeleuchtung Binäre Kodierung der Systemgrößen mit Schaltvariablen x1: „Fahrertür ist geschlossen“ x2: „Beifahrertür ist geschlossen“ y: „Licht im Auto ist an“ Beschreibung des Systemverhaltens mit einer Schaltfunktion x1 1 x2 1 y 1 x1 F y x2
Steuerung einer Autoinnenbeleuchtung Beschreibung der Schaltfunktion mit einem Schaltterm – Version 1 Korrektheitsnachweis x1 1 x2 1 y 1 x1 1 x2 1 x1 x2 1 x1 x2 1
Steuerung einer Autoinnenbeleuchtung Schaltfunktion: Schaltnetz: x1 & 1 y x2 NAND-Gatter x1 & y x2
Steuerung einer Autoinnenbeleuchtung Beschreibung der Schaltfunktion mit einem Schaltterm – Version 2 Korrektheitsnachweis y1 y2 y3 x1 1 x2 1 y 1 x1 1 x2 1 x1 x2 1 x1 x2 1 x1 x2 1 (y1 y2) y2 1
Steuerung einer Autoinnenbeleuchtung Schaltfunktion: Schaltnetz: x1 x2 & 1 & 1 y &
Vergleich der Schaltnetze x1 1 x2 1 y 1 Schaltfunktion Schaltterme x1 x2 9 Gatter x1 & & y x2 1 2 Gatter & 1 y & Schaltnetze
Minimierungsproblem x1 1 x2 1 y 1 1 x2 1 y 1 Wie findet man (möglichst einfache) Schaltterme zur Repräsentation von vorgegebenen Schaltfunktionen? x1 x2 9 Gatter x1 & & y x2 1 2 Gatter & 1 y &
Exkurs: Boolesche Algebra / Schaltalgebra Entwickelt 1854 von George Boole (1815-1864) Operationen: ¯ (NOT) (AND) (OR) Objekte: 0 (FALSE) 1 (TRUE) x1 1 x2 1 x1 x2 1 x1 1 x2 1 x1 x2 1 x 1 x 1
Schaltterme Schaltvariable Eine Schaltvariable ist eine Variable, für die nur die Werte 0 und 1 eingesetzt werden können. Schaltterm Ein Schaltterm ist aufgebaut aus - den Konstanten 0 (FALSE) und 1 (TRUE) - Schaltvariablen - den Operationen (AND), (OR), ¯ (NOT). Beispiele:
Aufstellen von Schalttermen y1 y2 y3 x1 1 x2 1 y 1 x1 1 x2 1 x1 x2 1 x1 x2 1 x1 x2 1 (y1 y2) y2 1 Minterm (Elementarkonjunktion) Wert des Minterms ist 1 gdw Wert(x1) = 1 und Wert(x2) = 1 gdw Wert(x1) = 0 und Wert(x2) = 1 Term in disjunktiver Normalform (Disjunktion von Mintermen) Wert(y) ist 1 gdw Wert eines Minterms ist 1
Aufstellen von Schalttermen x1 1 x2 1 y 1 x1 1 x2 1 x1 x2 1 Maxterm (Elementardisjunktion) Wert des Maxterms ist 0 gdw Wert(x1) = 0 und Wert(x2) = 0 gdw Wert(x1) = 1 und Wert(x2) = 1 Term in konjunktiver Normalform (Konjunktion von Maxtermen) Wert(y) = 0 gdw Wert eines Maxterms ist 0
Äquivalenz von Schalttermen x1 1 x2 1 x1 x2 1 x1 x2 1 Zwei Schaltterme t1 und t2 sind (logisch) äquivalent gdw gilt: Der Wert von t1 und t2 ist für alle möglichen Einsetzungen der in t1 und t2 vorkommenden Variablen durch 0 bzw. 1 gleich. y1 y2 y3 x1 1 x2 1 x1 1 x2 1 x1 x2 1 x1 x2 1 x1 x2 1 (y1 y2) y2 1
Gesetze der Schaltalgebra x1 1 x2 1 x1 1 x2 1 x1 x2 1 x1 x2 1 x1 x2 1 y1 (y2 y3) 1 y1 y2 y3 x1 1 x2 1 x1 1 x2 1 x1 x2 1 x1 x2 1 x1 x2 1 (y1 y2) y3 1
Gesetze der Schaltalgebra Assoziativgesetz für Disjunktionen: a 1 b 1 c 1 a b 1 b c 1 (a b) c 1 a (b c) 1
Gesetze der Schaltalgebra Assoziativgesetze: Kommutativgesetze: Distributivgesetze: Gesetze der neutralen Elemente:
Gesetze der Schaltalgebra Komplementgesetze: De Morgansche Gesetze: Adsorptionsgesetze:
Vereinfachung von Schalttermen Ergebnis: Die Terme sind logisch äquivalent.
Vereinfachung der Schreibweise x1 1 x2 1 x1 x2 1 x1 1 x2 1 x1 x2 1 x 1 x 1 x1 1 x2 1 x1 x2 1 x1 1 x2 1 x1 + x2 1 x 1 x 1
Termumformung mit Boolescher Algebra
Übung Aufgabe: Gegeben ist eine Schaltfunktion in Tabellenform. Entwickeln Sie (möglichst einfache) Schaltterme zur Beschreibung der Schaltfunktion. Überprüfen Sie die Korrektheit mit Hilfe eines Schaltnetzes. a 0 0 0 0 1 1 1 1 b 0 0 1 1 0 0 1 1 c 0 1 0 1 0 1 0 1 y 0 1 0 1 1 1 1 1
Rechnen mit Schaltalgebra Teil 4 Rechnen mit Schaltalgebra
Wie viele Blätter sind hier dargestellt? Zahldarstellungen Wie viele Blätter sind hier dargestellt? (10010)2 18 (12)16
Stellenwertsysteme 23 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 22 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 21 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 20 0 1 0 1 0 1 0 1 0 1 0 10 1 0 1 101 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 100 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 160 0 1 2 3 4 5 6 7 8 9 A B C D E F Dualzahlen Hexadezimalzahlen
Addiersystem Ziel ist es, ein Addiersystem für Dualzahlen zu entwickeln. Schriftliche Addition im Zehnersystem 1 1 2 9 1 0 Summand A Summand B Übertrag Summe Schriftliche Addition im Dualsystem 1 1 1 1 0 0 0 0 1 1 0 1 1 0 1 1 0 Summand A Summand B Übertrag Summe
Funktionale Modellierung Summand A 1 1 1 1 0 0 0 0 1 1 0 1 1 0 1 1 0 Übertrag Summand B Summe 1 1 a s a s VA HA b 1 1 1 c ü b ü Volladdierer Halbaddierer
Halbaddierer a 1 b 1 s 1 ü 1 1 a s HA 1 1 b ü
Volladdierer a 0 0 0 0 1 1 1 1 b 0 0 1 1 0 0 1 1 c 0 1 0 1 0 1 0 1 s 0 1 1 0 1 0 0 1 ü 0 0 0 1 0 1 1 1 1 a s VA b 1 c ü
Volladdierer mit Halbaddierer-Bausteinen c ü HA 1 ü s ü HA s s Halbaddierer-Baustein
Hinweise: Erzeugung von Bausteinen Schritt 1: Schaltnetz erzeugen und abspeichern (Halbaddierer.hds) Schritt 2: Neues Symbol erzeugen: [Edit][Create symbol] Schritt 3: Neuen Baustein erzeugen: [Create][Create Subdesign...] Halbaddierer.hds
4-Bit-Paralleladdierer mit Bausteinen (1001) + (1011) = 1(0100) a3 a2 a1 a0 1 1 1 ü VA s3 VA 1 s2 VA s1 HA s0 1 1 1 b3 b2 b1 b0
Übung Aufgabe: Erstellen und testen Sie zunächst einen Halb- und Volladdierer. Entwickeln Sie anschließend einen 4-Bit-Paralleladdierer mit Hilfe geeigneter Bausteine.
Übung Aufgabe: Entwickeln Sie analog zum 4-Bit-Addierer einen 4-Bit-Inkrementierer. Idee: 1 0 1 0 1 1 1 1 0 1 1 0 Zahl Inkrement Übertrag Nachfolger
Übung Aufgabe: Entwickeln Sie einen 4-Bit-Komparator, der überprüft, ob zwei 4-Bit-Dualzahlen gleich sind. Idee: 1 1 0 0 1 1 1 1 1 1 1 Zahl A Zahl B Hilf Ergebnis
Lösung - Addierer
Lösung - Inkrementierer Idee: 1 0 1 0 1 1 1 1 0 1 1 0 Zahl Inkrement Übertrag Nachfolger
Lösung - Komparator 1 1 0 0 1 1 1 1 1 1 1 Idee: Zahl A Zahl B Hilf 1 1 0 0 1 1 1 1 1 1 1 Zahl A Zahl B Hilf Ergebnis
Exkurs: Binäre Kodierung Teil 5 Exkurs: Binäre Kodierung
Kodierung von Information Soll Information übermittelt, gespeichert oder verarbeitet werden, muss sie in geeigneter Weise durch Zeichen dargestellt werden. Man nennt diesen Vorgang Kodierung. (R. Baumann: Informatik für die Sekundarstufe II, Band 2. Klett-Verlag 1993.) Mondsichel
Binäre Repräsentation Benutzt man zur Repräsentation der Information nur zwei Zeichen (Binärzeichen / Bit), so spricht man von einer binären Repräsentation. Als Binärzeichen verwendet man in der Regel die Zeichen 0 und 1. Eine endliche Folge von Binärzeichen heißt Binärwort. Ein Binärwort der Länge 8 nennt man Byte. 00000000 00011000 00110000 00110000 00110000 00110000 00011000 00000000 Mondsichel 01001101 01101111 01101110 01100100 ....
Prinzip der Zweiwertigkeit Jede Information lässt sich binär darstellen. Alles, was sich mit Zeichen repräsentieren lässt, kann auch binär repräsentiert werden. Dies gilt insbesondere für Zahlen, kontinuierliche Größen (wie Farbe), Sprache, Bilder, Filme, Musik etc.. 0000 0000 0000 0010 0010 ... Mit Farbkodierung: 0000 – weiß 0010 – gelb .... M o n d Mondsichel 01001101 01101111 01101110 01100100 .... 77 111 110 100 ASCII-Code
Logische Deutung Binärzeichen lassen sich immer als Wahrheitswerte deuten. Jede Verarbeitung von Binärzeichen kann dann mit Hilfe der logischen Grundoperationen AND, OR, NOT dargestellt werden. 00000000 00011000 00110000 00110000 00110000 00110000 00011000 00000000 11111111 11100111 11001111 11001111 11001111 11001111 11100111 11111111 A = E
Teil 6 Zusammenfassung
Entwicklung von Schaltsystemen Binäre Repräsentation der Systemgrößen (Schaltvariablen) Modellierung des Systemverhaltens mit Hilfe von Aussagenlogik (Schaltterm, Boolesche Algebra, ...) Technische Realisierung des modellierten Systems mit Hilfe von Elektronikbausteinen (Logikgatter, ...)
Literaturhinweise Gasper, Leiß, Spengler, Stimm: Technische und theoretische Informatik. Bayerischer Schulbuch-Verlag 1992. Eckhart Modrow: Automaten Schaltwerke Sprachen. Dümmler Verlag 1988. H. Bühler: Grundlagen einer Verständigung mit Computern. Skript. ...
Simulationssoftware HADES (the Hamburg Design System) http://tech-www.informatik.uni-hamburg.de/applets/hades/html/ LOCAD (CAD-System für Logikschaltungen) http://home.t-online.de/home/kh.loch/locadr.htm WinLog Cornelsen Software