due-tutorien 16 und 17 - tutorium.chrismandery.detutorium.chrismandery.de/ws1011/tutorium7.pdf ·...
TRANSCRIPT
1 Christian A. Mandery:DuE-Tutorien 16 und 17
Fakultät für Informatik
Tutorienwoche 7 am 17.12.2010
DuE-Tutorien 16 und 17Tutorien zur Vorlesung “Digitaltechnik und Entwurfsverfahren”
KIT – Universität des Landes Baden-Württemberg undnationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu
Organisatorisches
2 Christian A. Mandery:DuE-Tutorien 16 und 17
Fakultät für Informatik
Gemäß Abstimmung letzte Woche entfällt das Tutorium am 07.01.Themen vom 07.01. werden heute besprochenKurze Wiederholung des Stoffs und Übungsaufgaben zu denThemen vom 07.01. im nächsten Tutorium am 14.01.
Heute
3 Christian A. Mandery:DuE-Tutorien 16 und 17
Fakultät für Informatik
Quine-McClusky-VerfahrenConsensus-VerfahrenÜbungsaufgaben zu Quine-McClusky- und Consensus-VerfahrenMultiplexer und Decoder *PLA-Bausteine *
* Themen für den 07.01.2011
Quine-McCluskey-Verfahren
4 Christian A. Mandery:DuE-Tutorien 16 und 17
Fakultät für Informatik
Systematisches MinimierungsverfahrenGrundidee: Terme zusammenfassen, die in (genau) einer Variablekomplementär belegt sind (analog zum KV-Diagramm)Zwei Schritte:
1. Ermittlung aller Primimplikanten (→ 1. Quinesche Tabelle)2. Auswahl der zu verwendenden Primimplikanten (→ 2. Quinesche Tabelle
alias Überdeckungstabelle)
Schritte können auch “einzeln” verwendet werden, z.B.:Ermittlung der Primimplikanten mittels KV-Diagramm, dann 2.Quinesche Tabelle zur Auswahl von Primimplikanten
Quine-McCluskey-Verfahren
4 Christian A. Mandery:DuE-Tutorien 16 und 17
Fakultät für Informatik
Systematisches MinimierungsverfahrenGrundidee: Terme zusammenfassen, die in (genau) einer Variablekomplementär belegt sind (analog zum KV-Diagramm)Zwei Schritte:
1. Ermittlung aller Primimplikanten (→ 1. Quinesche Tabelle)2. Auswahl der zu verwendenden Primimplikanten (→ 2. Quinesche Tabelle
alias Überdeckungstabelle)
Schritte können auch “einzeln” verwendet werden, z.B.:Ermittlung der Primimplikanten mittels KV-Diagramm, dann 2.Quinesche Tabelle zur Auswahl von Primimplikanten
Quine-McCluskey-Verfahren
4 Christian A. Mandery:DuE-Tutorien 16 und 17
Fakultät für Informatik
Systematisches MinimierungsverfahrenGrundidee: Terme zusammenfassen, die in (genau) einer Variablekomplementär belegt sind (analog zum KV-Diagramm)Zwei Schritte:
1. Ermittlung aller Primimplikanten (→ 1. Quinesche Tabelle)2. Auswahl der zu verwendenden Primimplikanten (→ 2. Quinesche Tabelle
alias Überdeckungstabelle)
Schritte können auch “einzeln” verwendet werden, z.B.:Ermittlung der Primimplikanten mittels KV-Diagramm, dann 2.Quinesche Tabelle zur Auswahl von Primimplikanten
Quine-McCluskey-Verfahren
4 Christian A. Mandery:DuE-Tutorien 16 und 17
Fakultät für Informatik
Systematisches MinimierungsverfahrenGrundidee: Terme zusammenfassen, die in (genau) einer Variablekomplementär belegt sind (analog zum KV-Diagramm)Zwei Schritte:
1. Ermittlung aller Primimplikanten (→ 1. Quinesche Tabelle)2. Auswahl der zu verwendenden Primimplikanten (→ 2. Quinesche Tabelle
alias Überdeckungstabelle)
Schritte können auch “einzeln” verwendet werden, z.B.:Ermittlung der Primimplikanten mittels KV-Diagramm, dann 2.Quinesche Tabelle zur Auswahl von Primimplikanten
1. Quinesche Tabelle
5 Christian A. Mandery:DuE-Tutorien 16 und 17
Fakultät für Informatik
Dient zur Bestimmung aller Primimplikanten einer FunktionIteratives Verfahren, das in jedem Schritt eine neue Tabelle höhererOrdnung (mehr “Don’t Cares”) erzeugtZusammengefasste Primterme werden gestrichen bzw. abgehaktVerfahren terminiert, wenn sich keine Änderungen mehr ergeben,also spätestens bei der Tabelle n-ter Ordnung (nur noch “Don’tCares”)
1. Quinesche Tabelle
5 Christian A. Mandery:DuE-Tutorien 16 und 17
Fakultät für Informatik
Dient zur Bestimmung aller Primimplikanten einer FunktionIteratives Verfahren, das in jedem Schritt eine neue Tabelle höhererOrdnung (mehr “Don’t Cares”) erzeugtZusammengefasste Primterme werden gestrichen bzw. abgehaktVerfahren terminiert, wenn sich keine Änderungen mehr ergeben,also spätestens bei der Tabelle n-ter Ordnung (nur noch “Don’tCares”)
1. Quinesche Tabelle
5 Christian A. Mandery:DuE-Tutorien 16 und 17
Fakultät für Informatik
Dient zur Bestimmung aller Primimplikanten einer FunktionIteratives Verfahren, das in jedem Schritt eine neue Tabelle höhererOrdnung (mehr “Don’t Cares”) erzeugtZusammengefasste Primterme werden gestrichen bzw. abgehaktVerfahren terminiert, wenn sich keine Änderungen mehr ergeben,also spätestens bei der Tabelle n-ter Ordnung (nur noch “Don’tCares”)
1. Quinesche Tabelle
5 Christian A. Mandery:DuE-Tutorien 16 und 17
Fakultät für Informatik
Dient zur Bestimmung aller Primimplikanten einer FunktionIteratives Verfahren, das in jedem Schritt eine neue Tabelle höhererOrdnung (mehr “Don’t Cares”) erzeugtZusammengefasste Primterme werden gestrichen bzw. abgehaktVerfahren terminiert, wenn sich keine Änderungen mehr ergeben,also spätestens bei der Tabelle n-ter Ordnung (nur noch “Don’tCares”)
1. Quinesche Tabelle
6 Christian A. Mandery:DuE-Tutorien 16 und 17
Fakultät für Informatik
Initialisierung (Quinesche Tabelle nullter Ordnung):Schreibe alle Minterme in eine TabelleSortiert nach der Anzahl der nicht-negierten (positiven) LiteraleTrenne die Bereiche unterschiedlicher Anzahl nicht-negierter Literalevoneinander ab
n-ter Iterationsschritt (Quinesche Tabelle n-ter Ordnung):Schreibe zusammenfassbare Terme aus der Tabelle (n-1)-ter Ordnung indie neue TabelleVon oben nach unten vorgehen: Sortierung bleibt automatisch erhaltenZusammengefasste Terme werden abgehakt, mit abgehakten Termenmuss aber weiterhin verglichen werden!
Vorteil: Im Iterationsschritt müssen zusammenfassbare Terme nur inbenachbarten Sektionen der Tabelle gesucht werden
Ansonsten: Terme müssen sich in mehr als einer Variable unterscheiden→ Sind nicht zusammenfassbar
1. Quinesche Tabelle
6 Christian A. Mandery:DuE-Tutorien 16 und 17
Fakultät für Informatik
Initialisierung (Quinesche Tabelle nullter Ordnung):Schreibe alle Minterme in eine TabelleSortiert nach der Anzahl der nicht-negierten (positiven) LiteraleTrenne die Bereiche unterschiedlicher Anzahl nicht-negierter Literalevoneinander ab
n-ter Iterationsschritt (Quinesche Tabelle n-ter Ordnung):Schreibe zusammenfassbare Terme aus der Tabelle (n-1)-ter Ordnung indie neue TabelleVon oben nach unten vorgehen: Sortierung bleibt automatisch erhaltenZusammengefasste Terme werden abgehakt, mit abgehakten Termenmuss aber weiterhin verglichen werden!
Vorteil: Im Iterationsschritt müssen zusammenfassbare Terme nur inbenachbarten Sektionen der Tabelle gesucht werden
Ansonsten: Terme müssen sich in mehr als einer Variable unterscheiden→ Sind nicht zusammenfassbar
1. Quinesche Tabelle
6 Christian A. Mandery:DuE-Tutorien 16 und 17
Fakultät für Informatik
Initialisierung (Quinesche Tabelle nullter Ordnung):Schreibe alle Minterme in eine TabelleSortiert nach der Anzahl der nicht-negierten (positiven) LiteraleTrenne die Bereiche unterschiedlicher Anzahl nicht-negierter Literalevoneinander ab
n-ter Iterationsschritt (Quinesche Tabelle n-ter Ordnung):Schreibe zusammenfassbare Terme aus der Tabelle (n-1)-ter Ordnung indie neue TabelleVon oben nach unten vorgehen: Sortierung bleibt automatisch erhaltenZusammengefasste Terme werden abgehakt, mit abgehakten Termenmuss aber weiterhin verglichen werden!
Vorteil: Im Iterationsschritt müssen zusammenfassbare Terme nur inbenachbarten Sektionen der Tabelle gesucht werden
Ansonsten: Terme müssen sich in mehr als einer Variable unterscheiden→ Sind nicht zusammenfassbar
2. Quinesche Tabelle
7 Christian A. Mandery:DuE-Tutorien 16 und 17
Fakultät für Informatik
Dient zur Bestimmung einer minimalen Überdeckung bei bekanntenPrimimplikantenVorgehensweise:
Zeichne Tabelle: Zeilen = Primimplikanten, Spalten = MintermeX dort, wo der Primimplikant den entsprechenden Minterm überdecktAnwendung von Regeln, dann Angabe der Überdeckungsfunktion (s.nächste Folie)
Vereinfachungsregeln:Erster Schritt: Streiche die Zeilen der Kernprimimplikanten und ihreüberdeckten MintermeSpaltendominanz: Überdeckt eine Spalte eine andere, streicheerstgenannteZeilendominanz: Überdeckt eine Spalte eine andere mit höheren odergleichen Kosten, streiche die überdeckte Zeile
Diskussion: Warum gelten diese Regeln?
2. Quinesche Tabelle
7 Christian A. Mandery:DuE-Tutorien 16 und 17
Fakultät für Informatik
Dient zur Bestimmung einer minimalen Überdeckung bei bekanntenPrimimplikantenVorgehensweise:
Zeichne Tabelle: Zeilen = Primimplikanten, Spalten = MintermeX dort, wo der Primimplikant den entsprechenden Minterm überdecktAnwendung von Regeln, dann Angabe der Überdeckungsfunktion (s.nächste Folie)
Vereinfachungsregeln:Erster Schritt: Streiche die Zeilen der Kernprimimplikanten und ihreüberdeckten MintermeSpaltendominanz: Überdeckt eine Spalte eine andere, streicheerstgenannteZeilendominanz: Überdeckt eine Spalte eine andere mit höheren odergleichen Kosten, streiche die überdeckte Zeile
Diskussion: Warum gelten diese Regeln?
2. Quinesche Tabelle
7 Christian A. Mandery:DuE-Tutorien 16 und 17
Fakultät für Informatik
Dient zur Bestimmung einer minimalen Überdeckung bei bekanntenPrimimplikantenVorgehensweise:
Zeichne Tabelle: Zeilen = Primimplikanten, Spalten = MintermeX dort, wo der Primimplikant den entsprechenden Minterm überdecktAnwendung von Regeln, dann Angabe der Überdeckungsfunktion (s.nächste Folie)
Vereinfachungsregeln:Erster Schritt: Streiche die Zeilen der Kernprimimplikanten und ihreüberdeckten MintermeSpaltendominanz: Überdeckt eine Spalte eine andere, streicheerstgenannteZeilendominanz: Überdeckt eine Spalte eine andere mit höheren odergleichen Kosten, streiche die überdeckte Zeile
Diskussion: Warum gelten diese Regeln?
2. Quinesche Tabelle
7 Christian A. Mandery:DuE-Tutorien 16 und 17
Fakultät für Informatik
Dient zur Bestimmung einer minimalen Überdeckung bei bekanntenPrimimplikantenVorgehensweise:
Zeichne Tabelle: Zeilen = Primimplikanten, Spalten = MintermeX dort, wo der Primimplikant den entsprechenden Minterm überdecktAnwendung von Regeln, dann Angabe der Überdeckungsfunktion (s.nächste Folie)
Vereinfachungsregeln:Erster Schritt: Streiche die Zeilen der Kernprimimplikanten und ihreüberdeckten MintermeSpaltendominanz: Überdeckt eine Spalte eine andere, streicheerstgenannteZeilendominanz: Überdeckt eine Spalte eine andere mit höheren odergleichen Kosten, streiche die überdeckte Zeile
Diskussion: Warum gelten diese Regeln?
2. Quinesche Tabelle
7 Christian A. Mandery:DuE-Tutorien 16 und 17
Fakultät für Informatik
Dient zur Bestimmung einer minimalen Überdeckung bei bekanntenPrimimplikantenVorgehensweise:
Zeichne Tabelle: Zeilen = Primimplikanten, Spalten = MintermeX dort, wo der Primimplikant den entsprechenden Minterm überdecktAnwendung von Regeln, dann Angabe der Überdeckungsfunktion (s.nächste Folie)
Vereinfachungsregeln:Erster Schritt: Streiche die Zeilen der Kernprimimplikanten und ihreüberdeckten MintermeSpaltendominanz: Überdeckt eine Spalte eine andere, streicheerstgenannteZeilendominanz: Überdeckt eine Spalte eine andere mit höheren odergleichen Kosten, streiche die überdeckte Zeile
Diskussion: Warum gelten diese Regeln?
2. Quinesche Tabelle
7 Christian A. Mandery:DuE-Tutorien 16 und 17
Fakultät für Informatik
Dient zur Bestimmung einer minimalen Überdeckung bei bekanntenPrimimplikantenVorgehensweise:
Zeichne Tabelle: Zeilen = Primimplikanten, Spalten = MintermeX dort, wo der Primimplikant den entsprechenden Minterm überdecktAnwendung von Regeln, dann Angabe der Überdeckungsfunktion (s.nächste Folie)
Vereinfachungsregeln:Erster Schritt: Streiche die Zeilen der Kernprimimplikanten und ihreüberdeckten MintermeSpaltendominanz: Überdeckt eine Spalte eine andere, streicheerstgenannteZeilendominanz: Überdeckt eine Spalte eine andere mit höheren odergleichen Kosten, streiche die überdeckte Zeile
Diskussion: Warum gelten diese Regeln?
2. Quinesche Tabelle
8 Christian A. Mandery:DuE-Tutorien 16 und 17
Fakultät für Informatik
Wie kommt man von der (vereinfachten) 2. Quineschen Tabelle zurMinimalform?
Durch “scharfes Hinsehen”Oder systematisch:
Überdeckungsfunktion verwendet Variablen wXwX gibt an, ob der Primimplikant X in der Minimalform vorkommt
Aufbau:Für jeden Minterm gibt es eine oder mehrere überdeckendePrimimplikanten, von denen ein beliebiger reicht → Disjunktion der wXEs müssen alle Minterme überdeckt werden → Konjunktion der Terme→ Überdeckungsfunktion: Konjunktion der Disjunktion der wX für jedenMinterm
Überdeckungsfunktion wird anschließend vereinfacht
2. Quinesche Tabelle
8 Christian A. Mandery:DuE-Tutorien 16 und 17
Fakultät für Informatik
Wie kommt man von der (vereinfachten) 2. Quineschen Tabelle zurMinimalform?
Durch “scharfes Hinsehen”Oder systematisch:
Überdeckungsfunktion verwendet Variablen wXwX gibt an, ob der Primimplikant X in der Minimalform vorkommt
Aufbau:Für jeden Minterm gibt es eine oder mehrere überdeckendePrimimplikanten, von denen ein beliebiger reicht → Disjunktion der wXEs müssen alle Minterme überdeckt werden → Konjunktion der Terme→ Überdeckungsfunktion: Konjunktion der Disjunktion der wX für jedenMinterm
Überdeckungsfunktion wird anschließend vereinfacht
2. Quinesche Tabelle
8 Christian A. Mandery:DuE-Tutorien 16 und 17
Fakultät für Informatik
Wie kommt man von der (vereinfachten) 2. Quineschen Tabelle zurMinimalform?
Durch “scharfes Hinsehen”Oder systematisch:
Überdeckungsfunktion verwendet Variablen wXwX gibt an, ob der Primimplikant X in der Minimalform vorkommt
Aufbau:Für jeden Minterm gibt es eine oder mehrere überdeckendePrimimplikanten, von denen ein beliebiger reicht → Disjunktion der wXEs müssen alle Minterme überdeckt werden → Konjunktion der Terme→ Überdeckungsfunktion: Konjunktion der Disjunktion der wX für jedenMinterm
Überdeckungsfunktion wird anschließend vereinfacht
2. Quinesche Tabelle
8 Christian A. Mandery:DuE-Tutorien 16 und 17
Fakultät für Informatik
Wie kommt man von der (vereinfachten) 2. Quineschen Tabelle zurMinimalform?
Durch “scharfes Hinsehen”Oder systematisch:
Überdeckungsfunktion verwendet Variablen wXwX gibt an, ob der Primimplikant X in der Minimalform vorkommt
Aufbau:Für jeden Minterm gibt es eine oder mehrere überdeckendePrimimplikanten, von denen ein beliebiger reicht → Disjunktion der wXEs müssen alle Minterme überdeckt werden → Konjunktion der Terme→ Überdeckungsfunktion: Konjunktion der Disjunktion der wX für jedenMinterm
Überdeckungsfunktion wird anschließend vereinfacht
2. Quinesche Tabelle
8 Christian A. Mandery:DuE-Tutorien 16 und 17
Fakultät für Informatik
Wie kommt man von der (vereinfachten) 2. Quineschen Tabelle zurMinimalform?
Durch “scharfes Hinsehen”Oder systematisch:
Überdeckungsfunktion verwendet Variablen wXwX gibt an, ob der Primimplikant X in der Minimalform vorkommt
Aufbau:Für jeden Minterm gibt es eine oder mehrere überdeckendePrimimplikanten, von denen ein beliebiger reicht → Disjunktion der wXEs müssen alle Minterme überdeckt werden → Konjunktion der Terme→ Überdeckungsfunktion: Konjunktion der Disjunktion der wX für jedenMinterm
Überdeckungsfunktion wird anschließend vereinfacht
2. Quinesche Tabelle
8 Christian A. Mandery:DuE-Tutorien 16 und 17
Fakultät für Informatik
Wie kommt man von der (vereinfachten) 2. Quineschen Tabelle zurMinimalform?
Durch “scharfes Hinsehen”Oder systematisch:
Überdeckungsfunktion verwendet Variablen wXwX gibt an, ob der Primimplikant X in der Minimalform vorkommt
Aufbau:Für jeden Minterm gibt es eine oder mehrere überdeckendePrimimplikanten, von denen ein beliebiger reicht → Disjunktion der wXEs müssen alle Minterme überdeckt werden → Konjunktion der Terme→ Überdeckungsfunktion: Konjunktion der Disjunktion der wX für jedenMinterm
Überdeckungsfunktion wird anschließend vereinfacht
2. Quinesche Tabelle
8 Christian A. Mandery:DuE-Tutorien 16 und 17
Fakultät für Informatik
Wie kommt man von der (vereinfachten) 2. Quineschen Tabelle zurMinimalform?
Durch “scharfes Hinsehen”Oder systematisch:
Überdeckungsfunktion verwendet Variablen wXwX gibt an, ob der Primimplikant X in der Minimalform vorkommt
Aufbau:Für jeden Minterm gibt es eine oder mehrere überdeckendePrimimplikanten, von denen ein beliebiger reicht → Disjunktion der wXEs müssen alle Minterme überdeckt werden → Konjunktion der Terme→ Überdeckungsfunktion: Konjunktion der Disjunktion der wX für jedenMinterm
Überdeckungsfunktion wird anschließend vereinfacht
Consensus-Verfahren: Einleitung
9 Christian A. Mandery:DuE-Tutorien 16 und 17
Fakultät für Informatik
Alternative zur 1. Quineschen Tabelle (Bestimmung vonPrimtermen)Beruht auf der Bildung von Consensus-Würfeln im WürfelkalkülConsensus-Würfel von A und B:
Nur definiert, wenn A und B genau eine komplementär belegte VariablebeinhaltenDie komplementär belegte Variable wird im Consensus-Würfel als “Don’tCare” festgelegtAlle anderen Belegungen werden auf den “kleinsten gemeinsamenNenner” von A und B gesetzt
Beispiel: 1, wenn A 1 und B “Don’t Care” ist“Don’t Care” nur, wenn A und B “Don’t Care” sind
Consensus-Verfahren: Einleitung
9 Christian A. Mandery:DuE-Tutorien 16 und 17
Fakultät für Informatik
Alternative zur 1. Quineschen Tabelle (Bestimmung vonPrimtermen)Beruht auf der Bildung von Consensus-Würfeln im WürfelkalkülConsensus-Würfel von A und B:
Nur definiert, wenn A und B genau eine komplementär belegte VariablebeinhaltenDie komplementär belegte Variable wird im Consensus-Würfel als “Don’tCare” festgelegtAlle anderen Belegungen werden auf den “kleinsten gemeinsamenNenner” von A und B gesetzt
Beispiel: 1, wenn A 1 und B “Don’t Care” ist“Don’t Care” nur, wenn A und B “Don’t Care” sind
Consensus-Verfahren: Einleitung
9 Christian A. Mandery:DuE-Tutorien 16 und 17
Fakultät für Informatik
Alternative zur 1. Quineschen Tabelle (Bestimmung vonPrimtermen)Beruht auf der Bildung von Consensus-Würfeln im WürfelkalkülConsensus-Würfel von A und B:
Nur definiert, wenn A und B genau eine komplementär belegte VariablebeinhaltenDie komplementär belegte Variable wird im Consensus-Würfel als “Don’tCare” festgelegtAlle anderen Belegungen werden auf den “kleinsten gemeinsamenNenner” von A und B gesetzt
Beispiel: 1, wenn A 1 und B “Don’t Care” ist“Don’t Care” nur, wenn A und B “Don’t Care” sind
Consensus-Verfahren: Einleitung
9 Christian A. Mandery:DuE-Tutorien 16 und 17
Fakultät für Informatik
Alternative zur 1. Quineschen Tabelle (Bestimmung vonPrimtermen)Beruht auf der Bildung von Consensus-Würfeln im WürfelkalkülConsensus-Würfel von A und B:
Nur definiert, wenn A und B genau eine komplementär belegte VariablebeinhaltenDie komplementär belegte Variable wird im Consensus-Würfel als “Don’tCare” festgelegtAlle anderen Belegungen werden auf den “kleinsten gemeinsamenNenner” von A und B gesetzt
Beispiel: 1, wenn A 1 und B “Don’t Care” ist“Don’t Care” nur, wenn A und B “Don’t Care” sind
Consensus-Verfahren: Einleitung
9 Christian A. Mandery:DuE-Tutorien 16 und 17
Fakultät für Informatik
Alternative zur 1. Quineschen Tabelle (Bestimmung vonPrimtermen)Beruht auf der Bildung von Consensus-Würfeln im WürfelkalkülConsensus-Würfel von A und B:
Nur definiert, wenn A und B genau eine komplementär belegte VariablebeinhaltenDie komplementär belegte Variable wird im Consensus-Würfel als “Don’tCare” festgelegtAlle anderen Belegungen werden auf den “kleinsten gemeinsamenNenner” von A und B gesetzt
Beispiel: 1, wenn A 1 und B “Don’t Care” ist“Don’t Care” nur, wenn A und B “Don’t Care” sind
Consensus-Verfahren: Vorgehen
10 Christian A. Mandery:DuE-Tutorien 16 und 17
Fakultät für Informatik
1. Gebe bekannte Überdeckung der Funktion im Würfelkalkül an (z.B.die Minterme)
2. Vergleiche, beginnend mit dem 2. Würfel, mit jedem Würfel darüberund bilde alle möglichen Consensus-Würfel
Neu erzeugte Consensus-Würfel werden an das Ende der TabelleangefügtWürfel, die im Consensus-Würfel enthalten sind, werden gestrichen
3. Verfahren terminiert, wenn keine neuen Consensus-Würfel mehrerzeugt werden können
→ Nicht-gestrichene Würfel entsprechen den Primimplikanten
Consensus-Verfahren: Vorgehen
10 Christian A. Mandery:DuE-Tutorien 16 und 17
Fakultät für Informatik
1. Gebe bekannte Überdeckung der Funktion im Würfelkalkül an (z.B.die Minterme)
2. Vergleiche, beginnend mit dem 2. Würfel, mit jedem Würfel darüberund bilde alle möglichen Consensus-Würfel
Neu erzeugte Consensus-Würfel werden an das Ende der TabelleangefügtWürfel, die im Consensus-Würfel enthalten sind, werden gestrichen
3. Verfahren terminiert, wenn keine neuen Consensus-Würfel mehrerzeugt werden können
→ Nicht-gestrichene Würfel entsprechen den Primimplikanten
Consensus-Verfahren: Vorgehen
10 Christian A. Mandery:DuE-Tutorien 16 und 17
Fakultät für Informatik
1. Gebe bekannte Überdeckung der Funktion im Würfelkalkül an (z.B.die Minterme)
2. Vergleiche, beginnend mit dem 2. Würfel, mit jedem Würfel darüberund bilde alle möglichen Consensus-Würfel
Neu erzeugte Consensus-Würfel werden an das Ende der TabelleangefügtWürfel, die im Consensus-Würfel enthalten sind, werden gestrichen
3. Verfahren terminiert, wenn keine neuen Consensus-Würfel mehrerzeugt werden können
→ Nicht-gestrichene Würfel entsprechen den Primimplikanten
Consensus-Verfahren: Vorgehen
10 Christian A. Mandery:DuE-Tutorien 16 und 17
Fakultät für Informatik
1. Gebe bekannte Überdeckung der Funktion im Würfelkalkül an (z.B.die Minterme)
2. Vergleiche, beginnend mit dem 2. Würfel, mit jedem Würfel darüberund bilde alle möglichen Consensus-Würfel
Neu erzeugte Consensus-Würfel werden an das Ende der TabelleangefügtWürfel, die im Consensus-Würfel enthalten sind, werden gestrichen
3. Verfahren terminiert, wenn keine neuen Consensus-Würfel mehrerzeugt werden können
→ Nicht-gestrichene Würfel entsprechen den Primimplikanten
Übungsaufgabe 1
11 Christian A. Mandery:DuE-Tutorien 16 und 17
Fakultät für Informatik
Eine unvollständige definierte Schaltfunktion y = f (d , c, b, a) sei durchihre Eins- und Don’t-Care-Stellen (Abkürzung d) gegeben:
y = MINt(12, 13, 14, 15, 29, 30) ∨ d(17, 18)
Bestimmen Sie alle Primimplikanten der Funktion f (d , c, b, a) mit Hilfedes Quine-McCluskey-Verfahrens. Geben Sie eine disjunktiveMinimalform von y an.
Übungsaufgabe 2
12 Christian A. Mandery:DuE-Tutorien 16 und 17
Fakultät für Informatik
Eine vollständig definierte Schaltfunktion y = f (d , c, b, a) ist gegebendurch die folgende Gleichung
y = MAXt(0, 3, 6, 11, 13, 15)
Bestimmen Sie alle Primimplikanten der Funktion f mit Hilfe desConsensus-Verfahrens. Wählen Sie hierzu eine geeigneteAnfangsüberdeckung aus.
Multiplexer
13 Christian A. Mandery:DuE-Tutorien 16 und 17
Fakultät für Informatik
Standardbaustein der DigitaltechnikSchaltet einen von 2n Dateneingängen auf den Ausgang durchAuswahl des durchgeschalteten Eingangs durch n Steuereingänge
Multiplexer
13 Christian A. Mandery:DuE-Tutorien 16 und 17
Fakultät für Informatik
Standardbaustein der DigitaltechnikSchaltet einen von 2n Dateneingängen auf den Ausgang durchAuswahl des durchgeschalteten Eingangs durch n Steuereingänge
Multiplexer
13 Christian A. Mandery:DuE-Tutorien 16 und 17
Fakultät für Informatik
Standardbaustein der DigitaltechnikSchaltet einen von 2n Dateneingängen auf den Ausgang durchAuswahl des durchgeschalteten Eingangs durch n Steuereingänge
Multiplexer
14 Christian A. Mandery:DuE-Tutorien 16 und 17
Fakultät für Informatik
Jede boolesche Funktion kann allein mit Multiplexern realisiert werden.Warum ist das so?
Antwort: Folgt direkt aus dem Shannonschen EntwicklungssatzMan entwickelt nacheinander nach jeder vorkommenden VariableJeder Entwicklungsschritt erzeugt eine neue Schicht 2:1-MultiplexerAn den Dateneingängen der ersten Schicht liegen nur dieKonstanten 0 und 1 anAlternative: Ein 2n:1-Multiplexer, bei dem jeder Eingang als Stelleder Funktion mit einer Konstanten belegt ist
Multiplexer
14 Christian A. Mandery:DuE-Tutorien 16 und 17
Fakultät für Informatik
Jede boolesche Funktion kann allein mit Multiplexern realisiert werden.Warum ist das so?
Antwort: Folgt direkt aus dem Shannonschen EntwicklungssatzMan entwickelt nacheinander nach jeder vorkommenden VariableJeder Entwicklungsschritt erzeugt eine neue Schicht 2:1-MultiplexerAn den Dateneingängen der ersten Schicht liegen nur dieKonstanten 0 und 1 anAlternative: Ein 2n:1-Multiplexer, bei dem jeder Eingang als Stelleder Funktion mit einer Konstanten belegt ist
Decoder
15 Christian A. Mandery:DuE-Tutorien 16 und 17
Fakultät für Informatik
Gegenstück zum Multiplexer, deshalb auch DemultiplexerSchaltet einen Dateneingang auf einen von 2n Ausgängen (alleanderen Ausgänge sind 0)Eingang deshalb auch Enable-Eingang genannt:
Enable = 1: Ein Ausgang ist 1, Auswahl durch n SteuereingängeEnable = 0: Alle Ausgänge sind 0
Decoder
15 Christian A. Mandery:DuE-Tutorien 16 und 17
Fakultät für Informatik
Gegenstück zum Multiplexer, deshalb auch DemultiplexerSchaltet einen Dateneingang auf einen von 2n Ausgängen (alleanderen Ausgänge sind 0)Eingang deshalb auch Enable-Eingang genannt:
Enable = 1: Ein Ausgang ist 1, Auswahl durch n SteuereingängeEnable = 0: Alle Ausgänge sind 0
Decoder
15 Christian A. Mandery:DuE-Tutorien 16 und 17
Fakultät für Informatik
Gegenstück zum Multiplexer, deshalb auch DemultiplexerSchaltet einen Dateneingang auf einen von 2n Ausgängen (alleanderen Ausgänge sind 0)Eingang deshalb auch Enable-Eingang genannt:
Enable = 1: Ein Ausgang ist 1, Auswahl durch n SteuereingängeEnable = 0: Alle Ausgänge sind 0
PLA-Bausteine
16 Christian A. Mandery:DuE-Tutorien 16 und 17
Fakultät für Informatik
Programmable Logic Array: Programierbarer Logikbaustein zurRealisierung (mehrerer) boolescher Funktionen in disjunktiver FormBesteht aus zwei Matrizen:
1. UND-Matrix: Aufbau von Implikanten aus den Eingangsvariablen2. ODER-Matrix: Aufbau der Funktionen aus den Implikanten (→
Koppelterme möglich)
Quelle: Wikipedia
PLA-Bausteine
17 Christian A. Mandery:DuE-Tutorien 16 und 17
Fakultät für Informatik
Programmierung des PLA-Chips durch den Benutzer durchWegbrennen bzw. Setzen von Verbindungen in den MatrizenAchtung: Wenn man zum Erreichen einer minimalen FormKoppelterme verwenden möchte, kann es erforderlich sein, bei derRealisierung Nicht-Prim-Terme zu verwenden
PLA-Bausteine
17 Christian A. Mandery:DuE-Tutorien 16 und 17
Fakultät für Informatik
Programmierung des PLA-Chips durch den Benutzer durchWegbrennen bzw. Setzen von Verbindungen in den MatrizenAchtung: Wenn man zum Erreichen einer minimalen FormKoppelterme verwenden möchte, kann es erforderlich sein, bei derRealisierung Nicht-Prim-Terme zu verwenden