Teil 1: Digitale Logik Inhalt: Boolesche Algebra kombinatorische Logik sequentielle Logik kurzer Exkurs technologische Grundlagen programmierbare logische Bausteine 1 Analoge und digitale Hardware bei analoger Technik kontinuierliche Signale bei digitaler Technik diskrete, i.a. binäre Signale 2 1
Analoge und digitale Hardware (Forts.) Vor-/Nachteile analoger Hardware: Multiplikation und Addition einfach zu realisieren kleiner Flächenbedarf sehr schnell temperaturabhängig nichtlineare Komponenten Präzision nur bei ca. 6-8 bit Langzeitspeicherung von Daten schwierig 3 Digitale und analoge Hardware (Forts.) Vor-/Nachteile digitaler Logik: unempfindlich gegenüber Störungen (z.b. Rauschen) einfacher Entwurf hoher Flächenbedarf, insbesondere fur Multiplikation hohe Präzision möglich hoher Energieverbrauch Digitale Logik ermöglicht die einfache Realisierung robuster Hardware 4 2
Elementare Gatter Ein Gatter ist eine black box mit einem oder mehreren Eingängen A,B,C,... und genau einem Ausgang Y zur Realisierung einer booleschen Funktion Y=f(A,B,C,...). Eine Wahrheitstabelle legt die boolesche Funktion fest. 5 Elementare Gatter (Forts.) UND-Gatter: realisiert eine Konjunktion Y=A B, Y=A 1 A 2... A k Andere Notationen: Y=A B, Y=AB, Y=A&B 6 3
Elementare Gatter (Forts.) ODER-Gatter: realisiert eine Disjunktion Y=A+B, Y=A 1 +A 2 +...+A k Andere Notationen: Y=A B 7 Elementare Gatter (Forts.) NICHT-Gatter: realisiert eine Negation Y=A Andere Notationen: Y=A', Y= A 8 4
Beispiel einer digitalen Schaltung Gesucht ist eine Schaltung, die eine logische 1 generiert, wenn höchstens einer von drei Eingängen A,B,C aktiv ist. 2 mögliche Lösungen: 9 Boolesche Algebra Problem: Gibt es ein Verfahren, um die Äquivalenz zweier Schaltungen nachzuweisen um Schaltungen auf einfache Weise zu transformieren um minimale Schaltungen zu entwerfen Lösung: Boolesche Algebra von G. Boole im Jahre 1854 entwickelt auf den drei booleschen Operationen +, sowie basierend 10 5
Axiome der Booleschen Algebra Abgeschlossenheit: Jede boolesche Operation auf booleschen Werten liefert ein boolesches Resultat Kommutativität: A+B=B+A A B=B A (R10) (R11) Assoziativität: A+(B+C)=(A+B)+C (R12) A (B C)=(A B) C (R13) Distributivität: A (B+C)=A B+A C (R14) A+B C=(A+B) (A+C) (R17) 11 Axiome der Booleschen Algebra (Forts.) Neutrales Element: A+0=0+A=A (R1, R10) A 1= 1 A=A (R6, R11) Komplementäres Element: A+A=1 (R4) A A=0 (R8) 12 6
Theoreme der Booleschen Algebra Idempotenzgesetze: A+A=A (R3) A A=A (R7) Substitutionsregeln: A+1=1 (R2) A 0=0 (R5) Absorptionsgesetze: A+A B=A (R15) A (A+B)=A (R16) Doppelnegation: A=A (R9) 13 Theoreme der Booleschen Algebra (Forts.) de Morgansche Regeln: A+B=A B A B=A+B Anwendung der de Morganschen Regeln zur Negation von Termen: Ersetzung von ODER durch UND und umgekehrt Komplementierung der Variablen 14 7
Ausgezeichnete Terme Produktterm: einfache Variable oder Konjunktion mehrerer ggf. negierter Variablen Summenterm: einfache Variable oder Disjunktion mehrerer ggf. negierter Variablen Minterm: Produktterm, in dem jede Variable einer booleschen Funktion genau einmal (einfach oder negiert) vorkommt Maxterm: Summenterm, in dem jede Variable einer booleschen Funktion genau einmal (einfach oder negiert) vorkommt 15 Normalformen Summe von Produkten: einzelner Produktterm oder Disjunktion mehrerer Produktterme Produkt von Summen: einzelner Summenterm oder Konjunktion mehrerer Summenterme Disjunktive Normalform (DNF): eindeutige Darstellung einer booleschen Funktion f als Disjunktion aller Minterme m i mit f (m i )=1 Konjunktive Normalform (KNF): eindeutige Darstellung einer booleschen Funktion f als Konjunktion aller Maxterme M i mit f (M i )=0 16 8
Ableitung von Normalformen Ableitung einer DNF( f ) aus Wahrheitstabelle: Auswahl aller Minterme m i mit f (m i )=1 Bildung der Disjunktion aller ausgewählten m i Ableitung einer KNF( f ) aus Wahrheitstabelle: Auswahl aller Minterme m i, für die f (m i )=0 gilt Generierung von Maxtermen M i = m i durch Negation Bildung der Konjunktion aller ausgewählten M i Es gilt zudem: KNF( f ) = DNF( f ) 17 Minimierung von Normalformen Aus einer DNF (KNF) kann eine möglichst einfache, d.h. minimale Summe von Produkten (bzw. ein minimales Produkt von Summen) generiert werden durch: wiederholte Anwendung von Axiomen und Theormen der Booleschen Algebra Verwendung von Karnaugh-Diagrammen Algorithmische Minimierung auf einem Rechner 18 9
Aufbau eines Karnaugh-Diagramms 19 Minimieren mit Karnaugh-Diagrammen Bestimmung minimaler Summen von Produkten: 1) Aufstellen der DNF 2) Jeder Minterm m i der DNF entspricht einem 1 - Feld im Karnaugh-Diagramm 3) Kombination benachbarter 1 - Felder 4) ggf. Disjunktion mehrerer Kombinationen Eine minimale Funktion wird gebildet durch die kleinste Anzahl möglichst großer Kombinationen. 20 10
Beispiel: 2-Bit Multiplizierer 21 Bemerkungen zu Karnaugh-Diagrammen Auch minimale Produkte von Summen können bestimmt werden durch: 1) Kombination benachbarter 0 - Felder 2) ggf. Disjunktion mehrerer Kombinationen 3) Komplementbildung nach de Morganschem Gesetz Ist der Ausgangswert für bestimmte Kombinationen der Eingangswerte irrelevant, so werden im Karnaugh- Diagramm die don t care - Minterme als D - Felder eingetragen und ggf. bei Minimierung berücksichtigt. 22 11