Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Digitaltechnik Weiterbildungslehrgang XII – Kurs 4 Tobias Selinger 14./15. November 2013.

Ähnliche Präsentationen


Präsentation zum Thema: "Digitaltechnik Weiterbildungslehrgang XII – Kurs 4 Tobias Selinger 14./15. November 2013."—  Präsentation transkript:

1 Digitaltechnik Weiterbildungslehrgang XII – Kurs 4 Tobias Selinger 14./15. November 2013

2 2 Digitaltechnik: Wurzeln Mathematik Physik (Halbleitertechnologie) elektronische Schaltungen Aussagenlogik, Boolesche Algebra digitale Logikschaltungen z.B. Addierer, Dekoder, Speicher, Zähler, Prozessoren... ich denke ich bin

3 3 Teil 1 Logische Grundoperationen

4 4 Problem 1: Aufzugssteuerung Problem: 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 Lösung? Motor Tür- kontakt Knopf

5 5 Aufzugssteuerung Problem: 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 Motor Lösung mittels Elektrotechnik (NaWi 5. Klasse): Reihenschaltung Tür- kontakt Knopf Motor

6 6 Binäre Kodierung mit Schaltvariablen Schaltvariablen bzw. logische Variablen können nur zwei Werte annehmen: 0 bzw. false, neinoder 1 bzw. true, ja Übung: Interpretieren Sie die folgenden Systemzustände: a)x 1 =1, x 2 =0 b)x 1 =0, x 2 =1 c)Ergänzen Sie in der Schalttabelle das gewünschte Ausgabe-Verhalten: Motor Tür- kontakt x 1 Knopf x 2 y x10011x10011 x20101x20101 y Definition der Schaltvariablen: x 1 : Tür geschlossen? x 2 : Knopf gedrückt? y : Motor läuft?

7 7 Binäre Kodierung mit Schaltvariablen Übung: Interpretieren Sie die folgenden Systemzustände: a)x 1 =1, x 2 =0 b)x 1 =0, x 2 =1 c)Ergänzen Sie in der Schalttabelle das gewünschte Ausgabe-Verhalten: Motor Tür- kontakt x 1 Knopf x 2 y x10011x10011 x20101x20101 y0001y0001 Schaltvariablen bzw. logische Variablen können nur zwei Werte annehmen: 0 bzw. false, neinoder 1 bzw. true, ja Definition der Schaltvariablen: x 1 : Tür geschlossen? x 2 : Knopf gedrückt? y : Motor läuft?

8 8 Logik-basierte Systembeschreibung... Beschreibung des Systemverhaltens durch eine aussagenlogische Formel (Schaltfunktion): Motor gdw Tür ist und Knopf ist läuft geschlossen gedrückt Motor Tür- kontakt x 1 Knopf x 2 y UND-Operator y = x 1 x 2 x10011x10011 x20101x20101 y0001y0001 UND-Gatter x1x1 & x2x2 y... und technische Realisierung mit Logikbaustein: nur Signalfluss, kein Stromfluss!

9 9 Zwei Darstellungen: Logik - Elektronik Logik x1x1 & x2x2 y Kontaktschalter Motor Elektronischer Baustein (Logikgatter) x 1 : Tür ist geschlossen x 2 : Schalter ist gedrückt y: Motor ist aktiv Systemgrößen:Systemverhalten: Elektronik (Hardware) Logische Formel (Schaltterm) y = x 1 x 2

10 10 Problem 2: Steuerung eines Türöffners Problem: 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 Schaltvariablen?

11 11 Lösung mit ODER-Operator x 1 : Türöffner im 1. Stock ist gedrückt x 2 : Türöffner im 2. Stock ist gedrückt y: Türschloss ist geöffnet x10011x10011 x20101x20101 y Beschreibung der Systemgrößen mit Schaltvariablen: Beschreibung des Systemverhaltens mit logischen Operationen bzw. Wertetabelle: x1x1 x2x2 y x1x1 1 x2x2 y ODER-Operator y = x 1 x 2 ODER-Gatter Realisierung:

12 Übungen Übung 1: Gegeben ist die folgende Schaltung: Notiere den entsprechenden Schaltterm und ergänze die zugehörige Wertetabelle ! 12 abcy

13 Übungen Übung 2: Gegeben ist der Schaltterm y = a (a b c). Zeichne die entsprechende Schaltung und ergänze die zugehörige Wertetabelle! Könnte man die Schaltung vereinfachen? 13 abcy

14 Übungen Übung 3: Bei der Talent-Show DSDSI entscheidet eine 3er-Jury per Mehrheitsabstimmung, ob ein Kandidat weiterkommt oder nicht. a) Erstelle eine entsprechende Wertetabelle mit Eingängen a, b, c und Ausgang y ! b) Entwickle einen passenden Schaltterm für y ! c) Zeichne die entsprechende Schaltung! 14 abcy

15 15 Problem: Kühlschrankbeleuchtung Problem: Öffnet man den Kühlschrank, so soll das Licht im Kühlschrank automatisch angehen. nach H. Bühler: Grundlagen einer Verständigung mit Computern Tür-Kontakt Lampe

16 16 NICHT-Operator Lösung mit NICHT-Operator x: Tür-Kontakt geschlossen y: Lampe an x01x01 y10y10 x1y Beschreibung der Systemgrößen mit Schaltvariablen: Beschreibung des Systemverhaltens mit Wertetabelle bzw. logischen Operationen: bzw. kürzer NICHT-Gatter (Inverter) Negationspunkt beachten!

17 17 Übersicht: Grundoperationen x10011x10011 x20101x20101 x 1 x x10011x10011 x20101x20101 x 1 x x01x01 x10x10 x1x1 1 x2x2 y x1x1 & x2x2 yx1y UND-Gatter UND-Operation (Konjunktion) ODER-Operation (Disjunktion ) NICHT-Operation (Negation ) ODER-GatterNICHT-Gatter Logik Elektronik

18 18 Eine komplexere Schaltung Problem: Eine High-Tech-Kaffeemaschine soll das Wasser erhitzen, wenn die Kaffee- oder Tee-Taste gedrückt wird und nicht gerade die Wartungsprozedur läuft! k : Kaffee-Taste gedrückt t : Tee-Taste gedrückt w : Wartung läuft h : Heizung an Beschreibung der Systemgrößen mit Schaltvariablen: Beschreibung des Systemverhaltens ?

19 19 Kaffeemaschine k: Kaffee-Taste gedrückt t: Tee-Taste gedrückt w: Wartung läuft h: Heizung an Schaltvariablen: Schaltfunktion ?Wertetabelle ? ktwh Tipp zum Erstellen: Dualsystem!

20 20 Kaffeemaschine k: Kaffee-Taste gedrückt t: Tee-Taste gedrückt w: Wartung läuft h: Heizung an Schaltvariablen: Schaltfunktion:Wertetabelle: ktwh & k t w h 1 Schaltung:

21 21 Umsetzung in Hades Schaltung auf Papier: Umsetzung in einem Simulationsprogramm: (z.B. Hades, Uni Hamburg) 1 & k t w h 1 Eingabe-PinsAusgabe-PinGatter und Leitungen Farbcodes bei Hades: grau = 0 rot = 1 blau = undefiniert

22 22 Übung mit HADES Aufgabe: Bauen Sie in Hades die folgenden Schaltungen auf und testen Sie deren Funktion: 1. Ein ODER-Gatter (mit zwei Input-Pins und einem Output-Pin) 2. Erweitern Sie dies zur Kaffeemaschinen-Schaltung! Tipps zum Handling: Bauteile erzeugen: per Kontextmenü (rechte Maustaste) Leitungen ziehen: per Start- und Endpunkt (mit beliebigen Knickpunkten) Schaltung testen: Input-Pins anklicken (immer zuerst aktivieren!)

23 23 Teil 2 Schaltfunktionen und Schaltnetze

24 24 Multiplexer – Demultiplexer Ein Problem der Vermittlungstechnik: Zwei Teilnehmer T 0 und T 1 wollen wahlweise ihre Daten d 0 und d 1 über eine gemeinsame Leitung senden. Ein Multiplexer (MUX) ist quasi ein Kanal-Umschalter zur Auswahl eines bestimmten Eingangs. Am Ende der Übertragungsleitung kann ein Demultiplexer die empfangenen Daten auf einen bestimmten Kanal weiterleiten. MUXDEMUX s = 0 Steuer- Eingang s = 1 d0d0 d1d1

25 25 Funktionale Modellierung MUXDEMUX 01 s d0d0 d1d1 b s MUX d0d0 d1d1 b Steuersignal Binäre Daten Steuersignal Modellierung des Ein-/Ausgabe-Verhaltens (Black-Box-Modellierung): Eingaben Ausgaben Eingaben Ausgaben

26 26 Logische Systembeschreibung s = 0: b = d 0 s = 1: b = d 1 s = 0: d 0 = b s = 1: d 1 = b Entwicklung von Schalttermen zur Beschreibung des Ein-Ausgabe- Verhaltens bzw. der Schaltfunktionen: s DEMUX d0d0 d1d1 b s MUX d0d0 d1d1 b Eingaben Ausgaben Eingaben Ausgaben Schaltterm falls

27 27 Schaltnetze 1 d0d0 d1d1 s & & & & d0d0 d1d1 b s Entwicklung von Schaltungen zu den Schalttermen. s DEMUX d0d0 d1d1 b s MUX d0d0 d1d1 b Schaltnetz NOT-Gatter

28 28 Idee: Funktionale Modellierung s MUX d0d0 d1d1 b 1 d0d0 d1d1 s & & Realisierung des Systems mit Hilfe eines Logik- basierten Schaltnetzes Beschreibung des Systemverhaltens mit einer logischen Schaltfunktion

29 29 Übung Aufgabe: Erstellen und testen Sie mit Hilfe von Hades das entwickelte Schaltnetz. 1 d0d0 d1d1 & & & & d0d0 d1d1 b ss

30 30 Ü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. MUX DEMUX 0010 d0d0 d2d2 d1d1 d3d3 d0d0 d2d2 d1d1 d3d3 s1s1 s0s0 s1s1 s0s0 b

31 31 Teil 3 Exkurs: Disjunktive Normalform (DNF) und Schaltalgebra

32 32 Steuerung einer Autoinnenbeleuchtung Problem: Öffnet man eine der beiden Türen, so soll das Licht im Auto angehen. nach H. Bühler: Grundlagen einer Verständigung mit Computern

33 33 Steuerung einer Autoinnenbeleuchtung x 1 : Fahrertür ist geschlossen x 2 : Beifahrertür ist geschlossen y: Licht im Auto ist an ? x1x1 x2x2 y x1x1 x2x2 y Schaltvariablen: Schaltfunktion ?Wertetabelle ?Schaltung ? y = ?

34 34 Steuerung einer Autoinnenbeleuchtung x 1 : Fahrertür ist geschlossen x 2 : Beifahrertür ist geschlossen y: Licht im Auto ist an ? x1x1 x2x2 y x1x1 x2x2 y Schaltvariablen: Schaltfunktion ?Wertetabelle ?Schaltung ? y = ?

35 35 Autoinnenbeleuchtung: logischer Ansatz x 1 : Fahrertür ist geschlossen x 2 : Beifahrertür ist geschlossen y: Licht im Auto ist an x1x1 x2x2 y Schaltvariablen: Schaltfunktion ?Wertetabelle: Ansatz 1: logische Idee: Das Licht ist nur dann aus (d.h. nicht an), wenn beide Türen geschlossen sind d.h. bzw. Ansatz 2: guter Blick auf Wertetabelle: y sieht aus wie UND, nur je 0/1 vertauscht! D.h. y = invertiertes UND, siehe Ansatz 1!

36 36 Autoinnenbeleuchtung: systematisch x 1 : Fahrertür ist geschlossen x 2 : Beifahrertür ist geschlossen y: Licht im Auto ist an x1x1 x2x2 y Schaltvariablen: Schaltfunktion ?Wertetabelle: Ansatz 3: systematische Sammlung aller Fälle mit y=1, d.h. der positiven Minterme: y=1, falls einer dieser Fälle zutrifft, d.h. Eingangskombinationen

37 37 Vergleich der Schaltterme x1x1 x2x2 y & & & Gatter 9 Gatter Ansatz 3: Disjunktive Normalform (DNF) x1x1 x2x2 y Ansatz 1/2: logisch / intuitiv x1x1 & x2x2 y

38 38 Steuerung einer Autoinnenbeleuchtung x 1 x x10011x10011 x20101x20101 y1110y1110 x10011x10011 x20101x20101 x 1 x Beschreibung der Schaltfunktion mit einem Schaltterm – Ansatz 1/2 Korrektheitsnachweis mit einer Wertetabelle: Vorgabe:schrittweise Prüfung:

39 39 Steuerung einer Autoinnenbeleuchtung x10011x10011 x20101x20101 y1110y1110 x 1 x 2 x10011x10011 x20101x20101 x 1 x 2 (y 1 y 2 ) y 2 y1y1 y2y2 y3y3 Beschreibung der Schaltfunktion mit einem Schaltterm – Ansatz 3 Korrektheitsnachweis mit einer Wertetabelle: Vorgabe:schrittweise Prüfung:

40 40 Steuerung einer Autoinnenbeleuchtung x10011x10011 x20101x20101 y1110y1110 x 1 x x10011x10011 x20101x20101 x 1 x x 1 x (y 1 y 2 ) y y1y1 y2y2 y3y3 Beschreibung der Schaltfunktion mit einem Schaltterm – Ansatz 3 Korrektheitsnachweis mit einer Wertetabelle: Vorgabe:schrittweise Prüfung:

41 41 Finden von Schalttermen x1x1 x2x2 y & & & Gatter Problem: Wie findet man systematisch Schaltterme für eine vorgegebene Schaltfunktion? x10011x10011 x20101x20101 y1110y1110

42 42 Minimierung des Schaltnetzes Problem: Wie gewinnt man möglichst einfache Schaltnetze zur Realisierung der vorgegebenen Schaltfunktion? x10011x10011 x20101x20101 y1110y1110 x1x1 & x2x2 1y x1x1 & x2x2 y NAND-Gatter

43 43 Boolesche Algebra / Schaltalgebra Objekte: 0 (FALSE) 1 (TRUE) Operationen: ¯ (NOT) (AND) (OR) x10011x10011 x20101x20101 x 1 x x10011x10011 x20101x20101 x 1 x x01x01 x10x10 Entwickelt 1854 von George Boole ( )

44 44 Schaltterme Beispiele: 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).

45 45 Aufstellen von Schalttermen Wert des Minterms y 2 ist 1 gdw Wert(x 1 ) = 0 und Wert(x 2 ) = 1 gdw Wert(x 1 ) = 1 und Wert(x 2 ) = 1 x10011x10011 x20101x20101 y1110y1110 x 1 x x10011x10011 x20101x20101 x 1 x x 1 x (y 1 y 2 ) y y1y1 y2y2 y3y3 Minterm (Elementarkonjunktion) Wert(y) ist 1 gdw Wert eines Minterms ist 1 Term in disjunktiver Normalform (Disjunktion von Mintermen)

46 46 Äquivalenz von Schalttermen x 1 x x10011x10011 x20101x20101 x 1 x x11100x11100 x21010x21010 x 1 x (y 1 y 2 ) y y1y1 y2y2 y3y3 x 1 x x10011x10011 x20101x20101 x 1 x Zwei Schaltterme t 1 und t 2 sind (logisch) äquivalent gdw gilt: Der Wert von t 1 und t 2 ist für alle möglichen Einsetzungen der in t 1 und t 2 vorkommenden Variablen durch 0 bzw. 1 gleich.

47 47 Gesetze der Schaltalgebra x 1 x x10011x10011 x20101x20101 x 1 x x11100x11100 x21010x21010 x 1 x (y 1 y 2 ) y y1y1 y2y2 y3y3 x 1 x x10011x10011 x20101x20101 x 1 x x11100x11100 x21010x21010 x 1 x y 1 (y 2 y 3 ) 1 0

48 48 Gesetze der Schaltalgebra a a b b a b 0 1 c c (a b) c 0 1 b c a (b c) 0 1 Assoziativgesetz für Disjunktionen:

49 49 Gesetze der Schaltalgebra Assoziativgesetze: Kommutativgesetze: Distributivgesetze: (zwei !!) De Morgansche Gesetze: Beweise? Per Wertetabelle!

50 50 Gesetze der Schaltalgebra 0-1-Gesetze: Komplementgesetze: Absorptionsgesetze: Gesetze der neutralen Elemente: Übung: Ergänzen Sie die jeweiligen Ergebnisse:

51 51 Gesetze der Schaltalgebra 0-1-Gesetze: Komplementgesetze: Absorptionsgesetze: Gesetze der neutralen Elemente:

52 52 Vereinfachung von Schalttermen Ergebnis: Die Terme sind logisch äquivalent. Tipp zur Notation: Die Priorität vor und das Weglassen von macht Terme übersichtlicher!

53 53 Termumformung m. Boolescher Algebra 2. Distributivgesetz ! Tipp zur Notation: Die Priorität vor und das Weglassen von macht Terme übersichtlicher!

54 54 Übung: NAND, NOR, XOR Neben den drei Grundoperationen gibt es auch die folgenden Operationen als fertige Bausteine: NAND (Not AND), NOR (Not OR) und XOR (exklusives ODER) Testen Sie diese Operationen mit Hades und ergänzen Sie die Wertetabellen. Beschreiben Sie diese Operationen auch mit Schalttermen, in denen nur die drei Grundoperationen vorkommen. x10011x10011 x20101x20101 NANDNORXOR

55 55 Teil 3 Rechensysteme

56 56 7-Segment-Anzeige Aufgabe: Dekodier-Schaltung zur Ansteuerung einer 7-Segment-Anzeige x3x3 x2x2 x1x1 x0x0 7-Segment- Dekoder Ziffer DualzahlSegmente x 3 x 2 x 1 x 0 abcdefg Wertetabelle:

57 7-Segment-Anzeige: Wertetabelle Ziffer DualzahlSegmente x 3 x 2 x 1 x 0 abcdefg Wertetabelle: 57

58 7-Segment-Anzeige: DNF für e Ziffer DualzahlSegmente x 3 x 2 x 1 x 0 abcdefg DNF für Segment e = 58

59 7-Segment-Anzeige: Minimierung für e DNF für Segment e = 59 Pärchen mit möglichst vielen gleichen Variablen bilden Ausklammern Komplementgesetz Übungen:Zeichnen Sie die Schaltung zu dieser Formel! Implementieren Sie diese Schaltung in Hades!

60 7-Segment-Anzeige: Übungen 60 Übungen:Für alle weiteren Segmente (in Gruppenarbeit): Bilden Sie die DNF, minimieren Sie soweit möglich und implementieren Sie die entsprechende Schaltungen! Definieren Sie Ihre Schaltung als neuen Baustein (siehe Seite 79) und speichern ihn im Kursordner unter dem Namen !

61 Schaltsymbole im Wandel der Zeit 61 AND OR NOT NAND NOR XOR

62 62 Zahldarstellungen Problem: Wie viele Blätter sind hier dargestellt? (10010) 2 18(12) 16

63 63 Zahldarstellungen Problem: Wie viele Blätter sind hier dargestellt? (10010) 2 18(12) 16 unär Päckchen binär dezimalhexadezimal

64 dezimalhexadezimal binär (dual) 64 Stellenwertsysteme A B C D E F Stellenwerte:

65 65 Addiersystem Summand A Summand B Ziel ist es, ein Addiersystem für Dualzahlen zu entwickeln. Schriftliche Addition im Zehnersystem: Summand A Summand B Schriftliche Addition im Dualsystem: +

66 66 Addiersystem Summand A Summand B Übertrag Summe Ziel ist es, ein Addiersystem für Dualzahlen zu entwickeln. Schriftliche Addition im Zehnersystem: Summand A Summand B Übertrag Summe Schriftliche Addition im Dualsystem: +

67 67 Addierschaltung Aufgabe:Addierschaltung für zwei Dualzahlen a und b ( je 3 Bit) Rechenbeispiel: = a = b = summe

68 68 Addierschaltung Aufgabe:Addierschaltung für zwei Dualzahlen a und b ( je 3 Bit) Rechenbeispiel: Schaltung: Ansatz 1:Wertetabelle? = a = b = summe a2a2 a0a0 a1a1 b2b2 b0b0 b1b1 s2s2 s0s0 s1s1 s3s3 + Achtung: 1+1 ergibt 0 mit Übertrag 1 !

69 69 Addierschaltung: per Wertetabelle Wertetabelle: Übungen: a) Berechnen Sie die Ergebnisse der letzten beiden notierten Zeilen! b) Aus wie vielen Zeilen besteht die Tabelle? abs a2a2 a1a1 a0a0 b2b2 b1b1 b0b0 s3s3 s2s2 s1s1 s0s

70 70 Addierschaltung: per Wertetabelle Wertetabelle: Übungen: a) Berechnen Sie die Ergebnisse der letzten beiden notierten Zeilen! b) Aus wie vielen Zeilen besteht die Tabelle? 6 Eingangsvariable, d.h. 2 6 = 64 Kombinationen! Das sind viele... abs a2a2 a1a1 a0a0 b2b2 b1b1 b0b0 s3s3 s2s2 s1s1 s0s Und für 64-Bit- Zahlen?

71 71 Addierschaltung: per ROM-Speicher Ansatz 2: Die gewünschten Werte der Tabelle werden zuvor in einem ROM-Baustein fest gespeichert (eingebrannt). Die Eingangsbits von a und b werden dann als Adresse benutzt, und der Speicher liefert jeweils das zugehörige Ergebnis. a) Wie groß wäre ein ROM für zwei 3-Bit-Zahlen? b) Wie groß wäre er für zwei 16-Bit-Zahlen? AdresseInhalt a2a2 a1a1 a0a0 b2b2 b1b1 b0b0 s3s3 s2s2 s1s1 s0s = 64 Speicherzellen á 4 Bit Mrd Speicherzellen á 17 Bit = 12 GB

72 72 Addierschaltung: per ROM-Speicher Ansatz 2: Die gewünschten Werte der Tabelle werden zuvor in einem ROM-Baustein fest gespeichert (eingebrannt). Die Eingangsbits von a und b werden dann als Adresse benutzt, und der Speicher liefert jeweils das zugehörige Ergebnis. a) Wie groß wäre ein ROM für zwei 3-Bit-Zahlen? b) Wie groß wäre er für zwei 16-Bit-Zahlen? AdresseInhalt a2a2 a1a1 a0a0 b2b2 b1b1 b0b0 s3s3 s2s2 s1s1 s0s Und für 64-Bit- Zahlen? 2 6 = 64 Speicherzellen á 4 Bit Mrd Speicherzellen á 17 Bit = 12 GB

73 73 Addierschaltung: Module Ansatz 3: Per Modularisierung (stellen- bzw. spaltenweise Berechnung) Rechenbeispiel: Schaltung: (mit Modulen) = a = b = summe Sind alle Module gleich? b2b2 a2a2 s2s2 + b1b1 a1a1 s1s1 + b0b0 a0a0 s0s0 + ü1ü1 ü0ü0 ü2ü2 s3s3

74 74 Addierschaltung: HA und VA Ansatz 3: Per Modularisierung (stellen- bzw. spaltenweise Berechnung) Rechenbeispiel: Schaltung: (mit Modulen) = a = b = summe b2b2 a2a2 s2s2 VA b1b1 a1a1 s1s1 b0b0 a0a0 s0s0 HA ü1ü1 ü0ü0 ü2ü2 s3s3 Das hinterste Modul erhält noch keinen Übertrag, d.h. nur HA Halb-Addierer

75 75 Addierschaltung: HA und VA Übung:Ergänzen Sie die Wertetabellen und entwickeln Sie möglichst einfache Schaltungen für a) den HA: ba s HA ü b) den VA: ba s VA ü üvüv abüvüv sü absü

76 76 Addierschaltung: HA und VA Übung:Ergänzen Sie die Wertetabellen und entwickeln Sie möglichst einfache Schaltungen für a) den HA: ba s HA ü b) den VA: ba s VA ü üvüv abüvüv sü absü

77 77 Addierschaltung: HA und VA Lösung für: a) den HA: ba s HA ü absü

78 78 Addierschaltung: HA und VA Lösung für: a) den VA: ba s VA ü üvüv abüvüv sü

79 79 4-Bit-Paralleladdierer mit Bausteinen a3a3 a2a2 HA VA a1a1 a0a0 b3b3 b2b2 b1b1 b0b0 100 s0s0 s1s1 s2s2 s3s3 ü Beispiel: (1001) 2 + (1011) 2 = (10100)

80 80 Hinweise: Definition von Bausteinen Schritte zum Definieren eines neuen Bausteins (Subdesigns): 1. Schaltung erzeugen, Ein- und Ausgänge sinnvoll benennen, und abspeichern (z. B. als HA.hds) 2. Einen Namen für das Subdesign setzen: [Edit][Set design name...] HA 3. Zugehörige Symboldatei erzeugen: [Edit][Create symbol] (Hades erzeugt dann intern die Datei HA.sym als Rechteck-Baustein mit entsprechenden Ports) 4. In neuer Schaltung dieses Subdesign benutzen: [rechte Maustaste] [Create] [Create Subdesign...] HA.hds class name instance name

81 81 Übung: 4-Bit-Addierer Aufgabe: Erstellen und testen Sie zunächst einen Halb- und Volladdierer. Definieren Sie zugehörige Bausteine (Subdesigns) und entwickeln Sie mit diesen anschließend einen 4-Bit-Paralleladdierer!

82 82 Übung 4-Bit-Inkrementierer Aufgabe: Entwickeln Sie analog zum 4-Bit-Addierer einen 4-Bit-Inkrementierer. Idee: Zahl Inkrement Übertrag Nachfolger

83 83 Übung 4-Bit-Komparator Aufgabe: Entwickeln Sie einen 4-Bit-Komparator, der überprüft, ob zwei 4-Bit- Dualzahlen gleich sind. Idee: Zahl A Zahl B Hilf Ergebnis 0

84 84 Lösung - Addierer

85 85 Lösung - Inkrementierer Zahl Inkrement Übertrag Nachfolger Idee: konstante 1 (io – VCC)

86 86 Lösung - Komparator Idee: Zahl A Zahl B Hilfsregister Ergebnis 0

87 87 Teil 4 Flip-Flops

88 Bisher: Schaltnetze Schaltnetz y = f(x) Eingang x Ausgang y + jede beliebige Funktion ist berechenbar - keine Möglichkeit einer Speicherung 88

89 Schaltwerk Idee: Rückkopplung Schaltnetz Eingang x Ausgang y Rückkopplung: Ein Teil der Ausgangsleitungen wird als erweiterte Eingangsleitungen wieder zugeführt, d.h. y = f(x, y). Dies bringt neue Verhaltensmöglichkeiten mit sich! (Wer seinen Output reflektiert, kann lernen... !) 89

90 90 Alarmanlage Problem: Durch einen Alarmsensor soll eine Sirene aktiviert werden, die erst durch ein manuelles Rücksetzen wieder verstummt!

91 91 Alarmanlage als zustandsbasiertes System Alarm Sirene aus Rücksetzen Anfangszustand auslösende Aktion Sirene an Problem: Durch einen Alarmsensor soll eine Sirene aktiviert werden, die erst durch ein manuelles Rücksetzen wieder verstummt! Zustandsvariable: Q = 0: Sirene aus Q = 1: Sirene an Steuersignale: S = 1: Alarm auslösen (Setzen) R = 1: Rücksetzen Zustandsgraph :

92 Aufgabe: ODER-Selbsthalteschaltung Aufgabe:Entwickeln Sie mit einem ODER-Gatter eine Selbsthalte-Schaltung, die bei einem Alarmsignal den Ausgang dauerhaft auf 1 setzt! 1 Eingang S (Setzen) Zustand Q (Ausgang) 92

93 Aufgabe: ODER-Selbsthalteschaltung Aufgabe:Entwickeln Sie mit einem ODER-Gatter eine Selbsthalte-Schaltung, die bei einem Alarmsignal den Ausgang dauerhaft auf 1 setzt! 1 Eingang S (Setzen) Zustand Q (Ausgang) 93

94 Aufgabe:... mit Rücksetz-Eingang Aufgabe:Ergänzen Sie einen Rücksetz-Eingang, um den Ausgang auf Q = 0 zurück zu setzen. 1 Ausgang Q & Setzen: S Rücksetzen: R UND als Tor-Schaltung: bei R = 0: Durchlass bei R = 1: Sperrung. 94

95 Aufgabe:... mit Rücksetz-Eingang Aufgabe:Ergänzen Sie einen Rücksetz-Eingang, um den Ausgang auf Q = 0 zurück zu setzen. 1 Setzen: SAusgang Q & Rücksetzen: R Funktionstabelle: SRQ alt Q beliebig UND als Tor-Schaltung: bei R = 0: Durchlass bei R = 1: Sperrung. Q alt Übung! 95

96 Lösung: R-S-Flipflop Aufgabe:Ergänzen Sie einen Rücksetz-Eingang, um den Ausgang auf Q = 0 zurück zu setzen. 1 Ausgang Q & Funktionstabelle: SRQ altQ beliebig kurz: SRQ 00 bleibt Speichern 010 Rücksetzen 101 Setzen 110 (Rücksetzen) UND als Tor-Schaltung: bei R = 0: Durchlass bei R = 1: Sperrung. Setzen: S Rücksetzen: R 96

97 Dieses RS-Flipflop ist das elementarste Speicherelement (für ein Bit) und erhält ein eigenes Schaltsymbol: Beschreibung mittels eines Zustandsgraphen: RS-Flipflop: Zustandsdiagramm SQ R ¬Q 0 S ¬R Setzen Rücksetzen R 1 ¬R R ¬S Funktion:SRQ¬Q Speichern:00 bleibt Rücksetzen:0101 Setzen:1010 Verboten! (inkonsistent)

98 Übung: Zeitverhalten eines RS-Flipflops: Ergänzen Sie den Ausgang Q ! Übung: Zeitverhalten Zeit S R Q

99 Übung: Zeitverhalten eines RS-Flipflops: Ergänzen Sie den Ausgang Q ! Lösung: Zeitverhalten Zeit S R Q

100 1 SQ & R RS-Flipflop: Umformung Umformung des RS-Flipflop... Forme mittels DeMorgan um: Q = ¬R (S Q) = 100

101 1 SQ & R RS-Flipflop: Umformung Umformung des RS-Flipflop: Forme mittels DeMorgan um: Q = ¬R (S Q) = ¬(¬¬R ¬(S Q)) = ¬ ( R ¬(S Q)) Übung: Aufbau des RS-Flipflop mit 2 NOR-Gattern ? 101

102 1 SQ & R RS-Flipflop: Typischer Aufbau Umformung des RS-Flipflop: Forme mittels DeMorgan um: Q = ¬R (S Q) = ¬ (R ¬(S Q)) 1 SQ 1 R Aufbau mit 2 NOR-Gattern......und typischem Layout: 1 1 S R Q ¬Q¬Q 102

103 103 Teil 5 Von taktgesteuerten Flip-Flops zu Registern

104 104 Synchronisation von Flip-Flops In der Regel müssen bei Speichervorgängen mehrere Bits gleichzeitig übernommen werden. Hierzu ist es notwendig, die Flip-Flops zu synchronisieren, d. h. eine am Eingang vorliegende Information darf erst auf ein bestimmtes Signal hin übernommen werden. Man verwendet hierzu i. a. ein periodisches Taktsignal (C wie Clock). Fallende Flanke Steigende Flanke 1-Zustand 0-Zustand

105 105 Taktpegel-gesteuertes RS-Flip-Flop S*0011S*0011 R*0101R*0101 QQQ010QQQ010 C01111C01111 S Q R S R & & C Idee: 2 Tore steuern, ob S und R durchgelassen werden. Nur wenn der Takt den Wert 1 hat, kann ein Setzen oder Rücksetzen des Flip-Flops erfolgen. C S Q = 0Q = 1 C RC S C R S = R = 1 vermeiden wie bisher gesperrt 2 Tore Q

106 106 Übung: Taktpegel-gesteuertes RS-FF C S Q R S Q R S R & & C Aufgabe: Testen Sie das entwickelte Flip-Flop mit Hades. Ergänzen Sie anschließend das unten dargestellte Impulsdiagramm. Impulsdiagramm Q

107 107 Lösung: Taktsteuerung S*0011S*0011 R*0101R*0101 QQQ01QQQ01 C01111C01111 C S Q = 0Q = 1 C RC S C R S = R = 1 vermeiden C S Q R Nur wenn der Takt auf "1" ist, kann ein Setzen oder Rücksetzen des Flip-Flops erfolgen.

108 108 Wunsch: ein Dateneingang D Idee: Zur Speicherung eines Bits wäre es praktisch, statt der beiden Eingänge S und R nur noch einen Dateneingang D zu haben. Im Falle von D=1 sollte dann S=1 und R=0 sein, im Falle von D=0 sollteS=0 und R=1 sein. Durch welche Ergänzung kann dies erreicht werden? 1 D S Q R S R & & C Q QD C Q Taktpegelgesteuertes D-Flipflop

109 109 Wunsch: Flanken- statt Pegelsteuerung Problem: Während der Taktphase C=1 (d.h. während einem Zeitintervall ) ist jede Änderung am Eingang D sofort am Ausgang wirksam. Besser wäre es, den Eingangswert nur zu einem definierten Zeitpunkt zu übernehmen! QD C Q

110 110 Master-Slave-D-Flipflop Idee: Master-Slave (Schleusen-Prinzip) Zwei pegelgesteuerte D-Flipflops werden hintereinander im Gegentakt betrieben, d.h. während der Phase C=0: Master übernimmt, Slave bleibt während der Phase C=1: Master speichert, Slave übernimmt dessen Wert zum Zeitpunkt des Wechsels von C auf 1 (steigende Taktflanke) wird der Eingang übernommen und gespeichert! QD Q vorderflanken- gesteuertes D-Flipflop D C 1 MasterSlave Q Q QMQM D C QSQS D C

111 111 Übung: D-Flipflop C D Q Aufgaben: a) Ergänzen Sie den Verlauf für Q. b) Erstellen Sie eine D-Flip-Flop- Testschaltung und überprüfen Sie Ihr gezeichnetes Ausgangssignal. C C C C D C C C Z 0 Q = 0 Z 3 Q = 0 Z 2 Q = 1 Z 1 Q = 1

112 112 Lösung: D-Flip-Flop C D CC C C C C Z 0 Q = 0 Z 3 Q = 0 Z 2 Q = 1 Z 1 Q = 1 C D Q Ein Zustandswechsel kann nur bei einer steigenden Taktflanke erfolgen.

113 113 Flipflops in Hades Sie finden bei Hades unter Flipflops u.a. die folgenden Bausteine: Übung: Testen Sie deren Funktion anhand der Schaltung Flipflop-Demo.hds ! Achtung: NR bedeutet Not Reset, ist also ein Reset-Eingang mit vorgeschaltetem Inverter (siehe Bild)! Offene Eingänge führen zu seltsamen Fehlern, d.h. alle Eingänge müssen mit definierten Werten belegt werden! Nicht benutzte Ausgänge dürfen offen bleiben.

114 114 Flipflops in Hades Sie finden bei Hades unter Flipflops u.a. die folgenden Bausteine: Übung: Testen Sie deren Funktion anhand der Schaltung Flipflop-Demo.hds ! (Tipp: NR bedeutet Not Reset im Sinne eines Inverters!) pegelgesteuertes D- Flipflop vorderflanken- gesteuertes D-Flipflop vorderflanken- gesteuertes D-Flipflop mit Set- und Reset- Eingang (je negiert)

115 115 Typische Macken von Hades Probleme... und Lösungen: Ein Anschluss-Pin ist nicht erreichbar:Stellen Sie die Einrastpunkte feiner, im Menü View – Magnetic Grid... Sie möchten einen Verbindungspunkt setzen bzw. von einer Leitung weiter abzweigen: wire – add segment Ein Bauteil gibt seine Signale nicht weiter, obwohl die Leitungen optisch verbunden sind: Schließen Sie das Bauteil neu an: wire – autoconnect SimObject Sie sehen keine Anschluss-Bezeichnungen:Aktivieren Sie im Menü: Layers – Port Labels Vordefinierte Bausteine verschwinden (!!!) :Speichern Sie alle Schaltungen im gleichen (Netzwerk-)Ordner! Dann beziehen sich alle Verweise auf den gleichen Pfad. Namenskonvention: ( ) Die Schaltung hängt in einem undefinierten Zustand: Starten Sie den Simulationslauf neu: Reset, dann Run forever Irgendwo steckt noch ein Fehler...:Options – Check design & highlight errors

116 116 Übung: Schieberegister Ein 4-Bit-Schieberegister ist ein Speicherelement mit folgenden Eigenschaften: 1) Das Register kann 4 Bit mit Hilfe von Flip-Flops speichern. 2) Mit jeder steigenden Taktflanke werden die gespeicherten Werte um ein Bit nach rechts verschoben. 3) Das erste Flip-Flop übernimmt jeweils den Wert am Dateneingang, der Wert des letzten Flip-Flops wird herausgeschoben. 010D in 1 Übung: Überlegen Sie, welche Flipflops hierfür günstig sind, und entwerfen Sie die entsprechende Schaltung! D out

117 117 Lösung: 4-Bit-Schieberegister

118 118 Übung: Schieberegister-Baustein 4 parallele Eingänge (zum Laden) serieller Daten-Eingang Umschalter Shift Enable: 1:Shift / 0:Load Hades stellt einen vordefinierten Schieberegisterbaustein zur Verfügung: [rechte Maustaste] [create] [create by name] [ hades.models.register.ShiftRegister] Übung: Öffnen Sie die Schieberegister-Demo und testen Sie diesen Baustein! 4 parallele Ausgänge

119 119 Serielle Datenübertragung Aufgabe:Mit nur einer einzigen Leitung sollen Daten von einem Sender zu einem Empfänger übertragen werden. Dies lässt sich seriell mit Schieberegistern realisieren: 0110 paralleles Laden paralleles Holen Entwerfen Sie eine entsprechende Schaltung in Hades! Hinweise: Sie benötigen zur Synchronisation eine zusätzliche gemeinsame Taktleitung! Die Schieberegister finden Sie unter [create] [create by name] [ hades.models.register.ShiftRegister] serielles Übertragen

120 120 Serielles Addierwerk VA Ein serielles 4-Bit-Addierwerk lässt sich wie dargestellt mit Hilfe eines Volladdierers und Schieberegisterbausteinen aufbauen

121 121 Übung: Serielles Addierwerk Entwickeln Sie ein serielles 4-Bit-Addierwerk. Benutzen Sie vordefinierte Schieberegisterbausteine, um die Dualzahlen zwischenzuspeichern. Tipp:per Kontextmenü – Edit können Sie verschiedene Parameter der Bausteine einstellen, bei den Schieberegistern z.B. die Anzahl der Bits.

122 122 4-Bit-Register Sie finden bei Hades in der RTL (Register Transfer Library) das folgende 4-Bit-Register (ohne Schiebefunktion): Übung: Testen Sie seine Funktion anhand der Schaltung 4-Bit-Register-Demo.hds !

123 123 Aufgabe: 4-Bit-Zähler Mit einem Register und einem Inkrementierer lässt sich ein Zähler bauen: Übung: Definieren Sie einen 4-Bit-Inkrementierer (in Modulbauweise, wie beim 4-Bit-Addierer) und konstruieren Sie eine entsprechende Zähler-Schaltung ! 4-Bit-INC C R 4-Bit-Reg. Takt Q3Q2Q1Q0Q3Q2Q1Q0

124 124 Aufgabe: Dezimal-Zähler Durch gezieltes Rücksetzen beim Auftreten der Zahl 10 kann ein Dezimal-Zähler (d.h. modulo 10) realisiert werden. Übung: Ergänzen Sie den 4-Bit-Zähler entsprechend! 4-Bit-INC 10-Erkennung C R 4-Bit-Reg. Takt

125 125 Lösung: Dezimal-Zähler mit Anzeige

126 126 Aufgabe: Elektronischer Würfel 3-Bit-INC 6-Erkennung C R 3-Bit-Reg. Takt- generator Dekoder für Augen- zahlen

127 127 Würfel-Codierung Augen Zustands- code DualzahlLEDs x 2 x 1 x 0 ABCD ABCDCBAABCDCBA A = B = C = D = Übung: Ergänzen Sie die Wertetabelle und bestimmen Sie die Funktionen für die Würfelaugen! Tipp: Die sieben Augen können in 4 Gruppen unterteilt werden:

128 128 Würfel-Codierung Augen Zustands- code DualzahlLEDs x 2 x 1 x 0 ABCD ABCDCBAABCDCBA A = x 2 + x 1 + x 0 B = x 2 + x 1 x 0 C = x 2 x 0 D = x 0

129 129 Würfel mit Hades

130 130 Literaturhinweise F. Gasper, I. Leiß, M. Spengler, H. Stimm: Technische und theoretische Informatik. bsv Eckhart Modrow: Automaten Schaltwerke Sprachen. Dümmler Verlag H. Bühler: Grundlagen einer Verständigung mit Computern. Skript. Heinz-Dietrich Wuttke, Karsten Henke: Schaltsysteme. Pearson Studium Für weitere Fragen:


Herunterladen ppt "Digitaltechnik Weiterbildungslehrgang XII – Kurs 4 Tobias Selinger 14./15. November 2013."

Ähnliche Präsentationen


Google-Anzeigen