Technische Informatik II Vorlesung 3: Kombinatorische Schaltungen

Slides:



Advertisements
Ähnliche Präsentationen
Wesen und „Unwesen“ der binären, dezimalen und hexadezimalen Zahlen
Advertisements

Programmierung 1 - Repetitorium WS 2002/2003 Programmierung 1 - Repetitorium Andreas Augustin und Marc Wagner Homepage:
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil3.
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Elektronisch messen, steuern, regeln
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2012.
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
Marco Barz Seminar über Algorithmen SoSe2007
1 JIM-Studie 2010 Jugend, Information, (Multi-)Media Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
Welches sind die beiden Kirchhoffschen Gesetze, die mit der hier dargestellten Schaltung verifiziert werden können und wie lauten diese?   Kirchhofsche.
Analoge vs. Digitale Informationen
Rechneraufbau & Rechnerstrukturen, Folie 2.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 2.
© 2006 W. Oberschelp, G. Vossen Rechneraufbau & Rechnerstrukturen, Folie 2.1.
Grundkurs Theoretische Informatik, Folie 2.1 © 2006 G. Vossen,K.-U. Witt Grundkurs Theoretische Informatik Kapitel 2 Gottfried Vossen Kurt-Ulrich Witt.
Aussagenlogische Modelle
Internet facts 2008-II Graphiken zu dem Berichtsband AGOF e.V. September 2008.
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil2.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
Betreuerin: Kathleen Jerchel
AC Analyse.
Differentielles Paar UIN rds gm UIN
Prof. Dr. Bernhard Wasmayr
Schieferdeckarten Dach.ppt
PowerPoint-Folien zur 5. Vorlesung „Evolutionsstrategie II“
Multiplexer.
Prof. Dr. Bernhard Wasmayr VWL 2. Semester
Rechneraufbau & Rechnerstrukturen, Folie 12.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 12.
20:00.
Technische Informatik II (INF 1211) Aufgabenteil (mit Unterlagen)
Syntaxanalyse Bottom-Up und LR(0)
NEU! 1 2. Wo kommt diese Art von Rezeptor im Körper vor?
Analyse von Ablaufdiagrammen
PROCAM Score Alter (Jahre)
Ertragsteuern, 5. Auflage Christiana Djanani, Gernot Brähler, Christian Lösel, Andreas Krenzin © UVK Verlagsgesellschaft mbH, Konstanz und München 2012.
Vorlesung Mai 2000 Konstruktion des Voronoi-Diagramms II
Symmetrische Blockchiffren DES – der Data Encryption Standard
1 (C)2006, Hermann Knoll, HTW Chur, FHO Quadratische Reste Definitionen: Quadratischer Rest Quadratwurzel Anwendungen.
Großer Altersunterschied bei Paaren fällt nicht auf!
Zahlentheorie und Zahlenspiele Hartmut Menzer, Ingo Althöfer ISBN: © 2014 Oldenbourg Wissenschaftsverlag GmbH Abbildungsübersicht / List.
MINDREADER Ein magisch - interaktives Erlebnis mit ENZO PAOLO
Technische Informatik II Übung 2: Konvertieren von Zahlen
1 (C)2006, Hermann Knoll, HTW Chur, FHO Quadratische Reste Definitionen: Quadratischer Rest Quadratwurzel Anwendungen.
Schutzvermerk nach DIN 34 beachten 20/05/14 Seite 1 Grundlagen XSoft Lösung :Logische Grundschaltung IEC-Grundlagen und logische Verknüpfungen.
Technische Informatik II
Technische Informatik II
Technische Informatik II
Technische Informatik II Übung 7: Automaten Implementierungsaspekte
Technische Informatik II
Seite 1 IDA, Technische Universität BraunschweigTechnische Informatik II (INF 1211) Quellen: Zum Teil aus den Unterlagen Digitale Systeme, Prof. Schimmler,
Technische Informatik II
Technische Informatik II (INF 1211) Aufgabenteil (Mit Unterlagen)
Von der Schaltfunktion zur Schaltung
1 Mathematical Programming Nichtlineare Programmierung.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
B A Materialien für den Technik-Unterricht Bereich: Steuerungstechnik
Schaltungen, Schaltwerke und Automaten
Es war einmal ein Haus
Technische Informatik II Übung 1: Konvertieren von Zahlen
Technische Informatik II
1.6.3 Test auf Verlustfreiheit (Verbundtreue) (4|10)
Technische Informatik II
Datum:17. Dezember 2014 Thema:IFRS Update zum Jahresende – die Neuerungen im Überblick Referent:Eberhard Grötzner, EMA ® Anlass:12. Arbeitskreis Internationale.
1 Medienpädagogischer Forschungsverbund Südwest KIM-Studie 2014 Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
Monatsbericht Ausgleichsenergiemarkt Gas – Oktober
Technische Informatik II (INF 1211) Aufgabenteil (Mit Unterlagen)
Technische Informatik I Vorlesung 4: Vereinfachung von Schaltfunktionen Mirco Hilbert Universität Bielefeld Technische Fakultät.
X. Übungsblatt – Aufgabe X Bestimmen Sie jeweils die disjunktive Normalform (DNF) der Folgenden Funktionen: a)f 1 = b)f 2 = c)Bestimmen Sie die primären.
Technische Informatik II Vorlesung 3: Kombinatorische Schaltungen
 Präsentation transkript:

Technische Informatik II Vorlesung 3: Kombinatorische Schaltungen (für Bachelor) Vorlesung 3: Kombinatorische Schaltungen 21.04.2008 , v16 Themen: Beschreibung kombinatorischer Logik Minimierung von Schaltfunktionen Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen

Schaltnetze Definition: Ein Schaltnetz ist eine technische Realisierung einer Boole‘schen Funktion. Schaltnetze können durch Zusammenschalten von Gattern und Leitungen aufgebaut werden. Schaltnetz mit einem Ausgang: x1 x2 . xn Schaltfunktion y = f(X) y . 2n Anz. Funktionen = 2

Schaltfunktion Eingangswerte Ausgangswerte

Schaltfunktionen n f(X) m x f

Beispiel des Schaltnetzes: x0 x1 & ≠ x2 & y0 ≥1 x3 1

Logische Funktionen von einer Variablen 1 1

Logische Funktionen von zwei Variablen(1) 22 Anz. Funktionen = 2 =16 f

Logische Funktionen von zwei Variablen(2) Anz. Funktionen = 2 =16 22

Verbreiteten Funktionen bis zwei Variablen grafische Darstellung der verschalteten Logik

Rechengesetze der Schaltalgebra Grafische Darstellung der verschalteten Logik

Rechengesetze der Schaltalgebra

Definition: Ein Produktterm ist eine UND-Verknüpfung von Eingabevariablen, wobei jede Eingabevariable höchstens einmal in invertierter oder in nicht-invertierter Form vorkommen kann. Beispiele für Produktterme:

Definition: Eine Boole‘sche Funktion ist in Disjunktiver Normalform (DNF), wenn sie aus einer ODER-Verknüpfung von Produkttermen besteht. (Sum Of Products: SOP) Beispiele für Funktionen in DNF:

Definition: Ein Minterm (Vollkonjunktion, minimaler Produktterm) ist ein Produktterm, bei dem alle Eingabevariablen entweder in invertierter oder in nicht-invertierter Form vorkommen. Ein Minterm entspricht einer Zeile in der Wertetabelle der Funktion. Beispiele für Minterme: ( x0 x1 x2 sind alle Eingangsvariablen) ( x0 ist die einzige Eingangsvariable) hingegen ist kein Minterm, wenn es auch noch eine Eingabevariable x1 gibt.

Beispiele für Funktionen in KDNF: Definition: Die Kanonische Disjunktive Normalform (KDNF) einer Boole‘schen Funktion ist eine ODER-Verknüpfung aller Minterme, für die die Funktion den Wert 1 annimmt. Beispiele für Funktionen in KDNF: Die folgende Funktion ist nicht in KDNF; im zweiten Produktterm taucht das x1 nicht auf, daher ist es kein Minterm.

Beispiel einer Wertetabelle einer Funktion y1: x0 x1 x2 y1 Minterm 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 y1 = + + +

Beispiel des Schaltbildes einer Funktion in KDNF: y1 = + + + x0 x1 x2 1 1 1 & & y1 ≥1 & &

Definition: Ein Summenterm ist eine ODER-Verknüpfung von Eingabevariablen, wobei jede Eingabevariable höchstens einmal in invertierter oder in nicht-invertierter Form vorkommen kann. Beispiele für Summenterme:

Definition: Eine Boole‘sche Funktion ist in Konjunktiver Normalform (KNF), wenn sie aus einer UND-Verknüpfung von Summentermen besteht. (Product Of Sums: POS ) Beispiele für Funktionen in KNF:

Definition: Ein Maxterm (Volldisjunktion) ist ein Summenterm, bei dem alle Eingabevariablen entweder in invertierter oder in nicht-invertierter Form vorkommen. Es gibt für jede Zeile i in einer Wertetabelle der Funktion einen Maxterm, der der Menge aller Zeilen außer seiner Zeile i entspricht. Beispiele für Maxterme: hingegen ist kein Maxterm, wenn es auch noch eine Eingabevariable x1 gibt.

Beispiele für Funktionen in KKNF: Definition: Die Kanonische Konjunktive Normalform (KKNF) einer Boole‘schen Funktion ist eine UND-Verknüpfung aller Maxterme, für deren Zeile die Funktion den Wert 0 annimmt. Beispiele für Funktionen in KKNF: Die folgende Funktion ist nicht in KKNF; im ersten Summenterm tauchen x1 und x2 nicht auf, daher ist es kein Maxterm.

. Beispiel einer Wertetabelle einer Funktion: x0 x1 x2 y1 Maxterm 1 1 Einzelvariablen werden invertiert im Maxterme! x0 x1 x2 y1 Maxterm 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 y1 = x0 x1 x2 + x0 x1 x2 + x0 x1 x2 + x0 x1 x2 . y1 =

. Beispiel des Schaltbildes einer Funktion in KKNF: y1 = 1 ≥1 x0 x1 x2 & y1

Beispiel einer Funktion im Auto: Zündung: Z=1 : Zündung an Hitze: H=1 : Temperatur>95o Pegel: P=1 : ausreichend Wasser Ausgangsfunktion Warnleuchte W Z H P W Minterm 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Warnleuchten-Funktion in KDNF: Z H P 1 1 1 & & W ≥1 &

Minimierung durch Hilfe der Schaltalgebra

Warnleuchten-Funktion in DMF: Z H P 1 & W ≥1 &

Hintergrund der logischen Minimierung „ Unit Distance Code“ Schlüsseloperation: A B + A B A (B + B) A Beispiel: Darstellung der Funktion f (x1, x2) =  m(1, 2, 3) 01 00 11 10 x 2 1 -1 x 1 f 2 Die Stelle des Bitwechsels wird gekürzt 1 2 3 1- Brawn Figure 4.33. Ref. Brown

Hintergrund „ Unit Distance Code“ Darstellung der 3-Variablen Funktion f (x1, x2, x3) =  m(0, 2, 4, 5, 6) (2) (6) - - 0 (5) 1 0 - (0) (4) f (x1, x2, x3) = x3 + x1 x2 Ref.: Brawn Figure 4.33.

Hintergrund „ Unit Distance Code“ Darstellung der 4-Variablen Funktion f (x1, x2, x3 , x4) f (x1, x2, x3 , x4) = x2 x4 + x1 x3 + x2 x3 x4 Brawn Figure 4.33.

Karnaugh-Vieth KV-Diagramm: Rechteckiges Schema bei n Eingabevariablen 2n innere Felder. Ränder so beschriften, dass jede Variable genau die Hälfte des Diagramms abdeckt. Jede Variable deckt genau den halben Bereich jeder anderen Variablen ab. Jeder Minterm ist eindeutig durch ein inneres Feld repräsentiert.

Karnaugh-Veith KV-Diagramm: Beispiele: b Unit-Distance Kodierung für benachbarte Felder! Gray Code Zähler: 00 → 01 →11 →10 (Nur ein Bit wechselt!) b a a b Für Funktionen mit 2 Variablen c Für Funktionen mit 3 Variablen a d Minimierungsregel c Für Funktionen mit 4 Variablen

B A A 1 1 B 1 1 1 1 C Beispiele: CA BA 1 BC A ABC 2 Variablen CD AB DB 1 1 1 1 1 1 A CB A CB 1 1 1 D 1 1 1 D 1 1 1 1 1 1 1 1 1 1 C C 4 Variablen 4 Variablen-Alternativ

Beispiel für ein KV-Diagramm mit 3 Variablen Beispiel: Warnleuchte: Z H P W ZPH+ZPH = ZH ZP ZPH+ZPH= 1 P 1 Z 1 1 1 1 1 1 1 1 1 H 1 1 1 1 1 1 1

Zusammenfassung: Die Einsen im KV-Diagramm werden zu Blöcken maximaler Größe zusammengefasst. Dabei müssen die Blöcke immer im Raster der Zweierpotenzen beginnen und enden. Eine Zusammenfassung von zwei Blöcken zu einem Block doppelter Größe entspricht einer Anwendung der Vereinfachungsregel: Wenn ein Block (x0x1) und ein zweiter Block (x0x1) beide nur aus Einsen bestehen, liegen diese beiden Blöcke im KV-Diagramm nebeneinander und können zu einem doppelt so großen Block x0 zusammengefasst werden. Die gegenüberliegenden Ränder eines KV-Diagramms sind zu identifizieren. Man kann sich das Diagramm als Torus vorstellen. Wenn mehr als 4 Eingabevariablen vorliegen, muss ein 2-dimensionales KV-Diagramm so dargestellt werden, dass einzelne Variablen Bereiche überdecken, die nicht zusammenhängend in der Ebene sind. Dabei sind aber die zueinander zeigenden Ränder dieser Bereiche als identisch anzusehen.

Einträge in KV-Diagrammen können Nullen und Einsen sein Einträge in KV-Diagrammen können Nullen und Einsen sein. In diesem Fall kann man durch Zusammenfassen aller Einsen zu maximalen Blöcken eine DMF ablesen. (Leider ist sie nicht eindeutig). In solchen Fällen schreibt man meist nur die Einsen in das Diagramm und lässt die Nullen weg. Zusammenfassen der Nullen und benutzen der Komplemente der Variablen führt zur KMF. Wenn einzelne Elemente in der Wertetabelle don‘t cares sind, können diese in den Blöcken der Einsen bei der DMF (oder Nullen bei der KMF) mit auftauchen. Sie schaden nichts. Aber es müssen durchaus nicht alle don‘t cares (dargestellt durch den Buchstaben X oder d) mit in Blöcke aufgenommen werden.

Beispiel: 2-Bit Multiplizierer: p0 n0 1 1 1 1 m0 1 1 m1 1 1 n1 1 p1 1 1 1 n0 1 1 1 1 1 1 1 m0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 m1 n1 1 1 1 1 1 p2 1 1 n0 1 1 1 1 1 1 m0 1 1 1 1 1 1 1 1 1 1 1 1 1 m1

n1 p0 n0 1 1 1 1 m0 m1 n1 p1 n0 1 1 1 1 m0 1 1 m1 n1 p2 n0 1 m0 1 1 p3 m1

2-Bit-Multiplizierer m1 m0 n1 n0 1 1 1 1 p0 & & & p1 ≥1 & & & p2 ≥1 & & p3

Don’t Care Behandlung Don’t Care

4-Bit Codewandler: Dezimal -> Aiken x3 x2 x1 x0 y3 y2 y1 y0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 X X X X 1 1 1 X X X X Don’t Care 1 1 X X X X 1 1 1 X X X X 1 1 1 X X X X 1 1 1 1 X X X X

KV Minimierung für Disjunktive Minimalform DMF: Zusammenfassung Aufstellen der Wertetabelle Eintragen der Terme „mit 1“ in KV-Diagramm Zusammenfassen von benachbarten Einsen zu Blöcken maximaler Größe Ablesen der DMF

KV Minimierung für konjunktive Minimalform KMF: Zusammenfassung: Aufstellen der Wertetabelle Eintragen der Werte „mit 0“ in KV-Diagramm Zusammenfassen von benachbarten Nullen zu Blöcken maximaler Größe Ablesen der KMF, indem die Summenterme gebildet werden, die diese Blöcke von Nullen nicht abdecken. Zu diesem Zweck oder‘t man die invertierten Eingabevariablen, die diese Blöcke von Nullen überdecken.

KV-Diagramme mit mehr als 4 Variablen (sehr Arbeitsaufwendig) x2 x3 x3 x4 x0 x5 x0 x2 x1 x5 x1 x1 x4 x4 5 - Variablen 6 - Variablen

Das Verfahren von Quine und McCluskey (Rechnergestützte Verfahren) Mit KV-Diagrammen kommen wir nicht weiter, wenn die Anzahl der Eingabevariablen größer als 6 wird. In diesem Fall empfiehlt sich das Verfahren von Quine und McCluskey. Es beginnt mit der KDMF und besteht aus zwei Schritten: Erstens: Das Verfahren von McCluskey erzeugt durch systematische Anwendung der Vereinfachungsregeln alle Primterme einer Funktion. Zweitens: Das Verfahren von Quine wählt aus dieser Menge aller Primterme eine minimale Teilmenge aus, deren Oder-Verknüpfung die gesamte Funktion repräsentiert.

Das Verfahren von Quine und McCluskey McCluskey: Systematische Anwendung der Regel Konstruktion aller Primterme Quine Treffen einer minimalen Auswahl von Primtermen, deren Disjunktion die Funktion realisiert. Edward J. McCluskey Stanford University Computer Science

Einleitendes Beispiel 1 2 3 4 5 6 3,6 1,2 1,3 1,4 2,5 3,5 4,6 A B C D E F G A,E B,D B,G C,F

Das Verfahren von McCluskey Begonnen wird mit der Funktion in DNF Für jedes Paar von Produkttermen wird geprüft, ob die Regel anwendbar ist. Wenn ja, wird in der nächsten Zeile der Produktterm x aufgenommen. Alle Terme, die nicht zu einem solchen Produktterm beigetragen haben, werden unverändert in die nächste Zeile übernommen. Wenn keine neuen Produktterme in der neuen Zeile entstehen, ist man fertig. Sonst wird bei 1. weitergemacht. Am Ende stehen in der letzten Zeile alle Primterme.

Zweites Beispiel I II III IV I,II II,III III,IV 3 Primterme sind generiert bc ist ein redundanter Term, wie man am KV-Diagramm leicht sehen kann. Daher benötigen wir das Verfahren von Quine.

Das Verfahren von Quine Eine Primterm-Minterm-Tabelle wird aufgestellt: Die Minterme in der Zeile und die Primterme in der Spalte. Alle Spalten, in denen eine 1 aus einer dominanten Zeile (Zeile mit nur einer 1) steht, werden markiert. Alle Zeilen, in denen 1en aus markierten Spalten stehen, werden gestrichen. Wenn keine ungestrichene Zeile mehr vorhanden ist, wird das Verfahren beendet. Die markierten Spalten bilden die Minterme der DMF. Wenn keine dominante Zeile mehr vorhanden ist, aber noch ungestrichene Zeilen existieren, wird eine beliebige Spalte markiert und bei 1. fortgefahren.

Quine Verfahren, minimaler Abdeckung 1. Primterme horizontal, Minterme vertikal einsetzen 2. 1 setzen für alle Minterme die einen Primterm enthalten Primterme Minterme 1 1 1 1 1 1 bc ist nicht nötig da die Primterme ab, ac alle Minterme abdecken! Also f =( ab + ac ) ist die Minimale Implementierung

Beispiel zum Verfahren von Quine McCluskey 10 beteiligte Minterme in Gruppen sortiert nach Anz. von Einsen (Gewicht) (oder Nullen) inklusive den „don‘t cares“ (-) Gewicht=0 Gewicht=1 Gewicht=2 Gewicht=3 Gewicht=4

Primterme generieren Primterme Jede Gruppe mit der folgenden Gruppe testen! Primterme Alle nicht markierte Terme werden als Primterme für die weitere Bearbeitung ausgewählt!

Primimplikanten-Tabelle und minimale Funktionsauswahl Nur Minterme mit 1 (nur 6) Primterme Eine andere Lösung ist auch möglich!