hochschule fakultät technologie und management ...siol/dv1_kapitel_ws0910/dv1_kapitel_5.pdf ·...

36
Hochschule Fakultät Technologie und Management Informationsverarbeitung Ravensburg-Weingarten Vorlesung zur Datenverarbeitung 1 Technische Informatik DV1_Kapitel_5.doc Seite 5-1 von 36 Rüdiger Siol 12.09.2009 16:31 Inhaltsverzeichnis 5 TECHNISCHE INFORMATIK.....................................................................................................................5-2 5.1 ENTWURF DIGITALER SYSTEME................................................................................................................5-2 5.2 KOMBINATIONSSCHALTUNGEN (SCHALTNETZE) .....................................................................................5-3 5.2.1 Beschreibungsmöglichkeiten von Kombinationsschaltungen ............................................................5-4 5.2.2 Das Karnaugh-Diagramm ..................................................................................................................5-5 5.2.2.1 Das (KV-) Karnaugh -Veitch-Diagramm ..................................................................................................5-6 5.2.2.2 KV-Diagramm mit 2 bis 6 Variablen ........................................................................................................5-7 5.2.2.2.1 KV-Diagramm mit 2 Variablen ...........................................................................................................5-7 5.2.2.2.2 KV-Diagramm mit 3 Variablen ...........................................................................................................5-7 5.2.2.2.3 KV-Diagramm mit 4 Variablen ...........................................................................................................5-8 5.2.2.2.4 KV-Diagramm mit 5 Variablen ...........................................................................................................5-9 5.2.2.2.5 KV-Diagramm mit 6 Variablen ........................................................................................................ 5-10 5.2.2.3 Übergang zwischen der Karnaugh- Tafel und der Schaltfunktion. ....................................................... 5-11 5.2.3 Vereinfachung (Minimierung) von Schaltfunktionen .......................................................................5-12 5.2.3.1 Vereinfachung von Schaltfunktionen mit Regeln der Schaltalgebra .................................................... 5-13 5.2.3.2 Vereinfachung von Schaltfunktionen mit Karnaugh- Tafeln ................................................................ 5-14 5.2.4 Schaltnetze (Kombinatorische Logik) ...............................................................................................5-16 5.2.5 Multiplexer.........................................................................................................................................5-18 5.2.5.1 1-aus-n-Decoder ...................................................................................................................................... 5-18 5.2.5.2 Entwurf eines Demultiplexer .................................................................................................................. 5-19 5.2.5.3 Entwurf eines Multiplexers ..................................................................................................................... 5-21 5.2.5.4 Multiplextechniken digitaler Signale...................................................................................................... 5-23 5.2.6 Addierer .............................................................................................................................................5-24 5.2.6.1 Halbaddierer............................................................................................................................................. 5-24 5.2.6.2 Volladdierer ............................................................................................................................................. 5-25 5.2.6.3 Subtraktion ............................................................................................................................................... 5-27 5.2.6.4 Zweierkomplement Überlauf .................................................................................................................. 5-28 5.2.6.5 Einige Beispiele ....................................................................................................................................... 5-29 5.2.7 Schaltwerke (Sequentielle Logik)......................................................................................................5-30 5.2.7.1 Integrierte Flip-Flops............................................................................................................................... 5-31 5.2.7.1.1 Transparente Flip-Flops .................................................................................................................... 5-31 5.2.7.1.2 Flip-Flops mit Zwischenspeicherung ............................................................................................... 5-36

Upload: lamnguyet

Post on 18-Sep-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

Hochschule Fakultät Technologie und Management InformationsverarbeitungRavensburg-Weingarten Vorlesung zur Datenverarbeitung 1 Technische Informatik

DV1_Kapitel_5.doc Seite 5-1 von 36 Rüdiger Siol12.09.2009 16:31

Inhaltsverzeichnis

5 TECHNISCHE INFORMATIK.....................................................................................................................5-2

5.1 ENTWURF DIGITALER SYSTEME................................................................................................................5-25.2 KOMBINATIONSSCHALTUNGEN (SCHALTNETZE) .....................................................................................5-3

5.2.1 Beschreibungsmöglichkeiten von Kombinationsschaltungen............................................................5-45.2.2 Das Karnaugh-Diagramm ..................................................................................................................5-5

5.2.2.1 Das (KV-) Karnaugh -Veitch-Diagramm..................................................................................................5-65.2.2.2 KV-Diagramm mit 2 bis 6 Variablen ........................................................................................................5-7

5.2.2.2.1 KV-Diagramm mit 2 Variablen ...........................................................................................................5-75.2.2.2.2 KV-Diagramm mit 3 Variablen ...........................................................................................................5-75.2.2.2.3 KV-Diagramm mit 4 Variablen ...........................................................................................................5-85.2.2.2.4 KV-Diagramm mit 5 Variablen ...........................................................................................................5-95.2.2.2.5 KV-Diagramm mit 6 Variablen ........................................................................................................ 5-10

5.2.2.3 Übergang zwischen der Karnaugh- Tafel und der Schaltfunktion. ....................................................... 5-115.2.3 Vereinfachung (Minimierung) von Schaltfunktionen.......................................................................5-12

5.2.3.1 Vereinfachung von Schaltfunktionen mit Regeln der Schaltalgebra .................................................... 5-135.2.3.2 Vereinfachung von Schaltfunktionen mit Karnaugh- Tafeln ................................................................ 5-14

5.2.4 Schaltnetze (Kombinatorische Logik)...............................................................................................5-165.2.5 Multiplexer.........................................................................................................................................5-18

5.2.5.1 1-aus-n-Decoder ...................................................................................................................................... 5-185.2.5.2 Entwurf eines Demultiplexer .................................................................................................................. 5-195.2.5.3 Entwurf eines Multiplexers ..................................................................................................................... 5-215.2.5.4 Multiplextechniken digitaler Signale...................................................................................................... 5-23

5.2.6 Addierer .............................................................................................................................................5-245.2.6.1 Halbaddierer............................................................................................................................................. 5-245.2.6.2 Volladdierer ............................................................................................................................................. 5-255.2.6.3 Subtraktion............................................................................................................................................... 5-275.2.6.4 Zweierkomplement Überlauf .................................................................................................................. 5-285.2.6.5 Einige Beispiele....................................................................................................................................... 5-29

5.2.7 Schaltwerke (Sequentielle Logik)......................................................................................................5-305.2.7.1 Integrierte Flip-Flops............................................................................................................................... 5-31

5.2.7.1.1 Transparente Flip-Flops .................................................................................................................... 5-315.2.7.1.2 Flip-Flops mit Zwischenspeicherung ............................................................................................... 5-36

Hochschule Fakultät Technologie und Management InformationsverarbeitungRavensburg-Weingarten Vorlesung zur Datenverarbeitung 1 Technische Informatik

DV1_Kapitel_5.doc Seite 5-2 von 36 Rüdiger Siol12.09.2009 16:31

5 Technische Informatik1

5.1 Entwurf digitaler SystemeDieses Kapitel soll dazu dienen, den Geräte- und Systementwickler in Form eines kurz

gefaßten Leitfadens über die Möglichkeiten zur Beschreibung und zum Entwurf vonKombinations- und Folgeschaltungen zu informieren.

Wir beginnen mit den wichtigsten Beschreibungsmöglichkeiten vonKombinationsschaltungen, zeigen, wie

o die Schaltfunktion,o die Schaltbelegungstabelle undo die Karnaugh- Tafel

ineinander überführbar sind und behandeln kurz die Vereinfachung logischer Funktionen.Anschließend werden die wichtigsten Realisierungsstrategien für den Entwurf vonKombinationsschaItungen mit SSI-, MSI- und LSI-Schaltkreisen2 vorgestellt.Sequentielle Systeme (Folgeschaltungen) beschreiben wir u. a. mittels des Zustandsgraphenund der Automatentabelle. Der Entwurf von Folgeschaltungen wird anhand eines einfachenBeispiels behandelt, für das 3 Lösungsalternativen gezeigt werden: dieverdrahtungsprogrammierte Realisierung mit Gattern und Flipflops, diespeicherprogrammierte Lösung mit PROM und eine Mikroprozessorvariante.

1 Die nachfolgenden Inhalte stammen auszugsweise aus folgenden Büchern:Rechenberg, Pomberger; Informatik Handbuch; Carl Hanser Verlag München Wien (2002)Tietze, Schenk; Halbleiter Schaltungstechnik; Springer Verlag Berlin Heidelberg (2002)Manfred Seifart, Helmut Beikirch; Digitale Schaltungen; Verlag Technik Berlin (1998); ISBN 3-341-01198-6

2 LSI Large Scale Integration GroßintegrationMSI Medium Scale Integration MittelintegrationSSI Small scale integration Kleinintegration

Hochschule Fakultät Technologie und Management InformationsverarbeitungRavensburg-Weingarten Vorlesung zur Datenverarbeitung 1 Technische Informatik

DV1_Kapitel_5.doc Seite 5-3 von 36 Rüdiger Siol12.09.2009 16:31

5.2 Kombinationsschaltungen (Schaltnetze)

Unter einem Schaltnetz versteht man eine Anordnung von Digital-Schaltungen ohneVariablenspeicher. Die Ausgangsvariablen

y0−m werden gemäß dem Blockschaltbild einesSchaltnetzes eindeutig durch die Eingangsvariablen

x0−n bestimmt. ReineKombinationsschaltungen sind speicherfrei, d. h. ohne Gedächtnis.

Bei Schaltwerken hingegen hängen die Ausgangsvariablen zusätzlich vom jeweiligenZustand des Systems und damit von der Vorgeschichte ab.

mn

x1

x0Kombinatorisches

System(Schaltnetz)

xn

y1

y0

ym

X Schaltnetz Y

Darstellung mit Vektoren

Darstellung der Signale

Blockschaltbild eines Schaltnetzes

Eingangsvektor X Ausgangsvektor f(X)

Hochschule Fakultät Technologie und Management InformationsverarbeitungRavensburg-Weingarten Vorlesung zur Datenverarbeitung 1 Technische Informatik

DV1_Kapitel_5.doc Seite 5-4 von 36 Rüdiger Siol12.09.2009 16:31

5.2.1 Beschreibungsmöglichkeiten von KombinationsschaltungenDas typische Vorgehen beim Geräte- und Systementwurf besteht darin, aus einer meist

verbal beschriebenen Aufgabenstellung die zugehörige logische Schaltungsstruktur zuentwerfen. Zu diesem Zweck muß die AufgabensteIlung zunächst exakt formuliert und in einesolche Form gebracht werden, aus der die Schaltungsstruktur leicht ableitbar ist.

Zur Darstellung logischer Zusammenhänge bzw. Schaltungen fanden vor allem dieSchaltbelegungstabelle, Schaltfunktionen und Karnaugh-Tafeln weite Verbreitung.Die größte Bedeutung hat die Beschreibung mit der Schaltbelegungstabelle (SBT). Aus ihrlassen sich sowohl die Normalformen der Schaltfunktionen als auch die Karnaugh-Tafelnableiten.

Aus den Schaltfunktionen (meist in minimierter Form) ergibt sich in einfacher Weisedie logische Schaltungsstruktur.

Hochschule Fakultät Technologie und Management InformationsverarbeitungRavensburg-Weingarten Vorlesung zur Datenverarbeitung 1 Technische Informatik

DV1_Kapitel_5.doc Seite 5-5 von 36 Rüdiger Siol12.09.2009 16:31

5.2.2 Das Karnaugh-Diagramm3

Ein wichtiges Hilfsmittel zur Gewinnung einer möglichst einfachen logischenFunktion ist das Karnaugh-Diagramm. Es ist nichts weiter als eine andere Anordnung derWahrheitstafel. Die Werte der Eingangsvariablen werden dabei nicht einfach untereinandergeschrieben, sondern an dem horizontalen und vertikalen Rand eines schachbrettartigunterteilten Feldes angeordnet. Bei einer geraden Anzahl von Eingangsvariablen schreibt mandie Hälfte an den einen Rand und die andere Hälfte an den anderen. Bei einer ungeradenAnzahl von Variablen muss man an einem Rand eine Variable mehr anschreiben als an demanderen.

Die Anordnung der verschiedenen Kombinationen der Eingangsfunktionswerte mussso vorgenommen werden, dass sich jeweils nur eine Variable ändert, wenn man von einemFeld zum Nachbarfeld übergeht. In die Felder selbst werden die Werte der Ausgangsvariableny eingetragen, die zu den an den Rändern stehenden Werten der Eingangsvariablen gehören.

3 Literaturhinweise:

1.) Föllinger, Weber; Methoden der Schaltalgebra; Oldenbourg; 19672.) Tietze, Schenk; Halbleiter Schaltungstechnik; Springer; 20023.) Seifart, Beikirch; Digitale Schaltungen; Verlag Technik Berlin; 19984.) Häberle mit Arbeitskreis; Tabellenbuch Elektrotechnik; Europa Lehrmittel; 20055.) Steinbuch Ruprecht; Nachrichtentechnik; Springer; 1967

Hochschule Fakultät Technologie und Management InformationsverarbeitungRavensburg-Weingarten Vorlesung zur Datenverarbeitung 1 Technische Informatik

DV1_Kapitel_5.doc Seite 5-6 von 36 Rüdiger Siol12.09.2009 16:31

5.2.2.1 Das (KV-) Karnaugh -Veitch-DiagrammBei der Realisierung von Schaltfunktionen durch technische Systeme wie

Relaissysteme, elektronische Schaltungen oder hydraulische Anordnungen ist man natürlichbestrebt, den Geräteaufwand möglichst gering zu halten. Es ist daher wichtig, eine zurealisierende Schaltfunktion auf eine möglichst einfache Form zu bringen, d.h. die Anzahl derAdditionen und Multiplikationen, durch welche die Variablen verknüpft werden, nachMöglichkeit zu reduzieren. Die Komplementierung der Variablen wird dabei nichtberücksichtigt, es wird also angenommen, daß jede Variable ohne zusätzlichen Aufwand auchin komplementierter Form zur Verfügung gestellt werden kann. D.h. es ist z.B. bei denRelaissystemen der Fall, wo der Ersatz von

Aν durch

Aν nur auf die Vertauschung einesArbeitskontaktes mit einem Ruhekontakt hinausläuft. Generell ist mit

Aν auch

Aν gegeben,wenn die Variablen

Aν Ausgangsgrößen eines Speicherelementes sind.Reduziert man in einer Schaltfunktion die Anzahl der Additionen und

Multiplikationen, so weit dies möglich ist, so wird man hierdurch den gerätetechnischenAufwand zur Realisierung der Funktion verringern. Vom praktischen Standpunkt aus ist esdabei nicht so wichtig, nun wirklich die minimale Anzahl der Operationen zu erreichen, durchdie sich die betreffende Schaltfunktion überhaupt darstellen läßt. Es wird im allgemeinengenügen, wenn man in die Nähe dieses Minimums gelangt. Das vollständige Erreichen desMinimums wird möglicherweise recht schwierig sein und doch nur noch geringeEinsparungen bringen.

Die Vereinfachung einer Schaltfunktion kann man natürlich grundsätzlich sovornehmen, daß man sie durch eine Formel darstellt und diese Formel mittels derRechenregeln der Schaltalgebra vereinfacht. Dieses Verfahren wird aber sehr schwerfälligund unübersichtlich, wenn es sich um kompliziertere Funktionen handelt. Vor allem kannman einer solchen Funktion oft nur schwer ansehen, ob Vereinfachungen überhaupt möglichsind und in welcher Weise man vorzugehen hat.

Hier liefert nun das KV-Diagramm ein wertvolles Hilfsmittel, mit dem sich dieVereinfachung von Schaltfunktionen in sehr anschaulicher Weise durchführen läßt. Hierzustellt man die gegebene Funktion f(a,b,c,…) im KV -Diagramm dieser Variablen dar, ganzgleich, ob die Funktion formelmäßig oder tabellarisch gegeben ist. Dann hat man dieGesamtheit der Felder des Diagramms, die mit dem Wert 1 von f belegt sind, als Vereinigungund Durchschnitt solcher Teilmengen darzustellen, die zu möglichst einfachen Ausdrückender Variablen a,b,c,… gehören. Die Funktion f ist dann durch Addition und Multiplikationdieser Ausdrücke gegeben.

Hochschule Fakultät Technologie und Management InformationsverarbeitungRavensburg-Weingarten Vorlesung zur Datenverarbeitung 1 Technische Informatik

DV1_Kapitel_5.doc Seite 5-7 von 36 Rüdiger Siol12.09.2009 16:31

5.2.2.2 KV-Diagramm mit 2 bis 6 Variablen

Bei n unabhängigen Variablen entsteht eine Wertetabelle mit 2n Zeilen. Diesen werden inden nachfolgenden Spalten Funktionen zugeordnet. D.h. bei 2n Zeilen sind

2 2n( )

unterschiedliche Funktionen möglich.Mit KV-Diagrammen ist es erforderlich jede Funktion durch ein eigenes KV-Diagramm

darzustellen. Hierzu überträgt man den Inhalt des Spaltenvektors der eine Funktion definiertin das KV-Diagramm; im KV-Diagramm sind also 2n Felder erforderlich. Diese sind soanzuordnen, dass sich alle waagrecht und senkrecht benachbarten Felder nur in einerVariablen unterscheiden.

5.2.2.2.1 KV-Diagramm mit 2 Variablen

(r.siol) 18.11.2007 Hochschule Ravensburg-WeingartenTechnik | Wirtschaft | Sozialwesen

31

KVD mit 2 Variablen

311

201110

000

Feld(Zeile)

ba

0 1

2 3

aa

b

b

5.2.2.2.2 KV-Diagramm mit 3 VariablenZur Darstellung der KV-Diagramme sind durchaus unterschiedliche Anordnungen

zulässig. Das hilft unter Umständen mögliche Vereinfachungen besser zu sehen.

(r.siol) 18.11.2007 Hochschule Ravensburg-WeingartenTechnik | Wirtschaft | Sozialwesen

32

KVD mit 3 Variablen

71116011510140013110201011000000

Feld(Zeile)

cba0 1

4 5

3 2

7 6

aa

b

b

c

c

c

0 1

4 5

2 3

6 7

aa

b

b

c

c

c

c

Hochschule Fakultät Technologie und Management InformationsverarbeitungRavensburg-Weingarten Vorlesung zur Datenverarbeitung 1 Technische Informatik

DV1_Kapitel_5.doc Seite 5-8 von 36 Rüdiger Siol12.09.2009 16:31

5.2.2.2.3 KV-Diagramm mit 4 Variablen

(r.siol) 18.11.2007 Hochschule Ravensburg-WeingartenTechnik | Wirtschaft | Sozialwesen

33

KVD mit 4 Variablen

151111

140111

131011

120011

111101

100101

91001

80001

71110

60110

51010

40010

31100

20100

11000

00000

Feld( Zeile)

dcba

0 1

2 3

5 4

7 6

a€

b

b

10 11

8 9

15 14

13 12

a

d

d€

c

c

c

d

In nachfolgendem Beispiel wird eine Funktion f definiert und im KVD dargestellt.Man sieht dass jeder Minterm einem Feld zugeordnet wird.

(r.siol) 18.11.2007 Hochschule Ravensburg-WeingartenTechnik | Wirtschaft | Sozialwesen

34

KVD mit 4 Variablen(Darstellung einer Funktion f)

01111

10111

11011

00011

11101

00101

01001

00001

11110

00110

01010

00010

01100

00100

01000

00000

fdcba

0 0

0 0

0 0

1 0

a€

b

b

0 1

0 0

0 1

1 0

a

d

d€

c

c

c

d

f = abcd∨abcd∨abcd∨abcd

Hochschule Fakultät Technologie und Management InformationsverarbeitungRavensburg-Weingarten Vorlesung zur Datenverarbeitung 1 Technische Informatik

DV1_Kapitel_5.doc Seite 5-9 von 36 Rüdiger Siol12.09.2009 16:31

5.2.2.2.4 KV-Diagramm mit 5 Variablen

a

a

0 0 0 0

0 0 0 0

0 0 0 0

0 0 0 0

c

b

b

d d

c

d

d

0 0 0 0

0 0 0 0

0 0 0 0

0 0 0 0

c

c

e

e

e

e

e

Hochschule Fakultät Technologie und Management InformationsverarbeitungRavensburg-Weingarten Vorlesung zur Datenverarbeitung 1 Technische Informatik

DV1_Kapitel_5.doc Seite 5-10 von 36 Rüdiger Siol12.09.2009 16:31

5.2.2.2.5 KV-Diagramm mit 6 Variablen

ff

b

b b

b

c

c

c

c€

a

a

0 0 0 0

0 0 0 0

0 0 0 0

0 0 0 0

d d

d

d

0 0 0 0

0 0 0 0

0 0 0 0

0 0 0 0

e

e

e

e

e

0 0 0 0

0 0 0 0

0 0 0 0

0 0 0 0

0 0 0 0

0 0 0 0

0 0 0 0

0 0 0 0

d d

d

d

Hochschule Fakultät Technologie und Management InformationsverarbeitungRavensburg-Weingarten Vorlesung zur Datenverarbeitung 1 Technische Informatik

DV1_Kapitel_5.doc Seite 5-11 von 36 Rüdiger Siol12.09.2009 16:31

5.2.2.3 Übergang zwischen der Karnaugh- Tafel und der Schaltfunktion.Da die Felder einer Karnaugh- Tafel den Zeilen der zugehörigen SBT entsprechen und

die Eintragungen in die Felder den Wert der zugehörigen Ausgangsvariablen darstellen,lassen sich die Schaltfunktionen in kanonischer Normalform in analoger Weise ablesen, wieim Abschnitt 2.1.3 beschrieben.

Zur Ermittlung der KDNF werden die Variablen innerhalb der Felder konjunktivverknüpft. Die KDNF ergibt sich dann aus der disjunktiven Verknüpfung der zu den 1-Felderngehörigen Minterme mi. Die KKNF ergibt sich dagegen aus der konjunktiven Verknüpfung derzu den 0-Feldern gehörigen Maxterme Mi.Wie bereits erwähnt, erhalten wir den zu einer Zeileder Schaltbelegungstabelle gehörigen Maxterm Mi durch Negation des zugehörigen Mintermsmi und umgekehrt

Mi = mi( )

Beispiel: Aus der Karnaugh-Tafel des nachfolgenden Bildes leiten sich die zugehörigenSchaltfunktionen in kanonischer Normalform ab.

Y = ABC∨ ABC∨ ABC

Y = A∨B∨C( ) A∨B∨C( ) A∨B∨C( ) A∨B∨C( ) A∨B∨C( )

KDNFKKNF

Nach den bisherigen Ausführungen kann die Karnaugh- Tafel aus einer gegebenenSchaltfunktion (kanonische Normalform) leicht aufgestellt werden. Die Minterme (Maxterme)der KDNF (KKNF) liefern die 1-(0- )Felder. Die restlichen Felder werden bei vollständigenFunktionen mit 0 (1) bei unvollständigen Funktionen teilweise mit X belegt.

A

0 1 0 0

1 0 0 1

B

C

A

0 1

1 0B

Y = AB∨ AB

Eingangsvariable Ausgangsvariable

A B C Y0 0 0 00 0 1 10 1 0 10 1 1 01 0 0 01 0 1 11 1 0 01 1 1 0

Eingangsvariable Ausgangsvariable

A B Y0 0 00 1 11 0 11 1 0

Hochschule Fakultät Technologie und Management InformationsverarbeitungRavensburg-Weingarten Vorlesung zur Datenverarbeitung 1 Technische Informatik

DV1_Kapitel_5.doc Seite 5-12 von 36 Rüdiger Siol12.09.2009 16:31

Falls die Schaltfunktion nicht in einer der beiden kanonischen Normalformen vorliegt, mußsie entweder mittels der Regeln der Schaltalgebra zur kanonischen Normalform erweitertwerden, oder es ist zuerst die Schaltbelegungstabelle und aus ihr anschließend die Karnaugh-Tafel zu zeichnen.

5.2.3 Vereinfachung (Minimierung) von SchaltfunktionenUnter Vereinfachung (Minimierung) versteht man allgemein das Bestreben, die

Aufgabe mit dem geringsten technischen und ökonomischen Aufwand zu lösen. In derVergangenheit war dies gleichbedeutend mit dem Suchen nach der Schaltungsrealisierung mitder kleinstmöglichen Anzahl von Gattern. Beim heute üblichen Aufbau vieler Geräte mitmittel- und hochintegrierten Schaltkreisen ist die benötigte Anzahl von Gattern nicht mehr dasalleinige Kriterium für eine optimale Lösung, weil bereits ein Schaltkreis meist eine sehrgroße Anzahl von Gattern enthält. Deshalb genügt es oft, die Schaltfunktion nur so weit zuvereinfachen, daß sich die Schaltung mit möglichst wenigen Schaltkreisen verwirklichen läßt.Das geschieht in der Praxis oft intuitiv, denn allgemeingültige Methoden zurSchaltungsminimierung in Systemen mit MSI- und LSI-Schaltkreisen4 existieren praktischnicht.

Wir betrachten nachfolgend kurz "klassische" Minimierungsverfahren, die stets dasZiel haben, ein Problem mit der kleinstmöglichen Anzahl von Gattern zu realisieren.Allgemein gilt folgender Zusammenhang: Je weniger Variable in einer Schaltfunktionauftreten, desto weniger Gattereingänge sind erforderlich. Je weniger Verknüpfungenauftreten, desto weniger Elemente sind erforderlich.

Im Laufe der Jahrzehnte wurden zahlreiche Verfahren zur Minimierung logischerFunktionen entwickelt.

Die sog. exakten Kürzungsverfahren liefern alle Primkonjunktionen bzw.Primdisjunktionen einer Schaltfunktion, aus denen alle disjunktiven bzw. konjunktivenNormalformen aufgestellt werden können. Aus ihnen wird eine optimale Normalformausgesucht.

Besonders häufig werden Näherungsverfahren angewendet. Sie liefern zwar nichtzwangsläufig alle Primkonjunktionen bzw. -disjunktionen einer Schaltfunktion, haben aberden Vorteil, daß die Näherungslösung relativ schnell erhalten wird.

Wir beschränken uns nachfolgend auf zwei bekannte und häufig verwendeteVerfahren:

- Die Minimierung mit Hilfe von Regeln der Schaltalgebra und- Die Minimierung mit Hilfe der Karnaugh- Tafeln.

Generell besteht hier das Ziel darin, die logische Funktion in ihrer einfachsten Form zuschreiben, bevor die Schaltungsrealisierung vorgenommen wird.

Darüber hinaus sind vor allem die Minimierungsverfahren von Quine McCluskey undvon Kasakov verbreitet. Sie eignen sich wegen ihres systematischen Formalismus vor allemfür die Programmierung auf Digitalrechnern.

4 LSI Large Scale Integration (Großintegration)MSI Medium Scale Integration (Mittelintegration)

Hochschule Fakultät Technologie und Management InformationsverarbeitungRavensburg-Weingarten Vorlesung zur Datenverarbeitung 1 Technische Informatik

DV1_Kapitel_5.doc Seite 5-13 von 36 Rüdiger Siol12.09.2009 16:31

5.2.3.1 Vereinfachung von Schaltfunktionen mit Regeln der SchaltalgebraWie bei der gewöhnlichen Algebra lassen sich auch bei der Schaltalgebra durch

Anwendung geeigneter Rechenregeln (z. B. durch Ausklammern von Variablen, Kürzen,Zusammenfassen o. ä.) die logischen Ausdrücke zum Teil erheblich vereinfachen.Folgende Regeln sind hierfür gut geeignet:

- Konjunktive Verknüpfung mit 1:

X ∨ X =1- Disjunktive Verknüpfung mit 0:

X ∧ X = 0- Distributivgesetz :

A∨B( )∧B = AB∨BB = AB∨0 = AB

- Distributivgesetz:

AB∨CD = A∨C( ) A∨D( ) B∨C( ) B∨D( )= A∨ AD∨ AC∨CD( ) B∨BD∨BC∨CD( )= A 1∨D∨C( )∨CD( ) B 1∨D∨C( )∨CD( )= A∨CD( ) B∨CD( )= AB∨ ACD∨BCD∨CD( )= AB∨ A∨B∨1( )CD( )= AB∨CD( )

- De Morgansche Theoreme:

Beispiel:

Y = ABC∨ ABC∨ ABC∨ ABC∨ ABC

Ausklammern liefert:

Y = ABC∨ ABC∨ ABC∨ ABC∨ ABC

Y = AB C∨C( )∨ AB C∨C( )∨ AC B∨B( )Y = AB∧1∨ AB∧1∨ AC∧1Y = AB∨ AB∨ AC

Y = B A∨ A( )∨ ACY = B∨ AC

A B C Y0 0 0 00 0 1 00 1 0 10 1 1 11 0 0 01 0 1 11 1 0 11 1 1 1

Hochschule Fakultät Technologie und Management InformationsverarbeitungRavensburg-Weingarten Vorlesung zur Datenverarbeitung 1 Technische Informatik

DV1_Kapitel_5.doc Seite 5-14 von 36 Rüdiger Siol12.09.2009 16:31

5.2.3.2 Vereinfachung von Schaltfunktionen mit Karnaugh- TafelnDieses Minimierungsverfahren führt (wie auch die meisten übrigen Verfahren) zu

zweistufigen Kombinationsschaltungen. Es läuft wie alle Minimierungsverfahren fürzweistufige Schaltungen in folgenden 2 Schritten ab:

- Bestimmen von Primkonjunktionen bzw. Primdisjunktionen (spezielleFundamentalkonjunktionen bzw. Fundamentaldisjunktionen, aus denen dieSchaltfunktion in minimaler DNF bzw. KNF entsteht) mit Hilfe einesKürzungsverfahrens.

- Zusammensetzen der Primkonjunktionen bzw. Primdisjunktionen zu einer minimalenDNF bzw. KNF (Auswahlverfahren).

Grundsätzlich lassen sich aus der Karnaugh- Tafel sowohl minimale DNF als auchminimale KNF auslesen. Wir beschränken uns im folgenden auf das meist verwendeteAuslesen einer minimalen DNF. Dem Verfahren liegt die Kürzungsregel

X1,X2 ∨ X1X2 = X2zugrunde. Mit dieser Regel lassen sich jeweils zwei Elementarkonjunktionen (= Minterme)des Grades5 u (d. h. sie enthalten die u unabhängigen Eingangsvariablen

X0,X1,…,Xu−1)zusammenfassen, die sich in genau einer VariablensteIle unterscheiden. Die betreffendeVariable (X1) muß in der einen Elementarkonjunktion negiert, in der anderen unnegiertauftreten. Durch die Zusammenfassung entsteht ein Term des Grades u - 1, der dieEingangsvariable X1 nicht mehr enthält.

Beispiel:

Y = X0X1X2 ∨ X0X1X2

Y = X0X2 X1∨ X1( )Y = X0X2

Die o. g. Kürzungsregel läßt sich u. U. mehrmals anwenden.

Die soeben erläuterte Kürzung erfolgt graphisch, indem waagerecht und/odersenkrecht benachbarte „1“-Felder zu möglichst großen zusammenhängenden aus 2k 1-Feldernbestehenden Blöcken vereinigt werden (k: ganze Zahl). Jedes „1“-Feld muß mindestens ineinem Block enthalten sein. Es darf aber auch mehreren Blöcken angehören. Dabei sind allemöglichen Blöcke zu bilden. Kein Block darf ein „0“-Feld enthalten. Zu beachten ist, daßgegenüberliegende Ränder auch als Nachbarfelder betrachtet werden müssen (KarnaughTafelauf einen Zylinder aufgewickelt vorstellen).

Werden Blöcke von 2 zusammenhängenden 1-Feldern gebildet, entfällt eineEingangsvariable. Bei Vierer(Achter)blöcken entfallen 2(3) Eingangsvariable usw. Je größerdie Blöcke sind, um so einfacher ist also die minimierte Schaltfunktion.

Aufstellen der minimalen DNF (DNF = disjunktive Normalform). Jeder Blockmaximaler Größe repräsentiert eine Fundamentalkonjunktion, die nicht weiter vereinfachtwerden kann. Man nennt sie deshalb Primkonjunktion.

Ein 1-Feld ohne benachbarte 1-Felder stellt eine Elementarkonjunktion (Minterm) dar.Bisher erläuterten wir, wie die Primkonjunktionen einer Schaltfunktion gefunden werden.Aus der gleichen Karnaugh-Tafel läßt sich auch eine (näherungsweise) minimale disjunktiveNormalform durch geschicktes Auslesen finden.

5 Werden in einem Term u Variablen verknüpft so hat er den Grad u.

Hochschule Fakultät Technologie und Management InformationsverarbeitungRavensburg-Weingarten Vorlesung zur Datenverarbeitung 1 Technische Informatik

DV1_Kapitel_5.doc Seite 5-15 von 36 Rüdiger Siol12.09.2009 16:31

Die minimierte Schaltfunktion (DNF) erhält man, indem man so vielePrimkonjunktionen disjunktiv verknüpft, wie erforderlich sind, damit sich jedes 1-Feld mitmindestens einer Primkonjunktion deckt. Dabei muß angestrebt werden, die Schaltfunktionmit möglichst wenigen und großen Kürzungsblöcken abzudecken.

Zweckmäßigerweise wird beim Auslesen der Kürzungsblöcke mit denjenigenElementarkonjunktionen begonnen, für die nur eine Möglichkeit zur Blockbildung besteht. Eskann mehrere Möglichkeiten zur Blockbildung geben, d. h., eine Schaltfunktion kann mehrere(näherungsweise) minimale Normalformen haben.

Bei unvollständigen Funktionen können die in der Karnaugh-Tafel enthaltenen X-Felder (don't care-Felder) beliebig mit 1 oder 0 belegt werden. Zweckmäßigerweise belegtman sie so, daß sich möglichst große Blöcke von zusammenhängenden 1-Feldern ergeben.

Bei Logikfunktionen mit mehreren Ausgangsvariablen (Ausgangsfunktionen) wirdunabhängig von den übrigen Ausgangsvariablen für jede Ausgangsvariable eine Karnaugh-Tafel gezeichnet und nach dem beschriebenen Verfahren minimiert. Hierbei können zu einerbestimmten Eingangskombination gehörige Terme in mehreren Ausgangsfunktionengleichzeitig vorkommen. Das führt zu einer Einsparung von Gattern, weil für mehrfachausgenutzte Terme nur ein Gatter erforderlich ist (sharing terms). Die Felder sind so zu legen,daß die Gesamtzahl der Blöcke minimiert wird.

Das hier erläuterte Minimierungsverfahren wird üblicherweise bei Funktionen mit ≤6Eingangsvariablen angewendet. Bei mehr Eingangsvariablen wird es zu aufwendig und daherdurch andere (rechnergestützte) Verfahren ersetzt (z. B. durch das Quine-McCluskey und dasKasakov- Verfahren).

Aufstellen der minimalen KNF (KNF = konjunktive Normalform). Wenn diekonjunktive Normalform der Schaltfunktion aufgestellt werden soll, müssen die negiertenVariablen der mit ,,0" ausgefüllten Felder disjunktiv und die so erhaltenenElementardisjunktionen anschließend konjunktiv miteinander verknüpft werden. DieMöglichkeit der Blockbildung besteht analog zum Aufstellen der DNF auch hier. Sie führt zueiner minimierten KNF.

Hochschule Fakultät Technologie und Management InformationsverarbeitungRavensburg-Weingarten Vorlesung zur Datenverarbeitung 1 Technische Informatik

DV1_Kapitel_5.doc Seite 5-16 von 36 Rüdiger Siol12.09.2009 16:31

5.2.4 Schaltnetze (Kombinatorische Logik)6

Die Beschreibung eines Schaltnetzes, also die Zuordnung der Ausgangsvariablen zuden Eingangsvariablen erfolgt mit Wahrheitstafeln oder Booleschen Funktionen. ZurRealisierung von Schaltnetzen denkt man primär an den Einsatz von Gattern. Dies ist abernicht die einzige und meist auch nicht die beste Möglichkeit. Wenn die Nullen und Einsen inder Wahrheitstafel statistisch verteilt sind, wie z.B. bei einem Programmcode, würden dielogischen Funktionen sehr umfangreich. In diesem Fall speichert man die Wahrheitstafelnvorteilhaft als Tabelle in einem ROM

Wenn in der Wahrheitstafel wenige Einsen stehen, ergeben sich entsprechend wenigeProduktterme in den logischen Funktionen. Sie können aber auch bei vielen Einsen einfachsein, wenn die zugrunde liegende Gesetzmäßigkeit hoch ist. Aus diesem Grund lohnt es sichimmer, zu testen, ob sich die logischen Funktionen vereinfachen lassen. Das ist von Handsowohl mit der Booleschen Algebra als auch mit dem Karnaugh-Diagramm mühsam. Deshalbsetzt man im Zeitalter des computergestützten Schaltungsentwurf einen Simplifier für dieseAufgabe ein. Nur wenn sich dann wenige sehr einfache Funktionen ergeben, ist dieRealisierung mit einzelnen Gattern z.B. aus der 7400-Familie zweckmäßig.

Wenn man viele z.T. komplizierte Funktionen realisieren muss, ergibt sich beimEinsatz von Gattern schnell das berüchtigte TTL-Grab. In diesem Fall ist der Einsatz vonprogrammierbaren logischen Schaltungen (Programmable Logic Devices, PLD) ein großerVorteil, weil sich dabei alle noch so komplizierten Funktionen mit einem einzigen Chiprealisieren lassen, denn es gibt Bausteine mit über 100.000 Gattern. Im Prinzip werden dielogischen Funktionen in PLDs genauso realisiert wie beim Einsatz von diskreten Gattern. DerUnterschied besteht lediglich darin, dass sich alle benötigten Gatter auf einem Chip befindenund durch die Programmierung die erforderlichen Verbindungen auf dem Chip hergestelltwerden.

Schaltnetze werden häufig zur Verrechnung und Umkodierung von Zahlen verwendet.

6 Ulrich Tietze, Christoph Schenk; Halbleiter Schaltungstechnik (2002) 12-te Auflage; Springer Verlag BerlinHeidedlberg.

Wahrheitstafel

Logische Funktionen ROM

Gatter PLD

gute GesetzmäßigkeitEinsen statistisch verteilt

wenige einfacheFunktionen

viele z.T. komplizierte Funktionen

Realisierungsmöglichkeiten von Schaltnetzen

Hochschule Fakultät Technologie und Management InformationsverarbeitungRavensburg-Weingarten Vorlesung zur Datenverarbeitung 1 Technische Informatik

DV1_Kapitel_5.doc Seite 5-17 von 36 Rüdiger Siol12.09.2009 16:31

Um diese Zahlen mit Hilfe von logischen Variablen darstellen zu können, müssen sie durcheine Reihe von zweiwertigen (binären) Informationen dargestellt werden. Eine solcheBinärsteIle wird als Bit bezeichnet. Eine spezielle binäre ZahlendarsteIlung ist die duale, beider die Stellen nach steigenden Zweierpotenzen angeordnet werden. Dabei wird die Ziffer 1mit der logischen Eins identifiziert und die Ziffer 0 mit der logischen Null. Die logischenVariablen, mit denen die einzelnen Stellen charakterisiert werden, bezeichnen wir mitKleinbuchstaben, die ganze Zahl mit Großbuchstaben. Für die Darstellung einer N-stelligenZahl im Dualcode gilt also:

XN = xN−1 *2N−1 + xN−2 *2

N−2 +… + x1 *21 + x0 *2

0

Natürlich muss man immer klar unterscheiden, ob man eine Rechenoperation mitZiffern vornehmen will oder eine Verknüpfung von logischen Variablen. Den Unterschiedwollen wir noch einmal an einem Beispiel erläutern. Es soll der Ausdruck 1 + 1 berechnetwerden. Interpretieren wir das Rechenzeichen (+) als Additionsbefehl im Dezimalsystem,erhalten wir die Beziehung:

1 + 1 = 210

Dagegen ergibt die Addition im Dualsystem:

1 + 1 = 102

Hochschule Fakultät Technologie und Management InformationsverarbeitungRavensburg-Weingarten Vorlesung zur Datenverarbeitung 1 Technische Informatik

DV1_Kapitel_5.doc Seite 5-18 von 36 Rüdiger Siol12.09.2009 16:31

5.2.5 Multiplexer7

Multiplexer sind Schaltungen, die eine von mehreren Datenquellen an einem einzigenAusgang durchschalten. Welche Quelle ausgewählt wird, muss durch eine Adresse festgelegtwerden. Die inverse Schaltung, die Daten nach Maßgabe einer Adresse auf mehrere Ausgängeverteilt, heißt Demultiplexer. Die Adressierung des ausgewählten Ein- bzw. Ausgangesübernimmt bei beiden Schaltungen ein 1-aus-n-Dekoder, der zunächst beschrieben werdensoll.

5.2.5.1 1-aus-n-DecoderEin 1-aus-n-Decoder ist eine Schaltung mit n Ausgängen und ld8 n Eingängen. Die

Ausgänge yj sind von 0 bis (n - 1) nummeriert. Ein Ausgang geht genau dann auf Eins, wenndie eingegebene Dualzahl A gleich der Nummer j des betreffenden Ausgangs ist. Dargestelltist die Wahrheitstafel für einen l-aus-4-Decoder. Die Variablen a0 und a1 stellen den Dualcodeder Zahl A dar. Daraus lässt sich unmittelbar die disjunktive Normalform derUmkodierungsfunktionen ablesen. Bei monolithisch integrierten Realisierungen wird statt derUND- Verknüpfung häufig eine NAND- Verknüpfung gewählt. Die Ausgangsvariablen sinddeshalb meist negiert.

(r.siol) 03.04.2006 Hochschule Ravensburg-WeingartenTechnik | Wirtschaft | Sozialwesen

2

1

Schaltung eines 1-aus-4-Decoders

1 &

&

&

&

y0

y1

y2

y3

a0

a1

0001113

0010012

0100101

1000000

y0y1y2y3a0a1A

y0 = a0 ∧a1

y1 = a0 ∧a1

y2 = a0 ∧a1

y3 = a0 ∧a1

Wahrheitstafel

Logische Funktionen(In disjunktiver Normalform bzw. auch

Minternform)

Gatter

7 Der lateinische Begriff „multiplex“ = vielfältig, vielfach, zahlreich.8 Gewöhnlich werden folgende Abkürzungen benutzt:Dyadischer Logarithmus: 2log = ldNatürlicher Logarithmus: elog = lnBriggscher Logarithmus: 10log = lgSo ist z.B. ld 4 = 2; ld 8 = 3; ld 16 = 4; usw. und daher ist bei n Ausgängen die Zahl der Eingänge ld n.

Hochschule Fakultät Technologie und Management InformationsverarbeitungRavensburg-Weingarten Vorlesung zur Datenverarbeitung 1 Technische Informatik

DV1_Kapitel_5.doc Seite 5-19 von 36 Rüdiger Siol12.09.2009 16:31

5.2.5.2 Entwurf eines Demultiplexer

Mit einem Demultiplexer kann man eine Eingangsinformation d an verschiedeneAusgänge verteilen. Er stellt eine Erweiterung des 1-aus-n-Decoders dar. Der adressierteAusgang geht nicht auf Eins, sondern nimmt den Wert der Eingangsvariable d an.

Die nachfolgende Wahrheitstafel zeigt die beiden Eingänge a die der Adressierungdienen und das durchzuschaltende Signal d (Die Eingangsinformation) sowie dengewünschten Wert einer der Ausgangsvariablen y; dessen Entstehung sich durch eine logischeFunktion darstellen lässt.

(r.siol) 01.11.2006 Hochschule Ravensburg-WeingartenTechnik | Wirtschaft | Sozialwesen

3

Wahrheitstafel und logische Funktion eines Demultiplexers

y0 = a0 ∧a1∧d

y1 = a0 ∧a1∧d

y2 = a0 ∧a1∧dy3 = a0 ∧a1∧d

Wahrheitstafel

Logische Funktionen(In kanonischer disjunktiver Normalform KDNF

bzw. auchMinternform)

0001111

0010101

0100110

1000100

0000011

0000001

0000010

0000000

y0y1y2y3da0a1

Schaltung und prinzipielle Wirkungsweise

Diese logische Funktion gibt uns die Möglichkeit die Schaltung des Demultiplexers zuentwerfen.

Hochschule Fakultät Technologie und Management InformationsverarbeitungRavensburg-Weingarten Vorlesung zur Datenverarbeitung 1 Technische Informatik

DV1_Kapitel_5.doc Seite 5-20 von 36 Rüdiger Siol12.09.2009 16:31

(r.siol) 03.04.2006 Hochschule Ravensburg-WeingartenTechnik | Wirtschaft | Sozialwesen

4

1

Schaltung eines Demultiplexers

1 &

&

&

&

y0

y1

y2

y3

a0

a1

Gatter

d

Das lässt sich als prinzipielle Wirkungsweise auch noch anders darstellen.

(r.siol) 05.04.2006 Hochschule Ravensburg-WeingartenTechnik | Wirtschaft | Sozialwesen

5

1

Prinzipielle Wirkungsweise eines Demultiplexers

1 &

&

&

&

y0y1y2y3

a0a1

d

1-aus-4-Decoder

Hochschule Fakultät Technologie und Management InformationsverarbeitungRavensburg-Weingarten Vorlesung zur Datenverarbeitung 1 Technische Informatik

DV1_Kapitel_5.doc Seite 5-21 von 36 Rüdiger Siol12.09.2009 16:31

5.2.5.3 Entwurf eines Multiplexers

Die Umkehrung des Demultiplexers heißt Multiplexer. Ausgehend von derPrinzipschaltung für den Demultiplexer kann man ihn dadurch realisieren, dass man dieAusgänge mit dem Eingang vertauscht. Daran lässt sich die Funktion besonders einfacherläutern: Ein 1-aus-n-Decoder wählt von n Eingängen denjenigen aus, dessen Nummer mitder eingegebenen Zahl übereinstimmt, und schaltet ihn auf den Ausgang durch.

(r.siol) 03.04.2006 Hochschule Ravensburg-WeingartenTechnik | Wirtschaft | Sozialwesen

6

Wahrheitstafel und logische Funktionen eines Multiplexers

y = a0 ∧a1∧d0 ∨a0 ∧a1∧d1∨a0 ∧a1∧d2 ∨a0 ∧a1∧d3

Wahrheitstafel

Logische Funktionen(In disjunktiver Normalform bzw. auch

Minternform)

1xxx111

1xx1x01

1x1xx10

11xxx00

0xxx011

0xx0x01

0x0xx10

00xxx00

yd0d1d2d3a0a1

Das Zeichen x in der Wahrheitstafel soll ausdrücken:„Es ist egal, welchen Wert x hat„.

(r.siol) 03.04.2006 Hochschule Ravensburg-WeingartenTechnik | Wirtschaft | Sozialwesen

7

1

Schaltung eines Multiplexers

1

&

&

&

&

a0

a1

Gatter

d1

d0

d2

d3

≥1 y

Hochschule Fakultät Technologie und Management InformationsverarbeitungRavensburg-Weingarten Vorlesung zur Datenverarbeitung 1 Technische Informatik

DV1_Kapitel_5.doc Seite 5-22 von 36 Rüdiger Siol12.09.2009 16:31

Die Wirkungsweise lässt sich abstrahieren, sofern der 1-aus-4-Decoder alsselbständige Einheit getrennt dargestellt wird.

(r.siol) 05.04.2006 Hochschule Ravensburg-WeingartenTechnik | Wirtschaft | Sozialwesen

8

1

Prinzipielle Wirkungsweise eines Multiplexers

1 &

&

&

&

d0d1d2d3

a0a1

y

1-aus-4-Decoder

Hochschule Fakultät Technologie und Management InformationsverarbeitungRavensburg-Weingarten Vorlesung zur Datenverarbeitung 1 Technische Informatik

DV1_Kapitel_5.doc Seite 5-23 von 36 Rüdiger Siol12.09.2009 16:31

5.2.5.4 Multiplextechniken digitaler Signale

Multiplexer haben die Aufgabe, Informationen aus unabhängigen Quellenzusammenzufassen und über einen Übertragungskanal zu übertragen. DieÜbertragungsmedien können somit, entsprechend ihren Übertragungseigenschaften,wirtschaftlicher betrieben werden.

(r.siol) 01.11.2006 Hochschule Ravensburg-WeingartenTechnik | Wirtschaft | Sozialwesen

9

Multiplextechniken digitaler Signale

Kanal 1

Kanal 2

Kanal 3

Kanal 4

Kanal 5

Kanal 6

Kanal 7

Kanal 8

Kanal 1

Kanal 2

Kanal 3

Kanal 4

Kanal 5

Kanal 6

Kanal 7

Kanal 8

Netto-Übertragungskapazitätdes Multiplexkanalsz.B. 64 kBit/s (Taktrate = 15,625 µsec)

Übertragungskapazitätje Kanalz.B. 8 kBit/s (Taktrate = 125 µsec)

Übertragungskapazitätje Kanalz.B. 8 kBit/s (Taktrate = 125 µsec)

Das Bild zeigt je einen statischen Multiplexer und Demultiplexer.

Es besteht eine feste Zuordnung zwischen der Anzahl der Einzelkanäle,

deren Übertragungsgeschwindigkeit v1 = 8 kBit/sec und der

Übertragungsgeschwindigkeit vM = 64 kBit/sec des Multiplexkanals.

Multiplexer Demultiplexer

Hochschule Fakultät Technologie und Management InformationsverarbeitungRavensburg-Weingarten Vorlesung zur Datenverarbeitung 1 Technische Informatik

DV1_Kapitel_5.doc Seite 5-24 von 36 Rüdiger Siol12.09.2009 16:31

5.2.6 AddiererAddierer sind Schaltungen zur Addition von zwei Zahlen. Die Subtraktion lässt sich

auf die Addition zurückführen.

5.2.6.1 HalbaddiererAddierer sind Schaltungen, die zwei Binärzahlen addieren. Im folgenden wollen wir

Addierer für Dualzahlen behandeln. Die einfachste Aufgabe besteht darin, zwei einstelligeZahlen zu addieren. Um die logische Schaltung entwickeln zu können, muss man zunächstalle möglichen Fälle untersuchen; daraus lässt sich dann eine Funktionstabelle aufstellen.Wenn man zwei einstellige Zahlen A und B addieren will, können folgendeFälle auftreten:

0 + 0 = 000 + 1 = 011 + 0 = 011 + 1 = 10

Sind A und B gleich Eins, tritt bei der Addition ein Übertrag in die nächst höhereStelle auf. Der Addierer muss also zwei Ausgänge besitzen, nämlich einen für denSummenanteil in derselben Stelle und einen für den Übertrag in die nächste Stelle. ZurWahrheitstafel gelangen wir, indem wir die Zahlen A und B durch die logischen Variablen a0und b0 darstellen. Den Übertrag stellen wir durch die Variable c1 = a0b0 und die Summe durchdie Variable s0 dar.

Durch Aufstellen der disjunktiven Normalform erhalten wir die BooleschenFunktionen:

c1 = a0b0und

s0 = a0 ∧b0 ∨a0 ∧b0s0 = a0 ⊕ b0

(r.siol) 03.04.2006 Hochschule Ravensburg-WeingartenTechnik | Wirtschaft | Sozialwesen

9

Halbaddierer

1011

0101

0110

0000

csba

Wahrheitstafel

Logische Funktionen(In disjunktiver Normalform bzw. auch

Minternform)

s = a∧b∨a∧bc = a∧b

=1

&

a

b

s

c

Gatter

Hochschule Fakultät Technologie und Management InformationsverarbeitungRavensburg-Weingarten Vorlesung zur Datenverarbeitung 1 Technische Informatik

DV1_Kapitel_5.doc Seite 5-25 von 36 Rüdiger Siol12.09.2009 16:31

5.2.6.2 VolladdiererWill man zwei mehrsteIlige Dualzahlen addieren, kann man den Halbaddierer nur für

die niedrigste Stelle verwenden. Bei allen anderen Stellen sind nämlich nicht zwei, sonderndrei Bits zu addieren, weil der Übertrag von der nächst niedrigeren Stelle hinzukommt. Imallgemeinen Fall benötigt man also für jedes Bit eine logische Schaltung mit den dreiEingängen ai, bi, ci und den beiden Ausgängen si und ci+1. Solche Schaltungen werden alsVolladdierer bezeichnet. Sie lassen sich mit Hilfe von zwei Halbaddierern realisieren.

(r.siol) 19.04.2006 Hochschule Ravensburg-WeingartenTechnik | Wirtschaft | Sozialwesen

10

Volladdierer

=1

&

ai

bi

sici =1

&

≥1 ci+1gi

ripi

si = ai ⊕ bi ⊕ cici+1 = aibi ∨ci ai ⊕ bi( )

111

101

110

100

011

001

010

000

cibiai

Eingang

010

101

101

000

010

001

001

000

rigipi

Intern

311

201

201

110

201

110

110

000

∑sici+1

DezimalAusgang

gi = ai ∧bipi = ai ⊕ bi( )ri = pi ∧ci = ai ⊕ bi( )∧cisi = ci ⊕ pi = ci ⊕ ai ⊕ bi( )ci+1 = gi ∨ rici+1 = ai ∧bi ∨ ai ⊕ bi( )∧ci

Intern

Ausgang

Wahrheitstafel

Logische Funktionen

Gatter

Addition mit seriellem Übertrag

Um zwei mehrstellige Dualzahlen addieren zu können, benötigt man für jede Stelleeinen Volladdierer. Bei der niedrigsten Stelle kommt man mit einem Halbaddierer aus. EineSchaltung, die sich zur Addition zweier 4 bit-Zahlen A und B eignet kann aus 4 Volladdierernaufgebaut werden. Solche Schaltungen sind voll integriert erhältlich. Sie verwenden meistauch in der niedrigsten Stelle einen Volladdierer (Wobei dann c0 mit 0 beschaltet wird), damitman die Schaltung beliebig erweitern kann.

Hochschule Fakultät Technologie und Management InformationsverarbeitungRavensburg-Weingarten Vorlesung zur Datenverarbeitung 1 Technische Informatik

DV1_Kapitel_5.doc Seite 5-26 von 36 Rüdiger Siol12.09.2009 16:31

(r.siol) 04.04.2006 Hochschule Ravensburg-WeingartenTechnik | Wirtschaft | Sozialwesen

11

4 bit-Addition mit seriellem Übertrag

VA

a0b0

c0

s0

VA

a1b1

c1

s1

VA

a2b2

c2

s2

VA

a3b3

c3

s3

c4

Hochschule Fakultät Technologie und Management InformationsverarbeitungRavensburg-Weingarten Vorlesung zur Datenverarbeitung 1 Technische Informatik

DV1_Kapitel_5.doc Seite 5-27 von 36 Rüdiger Siol12.09.2009 16:31

5.2.6.3 Subtraktion

Zur Berechnung der Differenz muss man also das Zweierkomplement von BN bildenund zu AN addieren. Man muss dazu alle Stellen von BN negieren (Einerkomplement) undEins addieren. Die Addition von AN und Eins kann man mit ein und demselben Addierervornehmen, indem man den Übertragseingang ausnutzt. Damit ergibtsich die dargestellte Schaltung für 4 bit.

Damit die Differenz DN in der korrekten Zweierkomplementdarstellung erscheint,müssen AN und BN ebenfalls in diesem Format eingegeben werden, d.h. bei positivenZahlen muss das höchste Bit 0 sein.

Integrierte Addierer besitzen Steuereingänge, mit denen die Eingangszahlenkomplementiert werden können. Sie sind demnach auch als Subtrahierer geeignet. Überweitere Steuereingänge kann auch auf logische Verknüpfung der Eingangsvariablenumgeschaltet werden. Man bezeichnet die Bausteine deshalb allgemein als arithmetisch-logische Einheiten (arithmetic logic unit, ALU).

(r.siol) 04.04.2006 Hochschule Ravensburg-WeingartenTechnik | Wirtschaft | Sozialwesen

12

Vorzeichen

Subtraktion

a0 b0a1 b1a2 b2a3 b3

1111

4 bit - Addierer

Vorzeichen

d0d1d2d3

c0 1

Vorzeichen

Subtraktion vonZweierkomplement Zahlen

D = A - B

Die Subtraktion zweier Zahlen lässt sich auf eine Addition zurückführen,

denn es gilt:

D = A - B = A + ( - B )

Stellt man die Zahlen im Zweierkomplement dar,

gilt für eine vorgegebene Wortbreite Ndie Beziehung:

-BN = BN(2)

Damit wird die Differenz:

DN = AN + BN(2)

Hochschule Fakultät Technologie und Management InformationsverarbeitungRavensburg-Weingarten Vorlesung zur Datenverarbeitung 1 Technische Informatik

DV1_Kapitel_5.doc Seite 5-28 von 36 Rüdiger Siol12.09.2009 16:31

5.2.6.4 Zweierkomplement Überlauf

Wenn man zwei positive N-stellige Dualzahlen addiert, kann als Ergebnis eine (N + 1)- stellige Zahl entstehen. Ein solcher Überlauf ist daran zu erkennen, dass aus der höchstenStelle ein Übertrag (Carry) entsteht.

Bei der Zweierkomplement-Darstellung ist die höchste Stelle für das Vorzeichenreserviert. Bei der Addition von zwei negativen Zahlen wird in die Überlaufstellesystematisch ein Übertrag erfolgen, da die VorzeichensteIle bei beiden Zahlen Eins ist. Beider Verarbeitung von Zweierkomplementzahlen mit beliebigem Vorzeichen bedeutet dasAuftreten eines Übertrages in die Überlaufstelle demnach nicht notwendigerweise, dass einÜberlauf stattgefunden hat.

Ein Überlauf ist auf folgende Weise zu erkennen: Wenn man zwei positive Zahlenaddiert, muss auch das Ergebnis positiv sein. Überschreitet die Summe den Zahlenbereich,findet ein Übertrag in die Vorzeichenstelle statt, d.h. das Ergebnis wird negativ. Daranerkennt man den positiven Überlauf. Entsprechend liegt ein negativer Überlauf vor, wenn beider Addition von zwei negativen Zahlen ein positives Ergebnis entsteht. Bei der Additioneiner positiven und einer negativen Zahl kann kein Überlauf entstehen, da der Betrag derDifferenz dann kleiner ist als die eingegebenen Zahlen.

Das Auftreten eines Zweierkomplement-Überlaufes lässt sich auf einfache Weisedadurch erkennen, dass man den Übertrag cN-1 in die Vorzeichenstelle mit dem Übertrag cNaus der Vorzeichenstelle vergleicht. Ein Überlauf hat genau dann stattgefunden, wenn diesebeiden Überträge verschieden sind. Dieser Fall wird mit der Exklusiv-ODER- Verknüpfungdekodiert.

(r.siol) 01.11.2006 Hochschule Ravensburg-WeingartenTechnik | Wirtschaft | Sozialwesen

14

Bildung des Zweierkomplement - Überlaufs OV

VA

a0b0

c0

s0

VA

a1b1

c1

s1

VA

aN-2bN-2

sN-2

VA

aN-1bN-1

cN-1

sN-1

cN

=1OV

cN

Overflow (Überlauf) OVbzw. carry flag

Hochschule Fakultät Technologie und Management InformationsverarbeitungRavensburg-Weingarten Vorlesung zur Datenverarbeitung 1 Technische Informatik

DV1_Kapitel_5.doc Seite 5-29 von 36 Rüdiger Siol12.09.2009 16:31

5.2.6.5 Einige BeispieleIn nachfolgenden Beispielen gehen wir von einer 8-Bit Wortläge aus; d.h. Bit-0 ist das

niederwertigste Bit, Bit-6 ist das höchstwertige Bit und Bit 7 ist das Vorzeichenbit.

Additionen und Subtraktion mit Überlauf

Gegeben seien die einfachen ganzen Zahlen a und b und es ist die Summe s zu bilden.Die größte positive Zahl ist 0177 (Oktalzahl) bzw. 0111 1111(2) (Dualzahl) also 127, diekleinste negative Zahl ist dann 1000 0000(2) (Dualzahl) also –128. Ein Überlauf muss sichergeben, wenn wir im ersten Fall 1 addieren, im zweiten Fall 1 abziehen.

VZ 6 5 4 3 2 1 0a 0 1 1 1 1 1 1 1b 0 0 0 0 0 0 0 1carry bit c8 = 0 c7 = 1 c6 = 1 1 1 1 1 1 c0 = 0s 1 0 0 0 0 0 0 0

OV = c8 ⊕ c7

D.h. bei der Addition wurde das carry-bit zum Vorzeichen übertragen und hat dessenWert geändert.

VZ 6 5 4 3 2 1 0a 1 0 0 0 0 0 0 0b 1 1 1 1 1 1 1 1carry bit c8 = 1 c7 = 0 c6 = 0 0 0 0 0 0 c0 = 0s 0 1 1 1 1 1 1 1

Bei einer Wortlänge von n Bit lautet das Kriterium für Overflow (OV bzw. carry flag)also:

OV = cn ⊕ cn−1

Bleiben die Ergebnisse im Zahlenbereich von –128 … 127 so tritt dieser Fall nie ein.Z.B. bei der Addition einer positiven und einer negativen Zahl, hier als 56(10) – 26(10) :

VZ 6 5 4 3 2 1 0a 0 0 1 1 1 0 0 0b 1 1 1 0 0 1 1 0carry bit c8 = 1 c7 = 1 c6 = 1 0 0 0 0 0 c0 = 0s 0 0 0 1 1 1 1 0

Hochschule Fakultät Technologie und Management InformationsverarbeitungRavensburg-Weingarten Vorlesung zur Datenverarbeitung 1 Technische Informatik

DV1_Kapitel_5.doc Seite 5-30 von 36 Rüdiger Siol12.09.2009 16:31

5.2.7 Schaltwerke (Sequentielle Logik)Schaltwerke sind Kombinationen von Schaltnetzen und Speicherelementen. Den Inhalt

aller Speicherelemente (in einem bestimmten Augenblick) bezeichnet man als den Zustanddes Schaltwerks. Die Ausgangswerte eines Schaltwerkes hängen von den Eingangswerten undseinem Zustand ab. Für denselben Eingangswert kann es somit auf Grund unterschiedlicherZustände mehrere Ausgangswerte geben.

Prinzipieller Aufbau eines Schaltwerkes

Es besteht aus einem Schaltnetz und einem Speicherblock zur Speicherung derZustandsvariablen. Je nach Ausführung des Zustandsspeichers, durch Speicherelemente oderVerzögerungsglieder, unterscheidet man zwischen synchronen und asynchronenSchaltwerken. Synchrone Schaltwerke besitzen große praktische Bedeutung, da sie nur zugenau festgelegten Zeitpunkten die Zustandsvariablen ändern und deshalb eine genaueVorhersage des Systemverhaltens sowie ein systematischer Entwurf möglich sind. Beimasynchronen Schaltwerk wirken die Eingangsvariablen nur während der Signalflanken. Daserschwert den Entwurf und macht eine Verifizierung praktisch nicht möglich. Deshalb werdenasynchrone Schaltwerke nur als kleine, überschaubare Einheiten eingesetzt.

Unter einem Schaltwerk versteht man eine Anordnung zur Durchführung logischerVerknüpfungen mit der zusätzlichen Fähigkeit, einzelne Variablenzustände zu speichern. DieAusgangsvariablen yj hängen im Unterschied zum Schaltnetz nicht nur von denEingangsvariablen xi ab, sondern zusätzlich von der Vorgeschichte, die durch denSchaltzustand von Flip-Flops repräsentiert wird. In den folgenden Abschnitten behandeln wirzunächst den Aufbau und die Wirkungsweise integrierter Flip-Flops.

z*0

z*kzk

z0

xn

x0

Schaltnetz ym

y0

Speicher

Hochschule Fakultät Technologie und Management InformationsverarbeitungRavensburg-Weingarten Vorlesung zur Datenverarbeitung 1 Technische Informatik

DV1_Kapitel_5.doc Seite 5-31 von 36 Rüdiger Siol12.09.2009 16:31

5.2.7.1 Integrierte Flip-FlopsIn den folgenden Abschnitten wird die Wirkungsweise von Flip-Flops anhand von

Gattern beschrieben. Dadurch kann man ihre prinzipielle Wirkungsweise unabhängig von derjeweils benutzten Schaltungstechnik verstehen.

5.2.7.1.1 Transparente Flip-FlopsWenn man zwei NOR-Gatter rückkoppelt, erhält man ein Flip-Flop. Es besitzt zwei

komplementären Ausgänge Q und die beiden Eingänge S (Set) und R (Reset).

Legt man den komplementären Eingangszustand S = 1 und R = 0 an, wird:

Q = S +Q =1+Q = 0und

Q = R +Q = 0 + 0 =1

Die beiden Ausgänge nehmen also tatsächlich komplementäre Zustände an. Analogerhalten wir für R = 1 und S = 0 den umgekehrten Ausgangszustand. Macht man R = S = 0,bleibt der alte Ausgangszustand erhalten. Darauf beruht die Anwendung des R S-Flip-Flopsals Speicher. Für R = S = 1 werden beide Ausgänge gleichzeitig Null; der Ausgangszustandist jedoch nicht mehr definiert, wenn R und S anschließend gleichzeitig Null werden.

(r.siol) 04.04.2006 Hochschule Ravensburg-WeingartenTechnik | Wirtschaft | Sozialwesen

14

RS-Flip-Flop aus NOR - Gattern

(0)(0)1101011010Q‘-1Q-100Q‘QRS

Wahrheitstafel eines RS - Flip-Flopsaus NOR Gattern ≥1

≥1

R

S

Q

Q‘

Q-1 Q behält den Zustand von vorher; d.h. ändert sich nichtQ‘-1 NOT Q; andere Schreibweise für die Negation von Q(0) Undefiniert sofern anschließend R und S gleichzeitig 0 werden.

NAND – Gatter

Deshalb ist der Eingangszustand R = S = 1 in der Regel nicht zulässig. Eine Übersichtüber die Schaltzustände gibt die Wahrheitstafel.

Hochschule Fakultät Technologie und Management InformationsverarbeitungRavensburg-Weingarten Vorlesung zur Datenverarbeitung 1 Technische Informatik

DV1_Kapitel_5.doc Seite 5-32 von 36 Rüdiger Siol12.09.2009 16:31

Wir haben gezeigt, dass sich eine logische Gleichung nicht ändert, wenn man alleVariablen negiert und die Rechenoperationen (ODER) und (UND) vertauscht9. Wenn wirdiese Regel hier anwenden, gelangen wir zu dem RS-Flip-Flop aus NAND-Gattern, dasdieselbe Wahrheitstafel besitzt.

Man muss jedoch beachten, dass nun die Eingangsvariablen R’ und S’ auftreten. Da wirim folgenden das RS-Flip-Flop aus NAND-Gattern noch häufig einsetzen werden, haben wirseine Wahrheitstafel für die Eingangsvariablen R’ und S’ zusammengestellt.

(r.siol) 05.04.2006 Hochschule Ravensburg-WeingartenTechnik | Wirtschaft | Sozialwesen

15

RS-Flip-Flop aus NAND - Gattern

Q’-1Q-11101011010(1)(1)00Q’QR’S’

Wahrheitstafel eines RS - Flip-Flopsaus NAND Gattern &

&

R’

S’

Q’

Q

Q-1 Q behält den Zustand von vorher; d.h. ändert sich nichtQ’-1 NOT Q; andere Schreibweise für die Negation von Q(1) Undefiniert sofern anschließend R und S gleichzeitig 1 werden.

9 Nach dem Satz von Shannon

Hochschule Fakultät Technologie und Management InformationsverarbeitungRavensburg-Weingarten Vorlesung zur Datenverarbeitung 1 Technische Informatik

DV1_Kapitel_5.doc Seite 5-33 von 36 Rüdiger Siol12.09.2009 16:31

Taktzustandgesteuertes RS – Flip-Flop

(r.siol) 05.04.2006 Hochschule Ravensburg-WeingartenTechnik | Wirtschaft | Sozialwesen

16

Statisch getaktetes RS-Flip-Flop

&

&

&

&

Re

Se€

R

S€

Q

Q

C

Häufig benötigt man ein RS-FIip-FIop, das nur zu einer bestimmten Zeit auf denEingangszustand reagiert. Diese Zeit soll durch eine zusätzliche Taktvariable C bestimmtwerden. Dargestellt ist ein statisch getaktetes RS-Flip-Flop. Für C = 0 ist R’ = S’ = 1. Indiesem Fall speichert das Flip-Flop den alten Zustand. Für C = 1 wird:

R = Reund S = Se

Das Flip-Flop verhält sich dann wie ein normales RS-Flip-Flop.

Hochschule Fakultät Technologie und Management InformationsverarbeitungRavensburg-Weingarten Vorlesung zur Datenverarbeitung 1 Technische Informatik

DV1_Kapitel_5.doc Seite 5-34 von 36 Rüdiger Siol12.09.2009 16:31

Taktzustandgesteuertes D-Flip-Flop

Als nächstes wollen wir untersuchen, wie man mit dem Flip-Flop den Wert einerlogischen Variablen D speichern kann. Wir haben gesehen, dass Q = S wird, wenn mankomplementäre Eingangszustände anlegt und C = 1 macht. Um den Wert einer Variablen D zuspeichern, braucht man also lediglich S = D und R =

D zu machen. Dazu dient der InverterG5. Bei der so entstehenden Speicherzelle (Data Latch10) wird Q = D solange der Takt C = 1ist. Dies erkennt man auch an der Wahrheitstafel. Wegen dieser Eigenschaft wird dietaktzustandgesteuerte Speicherzelle als transparentes D-Flip-Flop bezeichnet. Macht man C =0, bleibt der gerade bestehende Ausgangszustand gespeichert.

(r.siol) 05.04.2006 Hochschule Ravensburg-WeingartenTechnik | Wirtschaft | Sozialwesen

17

Transparentes D-Flip-Flop(D-Latch)

&

&

&

&D €

R

S€

Q

Q

C

1

DG5

G4

G3

G2

G1

111001Q-110Q-100QDC

Wahrheitstafel destransparenten D-Flip-Flops

Man erkennt, dass das NAND-Gatter G4 für C = 1 als Inverter für D wirkt. Man kanndaher den Inverter G5 einsparen und erhält so die praktische Ausführung eines D – Latch.

10 „latch“ = Klinke, Druck- oder Schnappverschluss

Hochschule Fakultät Technologie und Management InformationsverarbeitungRavensburg-Weingarten Vorlesung zur Datenverarbeitung 1 Technische Informatik

DV1_Kapitel_5.doc Seite 5-35 von 36 Rüdiger Siol12.09.2009 16:31

(r.siol) 05.04.2006 Hochschule Ravensburg-WeingartenTechnik | Wirtschaft | Sozialwesen

18

Praktische Ausführung eines D-Flip-Flops

&

&

&

&D €

R

S€

Q

Q

C

D

G4

G3

G2

G1

111001Q-110Q-100QDC

Wahrheitstafel destransparenten D-Flip-Flops

C1

1D

QQ

CD

Schaltsymbol einestransparenten D-Flip-Flops

Hochschule Fakultät Technologie und Management InformationsverarbeitungRavensburg-Weingarten Vorlesung zur Datenverarbeitung 1 Technische Informatik

DV1_Kapitel_5.doc Seite 5-36 von 36 Rüdiger Siol12.09.2009 16:31

5.2.7.1.2 Flip-Flops mit Zwischenspeicherung

Für viele Anwendungen, wie z.B. Zähler, Schieberegister, Speicher usw. sind dietransparenten Flip-Flops ungeeignet. Für diese Anwendungen benötigt man Flip-Flops, dieden Eingangszustand zwischenspeichern und ihn erst an den Ausgang übertragen, wenn dieEingänge bereits wieder verriegelt sind. Sie bestehen daher aus zwei Flip-Flops: dem"Master"-Flip Flop am Eingang und dem "Slave"-Flip-Flop am Ausgang.

Zweiflankengetriggerte Flip-Flops

Ein Master-Slave-Flip-Flop ist aus zwei statisch getakteten RS-Flip-Flops aufgebaut.Die beiden Flip-Flops werden durch den Takt C komplementär zueinander verriegelt. ZurInvertierung des Taktes dient das Gatter G15. Solange der Takt C = 1 ist, wird dieEingangsinformation in den Master eingelesen. Der Ausgangszustand bleibt dabeiunverändert, da der Slave blockiert ist.

(r.siol) 01.11.2006 Hochschule Ravensburg-WeingartenTechnik | Wirtschaft | Sozialwesen

21

RS-Master-Slave-Flip-Flop

&

&

&

&

R

S€

R2

S2€

Q

Q

C

&

&

&

&

R1

S1

1

master slave

G11

G12

G13

G14

G15

G21

G22

G23

G24

Wenn der Takt auf C = 0 geht, wird der Master blockiert und auf diese Weise derZustand eingefroren, der unmittelbar vor der negativen Taktftanke angelegen hat. Gleichzeitigwird der Slave freigegeben und damit der Zustand des Masters an den Ausgang übertragen.Die Datenübertragung findet also bei der negativen Taktflanke statt; es gibt jedoch keinenTaktzustand bei dem sich die Eingangsdaten unmittelbar auf den Ausgang auswirken, wie esbei den transparenten Flip-Flops der Fall ist.

Die Eingangskombination R = S = 1 führt hier zwangsläufig zu einem undefiniertenVerhalten, weil die Eingänge im Master gleichzeitig von 00 auf 11 übergehen, wenn der TaktC = 0 wird.