Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

1 Vertiefungsstoff zum Thema Logik und Schaltalgebra Aussagenlogik induktive Definition boolescher Terme systematische Aufzählung boolescher Funktionen.

Ähnliche Präsentationen


Präsentation zum Thema: "1 Vertiefungsstoff zum Thema Logik und Schaltalgebra Aussagenlogik induktive Definition boolescher Terme systematische Aufzählung boolescher Funktionen."—  Präsentation transkript:

1 1 Vertiefungsstoff zum Thema Logik und Schaltalgebra Aussagenlogik induktive Definition boolescher Terme systematische Aufzählung boolescher Funktionen technische Realisierung von Schaltfunktionen konjunktive Normalformen weitere Verfahren zur Minimierung von Schaltfunktionen –Quine-McCluskey –BDD Werkzeuge zum Aufbau und zur Simulation von Schaltfunktionen

2 2 Beispiele für Boolesche Algebren Aussagenlogik: mit den Operatoren „UND“, „ODER“ und „NICHT“ über einer Menge von Aussagen. (Maschinelles Schlussfolgern) Mengenalgebra mit den Operatoren „  “ Vereinigung und „  “ und „/“ Mengenkomplement auf der Potenzmenge einer Grundmenge G. Schaltalgebra mit den Operatoren  man verwendet dabei bi-stabile Schaltelemente: –Bi-stabile Schaltelemente haben zwei stabile Schaltzustände, denen man die Schaltwerte 0 bzw. 1 zuordnet. –Technische Realisierung der Schaltzustände z.B. als Schalter offen/geschlossen oder mit Transistor: Durchgang nichtleitend/leitend, hohes/niedriges Potential etc.

3 3 Aussagenlogik / Schaltlogik / Boolesche Algebra Aussagenlogik: Aussagen sind Elemente einer Menge, die entweder wahr oder falsch sind. (Beispiel: Zeugenaussagen bei einem Verhör.) Aussagen lassen sich mit bestimmten Operatoren verknüpfen. Der Wahrheitsgehalt einer Verknüpfung ist dann ebenfalls wieder wahr oder falsch. Beispiel („Logelei“): Nach einem Einbruch wurden drei Verdächtige A, B und C festgenommen. Im Verhör ergaben sich folgende Sachverhalte: 1.Als Täter kommen nur A, B und C in Frage. 2C „arbeitet“ niemals alleine. 3.A arbeitet niemals mit C. 4. Wenn A schuldig ist und B nicht, dann ist auch C schuldig. Preisfrage: Ist B schuldig?

4 4 Induktive Definition boolescher Ausdrücke 1. Induktionsanfang: – Alle Elemente a 1 aus M sind boolesche Ausdrücke. – Das neutrale Element 0 ist ein boolescher Ausdruck. – Das Eins- Element 1 ist ein boolescher Ausdruck. Falls A und B boolesche Ausdrücke sind, so auch: A B, B A, (logische Notation: A  B, B  A, BA, AB A + B, B + A A  B, B  A 'A, 'B  A,  B ) (A), (B) 2. Induktionsschritt: Gegeben: eine Basismenge M = {a 1,..., a n } n  2 Beispiel: Basismenge M = {0, 1}. ⇒ (0+1) '(1+'0) ist boolescher Ausdruck, bzw. (0  1)   (1   0)

5 5 Aufzählung Boolescher Funktionen / Schaltfunktionen Frage: Welche 1-wertige und 2-stellige boolesche Funktionen gibt es? Ansatz: Systematisches Aufzählen aller möglichen Funktionen der Funktionen f : {0, 1} 2  {0, 1} 1-wertige u. 2-stellige boolescher Funktionen: 1. Nullfunktion: f 0 (a,b) -> 0 2. Konjunktion: f 1 (a,b) -> a  b Einsfunktion f 15 (a,b) -> 1 Anmerkung: Man kann bei der Aufzählung die Funktionen f i (0  i  15) übersichtlich so indizieren, dass aus ihrem Index i ablesbar ist, für welche Kombination der Eingabewerte (a, b) sie den Wert 1 annimmt f1f1 a b

6 6 Aufzählung Boolescher Funktionen / Schaltfunktionen f i AusdruckBezeichnungKürzel f Null-Funktion f a  bKonjunktionUND f a   b f a Projektion f  a  b f b Projektion f a  b AntivalenzXOR x 0 11 x 0 00 fifi a b x 1 13 x 1 02  a   b  a  b a   b a  b In dieser Spalte stehen die Elemente der Indexmenge von Funktion f i. Beispiel: I f 3 ={2, 3} d.h. f 3 =1 für die Eingangsbelegungen: a   b oder a  b

7 7 Aufzählung Boolescher Funktionen Die 16 möglichen Schaltfunktionen f i : {0,1} x {0,1}  {0, 1}

8 8 Varianten zur Darstellungen Boolescher Funktionen Booleschen Funktion lassen sich auf verschiedene Form darstellen: Beispiel: f XOR : {0, 1} 2 n  {0, 1} Wertetabelle: Indexmenge: I XOR = {01, 10} = {1 10, 3 10 } Boolescher Ausdruck: f XOR (a,b) = a  b = a‘ b + a b‘ = (a+b) (a‘+b‘) Funktionsgraph (Binary Decision Diagram) (wird heute im Chip-Design verwendet) 

9 9 Realisierung Boolescher Funktionen mit Schaltertechnik Gegeben: Menge von binären Schaltvariablen Gesucht: Geeignet Schalterbausteine, mit denen man Boole'sche Funktionen f i : {0,1} n x {0,1}  {0, 1} realisieren kann Lösungsansatz: a) konstruiere Schalterbausteine für die Grundoperationen  b) konstruiere Schalterbausteine zur Realisierung eines Null und eines Eins-Elements. Zu a): Konjunktion: Schaltfunktion f   (a,b)  a  b Disjunktion: Schaltfunktion f   (a,b)  a  b Komplement: Schaltfunktion f   (a)   a

10 10 Realisierung Boolescher Funktionen mit Schaltertechnik Zu b): Schaltkonstante 0: Schaltfunktion f   (a)  0 wird realisiert als ständig offener Schalter: Schaltkonstante 0: Schaltfunktion f   (a)  1 wird realisiert als ständig geschlossener Schalter: Anmerkung: Die so realisierte Schaltalgebra ist eine Boolesche Algebra. Es lassen sich beliebig komplexe Schaltfunktionen durch Kombination der Schalterbausteine aufbauen.

11 11 Realisierung von Gattern mit Halbleitern (für Interessierte) Schaltgatter werden physisch im Wesentlichen aus Halbleiter- Bauelementen (Transistoren) aufgebaut. Eine wichtige Rolle spielen die sog. MOSFET (Metal-Oxide-Semiconductor-Field-Effect-Transistor) Transistoren. Man unterscheidet zwischen: –n-MOS Transistoren und daraus aufgebaute Schaltungen –p-MOS Transistoren und daraus aufgebaute Schaltungen –CMOS: Kombination von n-MOS und p-MOS Transistoren Aufbau eines n-MOS Transistors: Positive Spannung zwischen Gate und Source induziert n-leitende "Inversionsschicht" unter der Oxidschicht des Gates n-Kanal (dies ist der "Field Effect"), d.h., es fließt Strom zum Ausgleich des Potentialunterschieds zwischen Drain und Source. ⇒ n-MOS Transistor fungiert als Schalter

12 12 Realisierung von Gattern mit Halbleitern NMOS-Technologie: Realisierung elementarer logischer Gatter mit MOS-Transistoren. Ausschließliche Verwendung von n-MOS Transistoren hat erheblich an Bedeutung verloren. CMOS-Technologie: Gemeinsame Verwendung von n-MOS und p-MOS Transistoren in komplementärer Form ist heutige Standardtechnologie- Gatter-Schaltzeiten bereits unter 0,5 nano sec. (Schaltzeit = Zeit, bis das Gatter aus Eingabe a den Wert f(a) bestimmt.) Aufbau eines p-MOS analog, jedoch mit komplementärer Schaltfunktion. Schaltbild: n-MOSp-MOS

13 13 Aufbau eines NICHT-Gatters in CMOS Technologie a=0 (d.h. Spannung kleiner als Schwellwert) - n-MOS Transistor sperrt - p-MOS Transistor ist leitend - b erhält den Wert 1. a=1: - p-MOS Transistor sperrt - n-MOS Transistor ist leitend - b erhält den Wert 0.

14 14 NAND- und NOR-Gatter in CMOS Technologie NAND-Gatter NOR-Gatter

15 15 Konjunktive-Normalform KNF Definition: KNF, kanonische KNF, Maxterme Seien D D m (1  i  m) paarweise verschiedene n-stellige Disjunktionsterme. Dann definiert man die Konjunktive-Normalform als den Term: m m n KNF =  D i =   x ij i=1 i=1 j=1 Eine KNF heißt kanonisch, gdw. wenn jeder der m Disjunktionsterme D i alle n verschiednen Variablen (x i = a i oder x i = a' i ) enthält. In diesem Falle heißen die D i Volldisjunktionen oder Maxterme (=> Maxterm hat Wert 0 gdw. alle x i = 0) Definition: KNF, kanonische KNF, Maxterme Seien D D m (1  i  m) paarweise verschiedene n-stellige Disjunktionsterme. Dann definiert man die Konjunktive-Normalform als den Term: m m n KNF =  D i =   x ij i=1 i=1 j=1 Eine KNF heißt kanonisch, gdw. wenn jeder der m Disjunktionsterme D i alle n verschiednen Variablen (x i = a i oder x i = a' i ) enthält. In diesem Falle heißen die D i Volldisjunktionen oder Maxterme (=> Maxterm hat Wert 0 gdw. alle x i = 0) Beispiel: KNF mit maximal 3-stelligen Disjunktionstermen: a‘ 1  ( a 2  a 3 ) ( a 1  a‘ 2  a‘ 3 )  ( a 1  a 3 ) kanonische KNF mit 3-stelligen Disjunktionstermen: ( a 1  a 2  a 3 ) ( a 1  a‘ 2  a 3 ) ( a‘ 1  a‘ 2  a 3 )

16 16 Verwendung von Normalformen zur Beschreibung boolescher Funktionen zu 1: Konstruktion der kanonischen DNF für f f(a,b,c) = ab'+c = ab'(c+c') +c ergänze ab' zum Minterm = ab'c + ab'c' + c = ab'c + ab'c' + (a+a') (b+b') c ergänze c zum Minterm = ab'c + ab'c' + (a+a') (bc+b'c) = ab'c + ab'c' + abc + ab'c + a'bc + a'b'c „ausmultiplizieren“ = ab'c + ab'c' + abc + ab'c + a'bc + a'b'c entferne Duplikate = ab'c + ab'c' + abc + a'bc + a'b'c sortiere Minterme = a'b'c + a'bc + ab'c' +ab'c + abc fertig! zu 2: Konstruktion der kanonischen KNF für f wie formt man ab'+c so um, dass eine KNF der Form (x, y, z) entsteht mit x=a oder x =a', y=b oder y=b' und z=c oder z=c'

17 17 Konstruktion der kanonischen KNF Überlegung: man kann die KNF von f wie folgt berechnen: 1. bilde unter Anwendung von DeMorgan das Komplement f ' von f 2. berechne die DNF für f' 3. wende auf DNF für f' wieder De Morgan an. => KNF von f Beispiel: Sei f(a,b,c) = ab'+c => f '(a,b,c) = (ab')'c' = (a'+b)c' = a'c' + bc' berechne DNF für f ' f '(a,b,c) = a'c' + bc' = a'c'b + a'c'b'+ abc' + a'bc' ergänze zu Mintermen = a'c'b + a'c'b'+ abc' + a'bc' entferne Duplikate und ordne um = a'b'c' + a'bc' + abc' das ist die DNF von f ' berechne Komplement der DNF von f ', also (a'b'c' + a'bc' + abc')' (a'b'c' + a'bc' + abc')' = (a'b'c')' (a'bc' )'(abc')' = (a+b+c)(a+b'+c)(a'+b'+c) = KNF von f

18 18 Bestimmung von Min- und Maxtermen aus Funktionstabelle Indexa b cf(a,b,c)Minterm a'b'c a'bc ab'c' abc => DNF = a'b'c + a'bc + ab'c' + abc Satz: Zur eindeutigen Beschreibung einer Funktion f : {0, 1} n -> {0, 1} reicht es aus, alle konjunktiv verknüpften Kombinationen von Eingangsvariablen zu betrachten, für die die Funktion den Wert 1 annimmt zu betrachten. Diejenigen Kombinationen, für die f den Wert 1 annimmt sind gerade die Minterme der DNF von f.

19 19 Zusammenhang: Funktionstabelle, Min- und Maxtermen Indexa b cf(a,b,c) Minterme fMinterme f ' Maxterme f a'b'c ' a+b+c a'b'c a'bc' a+b'+c a'bc ab'c' ab'c a'+b+c' abc' a'+b'+c abc =>DNF von f = a'b'c + a'bc + ab'c' + abc =>KNF von f = (a'+b'+c)(a'+b+c')(a+b'+c)(a+b+c) Zur eindeutigen Beschreibung einer Funktion f : {0, 1} n -> {0, 1} kann man: die Minterme (d.h. Konjunktionen) aus der Funktionstabelle entnehmen. wahlweise die Minterme der komplementären Funktion f ' bestimmen und diese invertieren. Man erhält dadurch die Maxterme der KNF von f. Begründung: Es gilt: KNF von f = (DNF von f ' )' Beispiel: f(a,b,a) gegeben durch:

20 20 Minimierungsverfahren für Normalformen Motivation: kanonische Normalformen sind ein Instrument, um die Äquivalenz von booleschen Termen zu überprüfen. Bei der Entwicklung von Schaltfunktionen hat man jedoch das Problem, dass man möglichst kurze beschreibende Terme für die zu realisierende Schaltfunktion haben möchte. Man ist daher am kürzesten booleschen Term interessiert, der f beschreibt. Definition: Minimalformen Sei DNF und KNF eine Disjunktive- bzw. eine Konjunktive Normalform der n-stelligen Funktion f : {0, 1} n -> {0, 1}. Dann bezeichnet: Disjunktive-Minimalform (DMF) die kürzeste DNF für f und Konjunktive-Minimalform (KMF) die kürzeste KNF für f Definition: Minimalformen Sei DNF und KNF eine Disjunktive- bzw. eine Konjunktive Normalform der n-stelligen Funktion f : {0, 1} n -> {0, 1}. Dann bezeichnet: Disjunktive-Minimalform (DMF) die kürzeste DNF für f und Konjunktive-Minimalform (KMF) die kürzeste KNF für f Anmerkungen: Offenbar gibt es für jede boolesche Funktion f einen kürzesten booleschen Term in DNF bzw. KNF, der f definiert. => Prinzipiell auffindbar, durch systematisches Ausprobieren. => Ausprobieren ist jedoch unpraktikabel wegen kombinatorischer Explosion.

21 21 Minimierungsverfahren für Normalformen Zur Minimierung boolescher Terme in DNF wurden unterschiedliche Verfahren entwickelt: Diagramm-Verfahren von Karnaugh Grafisches Verfahren, das die Summanden so in einer Tabelle anordnet, dass man einfach erkennen kann, welche Terme zusammengefasst werden können. Listenverfahren von Quine-McCluskey Von DNF ausgehend, werden die Summanden systematische Vergleichen und soweit möglich mit der Nachbarschaftsregel (ab + ab' = a) verkürzt. Dazu werden die Summanden in Listen verwaltet. Verwendung der baumartigen Binary Decision Diagramme (BDC's) Grafisches Verfahren, das die Funktionstabelle als Entscheidungsbaum darstellt. Minimale Terme werden gefunden, indem man mit der Nachbarschaftsregel. Wird mittlerweile in vielen CAD Systemen verwendet. Resolutionsmethode von Robinson Erweiterung des Verfahren von Quine-McCluskey. Man benötigt jedoch keine DNF als Ausgangspunkt. (Einsatz: automatischen Beweisen, KI-Anwendungen).

22 22 Listenverfahren von Quine-McCluskey Grundgedanke: es gibt Fälle, in denen es vorteilhaft ist, eine gegebne DNF unter Anwendung der Idempotenz (a=a+a ) erst "aufzublähen", um dann mit Anwendung der Nachbarschaftsregel (ac+ac' = a(c+c') = a ) eine Verkürzung zu erzielen. Beispiel: Gegeben sei Funktion f in DNF: f(a,b,c) = a'b'c + ab'c' + ab'c = a'b'c + ab'c' + ab'c Nachbarschaftsregel anwendbar = ( a'+a)b'c + ab'c' (a ' +a)= 1 und 1b'c = b'c = b'c + ab'c' Frage: geht's noch kürzer? Versuch 2: f(a,b,c) = a'b'c + ab'c' + ab'c = a'b'c + ab'c'+ ab'c + ab'c Aufblähen mit ab'c = ab'c + ab'c = ( a'+a)b'c + ab'(c'+c) Nachbarschaftsregel 2 mal anwenden = b'c + ab' = b'(a+c) eine Multiplikation eingespart!

23 23 Listenverfahren von Quine-McCluskey Vorbereitung Zur übersichtlichen und systematischen Verwaltung der Summanden wählt man für diese eine geschickte Indizierung: Gegeben sei eine n-stellige Funktion f in DNF: K K m Zuerst ordnet man jedem Summanden K i seine n-stellige Binärzahl b i zu. Der besseren Übersicht halber bestimmt man für die b i noch die entsprechenden Dezimalindices d i Beispiel: Gegeben sei Funktion f in DNF: f(a,b,c) = a'b'c' + a'bc'+ ab'c' + ab'c + abc' Summanden K i der DNF I f = { } Binär-Indices der Summanden Dezimalindices Beobachtung: Die Nachbarschaftsregel lässt sich offenbar auf genau die Summanden anwenden, die sich in ihrer Quersumme um genau eine 1 unterscheiden. => man gruppiert die Summanden nach der Anzahl der Einsen ihrer Binärindizes und kann sich dann bei der Suche nach möglichen Kandidaten für die Anwendung der Nachbarschaftsregel auf die Summanden je zwei benachbarter Gruppen beschränken.

24 24 Listenverfahren von Quine-McCluskey Erstellen der 1. Liste (am Beispiel) Sei f(a,b,c) = a'b'c' + a'bc'+ ab'c' + ab'c + abc' Summanden K i der DNF Binärindices der Summanden Dezimalindices Liste 1 1. Indexgruppe (keine 1) 2. Indexgruppe (eine 1) Indexgruppe (zwei Einsen) Anwendung der Nachbarschaftsregel: eliminierte Variablen hinterlassen Lücken "_" 0,2 0_0 0,4 _00 2,6 _10 4,5 10_ 4,6 1_0 die reduzierten Terme werden in die nächste (= 2.te Liste) übernommen alle Terme der ersten Liste sind durch die neuen Terme der zweiten Liste abgedeckt (brauchen nicht mehr beachtet werden.

25 25 Listenverfahren von Quine-McCluskey Übernahme in 2. Liste und erneute Anwendung der Nachbarschaftsregel auf benachbarte Gruppen liefert eine 3. Liste mit dem Eintrag _ _0 Rückübersetzung von _ _0 liefert den Term c' Liste 1Liste2Liste3 1. Indexgruppe ,2 0_00,2,4,6 _ _0 (keine 1) 0,4 _000,4,2,6 _ _0 2. Indexgruppe ,6 _10 (eine 1) ,5 10_ 4,6 1_0 3. Indexgruppe (zwei Einsen) Die Summanden der Minimalform sind genau die Terme, die in der Tabelle nicht weiter zusammengefasst werden konnten. Anschaulich: von ihnen gehen keine Verbindungslinien zu einer nächsten Liste aus (siehe eingekreiste Terme) => DMF für f(a,b,c) = a'b'c' + a'bc'+ ab'c' + ab'c + abc' lautet somit: ab' + c'

26 26 Anmerkungen zum Quine-McCluskey Verfahren Vorteile: Systematisches Verfahren, das sich gut automatisieren lässt. Da die übrig bleibenden Summanden in jeder Liste kürzer werden, ist sichergestellt, dass das Verfahren nach endlich vielen Schritten terminiert. Nachteile: zusätzlicher Aufwand zur Erstellung der DNF für die erste Liste. Verfahren findet stets alle Primimplikanten (d.h., solche Summanden, die nicht weiter zusammengefasst werden können). Für die Minimalform einer Funktion benötigt man jedoch nicht immer alle Primimplikanten. => Quine-McCluskey Verfahren liefert nicht notwendigerweise den kürzesten Term (DMF). =>Weiterer Schritt zur Identifikation der Primimplikaten erforderlich! Beispiel: f(a,b,c) = a'b'c' + ab'c' + ab'c + abc Durchführung des Listenverfahrens für f liefert: ac + ab' + b'c' Aufstellen einer Wertetabelle lässt erkennen, dass gilt: f(a,b,c) = ac + b'c' Frage: Wie kann man überflüssige Primimplikanten aussortieren ?

27 27 Auffinden überflüssiger Primimplikaten Ansatz 1: 1. Stelle Wertetabelle für f auf 2. Überprüfe, welche Primimplikaten die 1-Werte der Funktion abdecken. => Entferne Primimplikanten, die nur 1-Werte abdecken, die bereits von anderen Primimplikanten abgedeckt werden. Beispiel: f(a,b,c) = a'b'c' + ab'c' + ab'c + abc DNF I f = { } Indexmenge von f Ergebnis des Listenverfahrens: ac + ab' + b'c' a b cf(a,b,c)ac ab' b'c' In der Wertetabelle von f kann man ablesen, welche Primimplikanten zu welchen Einsen beitragen. Die Einsen der Zeilen 4 und 5 werden doppelt abgedeckt! => ab' ist überflüssig

28 28 Aufstellen einer Primimplikantentabelle Vorgehensweise: 1. Kopfzeile der Tabelle: Elemente der Indexmenge von f (d.h., die Indices, für die Funktion f den Wert 1 hat) Spalte: alle mit dem QMC-Listenverfahren gefundenen Primimplikanten 3.Zellen: Eintrag 1, an Stelle i, j, falls Primimplikant der Zeile i Dezimalindex der Spalte j abdeckt. Kein Eintrag sonst. Beispiel: f(a,b,c) = a'b'c' + ab'c' + ab'c + abc DNF I f = { } Indexmenge binär Indices als Dezimalzahlen Ergebnis des QMC-Listenverfahrens: ac + ab' + b'c' => Primimplikanten-Tabelle: ac b'c' ab'

29 29 Auswahl eines Minimalsatzes an Primimplikanten ac b'c' ab' Vorgehensweise: 1. Bestimme zunächst den Kern, d.h., jene Primimplikanten, die Einsen abdecken, die von keinem anderen Primimplikanten abgedeckt werden. 2. Entferne alle Spalten und Zeilen, die von Kernelementen abgedeckt werden. => es entsteht eine kleinere (oder sogar leere) Tabelle. 3.Suche in der ggf. verbleibenden Tabelle nach Überdeckungen. Beispiel: Primimplikanten-Tabelle für f 1.Bestimme Kern: = { ac, b'c' } 2.Entferne vom Kern abgedeckte Zeilen und Spalten => es entsteht eine leere Tabelle. Also fertig. Ergebnis ist ac+b'c'

30 ab ac' bcd' a'b'd a'b'c a'cd' b'c'd Auswahl eines Minimalsatzes an Primimplikanten 1 1 Beispiel: Sei f : {0, 1} 4 -> {0, 1} gegeben durch I f = { 1, 2, 3, 6, 8, 9, 12, 13, 14, 15 } Ergebnis QMC: ab + ac' + bcd' + a'b'd + a'b'c+ a'cd' + b'c'd Primimplikanten-Tabelle für f 2.in dieser Resttabelle muss weiter nach Überdeckungen gesucht werden. 3.=> mögliche Wahl: a'b'd + a'cd' => Gesamtergebnis somit: ab+ ac' + a'b'd + a'cd' Bestimme Kern: = { ab, a'c' }

31 31 Minimierungsverfahren für Normalformen Zur Minimierung boolescher Terme in DNF wurden unterschiedliche Verfahren entwickelt: Diagramm-Verfahren von Karnaugh Grafisches Verfahren, das die Summanden so in einer Tabelle anordnet, dass man einfach erkennen kann, welche Terme zusammengefasst werden können. Listenverfahren von Quine-McCluskey Von DNF ausgehend, werden die Summanden systematische Vergleichen und soweit möglich mit der Nachbarschaftsregel (ab + ab' = a) verkürzt. Dazu werden die Summanden in Listen verwaltet. Verwendung der baumartigen Binary Decision Diagramme (BDC's) Grafisches Verfahren, das die Funktionstabelle als Entscheidungsbaum darstellt. Minimale Terme werden gefunden, indem man mit der Nachbarschaftsregel. Wird mittlerweile in vielen CAD Systemen verwendet. Resolutionsmethode von Robinson Erweiterung des Verfahren von Quine-McCluskey. Man benötigt jedoch keine DNF als Ausgangspunkt. (Einsatz: automatischen Beweisen, KI-Anwendungen)

32 32 Weitere Verfahren zur Minimierung Motivation: Bei komplexeren Aufgaben stößt man auf folgende typische Probleme: –Schalttabelle zu groß (bei n Variablen 2 n Zeilen!) –kanonische DNF oder kanonische KNF meist auch sehr groß, selbst in vereinfachter Form. –Untersuchung der Eigenschaften Boolescher Funktionen bei Darstellung durch kDNF oder kKNF schwierig (z.B. Kosten der Auswertung steigen nicht linear zur Anzahl der Variablen.) => Entwicklung weiterer Darstellungsmöglichkeiten: – reduzierte Funktionsgraphen und – binäre Entscheidungsdiagramme (Binary Decision Diagram / BDD) BDD's haben in den letzten Jahren (seit 1986) im Bereich des CAD (Computer Aided Design) starke Bedeutung erlangt für: -den rechnergestützten Schaltungsentwurf, bzw. -für die Untersuchung von Eigenschaften Boolescher Funktionen.

33 33 Funktionsdarstellung mit BDD Beispiel: 3-stellige Boole'sche Funktion f(a,b,c) a b c f(...) Darstellung von f als BDD c c c c a'bc + ab'c + abc' +abc DNF f = Idee: Man minimiert f, indem man den BDD geeignet umbaut.

34 34 Minimierung mit dem BDD Verfahren Beispiel: f(a,b,c) = XOR(a,b,c) = a  b  c Darstellung von f als BDD Anmerkung: BDD der XOR-Funktion mit n Variablen hat (ohne Blätter) genau 2n+1 Knoten, die DNF oder KNF der gleichen Funktion hat jedoch die Größe 2 n. => BDD verursacht erheblich weniger Aufwand bei der Minimierung. DMF f = a'b'c + a'bc' + ab'c' + abc

35 35 Zusammenfassung Minimierung Boolescher Funktionen Allgemeines Schema beim Entwurf einer Schaltfunktion: Zur Minimierung stehen unterschiedliche Verfahren zur Auswahl. Für kleine Aufgaben, die von Hand durchgeführt werden, sind die grafische Methoden (Karnaugh-Diagramm, oder BDD) gut geeignet. Schritt 1: Schritt 2: Schritt 3: Schritt 4: Schritt 5: Textuelle Aufgabenstellung Funktionsgleichung / Wertetabelle aufstellen (bei m-wertigen Funktionen m Einzel-Tabellen) Minterme bestimmen DNF aus Mintermen bestimmen DMF bestimmen 2-stufiges Schaltnetz ableiten und zeichnen

36 36 Entwurf und Simulation von Digitalschaltungen Digitale Schaltungen lassen sich bequem mit grafischen Werkzeugen entwerfen und austesten, bevor man sie physisch aufbaut. Beispiel: Elektronik Design Labor (www.electronicsworkbench.de )


Herunterladen ppt "1 Vertiefungsstoff zum Thema Logik und Schaltalgebra Aussagenlogik induktive Definition boolescher Terme systematische Aufzählung boolescher Funktionen."

Ähnliche Präsentationen


Google-Anzeigen