DuE-Tutorien 16 und 17 - tutorium.chrismandery.detutorium.chrismandery.de/WS1011/tutorium7.pdf ·...

50
1 Christian A. Mandery: DuE-Tutorien 16 und 17 Fakultät für Informatik Tutorienwoche 7 am 17.12.2010 DuE-Tutorien 16 und 17 Tutorien zur Vorlesung “Digitaltechnik und Entwurfsverfahren” KIT – Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Transcript of DuE-Tutorien 16 und 17 - tutorium.chrismandery.detutorium.chrismandery.de/WS1011/tutorium7.pdf ·...

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

Fertig!

18 Christian A. Mandery:DuE-Tutorien 16 und 17

Fakultät für Informatik

Quelle: http://xkcd.com/722/