C Beispiel: Siebensegmentanzeige. Typische Anzeige für Ziffern a. f g. e d. Gesucht: Schaltfunktion für die Ansteuerung des Segmentes d

Ähnliche Dokumente
kanonische disjunktive Normalform (KDNF, DKF) Disjunktion einer Menge von Mintermen mit gleichen Variablen

C.34 C Normalformen (4) 5.7 Hauptsatz der Schaltalgebra. 5.7 Hauptsatz der Schaltalgebra (2) 5.7 Hauptsatz der Schaltalgebra (3)

Grundlagen der Rechnerarchitektur

B. Schaltalgebra, Kombinatorische Logik

B. Schaltalgebra, Kombinatorische Logik

Teil 1: Digitale Logik

1 Analogtechnik und Digitaltechnik. C Schaltalgebra und kombinatorische Logik. 2 Digitale elektrische Schaltungen

Eingebettete Systeme

Satz von De Morgan A B A + B A + B A B A. Transistoren: A B U a A 0 0 Vcc Vcc Vcc V 0

Schaltalgebra und kombinatorische Logik

Teil 1: Digitale Logik

Boolesche (Schalt-) Algebra (1)

Systemorientierte Informatik 1

Bisher. minimale DNF. logischen Formeln Booleschen Funktionen Schaltungen

03 Boolesche Algebra. Technische Grundlagen der Informatik

Schaltalgebra und kombinatorische Logik

Schaltfunktion, Definition

Boolesche Algebra (1)

Technische Informatik I

Kapitel 6 Programmierbare Logik. Literatur: Kapitel 6 aus Oberschelp/Vossen, Rechneraufbau und Rechnerstrukturen, 9. Auflage

Technische Informatik I, SS03. Boole sche Algebra, Kombinatorische Logik

Rechnerstrukturen, Teil 1. Vorlesung 4 SWS WS 15/16

2.3 Logikoptimierung. Überblick digitale Synthese. Logikoptimierung

Was bisher geschah: klassische Aussagenlogik

Kombinatorische Logik. Einführung in die Technische Informatik Falko Dressler, Stefan Podlipnig Universität Innsbruck

N Bit binäre Zahlen (signed)

2.4. Das Karnaugh Veitch Diagramm ( KV Diagramm )

Darstellung von negativen binären Zahlen

Informationsverarbeitung auf Bitebene

Arbeitsblatt Logische Verknüpfungen Schaltnetzsynthese

Minimierung von logischen Schaltungen

Logische Äquivalenz. Definition Beispiel 2.23

DuE-Tutorien 17 und 18

Übungsklausur - Beispiellösung

Computersysteme. 2. Grundlagen Digitaler Schaltungen 2.10 Minimierung Boole scher Funktionen 2.11 CMOS Komplexgatter

Inhaltsverzeichnis. 1 Boolesche Algebra, Schaltalgebra - Begriffsbestimmung 1. 2 Operationssystem der Schaltalgebra 4. 3 Boolesche Funktionen 6

Rechnerstrukturen. Michael Engel und Peter Marwedel WS 2013/14. TU Dortmund, Fakultät für Informatik

DuE-Tutorien 16 und 17

Technische Informatik I

Grundlagen der Informationsverarbeitung:

Technische Informatik I 4. Vorlesung. 2. Funktion digitaler Schaltungen... wertverlaufsgleiche Umformungen

6. Minimierung Boolescher Polynome

Algorithmus von McClusky: Der Algorithmus von McCluskey liefert durch wiederholte Anwendung der ersten und zweiten Vereinfachungsregel:

Minimierung mittels KV-Diagramm (Karnaugh-Plan)

Übungen zur Vorlesung Grundlagen der Rechnerarchitektur

Modul Computersysteme Prüfungsklausur SS Prof. Dr. J. Keller LG Parallelität und VLSI Prof. Dr.-Ing. W. Schiffmann LG Rechnerarchitektur

1. Grundlagen der Informatik Boolesche Algebra / Aussagenlogik

Teil II. Schaltfunktionen

Physikalisches Praktikum für Vorgerückte. an der ETH Zürich. vorgelegt von. Mattia Rigotti Digitale Elektronik

Teil III. Schaltnetze und ihre Optimierung

Logik (Teschl/Teschl 1.1 und 1.3)

Einführung in Computer Microsystems Sommersemester Vorlesung Dr.-Ing. Wolfgang Heenes

Technische Informatik

Aussagenlogik. Formale Methoden der Informatik WiSe 2010/2011 teil 7, folie 1 (von 50)

f ist sowohl injektiv als auch surjektiv.

Technische Grundlagen der Informatik

5. Vorlesung: Normalformen

Boolesche Funktionen und Schaltkreise

D.42 D Synchroner Zähler. 6.3 Synchroner Zähler (2) 6.3 Synchroner Zähler (4) 6.3 Synchroner Zähler (3) Einsatz von JK-Flip-Flops

2.2 Register-Transfer-Synthese

Aussagenlogik. Formale Methoden der Informatik WiSe 2012/2013 teil 6, folie 1

Synthese digitaler Schaltungen Aufgabensammlung

Rechnerstrukturen WS 2012/13

DuE-Tutorien 4 und 6. Tutorien zur Vorlesung Digitaltechnik und Entwurfsverfahren Christian A. Mandery. WOCHE 8 AM

DuE-Tutorien 16 und 17

Rechnerstrukturen WS 2012/13

DuE-Tutorien 17 und 18

Technische Informatik - Eine Einführung

Rückblick. Erweiterte b-adische Darstellung von Kommazahlen. 7,1875 dargestellt mit l = 4 und m = 4 Bits. Informatik 1 / Kapitel 2: Grundlagen

6. Tutorium Digitaltechnik und Entwurfsverfahren

Digitaltechnik Grundlagen 5. Elementare Schaltnetze

Electronic Design Automation (EDA) Register-Transfer-Synthese

DIGITALTECHNIK 06 SCHALTUNGS- SYNTHESE UND ANALYSE

Inhaltsverzeichnis. Inhaltsverzeichnis

Synthese und Analyse Digitaler Schaltungen

Aufgabe 1 Minimieren Sie mit den Gesetzen der Booleschen Algebra 1.1 f a ab ab 1 = + + Aufgabe 2. Aufgabe 3

Grundlagen der Technischen Informatik. 7. Übung

Rechnerstrukturen WS 2012/13

N Bit binäre Zahlen (signed)

9. Kombinatorische Schaltungen

A.1 Schaltfunktionen und Schaltnetze

x x y x y Informatik II Schaltkreise Schaltkreise Schaltkreise Rainer Schrader 3. November 2008

Computational Logic Algorithmische Logik Boolesche Algebra und Resolution

Einführung in die Informatik I

GETE DIGITAL TECHNIK CODIERUNG BCD: BINARY CODED DIGITAL. Hr. Houska

2.5. Umwandlung von Schaltfunktionen in die NOR und NAND Technik

Rechnerstrukturen. Michael Engel und Peter Marwedel SS TU Dortmund, Fakultät für Informatik

Kapitel 1: Schaltfunktionen und ihre Darstellung

Informatik I Tutorium WS 07/08

zugehöriger Text bei Oberschelp/Vossen:

Digitaltechnik Grundlagen 4. Schaltalgebra

Verwendung eines KV-Diagramms

Störungen in Digitalsystemen

Lösung 2.1 PROM - Dual-zu-Siebensegmentdecoder

Logik für Informatiker

Lösung 3.1 Schaltalgebra - Schaltnetze (AND, OR, Inverter)

Grundlagen digitaler Systeme WS12

Jede Belegung von k Variablen kann als Binärvektor aus k Binärwerten x 1...x k mit

3 Verarbeitung und Speicherung elementarer Daten

Transkript:

6.3 Beispiel: Siebensegmentanzeige Typische Anzeige für Ziffern a f g b 0 1 2 3 4 5 6 7 8 9 e d c Schaltfunktionen zur Ansteuerung der Segmente Parameter: binär codierte Zahl bzw. Ziffer Gesucht: Schaltfunktion für die Ansteuerung des Segmentes d C.40

6.3 Beispiel: Siebensegmentanzeige (2) 6.3 Beispiel: Siebensegmentanzeige (3) Aufstellung der Wahrheitstafel zur Ansteuerung des Segmentes d 0 f(,,, 0 ) 1 0 0 0 1 0 0 0 1 0 1 0 0 1 1 1 0 1 0 0 0 0 1 0 1 1 0 1 1 0 1 0 1 1 1 0 1 0 0 0 1 1 0 0 1 1 1 0 1 0 d 1 0 1 1 d 1 1 1 1 d C.41 Aufstellung der KDNF nur 1-Werte betrachten don t care-werte werden ignoriert f = ( 0 ) + ( 0 ) + ( 0 ) + ( 0 ) + ( 0 ) + ( 0 ) + ( 0 ) KDNF sicherlich nicht minimal ungeeignet zur Übertragung in eine kostengünstige Schaltung C.42 7 Äquivalenz von Schaltfunktionen Wegen der Eindeutigkeit der Darstellung als KDNF bzw. KKNF gilt: zwei Schaltfunktionen sind äquivalent, wenn sie sich auf die selbe KDNF oder KKNF zurückfürhen lassen bis auf Vertauschungen bzgl. des Kommutativitätsaioms Umformungen nach den Gesetzen der Boolschen Algebra Erhaltung der Schaltfunktion Nutzen z.b. Minimisieren von Schaltfunktionen 8 Minimisierung Suche nach einer minimalen Darstellung einer Schaltfunktion Größenbegriff notwendig Menge der notwendigen Gatter Anzahl der Variablen Anzahl der notwendigen ICs Anzahl der notwendigen Kontakte Größenbegriff von den Kosten bestimmt Größenbegriff hier Anzahl der booleschen Operationen C.43 C.44

8.1 Grundlage der Minimisierung Gesetze der Booleschen Algebra insbesondere A B+ A B = A 8.1 Grundlage der Minimisierung (2) Beispiel: Oderfunktion KDNF: Umwandlung: f(, ) = + + Beweis A B+ A B = A ( B+ B) A ( B+ B) = A 1 A 1 = A wg. (Kommutativität u.) Distributivität wg. komplementärem Element wg. neutralem Element f(, ) = + + f(, ) = + ( + ) f(, ) = + 1 f(, ) = + f(, ) = + + f(, ) f(, ) = = ( + ) + + Distributivität, neutrales Element Absorption C.45 C.46 8.2 Vorgehensweise Manuelles Minimisieren Umformen (z.b. der KDNF) nach den Regeln der Booleschen Algebra Algorithmisches Verfahren Verfahren nach Quine/McCluskey kann durch ein Programm angewandt werden geeignet für Schaltfunktionen mit vielen Variablen Graphische Verfahren Händlersche Kreisgraph Karnaugh-Veitch Diagramme geeignet für Schaltfunktionen mit wenigen Variablen 8.3 Karnaugh-Veitch-Diagramme Ausgangspunkt KDNF (oder KKNF) Rechteckschema je ein Feld für jeden möglichen Minterm (Materm) Anordnung der Felder, so dass benachbarte Felder bzw. Minterme zusammenfassbar Diagramm für zweistellige Schaltfunktion Funktion: f(, ) Diagramm: C.47 C.48

8.3 Karnaugh-Veitch-Diagramme (2) 8.4 Beispiel: Oderfunktion Diagrammaufbau jede Variable halbiert das Diagramm in zwei zusammenhängende Teile erster Teil für zweiter Teil für Variable i i i Variable Aufstellen der KDNF f(, ) = + + Eintragung in das Diagramm Eintragung einer 1, wenn Minterm benötigt wird Eintragung einer 0, wenn Minterm nicht benötigt wird 0 1 1 1 benachbarte Felder unterscheiden sich nur um das Vorzeichen einer Variablen in den beiden Mintermen Eintragung auch direkt aus Wahrheitstafel möglich C.49 C.50 8.4 Beispiel: Oderfunktion (2) 8.4 Beispiel: Oderfunktion (3) Markierung möglichst weniger und möglichst großer zusammenhängender Bereiche mit 1en nur zusammenhängende rechteckige Bereiche mit 2 n Elementen erlaubt alle 1 Felder müssen schließlich markiert sein 0 1 Alternative Markierung Markierung nicht so groß wie möglich, aber alle 1en markiert 0 1 1 1 1 1 markierten Bereiche ergeben Produktterme, die summiert werden: markierten Bereiche ergeben Produktterme, die summiert werden: f(, ) = + f(, ) = + Funktion korrekt, jedoch nicht minimal Produktterme ergeben sich aus den Variablen die lediglich negiert oder ohne Negation vorkommen C.51 C.52

8.5 Beispiel: Eingabemelder 8.6 Beispiel: Eingabemelder (2) Dreistellige Schaltfunktionen Karnaugh-Veitch-Diagramm Halbierungen des Diagramms Variable Variable Wichtig: die Bereiche für gehören zusammen Vorstellung: Diagramm ist an den Rändern zusammengeklebt C.53 C.54 8.7 Beispiel: Eingabemelder (3) 8.7 Beispiel: Eingabemelder (4) Halbierungen des Diagramms Variable Belegen des Diagramms aus der Wahrheitstafel Funktion aus Folie C.38 f 2 Eintragung der don t care -Werte 0 1 d 0 1 d d d don t care -Werte können mitmarkiert werden oder nicht Ziel: möglichst große Bereiche markieren markierte don t care -Werte werden später zu 1, andere zu 0 C.55 C.56

8.7 Beispiel: Eingabemelder (5) Markierungen für f 2 zwei Bereiche 8.8 Beispiel: unbestimmte Funktion Gegebene Belegung aus der Wahrheitstafel Gesucht ist die beste Markierung 0 1 d 0 1 0 d 1 1 d d d 1 1 d d markierten Bereiche ergeben Produktterme, die summiert werden: f 2 (,, ) = + markierten Bereiche ergeben Produktterme, die summiert werden: f(,, ) = + C.57 C.58 8.9 Beispiel: weitere Funktion Gegebene weitere Belegung aus der Wahrheitstafel Gesucht ist die beste Markierung 1 0 0 1 0 0 1 1 Minimale DNF gefunden f(,, ) = + 8.10 Vierstellige Funktionen Karnaugh-Veitch-Diagramm für vierstellige Schaltfunktion C.59 C.60

8.10 Vierstellige Funktionen (2) Halbierungen für vierstellige Schaltfunktion 8.10 Vierstellige Funktionen (3) Halbierungen für vierstellige Schaltfunktion 3 C.61 4 C.62 8.10 Vierstellige Funktionen (4) Markierungen insbesonder folgende Markierung möglich 8.11 Beispiel: 22-Multiplizierer Binärer Multiplizierer für 2 mal 2 Eingänge Binärdarstellung von Zahlen von 0 bis 3 bzw. 0 bis 15 X X X Vorstellung: Diagramm ist an den Seiten jeweils zusammengeklebt zwei Eingänge a 1 und a 0 zwei Eingänge b 1 und b 0 vier Ausgänge y 3, y 2, y 1 und y 0 X X X X X X X X X C.63 C.64

8.12 Beispiel: 22-Multiplizierer (2) 8.12 Beispiel: 22-Multiplizierer (3) b a 1 = a 0 = = b 0 = 2 y 3 y 2 y 1 y 0 0 0 = 0 0 = 1 0 = 0 0 0 1 0 0 = 0 0 0 1 1 1 0 = 0 0 1 0 0 1 = 1 0 1 0 1 0 0 0 1 1 = 2 0 1 1 0 0 0 1 0 1 = 3 0 1 1 1 0 0 1 1 2 0 = 0 1 0 0 0 2 = 2 1 0 0 1 0 0 1 0 2 = 4 1 0 1 0 0 1 0 0 2 = 6 1 0 1 1 0 1 1 0 3 0 = 0 1 1 0 0 3 = 3 1 1 0 1 0 0 1 1 3 = 6 1 1 1 0 0 1 1 0 3 = 9 1 1 1 1 1 0 0 1 C.65 Karnaugh-Veitch-Diagramm für y 0 : Markierte Bereiche: y 0 = 0 1 1 0 0 1 1 0 C.66 8.12 Beispiel: 22-Multiplizierer (4) 8.12 Beispiel: 22-Multiplizierer (5) Karnaugh-Veitch-Diagramm für y 1 : Karnaugh-Veitch-Diagramm für y 2 : 0 0 1 1 0 1 0 1 0 0 0 1 0 1 1 0 0 0 1 1 Markierte Bereiche: y 1 = + + + Markierte Bereiche: y 2 = + C.67 C.68

8.12 Beispiel: 22-Multiplizierer (6) Karnaugh-Veitch-Diagramm für y 3 : 4 0 0 1 0 8.13 Zusammenfassung Markierungsregeln rechteckige Bereiche mit 2 n Elementen markieren Achtung: Diagramm gilt als oben und unten zusammengenäht alle 1-Werte müssen markiert werden möglichst große Bereiche markieren möglichst wenig Bereiche markieren Markierte Bereiche: y 3 = C.69 C.70 9 Schaltnetze Mehrere Schaltfunktionen (Combinational Networks) sind von gleichen Eingangsvariablen abhängig f 1 (,,, n ) f 2 (,,, n ) f m (,,, n ) entspricht Schaltung mit mehreren Ausgängen n Kombinatorische Logik f 1 () f 2 () f m () 9 Schaltnetze (2) Gerichteter, azyklischer Graph Gatter, Ein- und Ausgänge sind Knoten Verbindungsleitungen sind Kanten (gerichtet von Eingang zu Ausgang) Aufbau von Schaltnetzen einstufige (nur eine Gatterebene) zweistufige (zwei Gatterebenen) mehrstufige Folgerung aus Darstellung durch kanonische Normalformen Jedes Schaltnetz ist zweistufig realisierbar, wenn alle Signale einfach und negiert vorliegen und Gatter mit ausreichender Anzahl von Eingängen vorliegen. C.71 C.72

9 Schaltnetze (3) Begründung Bezug zur KDNF (oder KKNF) alle Variablen werden einfach oder negiert benutzt zunächst Minterme: ein Und-Gatter pro Minterm (erste Stufe) Summe der Minterme: ein Oder-Gatter für alle Minterme f 2 f 1 9 Schaltnetze (4) Anzahl der notwendigen Gatter bei n Eingängen ma. 2 n Und-Gatter pro Schaltfunktion mit bis zu n Eingängen (KDNF) ein Oder-Gatter mit bis zu 2 n Eingängen Minimisierung reduziert Gatteranzahl und Eingangsanzahl pro Gatter Minimisierung parallel für mehrere Schaltfunktionen des Schaltnetzes Verwendung der selben Gatter z.b. Karnaugh-Veitch-Diagramme für mehrere Schaltfunktionen des Netzes Beispiel: Eingabemelder C.73 C.74 10 Typische Schaltnetze 10.1 1-aus-k-Multipleer Steuerleitungen weisen viele Eingabeleitungen einem Ausgang zu n Steuerleitungen s 0, s 1,, s n 1 (Eingänge) k = 2 n Eingänge 0,,, k 1 ein Ausgang y es gilt: y = i für ( s n 1,, s 1, s 0 ) 2 = i (Zahlendarstellung im Binärsystem) 10.1 1-aus-k-Multipleer (2) Realisierung für n = 2 als DNF y = s 1 s 0 0 + s 1 s 0 + s 1 s 0 + s 1 s 0 0 y 0 k-1 s 0 s 1 s n-1 y Multipleer (MUX) s 0 s 1 Einsatz Anzeige und Auswahl verschiedener Datenquellen z.b. Auslesen von Daten aus Speicherzellen C.75 C.76

10.2 1-zu-k-Demultipleer Steuerleitungen weisen eine Eingabeleitung vielen Ausgängen zu n Steuerleitungen s 0, s 1,, s n 1 (Eingänge) ein Eingang k = 2 n Ausgänge y 0, y 1,, y k 1 es gilt: y i = für ( s n 1,, s 1, s 0 ) 2 = i (Zahlendarstellung im Binärsystem) s 0 s 1 s n-1 y 0 y 1 y k-1 Demultipleer (DEMUX) C.77 10.2 1-zu-k-Demultipleer (2) Realisierung für n = 2 als DNF Einsatz y 0 = s 1 s 0, y 1 = s 1 s 0, y 2 = s 1 s 0, y 3 = s 1 s 0 s 0 s 1 Zuordnung und Auswahl verschiedener Datensenken z.b. Speichern von Daten in Speicherzellen y 0 y 1 y 2 y 3 C.78 10.3 k-zu-n-kodierer 10.3 k-zu-n-kodierer (2) Nummer eines Eingangs wird ausgegeben k = 2 n Eingänge 0,,, k 1 immer genau eine Eingangsleitung auf 1 i mit i = 1 und j i j = 0 n Ausgänge y 0, y 1,, y n 1 es gilt: ( y n 1,, y 1, y 0 ) 2 = i (Zahlendarstellung im Binärsystem) Realisierung für n = 2, k = 4 als DNF y 0 = +, y 1 = + 0 y 0 0 k-1 Encoder y 0 y 1 y n-1 Kodierer Einsatz y 1 z.b. Signalisierung eines Eingang C.79 C.80

10.4 n-zu-k-dekodierer Eingänge selektieren genau einen von vielen Ausgängen n Eingänge 0,,, n 1 k = 2 n Ausgänge y 0, y 1,, y k 1 es gilt: y i = 1 und j i y j i = 0 mit ( n 1,,, 0 ) 2 = i (Zahlendarstellung im Binärsystem) 10.4 n-zu-k-dekodierer (2) Realisierung für n = 2, k = 4 als DNF y 0 = 0, y 1 = 0, y 2 = 0, y 3 = 0 y 0 0 n-1 Decoder y 0 y 1 y k-1 Dekodierer y 1 y 2 0 y 3 Einsatz z.b. Dekodierung eines Maschinenbefehls C.81 C.82