Alle Vorlesungspdfs DT

527
www.kit.edu Institut für Technik der Informationsverarbeitung Karlsruher Institut für Technologie (KIT) Digitaltechnik Prof. Dr.-Ing. J. Becker [email protected] KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft Funktion und Struktur

Transcript of Alle Vorlesungspdfs DT

Page 1: Alle Vorlesungspdfs DT

www.kit.edu

Institut für Technik der Informationsverarbeitung

Karlsruher Institut für Technologie (KIT)

Digitaltechnik

Prof. Dr.-Ing. J. [email protected]

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Funktion und Struktur

Page 2: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung2

Der SystembegriffSystemvielfalt

• Der Begriff System wird häufig im Zusammenhang mit natürlichen, technischen und organisatorischen Gebilden mit komplexem Erscheinungsbild eingesetzt

• Beschreibt generell die Gliederung, den Aufbau, das Ordnungs- und Einordnungsprinzip in verwandte oder ähnlich gebaute Gruppen

• Beispiele: - politische Systeme- Periodensystem der Elemente (Chemie), - Planetensystem- System der Maßeinheiten- Steuersysteme- Nachrichtensysteme- Rechnersysteme- Mikroelektronische Systeme- Mikrosysteme- Betriebssysteme, usw.

Page 3: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung3

Der Systembegriff Systemvielfalt

• Wegen der unüberschaubaren Vielfalt an möglichen Systemen entzieht sich der Begriff einer allgemeinen Definition:

- natürlich oder künstlich- konkret oder abstrakt- statisch oder dynamisch- offen oder abgeschlossen

• Für jedes konkrete System kann eine Fülle zusätzlicher Merkmale (oder Attribute) festgelegt werden bzgl.:

- dem Grad der Bestimmtheit- der Entstehungsweise- der örtlichen und zeitlichen Konzentriertheit- der Zeitabhängigkeit- etc.

• Notwendig: Beschränkung des Systembegriffs auf Bereiche

technische Anwendungen

Page 4: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung4

Der SystembegriffBei Beschränkung der Vielfalt und Einschränkungauf technische Sichtweise gilt

1. Ein System umfasst stets kleinere Anteile- Untersysteme, Komponenten, Module, Bausteine, Elemente sogenannte Objekte

2. Zwischen den Objekten eines Systems müssen Beziehungen bestehen ermöglichen Zusammenwirken solcher Objekte Beziehungen können materieller, energetischer und

informationeller Natur sein Gesamtheit dieser Beziehungen bildet zusammen mit den Objekten

die Struktur des Systems

3. Objekte und Beziehungen bilden eine abgeschlossene Einheit- nur über definierte Schnittstellen (externe Schnittstellen)

kann ein System betreten und verlassen werden

Ein-/Ausgabebeziehungen

Page 5: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung5

Der SystembegriffBeispiele der Systemdefinitionen

• Norm DIN 2330: Funktion eines Systems ist das Vermögen, eine Eingabe in eine Ausgabe zu überführen

• Unter einem System versteht man ein Gebilde aus bestimmten Objekten mit bestimmten Eigenschaften, zwischen denen festgelegte Beziehungen bestehen

• Ein System besteht aus einer Menge von Elementen, auf diesen definierten Eigenschaften und einer Menge von Relationen zwischen den Elementen

In der Datenverarbeitungs- und Digitaltechnik

• Ein nach bestimmten Prinzipien aus Komponenten zusammengesetztes Ganzes, das eine bestimmte Aufgabe zu leisten imstande ist, z.B. Rechensystem, Steuerungssystem, Softwaresystem

Page 6: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung6

F

Darstellung von SystemenDarstellung von Systemen• die externe Sicht für den Benutzer, sogenannte Architektur• die interne Sicht für den Hersteller und Betreiber• Architektur eines Systems ist dessen Gesamtfunktion, wie sie dem

Benutzer gegenüber nach außen hin in Erscheinung tritt keine Aussagen über die interne Realisierung dieses Systems

• Daher: Bedarf an geeigneten Beschreibungsmöglichkeiten Funktion F umgangssprachlich, fachsprachlich oder

mathematisch/formal festlegen• Diese Notation dient dann häufig als Referenz zur Realisierung von F

Konstruktion von Anlagen, Geräten und Programme

Page 7: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung7

Spielgerät "Zitterdraht"

MetalldrahtGriff mit Metallschlaufe

Kabel

Metallkontakte links und rechts

System: Beispiel

Funktionsweise• Aufbau: Metallkontakte verbunden mit einem gebogenen Metalldraht

Metallschlaufe ist mit elektrischen Anschluss versehen• Aufgabe: Schlaufe soll Wege zwischen Kontakten zurücklegen ohne

Berührung des Drahtes

Page 8: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung8

System: Beispiel (Fortsetzung)Spielgerät Zitterdraht: Ermittlung der Punktezahl

Festlegung der Gesamtunktion F:• Ablauf: Anzahl erlaubter Drahtberührungen pro Weg

bei Überschreitung ist Spiel beendet, ansonsten ist Weg erfolgreich durchlaufen

• Punktvergabe: für jeweiligen Weg, abzüglich der Drahtberührungen (siehe Tabelle)

Page 9: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung9

Festlegung der Gesamtfunktion F:• Eingabe (elektrische Signale):

Taste “Neues Spiel“: Beendigung und Start (+ Berührung rechter Kontakt) Taste “Anzeige/Höchstpunktzahl“: Anzeige der Höchstpunktzahl

aus allen Spielen Taste “Grundstellung“: Rücksetzen der Höchstpunktzahl (auf 1 Punkt) Elektrische Kontakte/Anschlüsse

• Ausgabe (optische Signale): optische Anzeige verschiedener Informationen

(Spielstand, Status, Höchstpunktzahl)

System: Beispiel (Fortsetzung)Metalldraht

Griff mit Metallschlaufe

Kabel

Metallkontakte links und rechts

Page 10: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung10

System: Beispiel (Fortsetzung)

FEl. Signale Opt. Anzeige

Taste Anzeige/HöchstpunktzahlTaste Grundstellung

Taste Neues SpielDrahtanschlussLinker Kontakt

Rechter Kontakt

Punktezahl/HöchstpunktzahlIndikator für

HöchstpunktzahlWegnummerFreiberührungenSpiel läuftSpielendeGrundstellung

Externe E/A-Schnittstellen von F

• Die Festlegung von F sagt noch nichts aus, wie das Gerät zu realisieren ist und welche technischen Randbedingungen dabei zu berücksichtigen sind

• Wir erhalten lediglich einige Angaben über die externen Schnittstellen elektrischer und optischer Art, mit deren Hilfe die Funktion F mit der Außenwelt in Wechselwirkung tritt

Page 11: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung11

System: Hierarchie und AufteilungAufteilung in Untersysteme

• Bei komplexen Systemen besteht der Bedarf den Darstellungs-aufwand zu verkleinern

• Deshalb Unterteilung des kompletten Systems in überschaubare Teilfunktionen

• Hierdurch gelangt man zu einer stufenweisen Entwicklung eines Systems, wodurch eine Hierarchie der Darstellungsweisen und der Funktionszusammenhänge entsteht

• Die höher angesetzte Ebene umfasst dabei stets die Spezifikationeines Systems (bzw. einer Systemkomponente), die darunter liegende umfasst eine Anordnung von funktionell weniger mächtigen Komponenten und deren Spezifikation

• Struktursicht des Systems

Page 12: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung12

F

iF

jF kF

Verfeinerung

• Der Übergang zwischen den gleichartigen Einheiten wird Schnittstelle genannt

• Die Regeln zur Kommunikation über die Schnittstelle beschreiben ein sogenanntes Protokoll

System: Hierarchie und Aufteilung

Page 13: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung13

Beispiel: Auflösung von F „Zitterdraht“ in Teilsysteme

System: Hierarchie und Aufteilung

Page 14: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung14

Mehrstufige Verfeinerung

• Bei heutigen Digitalsystemen reicht eine einstufige Verfeinerung meist nicht aus, um eine Realisierung vornehmen zu können

• Deshalb ist eine mehrstufige Aufteilung des Systems sinnvoll, um die Komplexität zu reduzieren

• Verfeinerungsschritte können auch als Transformationen der funktionellen Beschreibungen in eine strukturelle aufgefasst werden

• Definition der Teilsysteme f (Komponenten): - realisieren genau bestimmbare Funktionsteile der Gesamtfunktion F- präzise funktionelle Abgrenzung gegenüber anderen Teilsystemen

• Wichtig: Relationen zwischen den unterschiedlichen Teilsystemen f Verbindungsrelationen und geeignete Verbindungsstrukturen

System: Hierarchie und Aufteilung

Page 15: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung15

F 0

f 12

2. Verfeinerungsschritt

1. Verfeinerungsschritt

3. Verfeinerungsschritt

F 13F12F11

F25F24

f 13f 11

f 22 f 23

f 21

f 27

f28f26

f25

f 24

f 35

f 34

f 33f 31

f 32

System: Hierarchie und AufteilungMehrstufige

Systemverfeinerung

Page 16: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung16

Systematischer Entwurf digitaler Systeme

Spezifikation

Struktur

Top-Down Bottom-Up

Transformationsrichtungen

• Die Transformation einer Spezifikation in eine Struktur lässt sich auch umkehren.

• Durch die Analyse der Struktur und der in ihr enthaltenen Teilfunktionen wird schrittweise die darüber liegende Gesamtfunktion abgeleitet.

• Die beiden Transformationsrichtungen werden wie folgt bezeichnet:

Page 17: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung17

Systementwurf (noch weitestgehend manuell)Logischer Entwurf (Automatisierung)Physikalischer Entwurf (Automatisierung)

Transformationsrichtungen

• Heute folgt der Entwurf von digitaltechnischen Systemen relativ streng dem Top-Down-Prinzip

• Einzelne Komponenten werden in einer bestimmten Technologie im Bottom-Up-Prinzip technisch optimal gestaltet und in den Top-Down-Weg einbezogen

• Tatsächliches Entwerfen besteht daher häufig in einem iterativen Vorgehen, bei dem beide Entwurfsrichtungen abwechselnd über eine oder mehrere Verfeinerungsstufen hinweg Anwendung finden

• Im Entwurf digitaltechnischer Systeme unterscheidet man drei Hauptgruppen, die eine Reihe von Transformationsschritte zusammenfassen:

Systematischer Entwurf digitaler Systeme

Page 18: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung18

Phys. Entwicklung

Systembeschreibung ( Definition )

Formale Entwicklung

Gefertigtes System

Transformation:

Spezifikation zunehmend

(mehr Abstraktion)

Transformation:

Implementierung zunehmend

(mehr Detailreichtum)

Top-Down-Entwurf

Bottom-Up-Entwurf

Neben-bedingungen

Systematischer Entwurf digitaler Systeme

Page 19: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung19

Entwickler

Funktion

Struktur

f ...f1 k

Fn

STRn+1

f1...fk

Fn

Programm

STRn+1

Automatisierung des Entwurfablaufs• Für die meisten Entwurfsaufgaben kommt nur eine Mischung aus manuellem und

automatisiertem Entwurf in Frage• Manueller Entwurf wird überwiegend auf Systemebene eingesetzt• Für Standardanwendungen ist heute der logische und physikalische Entwurf

weitgehend automatisiert• Hierfür werden eine Reihe von CAD-Werkzeugen von verschieden Herstellern

angeboten (Cadence, Synopsys, Mentor Graphics, etc)

Systematischer Entwurf digitaler Systeme

Page 20: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung20

Abstraktionsebenen

Systematischer Entwurf digitaler Systeme

Page 21: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung21

Systematischer Entwurf digitaler Systemearchitecture structural of first_tap is

signal x_q,red : std_logic_vector(bitwidth-1 downto 0);signal mult : std_logic_vector(2*bitwidth-1 downto 0);

begin

delay_register:process(reset,clk)begin if reset='1' then

x_q <= (others => '0');elsif (clk'event and clk='1') then

x_q <= x_in;end if;

end process;

mult <= signed(coef)*signed(x_q);

Hardware Beschreibung(RT-Ebene)

Automatisierte Synthese(Synopsys)

Netzliste(Logik-Ebene)

Masken-Layout

Platzierung &Verdrahtung(Cadence/

Mentor)

Fabrikation

Chip Wafer

Page 22: Alle Vorlesungspdfs DT

www.kit.edu

Institut für Technik der Informationsverarbeitung

Karlsruher Institut für Technologie (KIT)

Digitaltechnik

Prof. Dr.-Ing. J. [email protected]

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Nachricht und Signal

Page 23: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung2

Information und Nachricht

• Information ist ungeachtet seines häufigen Gebrauchs nicht formal definiert, jedoch der Gemeinsprache als Kenntnis über reale oder gedankliche Sachverhalte und Vorgänge bekannt

• Beispiel: unterschiedliche Interpretation derselben Information

wichtig: Kontext der Information

Kündigung

Sehr geehrter Herr Maier, die von Ihnen beschaffte EDV-Anlage

CVK7.5 hat errechnet, daß bereits 10% ihrer Leistung ausgereicht hätten, um

Ihre Arbeitskraft voll zu ersetzen. CVK7.5 bedauert deshalb, Ihnen mitteilen zu müssen, daß mit der

Übernahme der Betriebsführung zum 01.01.2001 durch CVK7.5 ...

„Herr Maier ist geflogen"

Page 24: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung3

Definitionen: Nachricht und Daten

• Nachricht (DIN 44300 Teil 2): Gebilde aus Zeichen oder kontinuierlichen Funktionen, die aufgrund bekannter und unterstellter Abmachungen Information darstellen und die vorrangig zum Zweck der Weitergabe als zusammengehörig angesehen und deshalb als Einheit betrachtet werden.

Sonderfall (Unterscheidung durch Zweckbestimmung):

• Daten: Gebilde aus Zeichen oder kontinuierlichen Funktionen, die aufgrund bekannter oder unterstellter Abmachungen Information darstellen, vorrangig zum Zweck der Verarbeitung oder als deren Ergebnis

Nachricht: Weitergabe von Daten

zentral: digitale Datenverarbeitung

Information und Nachricht

Page 25: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung4

Definitionen

• Zeichen: ein Element aus einer endlichen Menge von Objekten Zeichenvorrat

zur Darstellung von Information vereinbart

- Morsezeichen "-" { - , · , }

- Morsealphabet “-...“ {.-, -..., -.-., ..., --.. }

- Buchstaben "G" {A, B, C, ... , Z}

- Ziffern "4" {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}

- Beliebiger Zeichensatz ““ {,,,,}

- Verkehrszeichen ...

vielfältige weitere Beispiele für “Zeichen“ und “Alphabete“

Information und Nachricht

Page 26: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung5

Definitionen• Symbol: ein Zeichen (oder eine Zeichenfolge) wird als Symbol

bezeichnet, wenn ihm in der gegebenen Situation eine bestimmte Bedeutung zugeordnet ist

Beispiele für Symbole und Ihre Zuordnung in jeweiliger Situation

Information und Nachricht

, , ,

, , ,- Spielkarten:

- Schalt-„Zeichen":

- Elektroherd:

- Kühlschrank:

- mathematische Symbole: + , - , . , / , =

Page 27: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung6

Physikalische Größen als NachrichtenträgerTechnische Darstellung von Information / Nachrichten / Daten

• Notwendigkeit eines Trägers, meist physikalischer Natur

• Aufprägen einer Nachricht: Veränderungen charakteristische Parameter

• Parameter + Änderungen: zeitlicher Verlauf + räumliche Abhängigkeit

Physikalische Größe Veränderbarer Parameter

Spannung, Strom Amplitude, Kurvenform,Frequenz, Phasenlage

Widerstand Widerstandswert

Feldstärke Betrag , Richtung

Reflexionsfähigkeit Reflexionsfaktor

Durchlässigkeit Transmissionsfaktor

Page 28: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung7

Physikalische Größen als Nachrichtenträger

• Die Verwendung physikalischer Größen in diesem Zusammenhang führt nach DIN 44300 auf einen neuen Begriff:

Definition

• Signal: Die Darstellung von Nachrichten oder Daten mit physikalischen Mitteln

Systematische Veränderungen von Parametern einer physikalischen Größe in Zeit und Raum nach vereinbarten Regeln

• Wichtig: Wertemenge der kennzeichnenden Parameter

Kontinuierliche Wertemenge

Wertebereiche / Werteintervalle ( Messtechnik!)

- diskrete Signale

Page 29: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung8

Theoretisch:

kontinuierliches Signal physikalisch +

meßtechnisch nicht realisierbar

W

zeitdiskretes, wertkontinuierlichesSignal diskrete

Abtastzeitpunkte

W

Kontinuierliche und diskrete SignaleTypen von Signalen

Page 30: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung9

W

zeitkontinuierliches , wertdiskretes Signal

Bsp.: Quanteneffekte

zeitdiskretes,wertdiskretes Signal:

digitales Signal Digitaltechnik:

Einschränkung der Zahl möglicher Werte (Intervalle)

W

Kontinuierliche und diskrete Signale Typen von Signalen

Page 31: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung10

Signale mit begrenzter Zahl von Werten• In der Digitaltechnik: Einschränkung der Anzahl der Werte

für Signale

• Auf diese Weise wird eine preiswerte und zuverlässigetechnische Lösung erreicht

• Ein Digitalwert repräsentiert dann ein Intervall an Werten

Maximalwert

physikalische Größe

Minimalwert

I 4

I 4I 5

I 6

I 3I 3

I 2

I 1

Problem:exakte (“harte“) Diskrimination an Intervallgrenzen

Page 32: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung11

Signale mit begrenzter Zahl von Werten

• Problem: Intervallübergänge Trick: jeweils zwischen zwei Intervallen

undefinierte Bereiche einfügen

• Zuordnungsproblem mit technisch einfachen Mitteln lösbar

• Undefinierte Bereiche -> Digitalwertzuordnung “willkürlich“

undefinierter Bereich I 4

I 3

Besser:“weiche“Diskrimination

Übungsblatt 1.Aufgabe 1.1?????
Page 33: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung12

Binärsignale

• Von Bedeutung ist die Signaldarstellung mit der geringstenDigitalwertezahl -> nämlich zwei

• Die Realisierung zugehöriger technischer Lösungen ist besonders einfach und damit kostengünstig

• Die beiden Intervalle werden üblicherweise mit H bzw. L benannt

Maxim alwert

phys ikalischeGröße

H igh-Interv all, H

U ndef inierter Bereich

Low-Interv all, L

Minim alwe rt

T echnische Lö sung

TT L-T echnik

V.24-Schni ttste lle

Schal ter

T ransmissionsfa ktor

L-Bereich

0 ... 0 ,8 V

-12 .. -3 V

n iederohmig

0 .. 40 %

H-Bereich

2,0 ... 5 V

3 ... 12 V

hochohmig

70 ... 100%

Page 34: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung13

Binärsignale

• Signaldarstellung: Auswahl aus zwei Werten elementarste Entscheidungsmöglichkeit

• Ein Binärsignal enthält eine Information von 1 Bit (bit: binary digit)

• Abstraktion von technischer Darstellung: Alternativen häufig mit “0“ bzw. “1“ bezeichnet

• Ein Binärsignal zur Informationsdarstellung nicht ausreichend

Zusammengesetzte Repräsentationen aus mehreren Binärsignalen werden verwendet

weitergehende kombinatorische Möglichkeiten

• Binärsignal: x {L,H}: Binärvektoren X = (xn, ... , x1)

Page 35: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung14

1 2 3 4 ... nL LL LLL LLLL LL...LLLLH LH LLH LLLH LL...LLLH

HL LHL LLHL LL...LLHL2 HH LHH LLHH LL...LLHHHLL LHLL LL...LHLLHLH LHLH LL...LHLHHHL LHHL LL...LHHLHHH LHHH LL...LHHH

HLLL LL...HLLLHLLH LL...HLLHHLHL LL...HLHLHLHH LL...HLHHHHLL LL...HHLLHHLH LL...HHLHHHHL LL...HHHLHHHH LL...HHHH

HH...HHHLHH...HHHH

Zahl der möglichen Werte- kombinationen

Zahl der Binärsignale

2 . 2 = 4

2 . 2 . 2 =8

2 . 2 . 2 . 2 = 16

2 . 2 . ... . 2 = 2n

Binärsignale

Page 36: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung15

Binärsignale

• Mit n Binärstellen lassen sich also

unterschiedliche Kombinationen bilden

• Anzahl Binärsignale zur Darstellung von N Werten (Zeichen)

inverse Funktion:

• Weiterhin: Berücksichtigung, dass nur ganzzahlige Anzahl Bits zur Darstellung von Binärsignalen möglich sind

Darstellung von N Werten:

Bits werden benötigt

n2

n= ld N

2n = log N = ld N

Page 37: Alle Vorlesungspdfs DT

www.kit.edu

Institut für Technik der Informationsverarbeitung

Karlsruher Institut für Technologie (KIT)

Digitaltechnik

Prof. Dr.-Ing. J. [email protected]

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Informationsgehalt

Page 38: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung2

Informationsgehalt • Neben Darstellung von Zeichen:

Aussage über Informationsgehalt eines Zeichens interessant Zeichen sind quantitativ im Vergleich zu anderen Zeichen

oder im Hinblick auf technischen Darstellungsaufwandzu bewerten

• Ermittlung des Informationsgehalt eines Zeichens e

Annahme: ein Zeichen trägt umso mehr Information, je seltener es beim Empfänger eintrifft !

Also: Informationsgehalt eines Zeichens steigt

Auftrittswahrscheinlichkeit dieses Zeichens nimmt ab

eH

peH

Page 39: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung3

Informationsgehalt

Definition: Informationsgehalt eines Zeichens e

• Die Einheit entspricht, wie beim Binärsignal bereits einführt:

1 Bit

Also: Einheit entspricht der elementaren Entscheidungzwischen zwei gleichwahrscheinlichen Möglichkeiten

p = 0,5

Voraussetzung: Beobachtete Zeichen sind voneinander unabhängig

e1H = ld p

Page 40: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung4

Beispiele:

gleich- bzw. ungleichwahrscheinliche Symbole

Informationsgehalt

p=1/4

p=1/4 p=1/4

p=1/4

He = 2 bitHe = 2 bit He = 2 bit

p=1/8 p=7/8

“As” “kein As”He = 3 bit He = 0,2 bit

Voraussetzung: Kartenspiel mit 32 Karten

Page 41: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung5

InformationsgehaltBetrachtung nicht-gleichwahrscheinlicher Zeichen:

Frage: Informationsgehalt einesZeichens in einer Zeichenfolge

Voraussetzung: Alphabet mit N Zeichen

Es gilt:

• In einer Folge mit L Zeichen ist die zu erwartende Auftrittshäufigkeiteines speziellen Zeichens i:

N

i=1

p(i) = 1

L p(i)

Page 42: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung6

InformationsgehaltBetrachtung nicht gleichwahrscheinlicher Zeichen:• Alle beobachteten Zeichen i liefern den gesamten Informationsbeitrag:

• Alle N Zeichen zusammen betrachtet

Informationsgehalt pro Zeichen:

und nennt H Entropie der Quelle

• Weitere quantitative informationstheoretische Betrachtungen:

moderne Informationstheorie (C. Shannon)

N

i=1

1H = p(i) ld p(i)

ei1L p(i) H = L p(i) ld

p(i)

Page 43: Alle Vorlesungspdfs DT

Institut für Technik der Informationsverarbeitung

Digitaltechnik

www.kit.edu

Karlsruher Institut für Technologie (KIT)

Prof. Dr.-Ing. J. [email protected]

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Codierung und Fehlerkorrektur

Page 44: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung2

Codewörter Allgemein: Code ist Vorschrift für eindeutige Zuordnung Codierung

Zuordnung muss nicht umkehrbar eindeutig sein

Beispiel: Zuordnung von Zeichen verschiedener Alphabete

Zeichenvorrat (Urmenge) anderer Zeichenvorrat (Bildmenge)

• Digitaltechnik: Abstraktion der Werte “L“ und “H“ durch Symbole “0“ und “1“

Page 45: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung3

Codewörter sind elementare Einheiten zur Darstellung von Informationen

Beispiel:

Anzahl möglicher Codewörter mit m Binärstellen:

Maximale Anzahl N von m-stelligen Codewörtern:

Anzahl strukturierter m-stelliger Codewörter mit k Einsen:

Codewörter

Codewort

10111010

10111

Anzahl Binärstellen

m=8

m=5

m2

mN 2

)!(!

!kmk

mmk

Page 46: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung4

Allgemein gilt: Codes legen fest, wie Codewörter zu interpretieren sind

Beispiel: Strukturierter Code

Anzahl Wörter im (2 aus 5)-Code:

m = 5 k = 2

Folgende Codewörter sind möglich:

Der (2 aus 5)-Code eignet sich mit seinen 10 Codewörternbesonders zur Darstellung von Dezimalziffern

10)!25(!2

!552

N

0011001001

0001100101

0101001100

1000110010

1010011000

Strukturierte Codes

Page 47: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung5

Codes für die Analog/Digital-UmsetzungWandlung von stetigen Signalen in zusammengesetzte Binärsignale

Aufgabe:

Festlegung einer geeigneten Zuordnung:

Stetiger Wertebereich

Binärer Wertebereich

0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1

Feder

Gewicht

______________________________________

Ablesefenster

Analog/Digital-Wandler

Page 48: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung6

Codes für die Analog/Digital-Umsetzung Wandlung: stetige (analoge) Signale in Binärsignale (Binärvektoren)

Problem: Übergänge, bei denen sich mehr als eine Binärstelle ändert

Beispiel:0 1 1 1 0 0

Beim Wechsel müssen nicht alle Binärstellen gleichzeitig wechseln

Dadurch: große Abweichungen für Werte der Binärsignale möglich:

0 1 1

111, 001, 010, 101, 110 oder 000 1 0 0

3 Binärstellen-übergänge

Fehlerhafte Über-gänge in andere

Codewörter möglich

Page 49: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung7

Code-Eigenschaften: HammingdistanzEigenschaften von/zwischen Codewörtern

Definition: Hammingdistanz HD (auch Hammingabstand genannt)

Seien die Codewörter CWi, CWj {0, 1}n, HDij = Anzahl der Stellen, an denen sich CWi und CWj unterscheiden. Dann heißt Hdij die Hammingdistanz von CWi und CWj .

Also: Die Hammingdistanz HD zwischen zwei gleich langen Codewörtern gibt die Anzahl der unterschiedlichen Binärstellen an.

Beispiele: Bestimmung HD

011 100 HD = 31000 1010 HD = 111000 00101 HD = 4

Page 50: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung8

Code-Eigenschaften: HammingdistanzDefinition: Minimale Hammingdistanz HDmin

Sei X {0, 1}n beliebig, undHdmin(X) = min{ Hdij CWi , CWj X CWi CWj } Dann heisst Hdmin(X) minimale Hammingdistanz von X

Beispiel: Codewörter des (2 aus 5)-Codes haben folgende minimale Hammingdistanz: Hdmin(2 aus 5) = 2

Die minimale Hammingdistanz ist eine entscheidende Eigenschaft eines Codes, um Übertragungsfehler erkennen und korrigieren zu können

Begriff: Einschrittige Codes

Codes, bei denen zwei benachbarte Codewörter immer eine Hammingdistanz von eins haben heissen einschrittig.

Page 51: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung9

Spezielle Codes: Gray-CodeCode zur Analog/Digital-Wandlung

Einschrittige Codes: besondere Rolle bei der Analog-Digital WandlungBeispiel: Problem der digitalisierten Waageablesung

Änderung einer Binärstelle geschieht auf jeden Fall immer „gleichzeitig“Wandlungsfehler von höchstens 1 in kleinster Messeinheit

Wichtiger Vertreter der einschrittigen Codes: Gray-Code

zyklisch, m=3

0: 0001: 0012: 0113: 0104: 1105: 1116: 1017: 1000: 000

...

linear, m=4

0: 00001: 00012: 00113: 00104: 01105: 01116: 01017: 01008: 11009: 1101

Page 52: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung10

Spezielle Codes: Gray-CodeKonstruktion des Gray-Codes

Geg.: Gray-Code mit m = x Binärstellen liegt vor

Doppelt so langen Gray-Code mit mneu = x+1 Binärstellen erzeugen: in umgekehrter Reihenfolge an gegebenen Code anhängen

(Spiegelung an der Horizontalen) und zusätzliche Binärstelle anfügen

(zuerst 2x+1/2 Nullen/Einsen dann 2x+1/2 Einsen/Nullen)

0011

0110

1 01 10 10 0

00001111

Page 53: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung11

Spezielle Codes: AustauschcodesNotwendig: Datenaustausch zwischen digitalen Systemen:

-> spezielle Codes werden benötigt-> Texte aus Buchstaben, Ziffern, Satzzeichen,

Sonderzeichen (characters) übertragbar

ASCII-Code

Verbreitung: ASCII-Code (American Standard Code for Information Interchange) kodiert mit 7 Bit 128 Zeichen: reicht für englischen Sprachraum

weitgehend aus

Bitgruppen werden zusammengefasst -> spezielle Bedeutung / Namen:

MSB (Most Significant Bits) bezeichnet 3 höherwertigen Bits

LSB (Least Significant Bits) bezeichnet 4 niederwertigen Bits

Zuordnung: Zeichen <-> Codewort MSB teilt alle Zeichen in Gruppen zu je 16 Zeichen ein

(lexikographische Anordnung von Zeichen + Codewörtern)

Page 54: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung12

Spezielle Codes: ASCII-CodeLSB MSB

Binär 000 001 010 011 100 101 110 111Steuerzeichen Großbuchstaben Kleinbuchstaben

0000 NUL DLE SP 0 @ P ` p0001 SOH DC1 ! 1 A Q a q0010 STX DC2 „ 2 B R b r0011 ETX DC3 # 3 C S c s0100 EOT DC4 $ 4 D T d t0101 ENQ NAK % 5 E U e u0110 ACK SYN & 6 F V f v0111 BEL ETB ´ 7 G W g w1000 BS CAN ( 8 H X h x1001 HT EM ) 9 I Y i y1010 LF SUB * : J Z j z1011 VT ESC + ; K [ k {1100 FF FS , < L \ l |1101 CR GS - = M ] m }1110 SO RS . > N ^ n ~1111 SI US / ? O _ o DEL

Page 55: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung13

Spezielle Codes: AustauschcodesBeispiel: ASCII-Codierung

Buchstabe “A“:A = 41H = 100 0001B (Bitgruppen analog zu Hexadezimalsystem / Kapitel 4.6)

Praxis: verschiedene 8, 16 und sogar 32 Bit Codes in Gebrauch Spezialzeichen verschiedener Sprachen darstellbar

Weitere Beispiele: - verbreitester 16-Bit Austauschcode ist der UNICODE 65536 Zeichen darstellbar ASCII-Code: erste 128 Zeichen des UNICODES enthält Erweiterungen für viele Sprachen

- 7-Segment-Code: digitale Ziffernanzeige, etc.- Punktmatrixanzeigen: Drucker, etc.- OCR-Code (Optical Character Recognition): Maschinenlesbarkeit- Blindenschrift, etc.

MSB LSB

Page 56: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung14

• Fehlerschutz umfasst Fehlererkennung und Fehlerkorrektur

• Schutzwirkung wird durch Codierung realisiert

• Unterscheidung abhängig von Lage und Menge fehlerhaft empfangener Bits: Bitfehler, Burstfehler und Symbolfehler

können innerhalb des übertragenen Bitstroms auftreten

gesendeter Bitstrom

empfangener Bitstrom

SymbolBit

Bitfehler 3-bit-Burstfehler

5-bit-Burstfehler

4-bit-Burstfehlerfehlerfrei empfangenes Bit

fehlerhaft empfangenes Bit

Codes für Fehlererkennung / Fehlerkorrektur

Page 57: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung15

Codes für FehlererkennungProblem in der Praxis: Störeinflüsse können bei der Übertragung oder

Speicherung von binär kodierten Informationen den Wert der zur Darstellung verwendeten physikalischen Grösse verfälschen

Es gilt: einzelne Bitfehler (1 Bit „“kippt“) sind erkennbar bei Codes mit minimaler Hammingdistanz HDmin = 2

jeder denkbare Bitfehler führt zu ungültigem(d.h. unbenutztem) Codewort:

0010gültiges CWi

0011unbenutztes CWj,

Fehlerfall

0111gültiges CWk

1 Fehler 1 Fehler

Page 58: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung16

Es gilt: Bei Codes mit HDmin = 3: Zweifachfehler erkennbar oder Einfachfehler korrigierbar

2-Fach Fehlererkennung:

1-Fach Fehlerkorrektur:

Codes für Fehlererkennung / Fehlerkorrektur

0010 0011 111101111 Fehler

1 Fehler 2 Fehler

2 Fehler

gCWiugCWj,

FehlerfallugCWk,

Fehlerfall gCWl

0010 0011 111101111 Fehler

1 Fehler Korrektur

Korrektur

gCWiugCWj,

FehlerfallugCWk,

Fehlerfall gCWl

Page 59: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung17

Codes für Fehlererkennung / FehlerkorrekturAllgemein gilt:

Geeignete Codes können Fehler erkennen und sogar korrigieren

Notwendig: Hinzufügen zusätzlicher (redundanter) Informationen

zusätzlicher Darstellungsaufwand (Kosten!)

Annahme: Höchstanzahl gleichzeitig zu berücksichtigender Fehler ist fest

meistens: höchstens 1 oder 2 Bitfehler gleichzeitig

(Teil-)Systematik bei Festlegung des Codes notwendig

Möglichkeiten: minimale Hammingdistanz, Paritätsbits, Blocksicherungsverfahren, Hamming-Codes, etc.

Paritätsbit-Prüfverfahren:Fehler bei Code-Übertragung erkennbar (ohne Beachtung Hammingdistanz) zusätzliches Paritätsbit anhängen:

- im Binärwort enthaltene Einsen werden entweder auf gerade (even parity) oder ungerade (odd parity) Anzahl ergänzt Überprüfung beim Empfänger

Page 60: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung18

Fehlererkennung durch ParitätBeispiel: Ergänzung des Paritätsbit

Dezimal Binär gerade Parität

ungerade Parität

0 0000 0000 0 0000 1 1 0001 0001 1 0001 0 2 0010 0010 1 0010 0 3 0011 0011 0 0011 1 4 0100 0100 1 0100 0 5 0101 0101 0 0101 1 6 0110 0110 0 0110 1 7 0111 0111 1 0111 0 8 1000 1000 1 1000 0 9 1001 1001 0 1001 1

Fehler: 1001 1011 0 1011 1

Page 61: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung19

Fehlererkorrektur durch BlocksicherungDas Prinzip der Paritätssicherung ist zweidimensional anwendbar

Blocksicherungsverfahren mit doppelter Quersummenergänzung

Nachricht wird in Blöcke von n Codewörtern mit Paritätsbit eingeteilt

zusätzlich: am Ende jedes Blocks ein weiteres Codewort einfügen enthält alle Paritätsbits der Spalten

Also: bei Auftreten von Einfachfehlern lassen sich Spalte und Zeile eindeutig ermitteln: Einfachfehler sind damit korrigierbar gleichzeitig sind noch weitergehende

Fehlererkennungsverfahren möglich: Bündelstörung erkennbar

Bündelstörung: zeitlich konzentrierte Fehler, d.h. über einen Zeitraum ist die Verbindung gestört, können erkannt bzw. behoben werden

Page 62: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung20

Fehlererkorrektur durch BlocksicherungBeispiel: Fehlerlokalisierung durch Blocksicherungsverfahren

Spalte mit Fehler(ungerade Parität)

Zeile mit Fehler(ungerade Parität)

Ziffer Codewörter mit gerader Parität

5 0 1 0 1 0 4 0 1 0 0 1 1 0 0 1 1 1 3 0 0 1 1 0 9 1 0 0 1 0 8 1 0 0 0 1

Prüfwort 0 0 1 0 1

Page 63: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung21

Fehlererkorrektur durch Blocksicherung• Also: m Informationsbits werden k Fehlerschutzbits als Redundanz

angehängt und übertragen

• Damit: Vergrösserung des Datenstroms auf Länge n = m + k

• Beispiel für Blocksicherung: zyklische Redundanzprüfung[Cyclic Redundancy Check (CRC)]

0 1 1 0

1 1 0 1

0 1 0 1

1 0 1 0

0

1

0

0

0 1 0 0

0 1 1 0

1 0 0 1

0 1 0 1

1 0 1 0

0

0

0

0

0 0 0 0

gesendete Bitfolge

Quersumme der Spalten

Quersumme der Zeilen

Fehler

Fehler

empfangene Bitfolge

Page 64: Alle Vorlesungspdfs DT

www.kit.edu

Institut für Technik der Informationsverarbeitung

Karlsruher Institut für Technologie (KIT)

Digitaltechnik

Prof. Dr.-Ing. J. [email protected]

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Nachrichtenübertragungund Optimale Codes

Page 65: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung2

Codes für die Nachrichtenübertragung

• Übertragung von Nachrichten und Daten

• Spezielle Anforderungen an Codierung:

Schutz gegen Verfälschungen + typische Fehlerfälle

Darstellungsaufwand minimieren (Kosten, Performanz)

• Weiteres Problem: Annahme des Einzelfehlerfalls trifft häufig in Übertragungssystemen nicht zu zeitlich konzentrierte Fehler

(Störung über einen Zeitraum) Bündelstörungen treten auf

• Also: dedizierte zusätzliche Maßnahmen notwendig

Page 66: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung3

Codes für die Nachrichtenübertragung

• Bündelstörung• Problem: eine längere Auswirkung einer Störung auf ein Signal

• Dadurch können mehrere Bits nacheinander gestört werden

• Bündelfehler: bisher besprochene Codes sind nicht geeignet

• Lösung: Bei der Zeichenverflechtung werden die Binärstellen eines Zeichens (Binärwort) nicht nacheinander übertragen Verwürfelung oder Scrambling der Stellen

• Also: länger anhaltender Störeinfluss (Bündelstörung) bestimmter Länge verfälscht nur Binärstellen von unterschiedlichen Codewörtern

Page 67: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung4

Geänderte Reihenfolge der Übertragung:

a1 a2 a3 a4 a5 a6 a7 Codewort 1

b1 b2 b3 b4 b5 b6 b7 Codewort 2

c1 c2 c3 c4 c5 c6 c7 Codewort 3

d1 d2 d3 d4 d5 d6 d7 Codewort 4

e1 e2 e3 e4 e5 e6 e7 Codewort 5

Paritätsbit

Bündelstörung: Zeichenverflechtung

– Eine Störung von maximal 5 aufeinanderfolgenden Bitsist damit erkennbar

– Trotz andauernder Störung: pro Codewort nur 1 Bit verfälscht

Paritätsbit (7. Bit) detektiert Einzelfehlerfälle

Übertragung mitAnwendung der

Zeichen-verflechtung(“Scrambling“)

Page 68: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung5

Bündelstörung: Fehlererkennung/Korrektur• Beispiel für eine Übertragung mit Bündelstörung:

e7 d7 c7 b7 a7 e6 d6 c6 b6 a6

c2b2a2e1d1c1b1a1

e5 d5 c5 b5 a5 e4 d4 c4 b4 a4 e3 d3 c3 b3 a3 e2 d2

Empfangen

Senden

Bündel-Störung

Codewort 1

Codewort 2

Codewort 3

Codewort 4

Codewort 5

d1

a1

b1

c1

e1

a2

b2

c2

d2e2

a3

b3

c3

d3e3

a4b4

c4

d4e4

a5b5

c5

d5e5 e6

d6

c6

b6

a6 a7

b7

c7

d7e7

d1

a1

b1

c1

e1

a2

b2

c2

d2e2

a3

b3

c3

d3e3

a4b4

c4

d4e4

a5b5

c5

d5e5 e6

d6

c6

b6

a6 a7

b7

c7

d7e7

Ü b e r t r a g u n g

Allgemein gilt:

erlaubt der benutzteCode Fehler-erkennung bzw. Fehlerkorrektur gesamte Bündelfehler ist erkennbar bzw. korrigierbar

Page 69: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung6

– Neben der Fehlersicherheit spielt bei der Übertragung auch die Länge einer Nachricht eine Rolle

– Der Morse-Code hat schon früh die statistischen Eigenschaftender englischen Sprache ausgenutzt, um eine möglichst kurzeDarstellung der Nachricht zu erzielen

– Häufig auftretende Buchstaben werden möglichst kurzen Codewörtern zugeordnet, während für seltene Buchstaben längere Codewörter gewählt werden

• Beispiel Morse-Code:

Optimale Codes

häufige Buchstaben seltene Buchstabene: t: - j: --- q: ---i: a: - y: --- ö: ---

Page 70: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung7

Optimale Codes

• Optimale Codes

– Optimale Codes versuchen die im Mittel auftretende durchschnittliche Codewortlänge m zu minimieren

– Der minimal erreichbare Idealwert ist dabei der durchschnittliche Informationsgehalt H des Zeichenvorrats -> Entropie der Sendequelle

– Für einen Zeichenvorrat {x1, x2, x3, ... xn} gilt:

n

i ii

n

iiei xp

ldxpxHxpH11 )(

1)()()(

n

iii xmxpm

1)()(

Informationsgehalt H:

Codewortlänge m:m(xi): Länge CW für Xi

Page 71: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung8

Optimale Codes: Shannon-Fanø-Code

• Konstruktionsvorschrift:

– Zeichenvorrat nach aufsteigender Wahrscheinlichkeitlinear sortieren lineare Ordnung

– Zwei Teilmengen so konstruieren, dass die Summen-wahrscheinlichkeiten der beiden Teilmengen möglichst gleich groß sind, d.h. die addierten Auftrittswahrscheinlichkeiten der in beiden Teilmengen enthaltenen Zeichen ergebenmöglichst die gleiche Summe

– Die erste Teilmenge erhält das Codierungszeichen “0“und die zweite Teilmenge eine “1“

– Mit den jeweils resultierenden Teilmengen rekursivin gleicher Weise fortfahren bis nur noch 1 Zeichen in resultierenden Teilmengen

enthalten ist

Page 72: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung9

• Beispiel: Zeichen a b c d eWahrscheinlichkeit 0,1 0,1 0,2 0,3 0,3

Zeichen a b c d eKodierung 000 001 01 10 11

1p},,,,{ edcba

6,0p 4,0p},,{ cba },{ ed

0 1

1,0p

}{a

0

1,0p

}{b

1 2,0p},{ ba

0

}{c

1

2,0p

}{e

1

}{d

0

3,0p 3,0p

Shannon-Fanø-Code

Konstruktion des optimalen Codes:

Codierungsbaum: Repräsentation der

rekursiv konstruiertenTeilmengen zucodierender Zeichen und ihre Codes

Codewortlänge m = 2,2

Codierung:

Page 73: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung10

Optimale Codes: Huffman-Code

• Codierung mit variabler Bitlänge der Codewörter

– effizienter als Codierung mit fester Bitlänge

• Präfixfreie-Codierung

– kein Kodewort ist Präfix eines anderen Codewortes

• Vorgehensweise graphisch darstellbar (binärer Baum, siehe auch Graphentheorie in Kap. 5.3 im Buch)

– Blätter repräsentieren Codewörter

– der Weg dorthin das eigentliche Codewort

• Vorgehensweise Huffman-Codierung: Greedy-Algorithmus (greedy = “gierig”)

nutzt Liste mit Auftrittswahrscheinlichkeiten (AWS) der zu codierenden Zeichen

Beschreibung der Eigenschaften und Konstruktion

• Effiziente Codierungstechnik für Datenkompression (JPEG, MPEG)

Page 74: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung11

HKA ist ein Greedy-Algorithmus

HKA konstruiert einen Baum (= azyklischer zusammenhängender Graph) T, der die Codierung der einzelnen Zeichen repräsentiert

Sortierte Liste Q jeweils die beiden Zeichen in Q mit niedrigsten AWS finden

Zwei gefundene Zeichen werden zu neuem Element z “verschmolzen”, dessen AWS die Summe der beiden Einzelwahrscheinlichkeiten zugeordnet wird Einsortierung von z in Q entsprechend seiner AWS

Abbruch des HKA:nur noch 1 Objekt in Q übrig Codierungsbaum T

Huffman’s Codierungs-Algorithmus (HKA) (1)

Optimale Codes: Huffman-Code

Page 75: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung12

beginn |C|; // C ist sortierte Menge der zu codierenden Elemente

Q C; // Q ist sortierte Liste (-> verwendete Datenstruktur)

for i 1 to n-1 doz ALLOCATE-NODE(); // Erstellung eines neuen Knotens z im Codierbaum

x EXTRACT-MIN(Q); // Bestimme Knoten minimaler Auftrittswahrscheinlichkeit (AWS)in Q, entferne diesen aus Q und speichere ihn in x

y EXTRACT-MIN(Q); // Bestimme Knoten minimaler AWS in Q, entferne diesen aus Q und speichere ihn in Y

left[z] x; // Knoten x wird linker Nachfolgeknoten von z im Codierbaum

right[z] y; // Knoten y wird rechter Nachfolgeknoten von z im Codierbaum

f[z] f[x] + f[y]; // Bestimmung der AWS des vereinten Knotens z

INSERT(Q, z); // neuer Knoten z wird in Q (= Codierbaum) entsprechend seiner AWS

end;return EXTRACT-MIN(Q); // letztes verbleibendes Listenelement in Q (= Wurzel des Codierbaums)

wird als Endergebnis ausgegeben end

Huffman’s Kodierungs-Algorithmus (HKA) (2)

Optimale Codes: Huffman-Code

Page 76: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung13

(a)

Beispiel (1):

f:5 e:9 b:13 a:45d:16c:12

(b)

(c)

f:5 e:9

b:13 a:45d:16c:12 140 1

f:5 e:9

a:45d:1614

c:12 b:13

251 10 0

Optimale Codes: Huffman-Code

Page 77: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung14

(d)

Beispiel (2):

(e)

f:5 e:9

a:45

d:1614c:12 b:13

25 30

550

0 0

0

1

1 1

1

f:5 e:9

a:45

d:1614c:12 b:13

25 300 0

0

11

1

Optimale Codes: Huffman-Code

Page 78: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung15

Beispiel (3):

(f)

f:5 e:9

a:45

d:1614c:12 b:13

25 30

55

1001

1

1

1

1

0

0

0

0

0

Optimale Codes: Huffman-Code

Page 79: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung16

Anwendung im JPEG-Format:

JPEG: Joint Photographic Experts Group

Ziel: allgemeiner Standard für alle Arten von Bildern (Color oder Graustufen), die dadurch “portabel” sind

Ordentliche Kompressionsraten

Dafür leichter Verlust an Bildinformation

Verlustfreie Kompression möglich

Optimale Codes: Huffman-Code

Page 80: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung17

Dekodierung De-Quantisierung

Rücktrans-formation iDCT

Übersicht des Komprimierungsverfahrens JPEG:

Ausgabe: Ursprungsbild

TabellenTabellen

0011010011000111 ...

Eingabe:komprimierte Bilddaten

JPEG Dekomprimierer

TransformationFDCT Quantisierung Kodierung

Tabellen Tabellen

Eingabe: Ursprungsbild

0011010011000111 ...

Ausgabe: komprimierte Bilddaten

8x8 Bloecke

JPEG Komprimierer

Optimale Codes: JPEG-Verfahren

Page 81: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung18

Aufteilung des zu komprimierenden Bildes in 8x8-PixelblöckeGeeignete Blockgröße für die FDCT um digitaltechnischen Realisierungsaufwand zu optimieren und den Gesamtaufwand nicht zu hoch zu treiben

Bei größeren Blöcken steigt der Rechen- bzw. Kostenaufwand quadratisch an

Aufteilung

Ursprungsbild 8x8 Pixelblöcke

Optimale Codes: JPEG-Verfahren

Page 82: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung19

Schnelle diskrete Cosinustransformation (FDCT) liefert per Block eine Koeffizientenmatrix zurück FDCT transformiert Daten aus Ortsbereich f(i,j) in Frequenzbereich F(u,v)Formel für die FDCT:

0,0 0,7

7,0 7,7

7

0

7

0 16)12(cos

16)12(cos),(

41),(

x yvu

vxuyyxfFFvuF

7...1für ,1, 0für ,2

1, u,vFFu,vFF vuvu

-66 -54 -54 -29 -17 -4 8 21

-57 -43 -41 -15 -1 14 28 42

-49 -32 -29 -1 15 31 41 63

-40 -22 -17 14 31 49 67 85

-31 -11 8 28 47 67 87

-22 -1 21 42 63 85 127

-75 -65 -54 -43 -33 -22 -11 -1

-84 -75 -66 -57 -49 -40 -31 -22

106

106

0,0 0,7

7,77,0

0 0 0 0 0 0 0 0

-29 7 0 0 0 0 0 0

0 0 0 0 0 0 0 0

-7 2 0 0 0 0 0 0

0 0 0 0 0 0 0 0

-2 0 0 0 0 0 0 0

-275 74 0 7 0 2 0 0

-1 -275 0 -29 0 -7 0 -2

),( vuF),( yxfFDCT

Optimale Codes: JPEG-Verfahren

Page 83: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung20

JPEG-Verfahren: FDCT

Einfluss der Bildveränderlichkeit (-> Frequenzen!) auf einzelne Koeffizienten der transformierten Matrix

Obere linke Koeffizient (DC-Anteil) wird größer, je monotoner die Farbverteilung ist

Untere rechte Koeffizient wird durch eine möglichst ungleichmäßige Verteilungder Werte der zu transformierenden Pixelmatrix beeinflusst

Einfluss der Frequenzen eines Blocks auf die transformierte Matrix

0,0 0,7

7,0 7,7

0 0 0 0 0 0 0 0

-29 7 0 0 0 0 0 0

0 0 0 0 0 0 0 0

-7 2 0 0 0 0 0 0

0 0 0 0 0 0 0 0

-2 0 0 0 0 0 0 0

-275 74 0 7 0 2 0 0

-1 -275 0 -29 0 -7 0 -2),( vuF

64 Basisfunktionen

Optimale Codes: JPEG-Verfahren

Page 84: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung21

-2

Quantisierungsmatrix: möglichst viele “Nullen” in TransformationsmatrixQuantisierung: eigentliche verlustbehaftete Vorgang in der JPEG-KodierungVerlust: durch Rundung nach Division durch Quantisierungsfaktor Q(u,v)

),(*),(),(,),(),(),( :Formel

'

vuQvuFvuFvuQvuFroundvuF QQQ

0 0 0 0 0 0 0 0

-29 7 0 0 0 0 0 0

0 0 0 0 0 0 0 0

-7 2 0 0 0 0 0 0

0 0 0 0 0 0 0 0

-2 0 0 0 0 0 0 0

-275 74 0 7 0 2 0 0

-1 -275 0 -29 0 -7 0 -2

0 0 0 0 0 0 0 0

2 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 0 0 0 0 0 0 0

-23 6 0 0 0 0 0 0

0 -25 0 -2 0 0 0 0 -32

0 0 0 0 0 0 0 0

-28 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 0 0 0 0 0 0 0

-276 72 0 0 0 0 0 0

0 -275 0 -32 0 0 0 0

QuantisierungDe-

Quantisierung

28125,11629)0,3(

16)0,3(,29)0,3( :Bsp.

roundroundF

QF

Q

32162)0,3( :ungQuantisier-Deder nach '

QF

14 13 16 24 40 57 69 56

14 17 22 29 51 87 80 62

18 22 37 58 68 109103 77

24 35 55 64 81 104113 92

49 64 78 87 103121120101

72 92 95 98 112100103 99

12 12 14 19 26 58 60 55

16 11 10 16 24 40 51 61

Quantisierungsmatrix:

Optimale Codes: JPEG-Verfahren

JPEG-Verfahren:Quantisierung

Page 85: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung22

JPEG – ZigZag-Scan

Die 8x8 Koeffizientenmatrix (Frequenzbereich) nach Cosinus-Transformation mittels des Zig-Zag-Verfahrens in “Stream” von 64 Elementen umformen-> Dadurch wird Sequenz mit möglichst langen Nullfolgen gebildet

DC 0,1

1,0 1,1

0,2

2,0

0,0 0,7

7,0 7,7

DC 0,1 1,0 2,0 1,1 0,2 ...

AC

Optimale Codes: JPEG-VerfahrenJPEG-Verfahren: Kodierung (1) – ZigZag Kodierung

Page 86: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung23

aus ZigZag-Scan entstandene Streams werden nun komprimiert

zuerst: Run-Length-Encoding, um lange Nullfolgen platzsparend zu kodieren

ZigZag-geordnete AC-Koeffizienten werden so kodiert, dass nur AC-Koeffizienten ungleich Null in Binärvektorform (RRRRSSSS) dargestellt werden, wobei:

RRRR (4-Bit) -> Anzahl der Nullen vor dem aktuellen Koeffizienten angibtSSSS (4-Bit) -> Wertebereiche der Koeffizienten gemäß unterer Tabelle repräsentiert

der SSSS-Subvektor bestimmt höherwertige Bits der AC-Koeffizienten, die niederwertigen Bits werden unkodiert an das RS-Symbol angehängt

SSSS AC-Koeffizienten

1 -1,1

2 -3...-2,2...3

3 -7...-4,4...7

10 -1023...-512,512...1023

usw.

z.B.... -658 0 0 0 0 0 0 7 ...

8bit Werte

n n n n 1 0 1 0Bits

0 1 1 0 0 0 1 1

JPEG-Verfahren: Kodierung (2) – Run-Length KodierungOptimale Codes: JPEG-Verfahren

Page 87: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung24

• letzte Schritt: gebildete RS-Elemente werden Huffman-kodiert

• Betrachtet: Häufigkeit des Auftretens der RS-Werte

• häufig vorkommende Elemente: kurz kodiertselten vorkommende Elemente: lang kodiert

• entweder: ein Huffman-Kode aus gegebenenDaten (AWS) ermittelt,

oder: eine Standardtabelle verwendet (kleiner Ausschnitt s. Tabelle)

• Huffman-Codierung ist verlustfrei

• Mit verschiedenen Tabellen werden unterschiedliche unterschiedliche Kompressionsraten erreicht

• niederwertige Bits der AC-Koeffizientenwerden unkodiert belassen

RRRR SSSS Huffman-Code-Wort0000 0000 1010 (EOB)0000 0001 000000 0010 010000 0011 1000000 0100 10110000 0101 110100000 0110 11110000000 0111 111110000000 1000 11111101100000 1001 11111111100000100000 1010 1111111110000011

Optimale Codes: JPEG-VerfahrenJPEG-Verfahren: Kodierung (3) – Huffman Kodierung

Kodierungstabelle

Page 88: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung25

JPEG – KompressionBeispiele

Originalbild

25x Komprimiert

75x Komprimiert

Optimale Codes: JPEG-Verfahren

Page 89: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung26

25x Komprimiert

50x Komprimiert

99x Komprimiert

Optimale Codes: JPEG-Verfahren

Page 90: Alle Vorlesungspdfs DT

www.kit.edu

Institut für Technik der Informationsverarbeitung

Karlsruher Institut für Technologie (KIT)

Digitaltechnik

Prof. Dr.-Ing. J. [email protected]

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Hamming Codes

Page 91: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung2

Hamming-CodesSystematik: Code-Konstruktion zur Fehlererkennung / Fehlerkorrektur

• Satz: HDmin <-> Anzahl erkennbarer / korrigierbarer Fehler

a.) Sei X {0, 1}n ein Code mit HDmin(X) = d dann sind bis zu d –1 Fehler erkennbar !

b.) Sei HDmin(X) = d = 2e + 1 dann sind bis zu e = (d – 1) / 2 Fehler korrigierbar !

Beweis:Zu a.): (d – 1) Fehler: kein gültiges Codewort in anderes Codewort überführbarZu b.): jedes empfangene Codewort CWi mit höchstens e´ ( eFehlern

unterscheidet sich vom gesendeten Codewort CWj an höchstens e´ Stellen,d.h. von jedem anderen gültigen Codewort CWk X unterscheidet sichCWi an mindestens (2e + 1) – e´ 2e´ + 1 – e´ = e´+ 1 Binärstellen

also: HDik e´+ 1, d.h. das ursprünglich gesendete Codewort CWj ist eindeutig aus dem empfangenen (ggf. fehlerhaften) CWi zuzuordnen!

Page 92: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung3

Notwendige Anzahl von Prüfstellen kin Abhängigkeit von der Anzahl der Informationsstellen mum minimale Hamming-Distanz HDmin = d zu erhalten

Systematische Codes nach Hamming

Hamming-CodesPrüfbare und korrigierbare Codes:

Systematische Konstruktion

0

1

2

3

4

5

6

7

8

9

10

11

12

13

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Prüf

bits

k

Datenbits m

HD 7

HD 6

HD 5

HD 4

HD 3

HD 2

Page 93: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung4

Hamming-Codes

Zuordnung der geprüften Stellen zu den Prüfstellen:

Prüfstellen der Prüfstelle zugeordnete Binärstelle

geprüfte Binärstellen

y1y2y3y4...

1234...

1, 3, 5, 7, 9, 11, 13, 15, 17, ...2, 3, 6, 7, 10, 11, 14, 15, 18, ...4, 5, 6, 7, 12, 13, 14, 15, 20, ...8, 9, 10, 11, 12, 13, 14, 15, 24, ......

Systematik: Konstruktion von Hamming-Codes

Zuordnung der geprüften Stellen zu den Prüfstellen:

i. Prüfstelle yi überprüft alle Binärstellen (können Informationsstellen m als auch Prüfstellen k sein!), die in der i. Stelle (im i. Bit) der Dualzahlendarstellungen derentsprechenden Binärstellenpositionen (“duale Kennzahlen“) eine “1“ aufweisen

Page 94: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung5

Hamming-Codes

Aufbau eines 1-F-korrigierbaren Codes: Einfachfehler sind korrigierbar: HDmin = 3

1. Schritt lfd. Nr. duale Kennzahl

1001

2010

3011

4100

5101

6110

7111

2. Schritt 1. StellenbelegungBestimmung von y1

y1 0

x1 0

x2 1

x31

3. Schritt 2. Stellenbelegung Bestimmung von y2

y2 1

x10

X40

x31

4. Schritt 3. StellenbelegungBestimmung von y3

y30

x21

x40

x31

Systematik: Konstruktion von Hamming-Codes

Zuordnung der geprüften Stellen zu den Prüfstellen:

Beispiel: 1. Prüfstelle y1 überprüft alle Binärstellen, die in der 1. Stelle(im 1. Bit) der Dualzahlendarstellungen der entsprechendenBinärstellenpositionen (“duale Kennzahlen“) eine “1“ aufweisen

Page 95: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung6

Hamming-CodesBeispiel:

Codewort (CW) x1 x2 x3 x4 y1 y2 y3 Dezimalzahl

1. CW

2. CW

3. CW

4. CW

5. CW

6. CW

7. CW8. CW

9. CW

10. CW

11. CW

12. CW

13. CW

14. CW

15. CW

16. CW

0 0 0 0

0 0 0 1

0 0 1 0

0 0 1 1

0 1 0 0

0 1 0 1

0 1 1 00 1 1 1

1 0 0 0

1 0 0 1

1 0 1 0

1 0 1 1

1 1 0 0

1 1 0 1

1 1 1 0

1 1 1 1

0 0 0

0 1 1

1 1 1

1 0 0

1 0 1

1 1 0

0 1 00 0 1

1 1 0

1 0 1

0 0 1

0 1 0

0 1 1

0 0 0

1 0 0

1 1 1

0

1

2

3

4

5

67

8

9

10

11

12

13

14

15

1 F-korrigierbare Codes:

m = 4: Informationsstellen k = 3: Prüfstellen Zuordnung zu

Dezimalzahlen

Beispiel: Konstruktionder Prüfbits für 7. CW

Page 96: Alle Vorlesungspdfs DT

Institut für Technik der Informationsverarbeitung

Digitaltechnik

Karlsruher Institut für Technologie (KIT)

Prof. Dr.-Ing. J. [email protected]

www.kit.eduKIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Zahlensysteme

Page 97: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung2

Zahlensysteme

Zahlensysteme dienen zur transparenten Darstellung von Zahlen durch geeignete Ziffern und deren systematischen Anordnung-> elementar für die Mechanisierung/Automatisierung

in der Digital- sowie Rechentechnik

Polyadische Zahlensysteme geben den Ziffern ihren Wert in Abhängigkeit von ihrer Stelle innerhalb der systematischen stellenorientierten Anordnung

Das Dezimalsystem ist der uns geläufigste Vertreter der polyadischen Zahlensysteme

Die Stellenwerte entsprechen den Potenzen der Basis des jeweiligen polyadischen Zahlensystems

Page 98: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung3

Polyadische Zahlensysteme: AufbauBeispiele:

168910 = 1 * 103+ 6 * 102+ 8 * 101 + 9 * 100 = 168910223 = 1 * 33 + 0 * 32 + 2 * 31 + 2 * 30 = 3510112 = 1 * 23 + 0 * 22 + 1 * 21 + 1 * 20 = 114112 = 4 * 121+ 1 * 120 = 49

Allgemein: Aufbau einer Zahl N

N = dn * Rn + ... + d1 * R1 + d0 * R0

N: Zahl im ZahlensystemR: Basis, (Grundzahl, Radix) R 2Ri: Wertigkeit der i-ten Stelledi: Ziffer der Stelle iZ: Menge der Ziffern: di Z = {0,1,2, ... , R-1}

Page 99: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung4

Polyadische Zahlensysteme: Beispiele (1)

Dualsystem (Binärsystem):RB = 2 (Basis)ZB = {0,1}

Beispiel:

11012 = 1 * 23 + 1 * 22 + 0 * 21 + 1 * 20 = 13

Lässt sich in Hardware effizient darstellen und verarbeiten

bei relativ kleinen Zahlen im Dualsystem sehr viele Ziffern zur Darstellung notwendig man fasst oftmals 3 oder 4 Ziffern zusammen resultiert in Oktal- oder Hexadezimalsystem

Page 100: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung5

Polyadische Zahlensysteme: Beispiele (1)

Dezimalzahlen Dualzahlen

103 102 101 100 24 23 22 21 20

0 01 12 1 03 1 14 1 0 05 1 0 16 1 1 07 1 1 18 1 0 0 09 1 0 0 1

1 0 1 0 1 0

: :: :

1 9 1 0 0 1 12 0 1 0 1 0 0

• Dualzahlen: Repräsentation einer

Zahl mit Binärstellenin polyadischer Dar-stellung und Interpretation

wenn Ziffernvorratin einer Stelle erschöpft,erfolgt ein Übertrag innächsthöhere Stelle

• Dualsystem: grundlegende Zahlen-

system für die numerische Verarbeitung in der Digitaltechnik

Zahlendarstellung im Dualsystem:

Page 101: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung6

Polyadische Zahlensysteme: Beispiele (2)Oktalsystem:

RO = 8

ZO = {0,1,2,3,4,5,6,7}

• 1 Ziffer im Oktalsystem entspricht genau 3 Ziffern im Dualsystem

Beispiele: Oktalzahlen

Dezimal: 0 1 2 3 4 5 6 7 8 9

Oktal: 0O 1O 2O 3O 4O 5O 6O 7O 10O 11O

Dezimal: 10 11 12 13 14 15 16 17 18 19

Oktal: 12O 13O 14O 15O 16O 17O 20O 21O 22O 23O

Page 102: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung7

Polyadische Zahlensysteme: Beispiele (3)

Hexadezimalsystem:RH = 16ZH = {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}

1 Ziffer im Hexadezimalsystem entspricht genau 4 Ziffern im Dualsystem2 Ziffern im Hexadezimalsystem zusammengefasst -> 1 Byte (8 Bit)

Beispiele: Hexadezimalzahlen

Dezimal: 0 1 ... 9 10 11 12 13 14 15 16

Hexadezimal: 0H 1H ... 9H AH BH CH DH EH FH 10H

Dezimal: 17 18 ... 158 159 160 161 162 163 164 ...

Hexadezimal: 11H 12H ... 9EH 9FH A0H A1H A2H A3H A4H ...

Page 103: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung8

Umrechnung: Dualsystem -> Oktal- bzw. Hexadezimalsystem

110B = 6O

011B = 3O

110 011B = 63O

1011 0010B = B2H

255D = FFH

Polyadische Zahlensysteme: Wandlung

• 3 Ziffern im Dualsystem werden zu genau1 Ziffer im Oktalsystem zusammengefasst

• 4 Ziffern im Dualsystem werden zu genau1 Ziffer im Hexadezimalsystemzusammengefasst-> sehr gut für byte-orientierte

Darstellungen-> 2 Hexadezimalzahlen = 1 byte

Also: kompaktere Darstellung grosser Dualzahlen im Oktal- bzw.

Hexadezimalsystem effizienter Darstellung, Codewandlung sowie Verarbeitung

Page 104: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung9

Polyadische Zahlensysteme: Wandlung

• Wenn die Basis eines Zahlensystems die Potenz der Basis eines anderen Zahlensystems ist, so sind Zahlen zwischen diesen Systemen sehr leicht umzuwandeln

• Zusammenfassung von mehreren Stellen zu einer einzelnen Ziffer

Beispiel 1:( 1011 0101 0001 )B

( B 5 1 )H

Beispiel 2:( 5 2 1 )O

( 101 010 001 )B

Wandlung von Zahlensystemen:

• Wandlung:-> Dual- in Hexadezimalsystem

• Wandlung:-> Oktal- in Dualsystem

Page 105: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung10

Polyadische Zahlensysteme: Wandlung

• Falls keine besondere Beziehung zwischen den Basen besteht, kann man die Umrechnung über das Dezimalsystem durchführen

Wandlung zunächst ins Dezimalsystem:

• Bekannte Formel: ND = dn * RDn + ... + d1 * RD

1 + d0 * RD0

Beispiel: (FA7E)H = ?D

( F A 7 E )H

( F*103 + A*102 + 7*101 + E*100 )H

( 15*163 + 10*162 + 7*161 + 14*160 )D

( 61440 + 2560 + 112 + 14 )D

= 64126D

Wandlung von Zahlensystemen:

Page 106: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung11

Polyadische Zahlensysteme: WandlungWandlung aus dem Dezimalsystem:

• Mit Hilfe einer Ganzzahldivision mit Rest kann Umwandlung vom Dezimalsystem in System mit der Basis R wie folgt durchgeführt werden:-> ND wird durch R dividiert (Ergebnis Stelle d0),-> entstehende Quotienten rekursiv nach gleichem Schema verarbeiten

Quotient 1, Rest 0

ND

R

d0

Quotient 2, Rest 1

d1

Quotient 3, Rest 2

Quotient 1R

Quotient 2R

d2

ND = ( d2 d1 d0 )R

...

Page 107: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung12

Beispiel: Wandlung der Dezimalzahl 2002 in Hexadezimalzahl

• Umrechnung von 2002D in das Hexadezimalsystem (R=16):

=

125 Rest 2

200216

2

=

7 Rest 13

D

=

0 Rest 7

12516

716

7

2002D = 7D2H

Polyadische Zahlensysteme: Wandlung

Page 108: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung13

Polyadische Zahlensysteme: Wandlung

• Wichtig: es ist wesentlich einfacher Zahlensysteme umzuwandeln, wenn man Ziffern jeweils separat und einzeln behandeln kann

• Bei der oft gebrauchten Umwandlung vom Dezimalsystem in das Dualsystem ist dies nicht möglich

• Abhilfe schafft der BCD-Code (Binary Coded Decimal)

• Dieser stellt jede Dezimalziffer durch eine 4-Bit Dualzahl dar

49D = ( 0100 1001 )BCD

• Die 10 Codewörter, die den Ziffern zugeordnet sind, werden Tetradegenannt. Die unbenutzten Codewörter werden Pseudotetrade genannt

Pseudotetrade: 1010, 1011, 1100, 1101, 1110, 1111

Page 109: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung14

Digitaltechnik: Rechenoperationen

Automatisierte Rechenoperationen sind von zentraler Bedeutung Basisoperationen sind: +, -, *, /

Technische Realisierung: Kosten (Platzbedarf) und Performanz wichtig!

Überlegung: welche Operationen direkt als Schaltung realisieren ?

Rechnen kann man grundsätzlich in allen Zahlensystemen

Im Dualsystem benötigt man besonders wenig Regeln:

Regel 1: 0 + 0 = 0

Regel 2: 0 + 1 = 1 + 0 = 1

Regel 3: 1 + 1 = 10

Regel 4: 1 + 1 + 1 = 11

Page 110: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung15

Digitaltechnik: RechenoperationenAddition:

Dualzahlen können mit den vorangegangenen Regeln so addiert werden, wie man das schriftliche Addieren schon in der Grundschule lernt

1 0 1 1 0 0 + 1 1 1 1 0 1 1 1 1 Übertrag

1 0 0 1 0 1 0

benutzte elementare Regel: 3 3 4 3 2 1

Page 111: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung16

Digitaltechnik: Rechenoperationen

Subtraktion:Beim Subtrahieren von Dualzahlen bedient man sich einem Trick:der Komplementbildung

Statt beispielsweise zwei 8-Bit Dualzahlen direkt zu subtrahieren erweitert man mit einer 9-stelligen Dualzahl wie folgt:

a - b = ( a + (1 0000 0000B - b) ) - 1 0000 0000B

c

• Das Zweierkomplement c lässt sich sehr einfach wie folgt berechnen:

c = 1 0000 0000B - b = ( 1111 1111B - b ) + 1B

d

Page 112: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung17

Subtraktion:Dadurch hat man allgemeine Subtraktion durch folgendes ersetzt:

a - b = ( a + (1111 1111B - b + 1) ) - 1 0000 0000B

Addition und Inkrementierung (+1) und zwei spezielle Subtraktionen

Digitaltechnik: Rechenoperationen

Einfache Subtraktionen (Sonderfälle):

• ( 1111 1111B - b ) berechnet man durch Invertieren aller 8 Bits von b

• ( d - 1 0000 0000B ) berechnet man wie folgt:

• Wenn Bit 9 von d gesetzt ist: • Ergebnis positiv -> Bit 9 von d abschneiden, fertig

• Wenn Bit 9 von d gleich null ist:• Ergebnis negativ-> Betrag erhält man durch Zweierkomplement:

Betrag = ( 1111 1111B - d ) + 1

Page 113: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung18

Beispiel: Subtraktion 21 - 3 = ?

a = 21D = 0001 0101B

b = 3D = 0000 0011B

c = (1 0000 0000B - b) = 1111 1111B - b + 1 = 1111 1100B + 1 = 1111 1101B

a - b = (d - 1 0000 0000B) = 0001 0010B = 18D

a: 0 0 0 1 0 1 0 1 + c: + 1 1 1 1 1 1 0 1

1 1 1 1 1 1 1

d: 1 0 0 0 1 0 0 1 0

Digitaltechnik: Rechenoperationen

Page 114: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung19

Beispiel: Subtraktion 3 - 21 = ?

a = 3D = 0000 0011B

b = 21D = 0001 0101B

c = (1 0000 0000B - b) = 1111 1111B - b + 1 = 1110 1010B + 1 = 1110 1011B

• a - b = (d - 1 0000 0000B) < 0

• |a - b| = (Zweierkomplement von d) = 1111 1111B - d + 1 = 0001 0010B = 18D

a: 0 0 0 0 0 0 1 1 + c: + 1 1 1 0 1 0 1 1

1 1

d: 0 1 1 1 0 1 1 1 0

Digitaltechnik: Rechenoperationen

Page 115: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung20

BCD-Code (Binary Coded Decimal)Rechnen im BCD-Code

Zentrale Stellung des Dezimalsystems: Konversion stärker unter Betonung der dezimalen Aspekte dezimalstellenweise Wandlung in Dualform (Binärform)

Wie in den unterschiedlichen Zahlensystemen können auch BCD-kodierte Zahlen verrechnet werden

Bei der BCD-Addition: Pseudotetrade können entstehen

Zur Korrektur: zu Pseudotetraden und bei jedem Übertragnoch 6D = 0110B addiert werden

Bei der Addition von BCD-kodierten Zahlen kann der Bereich der Pseudotetraden nur einmal „überschritten“ werden es genügt in jedem Fall eine Korrektur

Digitaltechnik: Rechenoperationen

Page 116: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung21

Beispiel: Addieren im BCD-Code

Addition von 839D und 862D

1 1 1 Endergebnis: 1 0111 0000 0001 = 1701D

Korrektur wegen: Pseudotetrade+0110

1 1 1

1 0110 1010 0001

Korrektur wegen: Übertrag Pseudotetrade+0110 +0110

1

1 0000 1001 1011

1000 0011 1001 839D

+ 1000 0110 0010 + 862D

Digitaltechnik: Rechenoperationen

Page 117: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung22

Erweiterungen BCD-Code (1): STIBITZ-Code

es hat nicht an Versuchen gefehlt die negativen Eigenschaftendes BCD-Codes zu vermeiden

Für die Subtraktion mit Hilfe der Komplementbildung ist es nützlich, dass die Codewörter mit Ziffern symmetrisch angeordnet sind

Der STIBITZ- oder Exzess-3-Code erreicht dies, indem alle Tetradenim Vergleich zum BCD-Code um 3D = 0011B größer sind:

Dezimal 0 1 2 3 4STIBITZ 0011 0100 0101 0110 0111STIBITZ 1000 1001 1010 1011 1100Dezimal 5 6 7 8 9

Digitaltechnik: Rechenoperationen

Page 118: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung23

Erweiterungen BCD-Code (1): Addition im STIBITZ-Code

Codewörter für Ziffern 0, ..., 4 sind spiegelbildlich komplementär zu Ziffern 5, ..., 9

Bei Übertrag: 0011B muss addiert werden

Ohne Übertrag: es muss 0011B abgezogen werden, was durch Additionvon 1101B ohne Übertrag erreicht werden kann

Digitaltechnik: Rechenoperationen

1 1 1 1 1 1

0110 1011 0100 = 381D

0100 0110 1100 139D

+ 0101 0111 0101 + 242D1 1 1 1 1 1

1001 1110 0001

ÜbertragKorrektur: +1101 +1101 +0011

Page 119: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung24

Digitaltechnik: Rechenoperationen

Erweiterungen BCD-Code (2): AIKEN-Code

• Auch beim Aiken-Code sind die Codes der Ziffern symmetrischangeordnet, um eine einfache Komplementbildung zu ermöglichen

Dezimal 0 1 2 3 4 AIKEN 0000 0001 0010 0011 0100 AIKEN 1111 1110 1101 1100 1011 Dezimal 9 8 7 6 5

• Der Aiken-Code wird auch 2-4-2-1-Code genannt, da dies den Stellenwerten der einzelnen Binärstellen entspricht

1101AIKEN = 1 * 2 + 1 * 4 + 0 * 2 + 1 * 1 = 7D

Page 120: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung25

Digitaltechnik: Zahlendarstellung

Byte:

0 0 0 0 x x x x 0 0 0 0 x x x x

x x x x x x x x Byte-Codewort (packed code)

Dezimalstelle 2 Dezimalstelle 1

BCD-Codewörter (unpacked code)

Kompakte Zahlendarstellung:

• vorgestellte Codes für Dezimalziffern verwenden 4 Bit pro Ziffer Zusammenfassung von 2 binär dargestellten

Dezimalstellen zu einem Byte

• Kompaktere Darstellung von BCD-Zahlen und Codes

Page 121: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung26

• Die bisher vorgestellten Codes haben das Problem, dass durch die Anzahl der Codewörter auch der Zahlenraum eingeschränkt ist

• Problemursache: den Ziffern sind feste Stellenwerte zugeordnet, womit allenfallssogenannte Festkommazahlen realisierbar sind

• Die Lösung ist, wie bei wissenschaftlichen Zahlennotationen üblich, die Angabe eines zusätzlichen Exponenten

• Die Darstellung von Zahlen durch Mantisse und Exponent wird Gleitkommazahl genannt

Beispiel:1,2345 * 1067

Digitaltechnik: Zahlendarstellung

Page 122: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung27

Digitaltechnik: Zahlendarstellung• Da Gleitkommazahlen auf sehr unterschiedliche Weise kodiert werden

können, hat der IEEE Richtlinien festgelegt, wie Gleitkommazahlen dargestellt werden sollen

Gleitkomma-Zahlendarstellung gemäß IEEE-Standard

Vorzeichen Exponent MantisseV 2-1 2-2 2-3 2-4 2-5 ... 2-1 2-1 2-23

Bit 31 30 23 22 0

Exponent E Mantisse M Wert

2550M

0

2550 < E < 255

00

ungültig (NAN)0

0

- 1V · (unendlich)

- 1V·2E-127 ·(1,M)- 1V·2-126 ·(0,M)

- 1V · 0

Page 123: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung28

Digitaltechnik: Zahlendarstellung

Gleitkomma-Zahlendarstellung gemäß IEEE-Standard:

Die Zahl π mit 7 Dezimalstellen hinter dem Komma im IEEE-Format dargestellt:

BD 1011111101100010010000,111415926,3

BD 01001111110111001001000,1)21( 1271280

Ergebnis: 0 10000000 10010010000111111011010

Page 124: Alle Vorlesungspdfs DT

www.kit.edu

Institut für Technik der Informationsverarbeitung

Karlsruher Institut für Technologie (KIT)

Digitaltechnik

Prof. Dr.-Ing. J. [email protected]

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Zahlendarstellung und Komplement

Page 125: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung2

Höchstes Bit ist Vorzeichen: 0 = positiv (oder NULL), 1 = negativ

Die restlichen Bits der Betrag: 0 (000) bis 7 (111)

Zahlenbereich für n Bits = +/- 2

Darstellung der Null: 0000 und 1000

ZahlendarstellungBetrags- und Vorzeichendarstellung

0000

0111

0011

1011

11111110

1101

1100

1010

10011000

0110

0101

0100

0010

0001

+0+1

+2

+3

+4

+5

+6+7-0

-1

-2

-3

-4

-5-6

-7

0 100 = + 4 1 100 = - 4

+

-

n-1

Page 126: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung3

Vorzeichen und Betrag

Schwerfällige Addition/Subtraktion

Vergleich der Beträge nötig zur Bestimmung des Vorzeichens vom Ergebnis

1er Komplement

N ist positive Zahl, dann ist N zugehöriges negatives 1er Komplement

N = (2 - 1) - Nn

Bsp.: 1er Komplement von 7

2 = 10000

-1 = 00001

1111

-7 = 0111

1000 = -7 in 1er Komp.Schnelle Methode:

Bitweises Komplement einfach berechnen:

0111 -> 1000

4

Zahlendarstellung

Page 127: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung4

1er Komplement

Subtraktion realisiert durch Addition und 1er Komplement

Zwei Darstellungen der Null: Macht Probleme !!!

Addition ist nicht einfach durchzuführen !!!

0000

0111

0011

1011

11111110

1101

1100

1010

10011000

0110

0101

0100

0010

0001

+0+1

+2

+3

+4

+5

+6+7-7

-6

-5

-4

-3

-2-1

-0

0 100 = + 4 1 011 = - 4

+

-

Zahlendarstellung

Page 128: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung5

0000

0111

0011

1011

11111110

1101

1100

1010

10011000

0110

0101

0100

0010

0001

+0+1

+2

+3

+4

+5

+6+7-8

-7

-6

-5

-4

-3-2

-1

0 100 = + 4 1 100 = - 4

+

-

Nur eine Darstellung der Null

Eine negative Zahl mehr als positive

wie 1er Kompl.,zusätzlich jedochum eine Position im Gegenuhr-zeigersinnverschoben

Zahlendarstellung2er Komplement (K2)

Page 129: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung6

N* = 2 - Nn

Bsp.: 2er Komplement von 7

2 = 10000

7 = 0111

1001 = -7 im 2er Kompl.

Bsp.: 2er Komplement von -7

4

2 = 10000

-7 = 1001

0111 = 7 im 2er Kompl.

4

sub

sub

Schnelle Methode:2er Komplement = Bitweises Komplement + 1

0111 -> 1000 + 1 -> 1001 (Darstellung von -7)

1001 -> 0110 + 1 -> 0111 (Darstellung von 7)

Zahlendarstellung2er Komplement (K2) Zahlen

Page 130: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung7

Vorzeichen und Betrag

4

+ 3

7

0100

0011

0111

-4

+ (-3)

-7

1100

1011

1111

Ergebnisvorzeichenbitentspricht den Vorzeichenbits der Operanden

4

- 3

1

0100

1011

0001

-4

+ 3

-1

1100

0011

1001

Unterscheiden sich Die Vorzeichen, hängt das Ergebnis von den Beträgen der Operanden ab

ZahlendarstellungAddition und Subtraktion

Page 131: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung8

4

+ 3

7

0100

0011

0111

-4

+ (-3)

-7

1100

1101

11001

4

- 3

1

0100

1101

10001

-4

+ 3

-1

1100

0011

1111

Wenn Carry-in = Carry-outdann ignoriere Carry

Wenn Carry-In ungleichCarry-Out dann Überlauf!

Einfaches Vorgehen bei der Addition macht die 2er-Komplement-Darstellung zur ersten Wahl für

Integer-Berechnung in digitalen Systemen

ZahlendarstellungAddition und Subtraktion von binären Zahlen

2er Komplement Berechnungen

Page 132: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung9

Warum kann Carry-Out ignoriert werden?

-M + N wenn N > M:

M* + N = (2 - M) + N = 2 + (N - M)n n

Ignorieren des Carry-out ist wie Subtraktion von 2 n

-M + -N wobei N + M < oder = 2n-1

-M + -N = M* + N* = (2 - M) + (2 - N)

= 2 - (M + N) + 2n n

Nach dem Ignorieren des Carry die richtige K2-Darstellung für -(M + N)!

n n

ZahlendarstellungAddition und Subtraktion von binären Zahlen

2er Komplement Berechnungen

Page 133: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung10

5

3

-8

0 1 1 10 1 0 1

0 0 1 1

1 0 0 0

-7

-2

7

1 0 0 01 0 0 1

1 1 1 0

1 0 1 1 1

5

2

7

0 0 0 00 1 0 1

0 0 1 0

0 1 1 1

-3

-5

-8

1 1 1 11 1 0 1

1 0 1 1

1 1 0 0 0

Überlauf Überlauf

Kein Überlauf Kein Überlauf

Überlauf, wenn Carry-In ungleich Carry-Out!!!

ZahlendarstellungÜberlauf Bedingungen:

Page 134: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung11

+

A3 B3

S3

+

A2 B2

S2

+

A1 B1

S1

+

A0 B0

S0C1C2C3

GeschachtelterMulti-bit Addierer

Allgemein: Addition von mehr als zwei Bits notwendig Volladdierer wird benötigt

Schaltungen für binäre AdditionVoll-Addierer

Page 135: Alle Vorlesungspdfs DT

www.kit.edu

Institut für Technik der Informationsverarbeitung

Karlsruher Institut für Technologie (KIT)

Digitaltechnik

Prof. Dr.-Ing. J. [email protected]

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Codewandlung/Umschaltung

Page 136: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung2

Codewandlung• Bei der Entwicklung unabhängiger Teilsysteme ist es oft der Fall, dass

diese mit unterschiedlichen Codes arbeiten. Daher benötigt man diverse Codewandlungen

• Hohe Systemzahl -> viele unterschiedliche Codewandlungen

Beispiel 1: BCD 7-Segment:

• 7-Segment Anzeigen-> effiziente Art, Zahlen digital anzuzeigen

• Der 7-Segment-Code ordnet jedem Segment ein Bit zu

• Umwandlung:-> die Zuordnung der 7-Segment Bits (Ausgabe der Wandlung)

zu dem Wert der Ziffer im BCD-Code (Eingabe der Wandlung)

Page 137: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung3

CodewandlungBeispiel 1: BCD 7-Segment

a

g

d

f b

ce

Ziffer BCD 7-Segment(abcdefg)

0 0000 11111101 0001 01100002 0010 11011013 0011 11110014 0100 01100115 0101 10110116 0110 10111117 0111 11100008 1000 11111119 1001 1111011

Zuordnung: BCD-Codewörter -> Segmentbitwerte

Page 138: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung4

CodewandlungBeispiel 2: Gray-Code nach Dualzahl:

Gray-Code 000 001 011 010 110 111 101 100Dualzahl 000 001 010 011 100 101 110 111

Beispiel 3: ASCII nach BCD für Dezimalzahlen 0 ... 9:

Zeichen: 0 1 2 3 4

ASCII-Code:

BCD-Code:

0110000

0000

0110001

0001

0110010

0010

0110011

0011

0110100

0100

Zeichen:

ASCII-Code:

BCD-Code:

5 6

0110101

0101

0110110

0110

7 8

0110111

0111

0111000

1000

9

0111001

1001

Page 139: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung5

Codeumschaltung• Verbreitete Code-Eigenschaft:

meistens ist die Anzahl der Alphabetzeichen höchstens 2m, wenn m die zur Codierung verwendeten Binärstellen sind

• Jedoch: Kostenmäßige, zeitliche und geometrische Randbedingungen

Anzahl an Binärstellen nicht ausreichend

• Mögliche Lösung: Codeumschaltung Codewörter werden mehrfach belegt Codewortbedeutung durch spezielle Umschaltzeichen änderbar

• Solche Umschaltcodes arbeiten genauso wie die Umschalttasten auf der Tastatur oder beim Taschenrechner (shift, ctrl, 2nd,...)

• Besonders effizient: Umschaltcodes: eine Gruppe von Zeichen kommt sehr selten vor,

oder Zeichen aus einer Gruppe treten häufig auf

Page 140: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung6

Codeumschaltung• Bei der Codeumschaltung gibt es drei verschiedene Arten von

Codewörtern:

• Codewörter, deren Bedeutung umgeschaltet wird• Spezielle Codewörter, die eine Umschaltung der

Zeichengruppen bewirken• Codewörter, die unabhängig von der Umschaltung

immer gleich sind

• Die notwendige Anzahl der speziellen Umschalt-Codewörter, entspricht der Anzahl der Gruppen von Zeichen

Page 141: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung7

Codeumschaltung: FernschreibercodeBeispiel: Fernschreibercode (5 Bit, 32 Codewörter)

• Gruppen à 26 Codewörter (hier zunächst ein Auszug dargestellt)

• Buchstaben (A-Z)• Ziffern, Sonderzeichen,...

• Fernschreibcode nach CCITT Nr.2:

• 2 Hauptgruppen: 2 spezielle Umschaltzeichen notwendig- Umschaltung auf Buchstaben, Umschaltung auf Ziffern

• 4 feste Codewörter: unabhängig von Umschaltung immer gleich

- Wagenrücklauf, Zeilenvorschub, Leerzeichen, unbenutztes Codewort

CW 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16Bu A B C D E F G H I J K L M N O PZi 3 8 9 0

Code-Auszug:

Page 142: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung8

Beispiel: Fernschreibercode (5 Bit, 32 Codewörter)

kompletter Code

Codeumschaltung: Fernschreibercode

Codeworte m i t Um schal tung Steuerzeichen

1

1

1

0

0

1

1

0

1

0

1

0

0

1

0

0

0

1

1

1

1

1

0

1

0

0

0

0

0

0

0

1

1

1

0

1

1

0

0

0

1

1

0

1

1

1

1

0

1

0

1

0

1

1

1

1

0

0

0

1

0

0

0

0

Nr.

0

0

0

1

0

1

1

2

1

1

0

1

0

3

0

4

0

0

1

1

0

5

0

6

0

1

1

0

1

7

1

8

1

0

0

1

0

9

0

10

1

1

0

0

0

11

1

12

1

1

1

1

1

13

0

14

0

1

1

0

1

15

1

16

1

0

0

1

1

17

0

18

1

0

0

0

0

19

1

20

1

0

1

1

0

21

1

22

0

0

1

1

1

23

1

24

1

0

0

0

1

25

1

26

1

1

0

1

1

27

1

28

0

1

0

0

0

29

0

30

1

0

0

0

0

31

0

32

Bu

Zi

A B C D E

3

F G H I

8

J K L M N O

9

P

0

Q

1

R

4

S T

5

U

7

V W

2

X Y

6

Z Bu Zi WR ZL ZR LZ

Page 143: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung9

Umschaltcodes: Anzahl Codewörter

Zahl der möglichen CodewörterN Zahl der Codewörterm Anzahl der Binärstellen der Codewörteri Zahl der allen Gruppen gemeinsamen Zeichenj Zahl der Gruppen und damit UmschaltzeichenN‘ Zahl der nutzbaren Codewörter je GruppeN‘‘ Zahl der mit Umschaltung darstellbaren Zeichen

• Es gilt: N‘ = 2m - i – j und N‘‘ = j * N‘ + i

• Gesucht: ist ein Code mit N‘‘ N mit minimalem j

Beispiel: Darstellung im Fernschreibcode

Page 144: Alle Vorlesungspdfs DT

www.kit.edu

Institut für Technik der Informationsverarbeitung

Digitaltechnik

Karlsruher Institut für Technologie (KIT)

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Prof. Dr.-Ing. J. [email protected]

Mathematische Grundlagen- Mengen -

Page 145: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung2

MengenEine Menge M ist die Zusammenfassung von endlich oder unendlich vielen ObjektenDie Objekte müssen unterscheidbar seinDa Mengen auch unendlich viele Objekte enthalten können, werden sie manchmal auch als umrandete Gebiete gezeichnet

1,3

A Menge M

Elemente(Objekte)

Beispiel:

Aussagen über Mengen

• w M bedeutet, dass w in der Menge M enthalten ist

• 2,5 M sagt aus, dass kein Element der Menge gleich 2,5 ist

Page 146: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung3

Definition von Mengen

Angabe der Elemente

Endliche Mengen können durch Angabe der Elemente definiert werden:

M1 = { c,d,f }M2 = { 5,2,9 }

Platzsparende Angabe für einfache Folgen:M3 = { 1,2,3,...,100 }

Um Mehrdeutigkeiten aus dem Weg zu gehen, gibt es unterschiedlichste Schreibweisen

M4 = { 0,1 / 0,2 / 0,5 / 0,7 }

Page 147: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung4

Definition von MengenAngabe durch Konstruktionsvorschrift und Bedingungen

Allgemein:M = { Vorschrift | Bedingungen }

Beispiele:

Endliche oder abzählbare Mengen

M1 = { x | x2 + 3x + 1 = 0 }M2 = { 2x + 1 | x ganzzahlig, x > 0, x < 100 }

Abzählbar unendliche Mengen

IN = { x | x ganzzahlig, x > 0 }

Überabzählbar unendliche Mengen

M3 = { x | x ist reelle Zahl, x > 0 }

Page 148: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung5

MengenVergleich:

Zwei Mengen sind genau dann gleich, wenn sie die gleichen Elemente enthalten

Beispiel:{ 1, 3, 8, 11 } = { 3, 11, 1, 8 }

{ 2x - 1 | x ganze Zahl } = { 2x + 1 | x ganze Zahl }

{ x | x2 = 1 } = { 1, -1 }

Page 149: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung6

MengenMächtigkeit der Menge:

Die Anzahl der Elemente einer Menge wird als Mächtigkeit oder Kardinalität bezeichnet

Beispiele:M = { x, y, z } |M| = 3L = { x | x2 - 2x = 5 } |L| = 2

Leere Menge:

Die Menge, die kein Element besitzt, wird leere Menge genannt

Ø = { x | x + 2 = x } = {} |Ø| = 0

Page 150: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung7

MengenUntermenge:

Eine Menge S heißt Untermenge oder Teilmenge von M genau dann, wenn jedes Element von S zu M gehört

1,3

A M

S

• Man schreibt:

S M

• Falls S ungleich M ist, so sagt man: „S ist echte Untermenge von M“und schreibt:

S M

Page 151: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung8

UntermengenBeispiele:

xy

z

1 2

3

...99

100Ø

M1 M2 M3

M2 M3Ø M1Ø M3Ø M2

• Die leere Menge ist Untermenge jeder beliebigen Menge

4

Page 152: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung9

MengenPotenzmenge:

Die Menge aller Untermengen einer Menge M heißt Potenzmenge P von M:

0

1

M = { 0, 1 } M

S0 = { 0 } M

S1 = { 1 } M

Ø = { } M

M = { 0, 1 } P(M) = { Ø, S0, S1, M } = { { }, { 0 }, { 1 }, { 0, 1 } }

|M| = 2 |P(M)| = 2|M| = 4

• Achtung bei der leeren Menge:

|Ø| = 0 P(Ø) = { Ø } |P(Ø)| = 1

Page 153: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung10

MengenoperationenVereinigung:

Die Vereinigung zweier Mengen S und T ist die Menge aller Elemente x, die mindestens einer der Mengen S und T angehören:

V = S T = { x | x S oder x T }

TS

Page 154: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung11

Mengenoperationen

S T

Durchschnitt:

Der Durchschnitt zweier Mengen S und T ist die Menge aller Elemente x, die sowohl der Menge S als auch der Menge T angehören:

V = S T = { x | x S und x T }

Page 155: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung12

MengenoperationenDurchschnitt:

Für den Durchschnitt gilt allgemein:

Ø S T S S T

Ø S T T S T

0 |S T| |S| |S T|

0 |S T| |T| |S T|

Page 156: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung13

MengenDisjunkte Mengen:

gibt es kein Element x, das sowohl zur Menge S als auch zur Menge Tgehört, so heißen S und T disjunkt oder elementefremd

TS

• In diesem Fall gilt:

S T = Ø

|S T| = 0

|S T| = |S| + |T|

Page 157: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung14

MengenoperationenKomplement:

Sei S M

Dann heißt die Menge aller Elemente von M, die nicht zu S gehören, das Komplement von S bezüglich M

Man schreibt: CM(S)

Die Menge M wird in diesem Zusammenhang auch als Bezugsmenge bezeichnet

S

M

CM(S)

Page 158: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung15

MengenoperationenGrenzfälle der Komplementbildung:

CM(M) = Ø Me1

e2 e3

ene3 ...CM(M)

Ø

Me1

e2 e3

ene3 ...CM(Ø)

Ø

CM(Ø) = M

Page 159: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung16

MengenoperationenDas kartesische Produkt:

Unter dem kartesischen Produkt S x T (gesprochen: „S kreuz T“) zweier Mengen S und T versteht man die Menge aller geordneten Paare (s,t) mit s S und t T

Das kartesische Produkt ist nicht kommutativ d.h. i.a.:

S x T T x S

Für die Mächtigkeit gilt:

|S x T| = |S| · |T|

Beispiel:

S = { 0, 1 } T = { x, y, z } |S| = 2 |T| = 3

S x T = { (0,x), (0,y), (0,z), (1,x), (1,y), (1,z) } |S x T| = 2 · 3 = 6

T x S = { (x,0), (x,1), (y,0), (y,1), (z,0), (z,1) } |T x S| = 3 · 2 = 6

Page 160: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung17

MengenoperationenDas kartesische Produkt:

Das n-fache kartesische Produkt Sn der Menge S mit sich selbst ist die Menge aller geordneten n-Tupel ( r, s, ..., z ) mit r S, s S, ..., z S

Sn = S x S x ... x S |Sn| = |S|n

Beispiel:

S = { 0, 1 }

S2 = { (0,0), (0,1), (1,0), (1,1) }

S3 = { (0,0,0), (0,0,1), (0,1,0), (0,1,1), (1,0,0), (1,0,1), (1,1,0), (1,1,1) }

IR = { x | x ist reelle Zahl }

IR3 = { (x,y,z) | x, y und z sind reelle Zahlen }

kartesisches Koordinatensystem

Page 161: Alle Vorlesungspdfs DT

www.kit.edu

Institut für Technik der Informationsverarbeitung

Digitaltechnik

Karlsruher Institut für Technologie (KIT)

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Prof. Dr.-Ing. J. [email protected]

Mathematische Grundlagen- Relationen -

Page 162: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung2

RelationenWas sind Relationen?

Relationen verallgemeinern die Prinzipien von Vorschriften wie x < y oder A B und stellen sie auf eine formale Grundlage

zweistellige Relation zwischen zwei Mengen X und Y: Vorschrift für beliebige Elemente x X und y Y setzt fest, ob x in Beziehung zu y steht

Steht x in der Beziehung zu y, so schreibt man:sonst:

Gilt X = Y so spricht man von einer Relation auf oder in einer Menge

yxyx

Page 163: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung3

RelationenEigenschaften von Relationen

Bei zweistelligen Relationen auf einer Menge interessiert man sich für einige spezielle Eigenschaften

Reflexivität

wenn x x für beliebige x gilt, so ist die Relation reflexiv

Beispiel:

‚=‘ ist eine reflexive Relation, da x = x immer gilt

‚‘ ist reflexiv auf den reellen Zahlen, da x x für alle x gilt

‚‘ ist reflexiv, da jede Menge Untermenge von sich selbst ist

Page 164: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung4

Eigenschaften von RelationenSymmetrie

Wenn aus x y auch y x folgt so ist die Relation symmetrisch

Beispiele:

‚=‘ ist symmetrisch

Die Relation „ist Freund von“ ist meist symmetrisch

Page 165: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung5

Eigenschaften von RelationenAntisymmetrie

Wenn aus x y und y x folgt, dass x = y ist so ist antisymmetrisch

Antisymmetrie ist nicht das Gegenteil von Symmetrie

Beispiele:

‚=‘ ist sowohl symmetrisch als auch antisymmetrisch!

‚<‘ ist antisymmetrisch

‚‘ ist antisymmetrisch

Page 166: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung6

Eigenschaften von RelationenTransitivität

Wenn aus x y und y z folgt, dass x z gilt so ist transitiv

Beispiele:

‚=‘ ist transitiv

‚<‘ ist transitiv

‚‘ ist transitiv

Die Relation „ist älter als“ ist transitiv

Page 167: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung7

RelationenTypen von Relationen

Anhand der vorgestellten Eigenschaften können Relationen bestimmten Typen zugeordnet werden

Ordnungsrelation• Eine Ordnungsrelation muss folgende Eigenschaften besitzen:

• reflexiv• antisymmetrisch• transitiv

Beispiele:• ‚=‘ ist Ordnungsrelation

• ‚‘ ist Ordnungsrelation

• Die Relation „ist mindestens so alt wie“ ist Ordnungsrelation

Page 168: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung8

RelationenStrenge Ordnungsrelation

Eine strenge Ordnungsrelation muss folgende Eigenschaften besitzen:

antireflexiv (x x gilt für kein x)

antisymmetrisch

transitiv

Die meisten Relationen, die man auch instinktiv als ordnend bezeichnen würde sind entweder eine Ordnungsrelation oder eine strenge Ordnungsrelation

Beispiele:

‚<‘ ist eine strenge Ordnungsrelation

Die Relation „ist schneller als“ ist eine strenge Ordnungsrelation

Page 169: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung9

RelationenÄquivalenzrelation

Eine Äquivalenzrelation muss folgende Eigenschaften besitzen:

reflexiv

symmetrisch

transitiv

Als Zeichen für ‚‘ wird bei Äquivalenzrelationen ‚‘ verwendet

Teilt die Elemente in disjunkte Teilmengen auf -> Äquivalenzklassen

Beispiele:

‚=‘ ist selbstverständlich eine Äquivalenzrelation

„x y |x| = |y|“ ist für Vektoren eine Äquivalenzrelation

Page 170: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung10

RelationenVerträglichkeitsrelation

Eine Verträglichkeitsrelation muss folgende Eigenschaften besitzen:

reflexiv

symmetrisch

nicht transitiv

Als Zeichen für ‚‘ wird bei Verträglichkeitsrelationenhäufig ‚~‘ verwendet

Beispiele:

Relation für Menschen „verträgt sich mit“ ist Verträglichkeitsrelation

Verträglichkeitsrelationen treten bei Problemen auf, bei denen bestimmte Paarungen ausgeschlossen sind

z.B.: “zwei Leitungen führen zur gleichen Zeit ein Signal“

Page 171: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung11

RelationenÜberdeckungsproblem

Ein häufig auftretendes Grundproblem das sogenannte Überdeckungsproblem

Beispiel: “wie viele Parties man mindestens feiern muss,

um alle Freunde so einzuladen, dass keine zwei Freunde, die sich nicht vertragen, zur gleichen Party eingeladen werden“

Die Grundlage des Problems: eine Verträglichkeitsrelation

Page 172: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung12

ÜberdeckungsproblemProblemstellung

Es sei M die Menge der Freunde fi

M = { fi | fi ist Freund }

Gesucht sind Gästelisten (Teilmengen Gj)-> nur Freunde (fi) enthalten, für welche paarweise die

Verträglichkeitsrelation erfüllt ist

für alle fk, fm Gj gilt: fk fm

Eine Menge von solchen Parties (Gj) wird Überdeckung von Mgenannt, wenn jeder Freund (fi) in einer Gästeliste (Gj ) enthalten ist

= { Gj1, Gj2, ..., Gjn }

fi M gilt -> Gj mit fi Gj

Page 173: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung13

ÜberdeckungsproblemBeispiel:

Gäste:

M = { a, b, c, d, e }

Verträglichkeit:

Gästelisten:

G1 = { a, b }G2 = { c, e, d }G3 = { b, d, e }G4 = { a }

Überdeckungen:

a = { G1, G2 } ist Überdeckungb = { G2, G3 } ist keine Überdeckungc = { G2, G3 , G4 } ist Überdeckung

ca cb ea

a b

e

d

c

c G3

G2

G4

a b

e

d

c

aG1

G2

Page 174: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung14

ÜberdeckungsproblemÜberdeckungsrelation

bestimmtes Element fi von einer Teilmenge Gj überdeckt eine Relation zwischen der Menge der Elemente aus M

und der Menge der Teilmengen

Diese Relation wird Überdeckungsrelation genannt

Sie wird zweckmäßigerweise als „ x M“-Matrix dargestellt

Struktur der Überdeckungstabelle:

Überdeckte Größen MÜberdeckendeMengen f1 f2 ... fj

G1

G2

...Gj ist fj Gj ?

Page 175: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung15

ÜberdeckungsrelationBeispiele:

a a b c d eG1 X XG2 X X X

b a b c d eG2 X X XG3 X X X

c a b c d eG2 X X XG3 X X XG4 X

• b ist keine Überdeckung, da ‚a‘ von keiner Teilmenge überdeckt wird

Page 176: Alle Vorlesungspdfs DT

www.kit.edu

Institut für Technik der Informationsverarbeitung

Digitaltechnik

Karlsruher Institut für Technologie (KIT)

Prof. Dr.-Ing. J. [email protected]

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Mathematische Grundlagen- Graphen -

Page 177: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung2

GraphentheorieWas ist ein Graph?

Graphen dienen zur Abstraktion von Problemen abstrakte Darstellung von Zusammenhängen verbundene Objekte ( Relationen zwischen Objekten)

Bei Spielen wie Scotland Yard kommt es beispielsweise für die Strategie nicht darauf an, wie die Wege verlaufen, sondern nur welche Punkte wie miteinander verbunden sind

Graphen stellen das Problem durch Knoten und Kanten dar

Ein Graph muss mindestens einen Knoten besitzen

Kanten können je zwei Knoten verbinden

Page 178: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung3

GraphentheorieProblemerfassung:

1 2 3 4

5 6

• Darstellung der Zusammenhänge und Abhängigkeitsbeziehungen

• Hervorheben wesentlicher Beziehungen

Page 179: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung4

GraphentheorieRepräsentation durch einen Graphen:

1 2 3 4

5 6

• Abstraktion der Zusammenhänge und Abhängigkeitsbeziehungen

• Repräsentation der Beziehungen durch direkte Kantenverbindungen

Page 180: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung5

GraphentheorieGraph ohne Überschneidungen der Kanten:

1

2 34

5 6

a

b

cd

e f

g

• Weitere Vereinfachung/Optimierung der Abhängigkeitsbeziehungen ohne kreuzende Verbindungen

• Einfügen von Kantenbezeichnern

Page 181: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung6

Graphentheorie: Konkretes Beispiel

• Darstellung von Verkehrsbeziehungen im Karlsruher Stadtplan

wichtige Punkte

wesentliche Strassen-verbindungen

Page 182: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung7

Graphentheorie: Konkretes Beispiel

• Abstrahierte Darstellung der Verkehrsbeziehungen

Weglassen von Details: Bottom-up Abstraktion

exakte Geometrieder Verbindungen nicht relevant

A

B C D E

HGF

I

Page 183: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung8

Graphentheorie: Konkretes Beispiel

• Weitere Abstraktion in der Darstellung der Verkehrsbeziehungen

gerade Verbindungslinien

Störend in Darstellung:Kreuzung von Verbindungen

Page 184: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung9

Graphentheorie: Konkretes Beispiel

• Darstellung ohne kreuzende Verbindungen

planare Darstellung

Einfügen vonKantenbezeichnern

weiterhin:automatisierteVerarbeitung mitGraphenalgorithmen

Page 185: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung10

Graphentheorie: Abstrakter GraphFormale mathematische Beschreibung:

Weitere Abstraktion von der Bedeutung der Darstellungselemente: Verknüpfung mit der Begriffswelt der Mengen und Relationen

Graphen können ganz unabhängig von der Darstellung durch zwei Mengen und eine Abbildung beschrieben werden:

V = Menge der Knoten

E = Menge der Kanten

(e) ordnet jeder Kante e E zwei Knoten aus V zu-> diejenigen, die durch die Kante e verbunden sind

G ( V, E, ) wird abstrakter Graph genannt

Page 186: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung11

Graphentheorie: Abstrakter GraphBeispiel:

V = { 1, 2, ..., 6 }

E = { a, b, ..., g }

: E { v, w } v, w V

(a) = { 1, 5 }

(b) = { 1, 2 }

(c) = { 2, 3 }

(d) = { 2, 4 }

(e) = { 4, 5 }

(f) = { 2, 6 }

(g) = { 5, 6 }

1

2 34

5 6

a

b

cd

e f

g

Page 187: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung12

Graphentheorie: Gerichteter GraphGerichteter Graph:

Für manche Probleme benutzt man auch gerichtete Graphen Kanten haben eine festgelegte Richtung

Bei gerichteten Graphen gilt: bildet Kanten auf geordnetes Knoten-Tupel aus V x V ab

Ein gerichteter Graph muss mindestens eine Kante zwischen zwei Knoten (g,h) besitzen, so dass keine Kante in umgekehrter Richtung (h,g) existiert

Gerichtete Graphen werden auch als Digraphen bezeichnet

21

3 4

Page 188: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung13

Graphentheorie: Ungerichteter GraphUngerichteter Graph:

Ungerichtete Graphen sind immer auch mit gerichteten Kanten darstellbar zu jeder Kante existiert eine weitere Kante in

umgekehrter Richtung

Beispiel:

BA

C D

BA

C D

BA

C D

Page 189: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung14

Graphentheorie: BegriffeSprechweisen:

Verbindet die Kante e die Knoten g und h, so sagt man: „e ist inzident zu g bzw. zu h“ und schreibt:

(e) = ( g, h ) für gerichtete Graphen

(e) = { g, h } = { h, g } für ungerichtete Graphen

wird daher Inzidenzabbildung genannt Graph lässt sich formal durch eine Inzidenzmatrix beschreiben

die Knoten g und h heißen adjazent zur Kante e

Adjazenzmatrix weitere Möglichkeit zur formalen Beschreibung eines

Graphen

Page 190: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung15

Graphentheorie: BegriffeGlobale Charakterisierung von Graphen:

Der Graphentheorie fehlt es selbstverständlich nicht an Begriffen,um die unerschöpfliche Vielfalt der Graphen zu kategorisieren

Im folgenden wollen wir uns nur mit Graphen beschäftigen, deren Mengen V und E endlich sind:

endliche Graphen (insbesondere für technische Anwendungen)

Ist die Menge der Kanten E leer so handelt es sich um einen entarteten Graphen dieser besteht nur aus isolierten Knoten

Wenn zu je zwei verschiedenen Knoten höchstens eine Kante existiert so handelt es sich um einen einfachen Graphen

Page 191: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung16

Graphentheorie: BegriffeGlobale Charakterisierung von Graphen:

Vergleichbarkeit zweier Graphen:

es werden Abbildungen zwischen Knoten und Kanten gesucht, so dass die Inzidenzbeziehungen erhalten bleiben

Sind diese Zuordnungen eineindeutig so wird der Graph isomorph genannt

Isomorphie von Graphen:

Strukturen isomorpher Graphen sind gleich wichtige Eigenschaft in der Vergleichbarkeit

und formalen Verifikation digitaltechnischerSchaltungen und Systeme

Page 192: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung17

Graphentheorie: BegriffeBeispiel: Isomorphie

Die Folgenden Graphen sind isomorph

21

3 4

BA

C D

isomorpha

b

c

x

y

z

• Zuordnung der Knoten : (1,2,3,4) (D,B,C,A)

• Zuordnung der Kanten : (a,b,c) (z,y,x)

• Inzidenzbeziehungen:(a) = (2,1) ( (a)) = (z) = (B,D) = ((2), (1))(b) = (1,3) ( (b)) = (y) = (D,C) = ((1), (3))(c) = (4,3) ( (c)) = (x) = (A,C) = ((4), (3))

Page 193: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung18

Graphentheorie: BegriffeGlobale Charakterisierung von Graphen:

Vollständigkeit von (Sub-) Graphen

sind je zwei verschiedene Knoten durch eine Kante verbunden, so ist der (Sub-) Graph vollständig (Sub-) Graph ist Clique

Beispiel:

BE

D C

A

Page 194: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung19

Graphentheorie: BegriffeGlobale Charakterisierung von Graphen:

Zusammenhängende Graphen

durch Folgen von Kanten und Knoten kann man von jedem beliebigen Knoten des Graphen zu jedem anderen Knoten des Graphen gelangen

der Graph ist dann zusammenhängend

Ist der Graph nicht zusammenhängend so besteht er aus mindestens zwei Teilgraphen

Beispiele:

D

B

E C

A

zusammenhängend

B

E

D

C

A

F

nicht zusammenhängend

Page 195: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung20

Graphentheorie: BegriffeGlobale Charakterisierung von Graphen:

Streng zusammenhängende Graphen

Gerichtete Graphen bezeichnet man als zusammenhängend, wenn der zugehörige ungerichtete Graph zusammenhängend ist

Findet man zusätzlich von jedem beliebigen Knoten des Graphen zu jedem anderen Knoten eine gerichtete Folge von Kanten (Weg unter Einbezug der Richtungen!) so ist der Graph streng zusammenhängend

Beispiele:streng zusammenhängend nicht streng zusammenhängend

Page 196: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung21

Graphentheorie: BegriffeLokale Eigenschaften von Graphen:

Schlinge

Verbindet eine Kante einen Knoten mit sich selbst, so wird diese als Schleife oder Schlinge bezeichnet

(e) = (g,g)

Beispiele:

Page 197: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung22

Graphentheorie: BegriffeLokale Eigenschaften von Graphen:

Mehrfachkanten

Existieren mehrere Kanten zwischen zwei Knoten g und h, so heißen diese parallel bzw. Mehrfachkanten

(e) = (f) = {g,h} bzw. (g,h) e f

Bei gerichteten Graphen nennt man Kanten antiparallel, falls sie zwei Knoten in entgegengesetzter Richtung verbinden

(e) = (g,h) (f) = (h,g)

Beispiele:parallel parallel antiparallel

Page 198: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung23

Graphentheorie: BegriffeTechnisches Beispiel: Mehrfachkanten

Analoger Schaltkreis:

• Mehrfachkante als Abbild schaltungstechnischer Merkmale

• Bauteile parallel geschaltet

Page 199: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung24

Graphentheorie: BegriffeLokale Eigenschaften von Graphen:

Grad eines Knotens

Betrachtet man einen Knoten, so wird die Anzahl der damit inzidenten Kanten als Grad d(g) des Knotens bezeichnet

Bei gerichteten Graphen unterscheidet man zusätzlich

abgehende Kanten Ausgangsgrad d+(g)

von ankommenden Kanten Eingangsgrad d-(g)

Beispiele:

d(g) = 6 d-(g) = 3d+(g) = 3d-(g) = 4

Page 200: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung25

Graphentheorie: BegriffeLokale Eigenschaften von Graphen:

Unmittelbare Nachbarschaft von Knoten

Sind zwei Knoten durch eine Kante verbunden so sind die Knoten unmittelbar benachbart

Menge der unmittelbar benachbarten Knoten wird mit V‘(g) bezeichnet

Bei gerichteten Graphen gilt: die Menge der benachbarten Knoten wird entsprechend

der Richtungen der Kanten eingeteilt in: unmittelbare Vorgänger V‘1(g) und unmittelbare Nachfolger V‘2(g)

Page 201: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung26

Graphentheorie: BegriffeLokale Eigenschaften von Graphen:

Unmittelbare Nachbarschaft: mengenalgebraische Eigenschaften

Für die Mengen der unmittelbaren Nachbarn gilt:

|V‘1(g)| = d-(g)

|V‘2(g)| = d+(g)

V‘ = V‘1 V‘2

Da jedoch Knoten sowohl Vorgänger als auch Nachfolger sein können, gilt:

|V‘(g)| d(g)

Page 202: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung27

Graphentheorie: BegriffeBeispiel: Unmittelbare Nachbarschaft des Knotens g

• Vorgänger: V‘1(g) = { c, g }

• Nachfolger: V‘2(g) = { a, b, d, g }

• V‘(g) = { a, b, c, d, g }

• d-(g) = | V‘1(g)| = 2

• d+(g) = | V‘2(g)| = 4

• d(g) = d-(g) + d+(g) = 6

• |V‘(g)| = 5

a

g

c

d

b

Page 203: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung28

Graphentheorie: BegriffeLokale Eigenschaften von Graphen:

Mittelbare Nachbarschaft von Knoten

Schwächt man die Forderung so ab, dass nur eine Folge von Kantenzwischen zwei Knoten existieren muss

so sind die Knoten mittelbar benachbart

Nützlich ist die mittelbare Nachbarschaft besonders bei gerichteten Graphen bzgl. der Unterscheidung in

mittelbare Vorgänger und mittelbare Nachfolger

Beispiel: Stammbaum die Frage nach der Abstammung in direkter Linie

ist eine Frage nach mittelbaren Vorgängern

Page 204: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung29

Graphentheorie: BegriffeLokale Eigenschaften von Graphen:

Artikulation eines Graphen

Bei der Modellierung von technischen Systemen mit Graphen werden Komponenten häufig durch Knoten dargestellt Verbindungen zwischen Komponenten durch Kanten abgebildet

Der Ausfall einer Komponente entspricht dem Entfernen eines Knotens aus dem Graphen

Besonders kritisch bei Ausfall einer Komponente (Knoten): Graph zerfällt in zwei nicht zusammenhängende Teilgraphen solche kritischen Knoten erhalten den Namen Artikulation

Die Artikulationen eines Graphen repräsentieren kritische Systemstellen

Page 205: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung30

Graphentheorie: BegriffeBeispiel:

Graph mit Artikulationen

...

Page 206: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung31

GraphentheorieSpezielle Kantenfolgen in Graphen:

Bereits bei der mittelbaren Nachbarschaft haben wir uns dafür interessiert, ob Knoten über Kantenfolgen verbunden sind

Definition: Kantenprogression der Länge n endliche Folge von n nicht notwendigerweise

verschiedenen Kanten (ei), die n + 1 nicht notwendigerweise verschiedene Knoten (gi) verbinden

(ei) = ( gi, gi+1 ) für i = 1, 2, ..., n

Sind in einer Kantenprogression alle Knoten (gi) voneinander verschieden und damit auch alle Kanten, so heißt sie einfach

Je nachdem, ob der Anfangsknoten gleich dem Endknoten ist (g1 = gn+1), oder ob es sich um einen gerichteten Graphen handelt, verwendet man unterschiedliche Bezeichnungen

Page 207: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung32

Spezielle Kantenfolgen in Graphen

Ungerichteter Graph Gerichteter Graph

g1 gn+1 g1 gn+1 g1 gn+1 g1 gn+1

offene Kanten-

progression

geschlossene Kanten-

progression

offene Kanten-

progression

geschlossene Kanten-

progression

Sind alle Kanten einer Progression voneinander verschieden

Ketten-progression

geschlossene Kantenzug-progression

Weg- progression

Zyklus-progression

Berücksichtigt man die Kanten einer Progression ohne Ordnung

Kette geschlossener Kantenzug Weg Zyklus

Page 208: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung33

Spezielle Kantenfolgen in GraphenBeispiele am ungerichteten Graphen:

Folge Merkmalg-f-c-c-d offene

Kantenprogression

d-c-c-b-a-e geschlossene Kantenprogression

e-g-f Kettenprogression

a-b-f-g geschlosseneKantenzugprogression

{ e, b, a } Kette

{ g, d, f, e } geschlossener Kantenzug

3

1

24

5 6

a

b

c

d

e f

g

Page 209: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung34

Spezielle Kantenfolgen in GraphenBeispiele am gerichteten Graphen:

Folge Merkmal4-3-7-4 offene

Kantenprogression

3-7-4-1-1 geschlosseneKantenprogression

4-1-2 Wegprogression

5-1-3-7-8 Zyklusprogression

{ 2, 8, 5, 1 } Weg

{ 1 } Zyklus

a

g

c

d

b

12

3

4 5 6

7

8

Page 210: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung35

GraphentheorieSpezielle Graphen:

Begriff des Zyklus/Zyklen in Graphen:

Für viele Algorithmen, die auf Graphen arbeiten ist es wichtig zu wissen, ob es möglich ist, mit unterschiedlichen Kanten „im Kreis zu laufen“

Man bezeichnet einen kompletten Graphen als zyklisch, wenn wenigstens eine geschlossene Kantenzugprogression

(= Zyklus) existiert in diesem Graphen eine Schleife ist ebenfalls ein Zyklus

Wenn ein Graph nicht zyklisch ist nennt man ihn zyklenfrei oder azyklisch

Page 211: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung36

GraphentheorieSpezielle Graphen:

Baum

Definition: Baum ein zusammenhängender, zyklenfreier Graph

Also: bei einem ungerichteten Baum es darf kein geschlossener Kantenzug existieren

Weiterhin: bei einem gerichteten Baum gilt: es darf kein Zyklus existieren der zugehörige ungerichtete Graph

muss zusammenhängend sein

Page 212: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung37

GraphentheorieSpezielle Graphen: Bäume

Definition: Wurzel und Blätter

In einem gerichteten Baum gibt es genau einen Knoten, der keine Vorgänger hat

d- = 0 dieser Knoten wird Wurzel genannt

Die Knoten ohne Nachfolger (d+ = 0) heißen Blätter

Bei einem ungerichteten Baum kann die Wurzel frei gewählt werden daraus ergeben sich die Blätter

als übrige Knoten mit Knotengrad eins

Page 213: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung38

GraphentheorieBeispiel: ungerichteter Baum

Die Molekülstrukturen der Hexane ergeben ungerichtete Bäume

C C

C

C

C CC C

C

CC C

C C

C C

C C C C

C

CC C

C C CCC C

Page 214: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung39

GraphentheorieBeispiel: gerichteter Baum

Die Relation „ist teilbar durch“ führt zu einem gerichteten Baum

2 3

64

120

5

Wurzel

Blätter

2 3

64

120

5

Wurzel

Blätter

2

Page 215: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung40

GraphentheorieDefinition: Binärbaum

Hat jeder Knoten eines Baumes, außer den Blättern,genau zwei Nachfolger: d+(g) = 2, so heißt ein solcher Baum Binärbaum

Wurzel

Blätter

1 0 1 0

1 0

x = 12

x = 11

x = 12

nein

nein neinja ja

ja

Page 216: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung41

GraphentheorieWeitere Begriffe: Binärbaum

Der Abstand von der Wurzel zu den Blättern wird als Tiefe des Baumes bezeichnet

Ist der Abstand von der Wurzel zu den Blätternfür alle Blätter identisch

so handelt es sich um einen symmetrischen Binärbaum

Unterscheiden sich die Abstände um maximal eins so nennt man den Baum ausgeglichen

Page 217: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung42

GraphentheorieDefinition: Aufspannender Baum

Es gilt: bei jedem zusammenhängenden Graphen kann man alle Zyklen durch gezieltes Entfernen von Kanten auflösen( Kruskal Algorithmus: Minimal Aufspannender Baum, MAB) ohne dass der Graph in zwei Teilgraphen zerfällt

Auf diese Weise erhält man zu jedem beliebigen Graphen einen zugehörigen aufspannenden Baum

Beispiel:

Page 218: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung43

GraphentheorieDefinition: Bipartiter Graph

Knoten eines Graphen sind folgendermaßen in zwei Teilmengen aufteilbar: keine Kante verbindet zwei Knoten in derselben Teilmenge so nennt man den Graphen bipartit

In technischen Systemen: zwei Teilmengen entsprechen bspw. zwei verschiedenen Typen von

Komponenten, die nicht untereinander verbunden werden dürfen

Beispiel:

Page 219: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung44

GraphentheorieDefinition: Geometrische Graphen

Bisher hatte die Darstellung der Knoten und Kanten des Graphen in der Zeichenebene keine Bedeutung

Geometrische Graphen ordnen den Knoten jedoch eine geometrische Position zu:

im n-dimensionalen Raum IRn

zu den Kanten „glatte“ Kurven zwischen den Knoten, die außer den Knoten keinen Punkt gemeinsam haben

Zweidimensionale geometrische Graphen müssen kreuzungsfrei sein

Man kann beweisen, dass zu jedem Graphen ein isomorpher dreidimensionaler geometrischer Graph existiert

Page 220: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung45

GraphentheorieEigenschaften: Geometrische Graphen

In zweidimensionaler Ebene: es existiert nicht immer ein isomorpher Graph

Graphen, zu denen ein isomorpher zweidimensionaler Graph existiert nennt man planare Graphen

Planare Graphen müssen nicht kreuzungsfrei dargestellt sein

a b

c d

a b

c

disomorph

planarer Graph

2D geometrischer

Graph

Beispiel:

Page 221: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung46

GraphentheorieDefinition: Duale Graphen

Planarer Graph: teilt die Zeichenebene in verschiedene Gebiete ein äußere Umgebung des Graphen wird hier auch als

Gebiet betrachtet

Planarität des Graphen: notwendige und hinreichende Bedingung dafür,

dass man einen dualen Graphen dazu konstruieren kann

Vorgehensweise: Konstruktion eines dualen Graphen Gebiete eines zusammenhängenden Graphen in der Zeichenebene

entsprechen den Knoten im dualen Graphen, jede Grenze zwischenzwei Gebieten (Kanten im Ausgangsgraph!) entspricht dabei einer Kanteim konstruierten dualen Graph; jedem eigenständigen zusammen-hängenden Graphen wird ein eigener Umgebungsknoten U zugeordnet

Duale Graphen: spielen beispielsweise eine Rolle, bei der Beurteilung, ob eine

Schaltung planar in einer Ebene realisiert werden kann

Page 222: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung47

Duale GraphenBeispiel 1: Duale Graphen

GBGB

DBNL

FCH A

I

U1

BNLD

FCH A

I

U1U2

U2

Page 223: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung48

Duale Graphen

UU

Beispiel 2: Duale Graphen Konstruktion von Schlingen

Page 224: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung49

GraphentheorieDefinition: Gewichtete Graphen

Analog zum Scotland Yard Spiel: es macht einen Unterschied, ob zwei Knoten mit einer

Bus-, Taxi- oder U-Bahn-Verbindung verbunden sind

Man kann jeder Kante noch zusätzliche Attribute zuordnen

In vielen Fällen genügt jedoch die Zuordnung einer reellen Zahl, die als Gewicht bezeichnet wird dann spricht man von einem gewichteten Graphen

Gewichtete Graphen: dienen zur Modellierung von:

- Netzwerkflüssen, - Transportprozessen, und - Planungsstrategien

Page 225: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung50

Gewichtete GraphenBeispiele: Gewichtete Graphen

NetzwerkflussGewicht: Durchsatz

TransportprozessGewicht: Entfernung

18

15

8

3

2

2

8

3 2

4

5

8

1

2

4

5

6

3 7

Page 226: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung51

Gewichtete GraphenBeispiel: Planungsstrategie

Produktionsabläufe sind mit gewichteten Graphen modellierbar: die gerichteten Kanten werden als Arbeitsschritt aufgefasst als Gewicht wird die jeweils benötigte Dauer verwendet

mehrere ankommende Kanten an einem Knoten markieren Arbeitsschritte, die vorher abgearbeitet sein

müssen, bevor die Arbeitsschritte der abgehenden Kanten begonnen werden können

Also: Knoten sind Produktionszustände für deren Erreichen ist minimale Arbeitsdauer zu berechnen

Gesucht: die Dauer des kompletten Produktionsablaufs

Page 227: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung52

Gewichtete GraphenBeispiel: Planungsstrategie

8

3

2 1 5 7 3

4

5 1

4

3

6

3 5

8

7

9

2

4

2

4

???

Page 228: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung53

Gewichtete GraphenBeispiel: Planungsstrategie

Vorgehensweise: Berechnung der Dauer des kompletten Produktionsablaufs

zur Lösung des Problems berechnet man jeweils das Maximum der Gewichtssummen sämtlicher Wege zu einem Knoten

die maximale Summe steht für die Gesamtzeit des Auftrags

Optimalerweise: man wählt die Knotenreihenfolge bzw. Kantenfolge so, dass

die Gewichtsummen der Vorgängerknoten schon berechnet sind

Die Wege mit maximalen Gewichtsummen zum Endknoten ergeben einen (maximal) aufspannenden Graphen

Page 229: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung54

PlanungsstrategienBeispiel: Planungsstrategie

8

3

2 1 5 7 3

4

5 1

4

3

6

3 5

8

7

9

2

4

8

10

11

16

3

7

8

17

14

19

26

23

26

37

28

11

2

4

0

Page 230: Alle Vorlesungspdfs DT

www.kit.edu

Institut für Technik der Informationsverarbeitung

Karlsruher Institut für Technologie (KIT)

Digitaltechnik

Prof. Dr.-Ing. J. [email protected]

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Petrinetze

Page 231: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung2

Petrinetze - Definition

Ein Petrinetz ist ein Tupel P = (S, T, F, M), wobeiS Menge der Stellen,T Menge der Transitionen,F S T T S Kantenmenge undM: S N Anfangsmarkierung heißt

Die Menge E = S T ist die Eckenmenge des Graphen

wobei s S; t T; f1 ,f2 ,f3 F; m M ist

Definition:

Stelle sTransition tAnfangsmarkierung m

Kanten f ,f ,f1 2 3

Page 232: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung3

PetrinetzePetrinetz: bipartiter, gerichteter Graph

Stellen (= Bedingungen, Situationen) Transitionen (= Aktionen)

Stelle Transition S1 S2T0 T1 T2 S3S0

T3

Beispiel für ein Petrinetz (siehe oben)

So für Zündschlüssel bereit To für Zündung einschalten und Motor startenS1 für Zündung ein, Motor läuft T1 für Zündung ausschaltenS2 für Motor steht T2 für Schlüssel abziehenS3 für Schlüssel abgezogen T3 für Schlüssel in Zündschloss stecken

Page 233: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung4

...

...Ausgangs-stelle von T

i

Eingangs-stelle von T

i

...Ti

...Einfache Schaltregeln:

eine Transition ist

schaltbereit: wenn alle Eingangsstellen eine Markierung tragen,alle Ausgangsstellen leer sind(sofern diese nicht gleichzeitig Eingangsstellen sind)

schaltet: dabei zieht sie die Marken aller Eingangsstellen ab, so daß diese leer werden, und markiert alle Ausgangsstellen

Petrinetze

Page 234: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung5

Petrinetze - Interpretation

Die Stellen des Graphen repräsentieren Zustände bzw. Bedingungen des modellierten Systems; Darstellung im Graph durch Kreise

Die Knoten in T bezeichnen Transitionen oder Aktivitäten; Darstellung im Graph als Querstriche oder Kästchen

Die Kantenmenge F repräsentiert kausale oder zeitliche Abhängigkeiten, wobei

eine Kante s t bedeutet, dass die Bedingung s erfüllt sein muss, damit die Transition t schalten (oder feuern) kann

s heißt in diesem Fall Vorstelle von t

eine Kante t s bedeutet, dass der Zustand s erreicht wird, wenn die Transition t geschaltet hat

s heißt dann Nachstelle von t

Besitzt eine Transition t mehrere Vorstellen, müssen alle Bedingungen erfülltsein, damit t schalten kann

Besitzt eine Transition t mehrere Nachstellen, so werden durch das Schalten von t alle Nachstellen gleichzeitig erreicht

Interpretation:

Page 235: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung6

Petrinetze - Motivation (1)

VerwendungszweckeSimulationPlanungSteuerung

AnwendungsgebieteProduktionBürokommunikation (speziell Workflowsysteme)

Klassische Anwendungen in der KerninformatikModellierung von BetriebssystemenModellierung von gegenseitigem AusschlussModellierung von Nebenläufigkeit

Motivation:

Page 236: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung7

Petrinetze - Motivation (2)Petrinetze dienen zum Modellieren von Systemen, in denen kausale Abhängigkeiten eine vorrangige Bedeutung besitzen

Einführendes Beispiel:

OHanschalten

OHokay

Vorlesungvorbereitet

OHvorhanden

OHausschalten

Vorlesungbeenden

Vorlesungvorbereiten

Vorlesunghalten

Page 237: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung8

Petrinetze - Historie

Im Jahre 1962 von C.A. Petri im Rahmen seiner Dissertation vorgestellt

Netztheorie zur Modellierung komplexer Vorgänge,

die es erlaubt unabhängige parallele Prozesse darzustellen

Die Beschränkung streng sequentieller Abläufe bisheriger Darstellungen entfällt

Die Idee fand zunächst keinen praktischen Nutzen, jedoch änderte sich die Akzeptanz im Laufe der Zeit deutlich

Page 238: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung9

Petrinetze – Modellierung (1)

1. Sequentielle Abläufe:

Was kann mit Petrinetzen modelliert werden?

2. Alternative:

3. Wiederholung:

2t1t

1t

2t

1t

2t

Page 239: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung10

Petrinetze – Modellierung (2)

5. Eingabe von / Ausgabe zur Umwelt:

4. Nebenläufigkeit:

nt .11.1t

nt .21.2t

...

...

1t 2t

Page 240: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung11

Petrinetze – Modellierung (3)

Vorbereich eines Netzelements x•x = { y | (y, x) F }

Weitere Notationen:

Verzweigungen: ein Knoten heißt

vorwärtsverzweigt, falls | x• | > 1

rückwärtsverzweigt, falls | •x | > 1

Nachbereich eines Netzelements xx• = { y | (x, y) F }

Page 241: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung12

Petrinetze – Modellierung (4)

Logisches UND Logisches ODER

Logische Aussagen:

1t

A B

BA

1t

A B

BA

2t

Page 242: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung13

Petrinetze – Modellierung (5)

Jeder Zustand ist repräsentiert durch einen Platz wenn ein Token in diesem Platz ist, bedeutet das,

dass sich das Modell in diesem Zustand befindet

Schalter:

ON

OFF

ONTURN OFFTURN

Page 243: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung14

Petrinetze – Verklemmungen

Hier kommt es nach dem ersten Durchlauf zu einem Konflikt undanschließend zu einer Verklemmung

Nochmals das einführende Beispiel:

OHanschalten

OHokay

Vorlesungvorbereitet

OHvorhanden

OHausschalten

Vorlesungbeenden

Vorlesungvorbereiten

Vorlesunghalten

Page 244: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung15

Petrinetze – Konflikte und Verklemmungen

Hier kommt es nach dem ersten Durchlauf zu einem Konflikt undanschließend zu einer Verklemmung

Nochmals das einführende Beispiel:

OHanschalten

OHokay

Vorlesungvorbereitet

OHvorhanden

OHausschalten

Vorlesungbeenden

Vorlesungvorbereiten

Vorlesunghalten

Eine Änderung des Netzes hilft hier weiter !!!

Page 245: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung16

Lift steht auf Etage

Türzu

Zielknopf

Türoffen

Lift fährtfahrbereit

Stockwerksensor

Petrinetze – formale VerifikationBeweis einer sicherheitskritischen Eigenschaft in einer formalen Spezifikation möglich !!!

Die Sicherheitseigenschaft, dass der Lift nicht bei offener Tür fahren darf, ist für dieses Modell beweisbar

Page 246: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung17

Beispiel: Motorsteuerung

rein sequentieller Ablauf ohne Nebenläufigkeiten ein deutlich kausaler Zusammenhang zwischen den Stellen S erkennbar

Zustände Si (Stellen) und Transitionen Tj

So für Zündschlüssel bereit To für Zündung einschalten und Motor startenS1 für Zündung ein, Motor läuft T1 für Zündung ausschaltenS2 für Motor steht T2 für Schlüssel abziehenS3 für Schlüssel abgezogen T3 für Schlüssel in Zündschloss stecken

Petrinetze – Komplexes Beispiel (I)

S1 S2T0 T1 T2 S3S0

T3

i

Page 247: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung18

Beispiel: Motorsteuerung

rein sequentieller Ablauf ohne Nebenläufigkeiten ein deutlich kausaler Zusammenhang zwischen den Stellen S erkennbar

Zustände Si (Stellen) und Transitionen Tj

So für Zündschlüssel bereit To für Zündung einschalten und Motor startenS1 für Zündung ein, Motor läuft T1 für Zündung ausschaltenS2 für Motor steht T2 für Schlüssel abziehenS3 für Schlüssel abgezogen T3 für Schlüssel in Zündschloss stecken

Petrinetze – Komplexes Beispiel (I)

S1 S2T0 T1 T2 S3S0

T3

i

Page 248: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung19

Beispiel: Motorsteuerung

rein sequentieller Ablauf ohne Nebenläufigkeiten ein deutlich kausaler Zusammenhang zwischen den Stellen S erkennbar

Zustände Si (Stellen) und Transitionen Tj

So für Zündschlüssel bereit To für Zündung einschalten und Motor startenS1 für Zündung ein, Motor läuft T1 für Zündung ausschaltenS2 für Motor steht T2 für Schlüssel abziehenS3 für Schlüssel abgezogen T3 für Schlüssel in Zündschloss stecken

Petrinetze – Komplexes Beispiel (I)

S1 S2T0 T1 T2 S3S0

T3

i

Page 249: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung20

Beispiel: Motorsteuerung

rein sequentieller Ablauf ohne Nebenläufigkeiten ein deutlich kausaler Zusammenhang zwischen den Stellen S erkennbar

Zustände Si (Stellen) und Transitionen Tj

So für Zündschlüssel bereit To für Zündung einschalten und Motor startenS1 für Zündung ein, Motor läuft T1 für Zündung ausschaltenS2 für Motor steht T2 für Schlüssel abziehenS3 für Schlüssel abgezogen T3 für Schlüssel in Zündschloss stecken

Petrinetze – Komplexes Beispiel (I)

S1 S2T0 T1 T2 S3S0

T3

i

Page 250: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung21

Beispiel: Motorsteuerung

rein sequentieller Ablauf ohne Nebenläufigkeiten ein deutlich kausaler Zusammenhang zwischen den Stellen S erkennbar

Zustände Si (Stellen) und Transitionen Tj

So für Zündschlüssel bereit To für Zündung einschalten und Motor startenS1 für Zündung ein, Motor läuft T1 für Zündung ausschaltenS2 für Motor steht T2 für Schlüssel abziehenS3 für Schlüssel abgezogen T3 für Schlüssel in Zündschloss stecken

Petrinetze – Komplexes Beispiel (I)

S1 S2T0 T1 T2 S3S0

T3

i

Page 251: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung22

Beispiel: Motorsteuerung

Zusätzliche Stellen und Transitionen:

S4 für Zündung ausS5 für WFS ist deaktiviertS6 für WFS bleibt deaktiviertS7 für WFS aktiviertS8 für Codeschlüssel für WFS bereitS9 für Codeschlüssel für WFS abgezogen

T4 für WFS aktivierenT5 für WFS deaktivierenT6 für Codeschlüssel gibt WFS frei

vier Anfangsmarken im Initialzustand

Nebenläufigkeiten werden erfasst

dieses einfache Modell erfasst jedoch nicht alle Betriebssituationen des Fahrzeugs

Petrinetze – Komplexes Beispiel (II)

T0 T1

S4́

S0 S3S2

S´4́

T5S5

S6

T4 S7

S1 T2

T3

S8 T6 S9

Page 252: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung23

Beispiel: Motorsteuerung

Zusätzliche Stellen und Transitionen:

S4 für Zündung ausS5 für WFS ist deaktiviertS6 für WFS bleibt deaktiviertS7 für WFS aktiviert,S8 für Codeschlüssel für WFS bereitS9 für Codeschlüssel für WFS abgezogen

T4 für WFS aktivierenT5 für WFS deaktivierenT6 für Codeschlüssel gibt WFS frei

vier Anfangsmarken im Initialzustand

Nebenläufigkeiten werden erfasst

dieses einfache Modell erfasst jedoch nicht alle Betriebssituationen des Fahrzeugs

Petrinetze – Komplexes Beispiel (II)

T0 T1

S4́

S0 S3S2

S´4́

T5S5

S6

T4 S7

S1 T2

T3

S8 T6 S9

Page 253: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung24

Beispiel: Motorsteuerung

Zusätzliche Stellen und Transitionen:

S4 für Zündung ausS5 für WFS ist deaktiviertS6 für WFS bleibt deaktiviertS7 für WFS aktiviertS8 für Codeschlüssel für WFS bereitS9 für Codeschlüssel für WFS abgezogen

T4 für WFS aktivierenT5 für WFS deaktivierenT6 für Codeschlüssel gibt WFS frei

vier Anfangsmarken im Initialzustand

Nebenläufigkeiten werden erfasst

dieses einfache Modell erfasst jedoch nicht alle Betriebssituationen des Fahrzeugs

Petrinetze – Komplexes Beispiel (II)

T0 T1

S4́

S0 S3S2

S´4́

T5S5

S6

T4 S7

S1 T2

T3

S8 T6 S9

Page 254: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung25

Beispiel: Motorsteuerung

Zusätzliche Stellen und Transitionen:

S4 für Zündung ausS5 für WFS ist deaktiviertS6 für WFS bleibt deaktiviertS7 für WFS aktiviertS8 für Codeschlüssel für WFS bereitS9 für Codeschlüssel für WFS abgezogen

T4 für WFS aktivierenT5 für WFS deaktivierenT6 für Codeschlüssel gibt WFS frei

vier Anfangsmarken im Initialzustand

Nebenläufigkeiten werden erfasst

dieses einfache Modell erfasst jedoch nicht alle Betriebssituationen des Fahrzeugs

Petrinetze – Komplexes Beispiel (II)

T0 T1

S4́

S0 S3S2

S´4́

T5S5

S6

T4 S7

S1 T2

T3

S8 T6 S9

Page 255: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung26

Beispiel: Motorsteuerung

Zusätzliche Stellen und Transitionen:

S4 für Zündung ausS5 für WFS ist deaktiviertS6 für WFS bleibt deaktiviertS7 für WFS aktiviertS8 für Codeschlüssel für WFS bereitS9 für Codeschlüssel für WFS abgezogen

T4 für WFS aktivierenT5 für WFS deaktivierenT6 für Codeschlüssel gibt WFS frei

vier Anfangsmarken im Initialzustand

Nebenläufigkeiten werden erfasst

dieses einfache Modell erfasst jedoch nicht alle Betriebssituationen des Fahrzeugs

Petrinetze – Komplexes Beispiel (II)

T0 T1

S4́

S0 S3S2

S´4́

T5S5

S6

T4 S7

S1 T2

T3

S8 T6 S9

Page 256: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung27

Beispiel: Motorsteuerung

Zusätzliche Stellen und Transitionen:

S4 für Zündung ausS5 für WFS ist deaktiviertS6 für WFS bleibt deaktiviertS7 für WFS aktiviertS8 für Codeschlüssel für WFS bereitS9 für Codeschlüssel für WFS abgezogen

T4 für WFS aktivierenT5 für WFS deaktivierenT6 für Codeschlüssel gibt WFS frei

vier Anfangsmarken im Initialzustand

Nebenläufigkeiten werden erfasst

dieses einfache Modell erfasst jedoch nicht alle Betriebssituationen des Fahrzeugs

Petrinetze – Komplexes Beispiel (II)

T0 T1

S4́

S0 S3S2

S´4́

T5S5

S6

T4 S7

S1 T2

T3

S8 T6 S9

Page 257: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung28

Beispiel: Motorsteuerung

Zusätzliche Stellen und Transitionen:

S4 für Zündung ausS5 für WFS ist deaktiviertS6 für WFS bleibt deaktiviertS7 für WFS aktiviertS8 für Codeschlüssel für WFS bereitS9 für Codeschlüssel für WFS abgezogen

T4 für WFS aktivierenT5 für WFS deaktivierenT6 für Codeschlüssel gibt WFS frei

vier Anfangsmarken im Initialzustand

Nebenläufigkeiten werden erfasst

dieses einfache Modell erfasst jedoch nicht alle Betriebssituationen des Fahrzeugs

Petrinetze – Komplexes Beispiel (II)

T0 T1

S4́

S0 S3S2

S´4́

T5S5

S6

T4 S7

S1 T2

T3

S8 T6 S9

Page 258: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung29

Beispiel: Motorsteuerung

Zusätzliche Stellen und Transitionen:

S4 für Zündung ausS5 für WFS ist deaktiviertS6 für WFS bleibt deaktiviertS7 für WFS aktiviertS8 für Codeschlüssel für WFS bereitS9 für Codeschlüssel für WFS abgezogen

T4 für WFS aktivierenT5 für WFS deaktivierenT6 für Codeschlüssel gibt WFS frei

vier Anfangsmarken im Initialzustand

Nebenläufigkeiten werden erfasst

dieses einfache Modell erfasst jedoch nicht alle Betriebssituationen des Fahrzeugs

Petrinetze – Komplexes Beispiel (II)

T0 T1

S4́

S0 S3S2

S´4́

T5S5

S6

T4 S7

S1 T2

T3

S8 T6 S9

Page 259: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung30

Petrinetze – Komplexes Beispiel (III)

Beispiel: Motorsteuerung

der vorgeführte Ablauf stellt nur ein mögliches Szenariofür die Funktion des Modells dar

eine vollständige Verifikation der Funktionsrichtigkeit in allenSituationen ist damit nicht erreicht

Page 260: Alle Vorlesungspdfs DT

www.kit.edu

Institut für Technik der Informationsverarbeitung

Karlsruher Institut für Technologie (KIT)

Digitaltechnik

Prof. Dr.-Ing. J. [email protected]

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Algebraische Strukturen- Boolesche Algebra -

Page 261: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung2

R1: S T M S T MS T P(M) S T P(M)

Abgeschlossenheit der Operationen Durchschnitt und Vereinigung

T

M

ST

M

S

R2: S T = T S S T = T S

Die Reihenfolge der beiden Operanden ist ohne Einfluss auf das Ergebnis -> Kommutativität

Algebraische Strukturen: Boolesche AlgebraRegelsystem der Mengenalgebra:

Mengenrelationen lassen sich in “Regeln“ Ri fassen:

Page 262: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung3

R3:R3(a): R S T) = R3(b): R (S T) =

(R S) (R T) (R S) R T)

Algebraische Strukturen: Boolesche Algebra

Unabhängigkeit von Reihenfolgeder Operationen:

Distributivität

Page 263: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung4

Algebraische Strukturen: Boolesche Algebra

R4:S M = S S Ø = S

Zur Verdeutlichung neutraler Elemente: und sind “neutrale“ Operationen bzgl. der Bezugsmenge M bzw. der leeren Menge Ø. M und Ø stellen bzgl. aller Teilmengen universelle Schranken dar (obere/untere Schranke)

MS S

Ø

Page 264: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung5

Zur Existenz einer Komplementmenge: S und CM(S) sind “komplementäre“ (oder “inverse“) Elementebzgl. den Operationen und .

Zu jeder Teilmenge S existiert eine Komplementmenge CM(S) bzgl. M

R5:S CM(S) = ØS CM(S) = M

M

S

C (S)M

Algebraische Strukturen: Boolesche Algebra

Page 265: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung6

Boolesche Algebra: BA = [ K, T, , , O, I ] mit: zwei zweistelligen Verknüpfungen T ("TEE") und ("RUM"),

der einstelligen Relation und den zwei universellen SchrankenO und I

Für alle Elemente aus K gelten dabei eine Reihe von Regeln

Mengenalgebra: MA = [P(M), , , CM, Ø, M]

Satz 1: Ist P(M) die Potenzmenge einer beliebigen Menge M, so ist dasVerknüpfungsgebilde [P(M), , CM, Ø, M] stets eine Boolesche Algebra

Satz 2: Bei jeder Booleschen Algebra gilt für die Menge K: K = 2n (n = 1, 2, ...)

Algebraische Strukturen: Boolesche AlgebraRegelsystem der Mengenalgebra:

Die Regeln R1 – R5 legen mathematische Eigenschaften fürden Umgang mit M, P(M), und fest:

Operanden + Regeln: algebraische Struktur Operanden sind Mengen: Mengenalgebra

Page 266: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung7

Beispiel: Boolsche Algebra (BA)

Es sei: |M| = 1, K = P(M) = {Ø, M}, |K| = 2

Nach Satz 1: Mengenalgebra MA = [P(M), , CM, Ø, M]ist eine Boolesche Algebra (BA)

Ø M Ø Ø M M M M

Ø M Ø Ø Ø M Ø M

Ø M M Ø

Operand 1

Ope

rand

2

Ope

rand

cM

Ergebnis Ergebnis Ergebnis

Algebraische Strukturen: Boolesche Algebra

Verknüpfungstabellen: Tabellarische Notation der Mengenoperationen

Page 267: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung8

Algebraische Strukturen: Boolesche Algebra

T 0 1 0 0 0 1 0 1

- 0 1 1 0

0 1 0 0 1 1 1 1

Abstraktionsschritt: Boolsche Algebra (BA)

Abstraktion von spezieller Mengeninterpretation Abstraktion der Operanden und Operatoren

Es sei: Ø = 0 und M = 1 , wegen |P(M)| = 2und: = T und =

Verknüpfungstabellen: Regeln für BA = [{0,1}, T, , ]

Mathematisch wichtig: Regeln axiomatisch begründen!

Page 268: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung9

H1: Abgeschlossenheit a, b K

a T b K a b K

Die Anwendung der Operatoren T und führt nicht aus der Menge K heraus

H2: Kommutativgesetz a, b K

a T b = b T a a b = b a

Die Reihenfolge der Operanden ist vertauschbar, die Operatoren T und sind kommutativ

H3: Distributivgesetz a, b, c K

(a b) T c = (a T b) c =(a T c) (b T c) (a c) T (b c)

Jeder der beiden Operatoren T und distribuiert über den anderen

Algebraische Strukturen: Boolesche AlgebraBoolsche Algebra: Huntingtonsche Axiome

formale mathematische Basis aller Boolschen Algebren 5 gültige Axiome für eine Grundmenge K und beliebige Elemente a, b, c aus K

Page 269: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung10

Axiomensystem: 5 Huntingtonsche Axiome

Verknüpfungsgebilde, dessen einzelne Aussagen nicht mathematisch ableitbar bzw. beweisbar sind, aus dem aber alle weiteren (algebraischen) Regeln ableitbar sind

Forderungen: Widerspruchsfrei (logisch), vollständig, Axiome unabhängig

H4: Existenz eines neutralen Elements a, I K und O, a K

I T a = a O a = aZu jedem Operator und T existiert ein neutrales Element, das jedes beliebigeElement der Menge K unverändert bezüglich des Operators T bzw. lässt

H5: Komplement a, k K

a T k = O a k = I

Zu jedem Element a K gibt es ein Element a = k K, das komplementär zu a ist, d.h. seine Verknüpfung mit a führt zum neutralen Element

Algebraische Strukturen: Boolesche Algebra

Page 270: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung11

Axiomensystem: Boolsche Algebra allgemein gilt: Dualitätsprinzip

Vertauscht man in einem Satz unter alleinigerVerwendung der Operatoren T, und alleOperatoren T durch und umgekehrt, so erhältman wieder einen Satz,den sogenannten dualen Satz.

Enthält der Satz die neutralen Elemente O und I,so müssen auch diese vertauscht werden.Diese Aussage ist wichtig zur Vereinfachungvon Beweisvorgängen und für die AnwendungBoolescher Algebren ("halbe Arbeit").

Algebraische Strukturen: Boolesche Algebra

Page 271: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung12

Huntingtonsche Axiome: Beispiele für Interpretationen weitere andere Verknüpfungsgebilde, die durch Abstraktion

auf das Axiomensystem zurückgeführt werden können (analog zu dem verwendeten Beispiel der Mengenalgebra)

Beispiele:

- Boolesche Algebra mit zwei Werten

BA2 = [ {0, 1}, T, , , 0, 1 ]

- Aussagenlogik

AL = [ {wahr, falsch}, UND, ODER, NICHT, stets falsch, stets wahr ]

- Mengenalgebra mit zwei Elementen

MA2 = [ {Ø, M}, , , CM, Ø, M ]

- Mengenalgebra allgemein

MA = [ P(M), , , CM, Ø, M ]

Algebraische Strukturen: Boolesche Algebra

Page 272: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung13

H L,HH

L

UB

phys. Größe:Spannung

BU

Huntingtonsche Axiome: Interpretationen Interessant: Verknüpfungsgebilde mit |K| = 2 Frage: ist ein formaler Umgang für Binärsignale L / H bzw. 0 / 1 durch eine

geeignete Interpretation der Huntingtonschen Axiome möglich?

Notwendig: Axiomatisches Verknüpfungsgebilde mit Binärsignalen + formal korrekt abgeleitete Regeln

Binärsignale: Zweiwertige Signaldarstellung mit L und H Schalter als einfachste technische Realisierung

Algebraische Strukturen: Boolesche Algebra

Page 273: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung14

Verknüpfungs- gebilde

Schaltungseingänge

X = (xn , ... , x 2 , x 1 )

L,H

L,H L,H

L,H Schaltungsausgänge

Y = (y m , ... , y 2 , y1)

Schließer

Öffner

H

"betätigt""in Ruhe"

Schließer

Öffner

L

Binärsignale: Relais als Bauelement zur Schalterrealisierung

Verknüpfungsgebilde für Binärsignale: Zusammenschaltung aus Relaisbauelementen bzgl. der Signale L und H

Algebraische Strukturen: Boolesche Algebra

Page 274: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung15

S2:x 1

x 2

x 2

x 1

=

x1 par x2 = x2 par x1

x1 x2

x 2 x1

=

x1 ser x2 = x2 ser x1

Mögliche Relaisschaltungen: ser entspricht Serien- bzw. Reihenschaltungpar entspricht Parallelschaltung

S 1 :

B

x 1

x 2 x x U U

X1 ser X2 {L,H} X1 par X2 {L,H}

Algebraische Strukturen: Boolesche Algebra

Page 275: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung16

S3: x1

x 2

x1

x2 x3

3x

1x

=

x1 par (x2 ser x3) =(x1 par x2) ser (x1 par x3)

x1x 3

x 2

x2

x3x1

x1=

x1 ser (x2 par x3) =(x1 ser x2) par (x1 ser x3)

S4:=

U

xx

x par U = x

U: Dauernde Unterbrechung

x s er V = x

V: Dauernde Verbindung

=x

x

V

Algebraische Strukturen: Boolesche Algebra

Page 276: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung17

U

=x

x

= V

x

x

S5:

L,H L,H

(Reproduktion)

L,H H,L

(Negation)

BU BU

das Eingangsignal bleibt unverändertdas Eingangssignal wird invertiert , d.h. L wird zu H und H zu L.

x ser x = U x par x = V

(ideales, zeitgleiches Schalten der Kontakte vorausgesetzt)

Algebraische Strukturen: Boolesche Algebra

Page 277: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung18

Verknüfungsgebilde: Schaltalgebra SA = [ {0, 1}, &, V, -, 0, 1]

Beispiele: mögliche Interpretationen der Huntingtonschen Axiome

MA2 HA SA

{ Ø, M }

Cm

ØM

-

OI

V-01

Folgerung: Relaisschaltungen S1 – S5 sind zulässige Interpretation derHuntingtonschen Axiome formale Entwicklung digitaler Schaltungen

Algebraische Strukturen: Boolesche Algebra

Page 278: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung19

Schaltalgebra: Abgeleitete Beziehungen

Regeln für 0 und 1:

R1a 0 = 1R2a 0 v 0 = 0R3a 1 v 1 = 1R4a 0 v 1 = 1

_R1b 1 = 0R2b 1 & 1 = 1R3b 0 & 0 = 0R4b 1 & 0 = 0

_

Abgeleitete Regeln:

Dualität der Beziehungen ausnutzen!

Schaltalgebraische Interpretation der Huntingtonschen Axiome:

digitaltechnische Realisierung der zweiwertigen Boolschen Algebra weitere formale Regeln: direkt bzw. indirekt aus den Axiomen ableiten

Page 279: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung20

Regeln für ein Element:

R5a a v 0 = aR6a a v 1 = 1R7a a v a = aR8a a v a = 1

_

R5b a & 1 = aR6b a & 0 = 0R7b a & a = aR8b a & a = 0

_

R9 (a) = a = a_ ___ _

Abgeleitete Regeln:

für einen Operanden a (und Konstanten!)

Schaltalgebra: Abgeleitete Beziehungen

Page 280: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung21

Abgeleitete Beziehungen der Schaltalgebra

Regeln für zwei oder mehr Elemente

R10a a v (b v c) = (a v b) v c = a v b v c

R10b a & (b & c) = (a & b) & c = a & b & c

Assoziative Gesetze:

R11a a v (a & b) = a R11b a & (a v b) = a

Absorptionsgesetze:

R12a (a v b) = a & b R12b (a & b) = a v b

De Morgansche Regeln:____ ______ _ _ _

Abgeleitete Regeln:

für zwei bzw. mehrere Operanden a, b und c

Page 281: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung22

Vereinfachung (Transformationen):

(R8b)(R5a)

Beispiele:

(a & b & c) v (a & b) v (b v (a & a)) = (a & b & c) v (a & b) v (b v 0)

(R9)= (a & b & c) v b (R11a)= b (R11a)

In UND-ODER-Form bringen:((a v b) & c) v d v (b & c) = (a & c) v (b & c) v d v (b & c)

= (a & c) v (b & c) v d

= (a & b & c) v (a & b) v b= (a & b & c) v (a & b) v b

In Form ohne v-Operator bringen:(a & b) v (c & d) v e

= ((a & b) v (c & d)) & e= (a & b) v (c & d) v e

= ((a & b) & (c & d)) & e

(H3)

(R7a)

(R9)

(R12a)

(R12a)

Abgeleitete Beziehungen der Schaltalgebra

Page 282: Alle Vorlesungspdfs DT

www.kit.edu

Institut für Technik der Informationsverarbeitung

Karlsruher Institut für Technologie (KIT)

Digitaltechnik

Prof. Dr.-Ing. J. [email protected]

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Digitale Schaltfunktionen und Normalformtheoreme

Page 283: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung2

FunktionellerZusammenhang

f

. . . y

x1x2

xn

Schaltalgebra: - zulässige Interpretation der Huntingtonschen Axiome- Basis für die formale Entwicklung binärer Digitalschaltungen

Motivation

Schaltfunktion: - 2n Zuordnungen Xj fj (Xj Belegung, fj zugeordnete Funktionswert)

- Begriffe: Nullstellenmenge N, Einsstellenmenge E, Redundanzmenge R

Wichtig: Kompakte Darstellungstechniken und formale Konstruktionsvorschriftenfür beliebige Schaltfunktionen (unabhängig von n)

Anwendungen von Schaltfunktionen

Page 284: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung3

Arten von Funktionen:

Arten von Funktionen

Injektion: Eineindeutige Abbildung von S in T

ST

B

Jedem Element aus S wird genau ein Element aus T zugeordnet.

Die Bildmenge ist Teilmenge der Zielmenge (B T).

Page 285: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung4

Arten von Funktionen

Surjektion: Eindeutige Abbildung von S auf T

Verschiedene Elemente aus S können denselben Elementen aus T zugeordnet sein.

Bild- und Zielmenge sind identisch (B T).

ST B

Page 286: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung5

Arten von Funktionen

Bijektion: Eineindeutige Abbildung von S auf T

Funktion, die sowohl Eigenschaften der Injektionals auch der Surjektion aufweist.

Bild- und Zielmenge sind identisch (B T).

ST B

Page 287: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung6

Funktionsbegriff: stellt offensichtlich Beziehung zwischen beiden Mengen S und T her

Funktionsbegriff

- allgemein: jede eindeutige Relation kann als Funktion aufgefasst werden Funktion ist Spezialfall der Relation

- Definition einer Funktion (verschiedene Weisen):- durch Angabe aller Paare (s,t), welche die Funktion festlegen (aufwendig!!!)- Kurznotation: z.B. y = x!

- Sei S = { 0, 1 }n das n-fache kartesische Produkt der Menge { 0, 1 } und T = { 0, 1 }

FunktionellerZusammenhang

f

. . . y

x1x2

xn

X = (xn, ... , x2, x1 )

xi { 0, 1 }y { 0, 1 }

- Definition einer Schaltfunktion ( s ist das Argument, t der Funktionswert ):

Angabe aller Paare (s, t) mit s { 0, 1 }n (= Belegung) und t { 0, 1 }

Page 288: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung7

Allgemein:

Schaltfunktion lässt sich schreiben als: y = f ( X ) = f ( xn, ... , x2, x1 )

mit xn, ... , x1 unabhängige Variablen, y abhängige Variable der Funktion

Funktionsdefinition

- Beispiel: f sei diejenige Funktion, die genau dann den Wert y = 1 annimmt, wenndie Belegung von ( a3, a2, a1 ) eine ungerade Anzahl von Einsen aufweist

(a3 a2 a1) f y

(0, 0, 0) 0

(0, 0, 1) 1

(0, 1, 0) 1

(0, 1, 1) 0

(1, 0, 0) 1

(1, 0, 1) 0

(1, 1, 0) 0

(1, 1, 1) 1

j0 a3 a2 a1 y

0 0 0 0 0

1 0 0 1 1

2 0 1 0 1

3 0 1 1 0

4 1 0 0 1

5 1 0 1 0

6 1 1 0 0

7 1 1 1 1

Abbildungsvorschrift: Funktionsdarstellung:

Page 289: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung8

häufig gilt: nicht allen Belegungen kann/muss ein Funktionswert zugeordnet werden

Klassen von Schaltfunktionen

- solche Zuordnungen: Redundanz- oder Freistellen der Funktion Kennzeichnung: Xj - (sogenanntes don t care) Stelle kann wahlweise mit 1 oder 0 belegt werden

Also: 3 Teilmengen von Belegungen:- Nullstellenmenge N = { Xj | Xj 0 }- Einsstellenmenge E = { Xj | Xj 1 }- Redundanzmenge R = { Xj | Xj - }

Beispiel: Funktion mit Freistellen Funktion für BCD Zahlen,

wobei Eingangskombinationen, die Pseudotetraden entsprechen, mit Freistellen belegt werden

Ziffer j0 a3 a2 a1 a0 y0 0 0 0 0 0 0

1 1 0 0 0 1 0

2 2 0 0 1 0 0

3 3 0 0 1 1 1

4 4 0 1 0 0 0

5 5 0 1 0 1 0

6 6 0 1 1 0 1

7 7 0 1 1 1 0

8 10 1 0 0 0 0

9 11 1 0 0 1 1

Pseudo-tetraden

12 1 0 1 0 -

13 1 0 1 1 -

14 1 1 0 0 -

15 1 1 0 1 -

16 1 1 1 0 -

17 1 1 1 1 -

Page 290: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung9

Reale technische Anwendungen:

Freistellen überwiegen häufig gegenüber 0- / 1-Stellen

Klassen von Schaltfunktionen

- eine vollständig definierte Schaltfunktion: ordnet allen Belegungen Xj einen

Funktionswert aus fj { 0, 1 } zu

wegen |{0, 1}| = 2n gilt:bei unvollständigen Schaltfunktionen lässt sich aus jeweils zweiTeilmengen die fehlende dritte Teilmenge bestimmen

Man definiert daher zwei Hauptklassen von Funktionen:

- eine unvollständig definierte Schaltfunktion: ordnet mindestens einer Belegung Xj

keinen Funktionswert aus fj { 0, 1 } zu

Page 291: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung10

Neben tabellarischer Darstellung: es existieren graphisch orientierte Darstellungen

Graphische Darstellung von Funktionen

Beispiel: Darstellung einer Schaltfunktion mittels Symmetriediagramm

Tafelmethoden (sogenannte KV-Diagramme),vor über 100 Jahren von Karnaugh und Veitch vorgeschlagen

Nachteile von KV-Diagrammen bei Werten n > 4 (unübersichtlichen Darstellung!)- Prof. Lipp hat KV-Diagramme mittels einer neuen Symmetrierelation

auf beliebiges n erweitert

--10

----

1010

0000

14151110

16171312

6732

4510

a3

a2

a1

a0

y

Page 292: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung11

Symmetriediagramme

0

V1

n=0 n=1

n=2 n=3

n=4 n=5

n=6

122 altneu jj

32

10

H1

x1

H1x2

10

x1

V1

112 altneu jj

6732

4510

V2

x1

x2

x3

V2

132 altneu jj

14151110

16171312

6732

4510

H2

x1

x2

x3

H2x4142 altneu jj

3031353414151110

3233373616171312

222327266732

202125244510

V3

x2

x1 x1

x4

x5

x3

V3

152 altneu jj

6040

77

7050

3031353414151110

3233373616171312

222327266732

202125244510

H3

x1 x1

x5

x2

x2x6

x3

H3x4

162 altneu jj

Entwicklung eines Symmetriediagramms

Page 293: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung12

Spezifikation / Schaltfunktionen: Funktionstabelle stellt bei großen Werten von n keinebesonders effiziente Darstellungstechnik dar, da dieSpaltenzahl mit n, die Zeilenzahl jedoch mit 2n wächst

Graphische Darstellung von Funktionen

Beispiel für die Darstellung mittels BDD:

Neben bereits vorgestellten Methoden Funktionen darzustellen:es existieren weitere Möglichkeiten zur Darstellung in Form spezieller Graphen

- z.B. Binary Decision Diagrams (BDDs)

a

0 0

a

0 1

b

a

0 1

a

1 1

b

c

j0= 0 1 2 3 4 5 6 7

0 1 0 1 0 1 0 1

0 0

0

1 1

1

0

b

1

b

a

c1

1

11

0

0

00

beide Darstellungen: repräsentieren die gleiche Funktion

Page 294: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung13

Binary Decision Diagrams (BDDs)

- Funktionen lassen sich kanonisch (eindeutig) darstellen

diese Eigenschaft von BDDs lässt für Äquivalenzprüfungen

von Funktionen ausnutzen Isomorphie-Test

- darüber hinaus: es existieren eine Reihe von Verfahren,

welche die rechnergestützte Verarbeitung

von in BDD-Form dargestellten Funktionen

effizient ermöglichen

Graphische Darstellung von Funktionen

Page 295: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung14

Schaltfunktionen

n = 0 MF = 2

n = 1 MF = 4

n = 2 MF = 16

n = 3 MF = 256..

n = 10 MF = 21024 10308

Beispiele:

Eigenschaft: Anzahl möglicher Funktionen (MF) wächst explosionsartig! Zahl einzelner Bildungsvorschriften und Namen zu groß!

Gesucht: Grundsätzliche Konstruktionsvorschrift für Schaltfunktionen(unabhängig von n) ?

Ziel: Anbindung an schaltalgebraische Notation: Axiome + Regeln anwendbar

Page 296: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung15

Mögliche Schaltfunktionen bei n=2n = 2: MF = 16 y = f(x2, x1)

Eigene Symbole und Namen:

y10 : & Konjunktion, UND-Verknüpfung, AND

y16 : V Disjunktion, ODER-Verknüpfung, OR

y7 : & neg. Konjunktion, neg. UND-Verknüpfung, NAND (NOT AND)

y1 : V neg. Disjunktion, neg. ODER-Verknüpfung, NOR (NOT OR)

y6 : Antivalenz XOR

y11 : Äquivalenz

y13 : Implikation, x2 impliziert x1, x2 x1 (analog: y15 : x1 impliziert x2, x1 x2)

111111110000000011111100001111000001110011001100110010101010101010101000

y17y16y15y14y13y12y11y10y7y6y5y4y3y2y1y0x1x2

neg.

Dis

junk

tion

(neg

. Im

plik

atio

n)

neg .

Impl

ikat

ion

Ant

ival

enz

neg .

Kon

junk

tion

Äqu

ival

enz

Impl

ikat

ion

(Impl

ikat

ion)

Dis

junk

tion

Kon

junk

tion

Page 297: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung16

Herleitung der NormalformtheoremeBesondere Funktionen: Konjunktion und Disjunktion- Null- und Einsstellenmenge teilen sich extrem auf, jeweils in: 1 zu 2n-1 Belegungen

Konjunktion: Disjunktion:

- entsprechen den Operatoren der Schaltalgebra (Serien- und Parallelschaltungen) Anbindung dieser Schaltfunktionen an das axiomatische Gebäude!

Symmetriediagramme: Konjunktion Disjunktion

6732

4510

1111

1110

x3

x2

x1y

6732

4510

0100

0000

x3

x2

x1y

32

10

11

10x2

x1y

32

10

10

00

x2

x1y

n = 3 y = x3 & x2 & x1 y = x3 V x2 V x1

n = 2 y = x2 & x1 y = x2 V x1

10

für x1 = x2 = 1y = f (x1,x2)sonst

01

für x1 = x2 = 0y = f (x1,x2)sonst

Page 298: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung17

Gesucht: Grundsätzliche Konstruktionsvorschrift für Schaltfunktionen (unabh. von n) ? Bauprinzip in Anlehnung an die Reihenentwicklung in der Mathematik

- geeignete (bspw. orthogonale) Basisfunktionen bk(x) und Koeffizienten Ak

1

0111100 )()()()()(

N

kkkNN xbAxbAxbAxbAxfy

Frage: gibt es Basisfunktionen und geeignete Koeffizienten für beliebige Schaltfunktionen ?

n = 3: Konjunktion: y = x3 & x2 & x1 Beliebige Einsstelle: y = ?

x1

6732

4510

0000

1000

x3

x2

y

Notwendig: Konjunktion / Disjunktion -> Funktionswert 1 (0) beliebiger Belegung zuordnen können

Modifikation der Konjunktion

123 && xxxy

Abbildung der

Belegung

Herleitung der Normalformtheoreme

x1

6732

4510

0100

0000

x3

x2

y

Page 299: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung18

Herleitung der Normalformtheoreme

10&

12,0,10&

&&

01

01

&&&&

1

1

121

121

jjjj

jjjj

nkjkj

nj

nj

nn

nn

MmMm

mMMm

kjkjMMmm

xxM

xxm

fürxfürx

xxxxxy

fürxfürx

xxxxxy

nktion)Maxterm(funktion)Minterm(fu

Allgemein gilt für n = beliebig:

0&&&&

&,&,&,&2

121221

123122

121120

xxxxmm

xxmxxmxxmxxmn:Beispiel

Ergebnis: Belegungsabbildung -> beliebige Eins- / Nullstelle für jede Belegung Minterm- und Maxtermfunktionen

Page 300: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung19

Herleitung der Normalformtheoreme

7111100000001

6011010000001

5101001000001

4001000100001

3110000010001

2010000001001

1100000000101

0000000000011

j0x1x2x3y = m0 v m1 v m2 v m3 v m4 v m5 v m6 v m7

n = 3:

Mögliche Funktion:Disjunktion

aller Minterme

Gesucht: Grundsätzliche Konstruktionsvorschrift für Schaltfunktionen (unabh. von n) Verwendung orthogonaler Minterm- und Maxtermbasisfunktionen ?

Page 301: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung20

Herleitung der Normalformtheoreme

7111A70000000A7

60110A6000000A6

510100A500000A5

4001000A40000A4

31100000A3000A3

201000000A200A2

1100000000A10A1

00000000000A0A0

j0x1x2x3y = A0&m0 v A1&m1 v A2&m2 v A3&m3 v A4&m4 v A5&m5 v A6&m6 v A7&m7

Erweiterung: Einführung von Koeffizienten Aj für Minterm- und Maxtermbasisfunktionen beliebige Funktionsdarstellung

n = 3:

Reihenentwicklung:Gewichtung

der Basisfunktionen mj

mit Aj {0, 1}

Page 302: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung21

NormalformtheoremeNormalformen einer Schaltfunktion kanonische Formen

)(

)(&)(&&)(&)(

)&(

)&()&()&()(

12

0

001122221212

12

0

001122221212

jjj

jjj

Mfy

MfMfMfMfy

mfy

mfmfmfm&fy

n

nnnn

n

nnnn

&

V

Konjunktive Normalform (KNF):

Disjunktive Normalform (DNF):

oder kürzer

oder kürzer

nur mit den 3 Grundverknüpfungen (Operatoren) Konjunktion, Disjunktion und Negation ist es möglich jede beliebige Schaltfunktion darzustellen

[&, V, ] ist ein Basissystem der Schaltalgebra

Page 303: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung22

Normalformtheoreme: Hauptsatz der Schaltalgebra

x3

14151110

16171312

6732

4510

1010

0100

1010

0000

x4

x2

x1y

Beispiel: y = f(x4, x3, x2, x1) = 1, wenn die Oktalzahl durch 3 dividierbar ist

)(&)(&)(&)(&)(&)(&)(&)(&)(&)(&)(:

)&&&()&&&()&&&()&&&()&&&(:

12341234

123412341234

123412341234

123412341234

12341234

123412341234

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxy

xxxxxxxxxxxxxxxxxxxxy

KNF

DNF

Satz: Jede beliebige Schaltfunktion y = f(xn, ... , x1) läßt sich als Disjunktion von Mintermen<Konjunktion von Maxtermen> eindeutig darstellen. In der Disjunktion <Konjunktion> treten genau diejenigen Minterme <Maxterme> auf, die zu den Einsstellen <Nullstellen> der Schaltfunktion gehören.

Hauptsatz der Schaltalgebra:

Page 304: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung23

Beziehungen zwischen den Begriffen

110:Bsp.

jjnj

n

i

iij

xxx

xj

12

1

12

Index

12n x&x&&x:Bsp.

&

jjnj

ij

n

ij

xxx

xm

12

1

&&&

Minterm

12n xxx:Bsp.

V

jjnj

ij

n

ij

xxx

xM

12

1

Maxterm

1

12

0)&(

j

n

fjjjj

mmff VV

DNF

0

12

0)(

j

n

fjjjj

MMff &&

KNF

1,1,0,:Bsp.

jjnjj xxxX 12 ,,,

Belegung

jjjj XfffXf ,:

Funktionstabelle

0,1,

ijij

ijijij xwennx

xwennxx

jj Mm jj mM

Page 305: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung24

Normalformtheoreme: Praktische AnwendungNotwendig: für jeden Operatortyp eine passende technische Realisierung

Schaltglieder (Gatter) für Konjunktion, Disjunktion und Negation

Schaltzeichen nach derneuen Norm (DIN 40900):

&

UND-Glied :a

b

c

d

y = a & b & c & d

>=1

ODER-Glied :a

b

c

d

y = a v b v c v d

1a y = a

Negationsglied:

1a y = a

(Zum Vergleich alte Norm)

a

b

c

d

y

a

b

c

d

y

a y

a y

Definition: Schaltnetz (angelehnt an DIN IEC 748)Ein Schaltnetz ist eine Digitalschaltung, in der es für jede mögliche Kombination von digitalen Signalen an den Eingängen eine - und nur eine - Kombination von digitalenSignalen an den Ausgängen gibt:

Yt = F(Xt)SN

F YX

Page 306: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung25

ODER-Matrix

(fest)

x1

2n Mintermfunktionen

DNFm1

UND-Matrix

(fest)m2

n

x2

xn

m2

Y = f(X)

Normalformorientierte Strukturen:-> DNF als Beispiel

-> 2n UND-Glieder in der 1. Stufe und ein bzw.

mehrere ODER-Glieder in der 2 Stufe

-> Beispiel 1: ULA (Universal Logic Array)

& & & && & &&

1

1

1

V

1

x1

x2

x2

x3

x3

1

0

y = f(X)

X

0 m1 0 0 m4 m5 m6 m7

x1

0

(Einsstellenmenge)

(Nullstellenmenge)

Beispiel: y = m1 v m4 v m5 v m6 v m7

Personalisierung (Programmierung):

Abhängigkeit des Funktionswertes fj

von einem Minterm mj wird festgelegt

Normalformtheoreme: Praktische Anwendung

Page 307: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung26

Normalformtheoreme: Praktische AnwendungNormalformorientierte Strukturen:

-> Beispiel 2: ROM (Read Only Memory)

Beispiel: y = m1 v m4 v m5 v m6 v m7

Personalisierung erfolgt in der 2. Stufe

& & & && & &&

1

1

1

V

x1

x2

x2x3

x3

y = f(X)

X

m1 m4 m5 m6 m7

x1

ODER-Matrix

(progr.)

x1

2n Mintermfunktionen

DNFm1

UND-Matrix

(fest)m2

n

x2

xn

m2

Y = f(X)

Page 308: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung27

Es gilt:

Normalformtheoreme und der Hauptsatz der Schaltalgebra

zeigen die eindeutige Darstellbarkeit beliebiger Schaltfunktionen

mittels der 3 Grundverknüpfungen Konjunktion, Disjunktion, Negation

daher: man bezeichnet diese 3 Verknüpfungen [&, V, ]

als ein Basissystem der Schaltalgebra

weiterhin: -es existieren weitere Basissysteme

-lassen sich mittels der De Morgan schen Theoreme

vom ersten Basissystem ableiten:

Basissysteme der Schaltalgebra

12121212 && xxxxxxxx bzw.

Page 309: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung28

Basissysteme der Schaltalgebra

jjj

jjj

jjj

jjj

jjj

jjj

jjj

jjj

Mfymfy

Mfymfy

Mfyymfyy

Mfymfy

nn

nn

nn

nn

&

&

&

&

12

0

12

0

12

0

12

0

12

0

12

0

12

0

12

0

V&

V&

&V

&V

bzw.

bzw.

bzw.

bzw.

Also:- Neben dem bereits vorgestellten Basissystem mit 3 Verknüpfungen [&, V, ]

existieren Basissysteme mit zwei oder gar einem Operator

Beispiel: Herleitung von Basissystemen mit 2 Verknüpfungen [&, ] bzw. [V, ]ausgehend von DNF bzw. KNF

Page 310: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung29

Weiterhin: DNF realisiert nur Minterme fj = 1 und KNF nur Maxterme fj = 0

Basissysteme der Schaltalgebra

jjjjjj

jj

MMfmmf

ff

&

10

und

01

jj fjfj Mymy V&man erhält :

&1 (Regel 5b) 0 (Regel 5a)

&1 0

x x x x

x x x x

Also: man erhält zwei neue Basissysteme mit jeweils nur einer einzigen Verknüpfung,

denn: bilden ebenfalls Basissysteme der Schaltalgebra

wobei: Negationen einzelner Variablen werden mit Konstanten 0 / 1 dargestellt:

& und

Page 311: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung30

Nächste Vorlesungen

- Entwicklungssatz der Schaltalgebra

- Minimierungsverfahren für komplexe Schaltfunktionen

- Technische Realisierung von Schaltgliedern

- Weitere praktische Anwendungen

- Beispiele digitaler Bausteine

Page 312: Alle Vorlesungspdfs DT

www.kit.edu

Institut für Technik der Informationsverarbeitung

Digitaltechnik

Karlsruher Institut für Technologie (KIT)

Prof. Dr.-Ing. J. [email protected]

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Entwicklungssatz der Schaltalgebra

Page 313: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung2

Entwicklungssatz der SchaltalgebraNormalformtheoreme

Ermöglichen eine eindeutige (kanonische) Darstellung

jeder beliebigen Schaltfunktion

Schaltfunktionen sind allein durch 3 logische Operationen realisierbar

Und, Oder und Negation

Der Boole‘sche Entwicklungssatz ist eine formelle Methode zur

gezielten Umwandlung jedes beliebigen schaltalgebraischen

Ausdrucks in eine der beiden Normalformen (KNF bzw. DNF)

Ergebnis: eine der kanonischen Darstellungen KNF bzw. DNF

Page 314: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung3

Minterme• Terme mi für genau eine Belegung wird der Wert 1 angenommen

“orthogonale Basisfunktionen“ zur Bildung der DNF

• “Projektion“ von Einsstellen auf beliebige Positionen

im Symmetriediagramm

• “Auswahl“ der richtigen Funktionswerte in DNF

Einsstellenmenge

Minterme f(x2,x1)m0 12 & xx f(0,0)m1 12 & xx f(0,1)m2 12 & xx f(1,0)m3 12 & xx f(1,1)

Entwicklungssatz der Schaltalgebra

Page 315: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung4

Maxterme• Terme Mi für genau eine Belegung wird der Wert 0 angenommen

“orthogonale Basisfunktionen“ für Bildung der KNF

• “Projektion“ von Nullstellen auf beliebige Positionen

im Symmetriediagramm

• “Auswahl“ der richtigen Funktionswerte in KNF

Nullstellenmenge

Maxterme f(x2,x1)M0 12 xx f(0,0)M1 12 xx f(0,1)M2 12 xx f(1,0)M3 12 xx f(1,1)

Entwicklungssatz der Schaltalgebra

Page 316: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung5

DNF (Disjunktive Normalform)Schaltfunktion in DNF-Form: besteht aus mehreren disjunktivverknüpften ( Oder-Funktion) Termen, die aus konjunktivverknüpften ( Und-Funktion) Literalen bestehen

Beispiele:

Also: DNF listet alle Belegungen, die den Funktionswert ´1´erzeugen sollen, einzeln auf

321321321321321321 )&&()&&()&&()( xxxxxxxxxxxxxxxxxxxf

212121212121 )&()&()&()( xxxxxxxxxxxxxf

2121)( xxxxxf x1 x2 f(x) 0 0 1 0 1 0 1 0 1 1 1 0

Page 317: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung6

KNF (Konjunktive Normalform)Schaltfunktion in KNF-Form: besteht aus mehreren konjunktivverknüpften Termen, die aus disjunktiv verknüpften Literalen bestehen

Beispiel:

Also: bei der KNF entspricht jeder Term von konjunktiv verknüpften Literalen einer “invertierten Belegung“ mit Funktionswert ´0´ Tritt diese Wertkombination auf, so wird der entsprechende

Term ´0´ und der komplette Schaltfunktionswert wird auch ´0´

)(&)(&)()( 321321321 xxxxxxxxxxf

)(&)()( 2121 xxxxxf x1 x2 f(x) 0 0 1 0 1 0 1 0 1 1 1 0

Page 318: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung7

Entwicklungssatz der SchaltalgebraDer Entwicklungssatz ist eine formale Methode eine Funktionf(xn,...,x3, x2, x1) in eine DNF (oder KNF) umzuwandeln

Die Entwicklung der Funktion f nach der Variablen xi

Aufteilung in zwei Fälle: xi = 1 und xi = 0

Oder für eine KNF:

1 1 1

1 0

( ,..., ,..., ) [ & ( ,...,1,..., )] [ & ( ,...,0,..., )]

[ & ] [ & ]i i

n i i n i n

i ix x

f x x x x f x x x f x x

x f x f

1 1 1

0 1

( ,..., ,..., ) [ ( ,...,0,..., )]&[ ( ,...,1,..., )]

[ ] &[ ]i i

n i i n i n

i ix x

f x x x x f x x x f x x

x f x f

Page 319: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung8

Entwicklungssatz der SchaltalgebraBeweis der beiden Fälle:

1 1 0( ,..., 1,..., ) [1& ] [1& ]

i in i x x

f x x x f f

1 0[1& ] [0 & ]

i ix xf f

1ixf

10

ixf

1 1 0( ,..., 0,..., ) [0 & ] [0 & ]

i in i x x

f x x x f f

1 0[0 & ] [1& ]

i ix xf f

0ixf

00

ixf

Page 320: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung9

Entwicklungssatz der Schaltalgebraund werden als Restfunktionen oder Kofaktoren bezeichnet

der nach xi entwickelte Ausdruck lässt sich nach den weiteren Variablen entwickeln

Beispiel einer Funktion mit zwei Variablen:

1ixf

0ixf

2 1( , )y f x x 1 2 1 2& ( ,1) & ( ,0)x f x x f x

2 1 1

2 1 1

&[ & (1,1) & (1,0)]

&[ & (0,1) & (0,0)]

x x f x f

x x f x f

Entwicklung nach x1

Entwicklung nach x2

2 1 2 1 2 1 2 1& & (1,1) & & (1,0) & & (0,1) & & (0,0)]x x f x x f x x f x x f

3 3 2 2 1 1 0 0& & & &m f m f m f m f 3

0( & )i i

jm f

DNF

Minterme

Page 321: Alle Vorlesungspdfs DT

www.kit.edu

Institut für Technik der Informationsverarbeitung

Digitaltechnik

Karlsruher Institut für Technologie (KIT)

Prof. Dr.-Ing. J. [email protected]

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Minimierung digitaler Schaltfunktionen(Teil 1)

Page 322: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung2

Minimierung (Optimierung)Aus den schaltalgebraischen Ausdrücken ist ersichtlich, dass der Beschreibungsaufwand sinkt, je weniger Terme vorhanden sind bzw. je mehr Literale aus den Termen entfallen

Bei der schaltungstechnischen Realisierung zeigt sich ebenfalls, dass entsprechende Aufwendungen für Schaltelemente von der Anzahl der Terme und der verwendeten Literale abhängen

Bei der DNF (KNF) benötigt man für jede Einsstelle (Nullstelle) einen Minterm (Maxterm) durch gezieltes Weglassen von Literalen in einem Minterm (Maxterm)

kann dieser Term mehrere Einsstellen (Nullstellen) repräsentieren

Anzahl der benötigten Terme und Literale wird reduziert

Minimierung von Schaltfunktionen!

Page 323: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung3

MinimierungBeispiele:

12341234 &&&),,,( xxxxxxxxf

1341234 &&),,,( xxxxxxxf

131234 &),,,( xxxxxxf

)}1,0,0,1{(E

)}1,1,0,1(),1,0,0,1{(E

)}1,1,0,1(),1,0,0,1(),1,1,0,0(),1,0,0,0{(E

1E

2E

4E

Also: die Reduzierung von Literalen in einem Term hat auch die Reduzierung der Anzahl von Termen zur Folge

Gesucht: Terme mit minimaler Anzahl von Literalen, die trotzdem nur Einsstellen (Nullstellen) der zu beschreibenden Funktion erfassen

diese Terme werden Primterme genannt

Page 324: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung4

MinimierungPrimterme und Eins- bzw. Nullstellenüberdeckung Einsstellen (Nullstellen) verschiedener Primterme können “überlappen“ (kosten)günstigste Auswahl von Primtermen gesucht, die alle Einsstellen

(Nullstellen) der Funktion überdecken -> Überdeckungsproblem! das Gesamtproblem nennt man das Minimierungsproblem

Bewertungskriterium

zur Bewertung unterschiedlicher Lösungen des Minimierungsproblems wird die Anzahl der Literale der Primterme zzgl. der Zahl der verwendeten Terme verwendet

Beispiel:

Gesucht: Auswahl von Primtermen mit L(y) minimal

4 3 2 1 4 3 2 5 3( & & & ) ( & & ) ( & )y x x x x x x x x x

123234)( yL

Page 325: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung5

MinimierungsmethodenMinimierung am Symmetriediagramm

Die Minimierung mit Symmetriediagramm stellt eine graphische Methode dar -> Ausnutzung der Symmetrierelationen

Zusammenfassung von Belegungen zu maximalen Blöcken Finden aller Primblöcke (charakteristische Terme Primterme) Überdeckung aller Einsstellen (bzw. Nullstellen)

0 011

0 110

0 -10

- 001

x1

x2

x3

x4

10

2 3

5 4

6

16

7

1415

17

1110

1312

Page 326: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung6

MinimierungsmethodenMinimierung am Symmetriediagramm

Finden von Primblöcken (Primtermen)in Symmetriediagrammen

• Sukzessive Bildung von Blöcken aus Einsstellen (Nullstellen) und Freistellen durch Spiegelung von kleineren

Blöcken (einzelne Einsstellen sind kleinste Blöcke) an allen möglichen Symmetrielinien

• Maximal zusammengefasste Blöckevon Einsstellen sind Primeinsblöcke, wenn keine Spiegelung mehr möglich

Page 327: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung7

Minimierung am Symmetriediagramm

Beispiel (1):

Gegeben: y = f (x4, x3, x2, x1) durch die Angabe der Eins- und Nullstellen im Symmetriediagramm

Gesucht: Kürzester algebraischer Ausdruck Disjunktive Minimalform (DMF)

Primterme zur Bildung einer DMF spezifizierenPrimeinsblöcke werden Primimplikanten genannt(Primimplikate für Konjunktive Minimalform KMF)

Die farbig dargestellten Primimplikantenüberdecken Eins- und Freistellen

0 011

0 110

0 -10

- 001

x1

x2

x3

x4

10

2 3

5 4

6

16

7

1415

17

1110

1312

Minimierungsmethoden

Page 328: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung8

MinimierungsmethodenMinimierung am Symmetriediagramm

Beispiel (2):Als Primimplikanten erhält man:

Vorgehensweise: Auswahl der Primimplikanten, die

allein eine Einsstelle überdecken sogenannte Kerne

sind durch die Kerne alle Einstellenüberdeckt -> Minimallösung

sonst: Auswahl weiterer Primimplikanten(Strategie + Bewertung notwendig!)

Mögliche Lösung:

0 011

0 110

0 -10

- 001

x1

x2

x3

x4

10

2 3

5 4

6

16

7

1415

17

1110

1312

1 3 2 2 4 2 1 3 4 3 1 4 3 2 1 5 4 3 2 w x x w x x x w x x x w x x x w x x x

1 2 4y w w w

Page 329: Alle Vorlesungspdfs DT

www.kit.edu

Institut für Technik der Informationsverarbeitung

Digitaltechnik

Karlsruher Institut für Technologie (KIT)

Prof. Dr.-Ing. J. [email protected]

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Minimierung digitaler Schaltfunktionen(Teil 2)

Page 330: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung2

MinimierungsmethodenFormale algebraische Minimierung

Das Nelson/Petrick-Verfahren

sehr leistungsfähiges algebraisches Verfahren

Nelson-Verfahren: Bestimmung der Menge aller Primimplikanten(bzw.Primimplikaten)

Petrick-Verfahren: Bestimmung der kostenminimalen Auswahl von Primimplikanten zur Einsstellenüberdeckung(bzw.Primimplikaten zur Nullstellenüberdeckung)Alternativ: graphisch mit Überdeckungstabelle

+ Regeln zur Abarbeitung/Vereinfachung

Ergebnis: kostenminimaler algebraischer Ausdruck der zu realisierenden digitalen Schaltfunktion

Page 331: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung3

MinimierungsmethodenNelson-Verfahren:

Bestimmung aller Primimplikanten zur Bildung einerdisjunktive Minimalform DMF (dual dazu: alle Primimplikate für KMF)

1) alle Freistellen werden zu Einsstellen verfügt: Einsstellenergänzung fE

Bildung einer Nullblocküberdeckung für die Einsstellenergänzung fE

der gegebenen (unvollständigen) Schaltfunktion: 0 = {B01,B02,...,B0r}

2) Aufstellen eines schaltalgebraischen Ausdrucks (KNF bzw. KMF) für die Einsvervollständigung fE: fE = W01 & W02 & ... & W0r

3) Schrittweises Ausdistribuieren des Ausdrucks fE = W01 & W02 & ... & W0r aus 2) + Umformen und Streichen überflüssiger Termanteile bzw. Terme

-> Anwendung von Distributiv- und Absorptionsgesetze-> aus der konjunktiven Form die gewünschte disjunktive Form

4) Streichen aller im 3. Schritt gefundenen Terme, die nur Freistellen überdecken

Page 332: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung4

MinimierungsmethodenNelson-Verfahren:

Beispiel:

Man nehme eine Nullblocküberdeckung:

Durch Ausdistribuieren + Umformung erhält man:

1 0 0 1

- 0 1 -x2

x3

x1

)(&)( 3121 xxxxf E

1 0 0 1

- 0 1 -

x1

x2

x3

Distributivgesetz

Regel R7

Absorption (R11)

Absorption (R11)

)&(

)(&)(

321

321

32211

3221311

32213111

3121

xxx

xxx

xxxxx

xxxxxxx

xxxxxxxx

xxxxf E

Page 333: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung5

MinimierungsmethodenÜberdeckungsproblem (oder Auswahlproblem)

Bei dem Nelson-Verfahren erfolgte nur die Ermittlung aller Primterme

Weiterhin gesucht: optimale Auswahl der Primterme eine Auswahl von Primtermen, die alle Einsstellen (Nullstellen) der

gewünschten Funktion berücksichtigt wird Überdeckung genannt

Lösung: graphische Auswahl der Primterme mit Überdeckungstabelle für jeden Primterm wird angegeben, welche Einsstellen

(bzw. Nullstellen) er überdeckt zur Bewertung wird eine Spalte mit Kosten ck angefügt Überdeckungstabelle wird mit Hilfe bestimmter Regeln

abgearbeitet (vereinfacht) -> Kernermittlung + Dominanzregeln algebraische Behandlung der optimalen Auswahl von Primtermen

auch möglich: Bildung und Auswertung des Petrick-Ausdrucks!

Ergebnis: kostenminimale Überdeckung der Schaltfunktion

Page 334: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung6

MinimierungsmethodenÜberdeckungsproblem:

Beispiel:jk Pl 0 2 4 11 12 14 16 pi ci

1 24xx x x p1 c1

2 23xx x x p2 c2

3 134 xxx x x p3 c3

4 134 xxx x p4 c4

5 124 xxx x x p5 c5

6 134 xxx x x p6 c6

7 123 xxx x x p7 c7

x4

1 0 0 1

1 0- -

1 1- -

0 1 0 1

0 1

2 3

5 4

7 6

1415

1617

10 11

12 13

x1

x2

x3

Page 335: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung7

MinimierungsmethodenÜberdeckungsproblem

Kernermittlung:

Wenn eine Einsstelle (Nullstelle) nur durch einen einzigen Primterm abgedeckt wird, nennt man den Primimplikanten (Primimplikaten) Kernimplikant (Kernimplikat)

Kernimplikanten (Kernimplikate) müssen auf jeden Fall in die Überdeckungslösung aufgenommen werden

Spalten von Einsstellen (Nullstellen) in der Überdeckungstabelle, die von Kernimplikanten (Kernimplikaten) abgedeckt werden, können gestrichen werden, und müssen in der weiteren Abarbeitung nicht mehr berücksichtigt werden

Page 336: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung8

MinimierungsmethodenKernermittlung und Vereinfachung der ÜberdeckungstabelleBeispiel:

jk Pl 0 2 4 11 12 14 16 pi ci

1 24xx x x p1 c1

2 23xx x x p2 c2

3 134 xxx x x p3 c3

4 134 xxx x p4 c4

5 124 xxx x x p5 c5

6 134 xxx x x p6 c6

7 123 xxx x x p7 c7

Page 337: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung9

MinimierungsmethodenDominanzregeln und Ihre Anwendung (1)

Spaltendominanzregeln:

Spaltendominanz in der Überdeckungstabelle:

Wenn die Spalte i2 durch einen der Terme p1 oder p3 überdeckt wird, so wird dadurch auch i1 überdeckt

also: Einsstelle der Spalte i1 ist durch p1 oder p3 auch realisiert

Man sagt: (“Vektor“ i1) dominiert (“Vektor“ i2) und schreibt: i1 i2

Dominierende Spalten (hier: i1) können gestrichen werden

i1 i2X X p1

p2

X X p3

X p4

X p5

i1 i2X X p1

p2

X X p3

X p4

X p5

Page 338: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung10

MinimierungsmethodenDominanzregeln und Ihre Anwendung (2)

Zeilendominanzregeln:

Wenn eine Zeile i2 (Primterm p2) nur Spalten ( Einsstellen) überdeckt, die auch von einer anderen Zeile i1 (Primterm p1) überdeckt werden i2 wird von i1 dominiert: i2 i1, und

es gilt: (Kosten c1) (Kosten c2)

die Zeile i2 kann gestrichen werden

X X X X c1

X c2

...X X X ck

p1

p2

pk

i 1

i 2

i k

X X X X c1

X c2

...X X X ck

p1

p2

pk

i 1

i 2

i k

i 1

i 2

i k

X X X X c1

X c2

...X X X ck

p1

p2

pk

i 1

i 2

i k

X X X X c1

X c2

...X X X ck

p1

p2

pk

i 1

i 2

i k

X X X X c1

X c2

...X X X ck

p1

p2

pk

i 1

i 2

i k

i 1

i 2

i k

Page 339: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung11

MinimierungsmethodenÜberdeckungsproblem:

Um die optimale Überdeckung der Schaltfunktion durch eine optimale Auswahl von Primtermen zu ermitteln kann das Problem durch die vorgestellten Regeln graphisch vereinfacht bzw. komplett gelöst werden

Allgemeine Vorgehensweise:

1) Kerne bestimmen und Streichen aller überdeckten Spalten (Einsstellen)(“leergewordene“ Zeilen können auch gestrichen werden)

2) Spaltendominanzen finden und dominierende Spalten streichen

3) Zeilendominanzen finden und dominierte Zeilen streichen, nach Möglichkeit (-> Kosten ci beachten!)

4) Schritte 1-3 wiederholen, bis Überdeckungstabelle nicht mehr reduzierbar keine Kerne und Dominanzen mehr (ggf. noch zyklische Resttabelle auflösen)

Page 340: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung12

MinimierungsmethodenÜberdeckungsproblem (Auswahlproblem)

Petrick-Verfahren:

Das Petrick-Verfahren ist eine algebraische Methode

dient zur Bestimmung kostenminimaler Lösungenvon Überdeckungsproblemen

Es kann direkt nach dem Nelson-Verfahren zur kostenminimalen Auswahl von Primtermen verwendet werden

Spaltendominanzen und Zeilendominanzen können algebraisch mit Hilfe des Petrick-Verfahrens in Form von Absorptionsregeln bzw. Ausdistribuieren abgearbeitet bzw. bewiesen werden

Petrick-Verfahren wird bei zyklischen Resttabellen verwendet

Page 341: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung13

MinimierungsmethodenPetrick-Ausdruck (PA):

Der Petrick-Ausdruck ist algebraische Beschreibung derÜberdeckungsedingungen ob der Primterm k zur Lösung gehört, wird mit der bool´schen

Präsenzvariable (Auswahlvariable) pk angegeben-> pk = 0 => Primterm k ist nicht in Lösung enthalten-> pk = 1 => Primterm k ist Bestandteil der Lösung

zur Überdeckung jeder Einsstelle muss mindestens ein Primterm zur Lösung gehören, der diese Stelle überdeckt

Petrick-Ausdruck besteht daher aus Termen von disjunktiv verknüpften Präsenzvariablen für jede Einsstelle der Tabelle enthält der PA einen Term in jedem Term muss mindestens eine Präsenzvariable den Wert ´1´ haben

Diese Terme werden konjunktiv zum Petrick-Ausdruck verknüpft der Petrick-Ausdruck muss immer eins liefern!

Page 342: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung14

MinimierungsmethodenÜberdeckungsproblem (Auswahlproblem)Beispiel:

• Im Petrick-Ausdruck kann man erfassen (beweisen!), dass die Präsenzvariablender Kernimplikanten (p4) immer eins sein müssen

1)(&)(&)(&&)(&)(&)(!

3173214756265 pppppppppppppPA

jk Pl 0 2 4 11 12 14 16 pi ci

1 24xx x x p1 c1

2 23xx x x p2 c2

3 134 xxx x x p3 c3

4 134 xxx x p4 c4

5 124 xxx x x p5 c5

6 134 xxx x x p6 c6

7 123 xxx x x p7 c7

Page 343: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung15

MinimierungsmethodenÜberdeckungsproblem (Auswahlproblem)

Auch der Petrick-Ausdruck wird durch Distributionsregelnund Absorptionsregeln vereinfacht

Beispiel:

1)(&

1

...

1)(&)(&)(&&)(&)(&)(

7521763265315327614

75421764326543154327641

3173214756265

ppppppppppppppppppp

ppppppppppppppppppppppp

pppppppppppppPA

175421764326543154327641 pppppppppppppppppppppppPA

Page 344: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung16

MinimierungsmethodenÜberdeckungsproblem (Auswahlproblem)

Damit der Petrick-Ausdruck ´1´ wird, muss mindestens einer der disjunktiv verknüpften konjunktiven Teilterme eins sein

Jeder konjunktive Teilterm repräsentiert genau eine mögliche Lösung des Auswahlproblems

Zur Auswahl der optimalen Lösung: die Kosten ck der Primterme pk werden herangezogen Anzahl der Literale von pk

Vergleich der Kostensummen K aller möglichen Lösungen(K = Summe der Literale der jeweils notwendigen Primterme) diejenige Überdeckung mit optimalen Kosten

kann ermittelt werden

Page 345: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung17

MinimierungsmethodenÜberdeckungsproblem (Auswahlproblem)

Beispiel:

mit c1=c2=2; c3…c7=3p1p4p6p7 K = 11p2p3p4p5 K = 11p1p3p4p5p6 K = 14p2p3p4p6p7 K = 14p1p2p4p5p7 K = 13

Damit ergeben sich zwei kostenminimale Lösungen:

p1p4p6p7 und p2p3p4p5

175421764326543154327641 pppppppppppppppppppppppPA

jk Pl 0 2 4 11 12 14 16 pi ci

1 24xx x x p1 c1

2 23xx x x p2 c2

3 134 xxx x x p3 c3

4 134 xxx x p4 c4

5 124 xxx x x p5 c5

6 134 xxx x x p6 c6

7 123 xxx x x p7 c7

Page 346: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung18

MinimierungsmethodenÜberdeckungsproblem (Auswahlproblem)

Beispiel:

die zugehörigen disjunktiven Minimallösungen (DMF)mit nur 11 Literalen sind:

1 4 2 4 3 1 4 2 1 3 2 1y x x x x x x x x x x x 2 3 2 4 3 1 4 3 1 4 2 1y x x x x x x x x x x x und

x3

x2

x1

x4

1 0 0 1

1 0- -

1 1- -

0 1 0 1

y2

y2

x2

x1

x4

1 0 0 1

1 0- -

1 1- -

0 1 0 1

x3

y1

y1

Page 347: Alle Vorlesungspdfs DT

www.kit.edu

Institut für Technik der Informationsverarbeitung

Digitaltechnik

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Karlsruher Institut für Technologie (KIT)

Prof. Dr.-Ing. J. [email protected]

Bausteine der Digitaltechnik- Schaltnetze (Teil 1) -

Page 348: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung2

Schaltnetze- in der Regel bestehen logische Ausdrücke aus mehr als einem Operator- aus den logischen Ausdrücken kann unmittelbar eine

Konstruktionsvorschrift für Digitalschaltungen erstellt werden

Strukturvorschrift bzw. Strukturausdruck

Beispiel: ][)&()&( 121212 zzxxxxy

1

1

&

&1

2x

1x

1z

2z

y1

- Als Stufenzahl bezeichnet man die Tiefe der Schaltung, der maximalen Anzahl von Schaltgliedern von den Eingängen zum Ausgang (Inverter werden dabei nicht gezählt)

Page 349: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung3

Schaltnetze- Schaltnetze sind Schaltungen, die unmittelbar einem Strukturausdruck entsprechen- Dabei hängen die Ausgänge nur von den Signalen an den Eingängen ab

(Schaltzeiten der Schaltglieder (= Gatter) und Signallaufzeiten werden zunächst vernachlässigt)

- Definition (nach DIN IEC 748 Teil 2):Ein Schaltnetz ist eine Digitalschaltung, in der es für jede mögliche Kombination von digitalen Signalen an den Eingängen eine – und nur eine – Kombination von digitalen Signalen an den Ausgängen gibt:

FX Y Yt = F(Xt)

Dabei ist der hochgestellte Index t lediglich ein Hinweis darauf, dass die Größe Y zeitlich unmittelbar aus der Größe X gebildet wird.

Page 350: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung4

Entwurf von SchaltnetzenVorgehensweise:

1. Schritt: Umsetzung der verbalen Aufgabenstellung in eine formale Form,

z.B. in eine Funktionstabelle;

(dazu gehört die Festlegung der Wertezuordnung für die Binärvariablen)

2. Schritt: Bildung einer Normalform; Bildung einer vollständigen Blocküberdeckung

3. Schritt: Bildung einer Minimalform (bspw. nach S-Diagramm oder Nelson/Petrick)

4. Schritt: Umformung in das gewählte Basissystem

5. Schritt: Umformen in den Strukturausdruck

6. Schritt: Umsetzen in das entsprechende Schaltnetz

(unter Umständen sind nicht alle Schritte zum Entwurf notwendig)

Page 351: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung5

Schaltnetzbeispiel: AddiererbausteinEinführung

Um eine praktische Handhabung von arithmetischen Operationen zu erhalten, benötigen wir eine Reihe von Schaltungen, die uns die Grundoperationen wie Addition, Subtraktion oder Multiplikation zur Verfügung stellen

Im Folgenden werden zu diesem Zweck eine Reihe von Schaltungen vorgestellt, die uns diese Funktionalität bieten:

Addierer sind Schaltungen, die uns ermöglichen digital eine Addition durchzuführen

Hierzu existieren eine Reihe von Addiererstrukturen, die sich in ihren Eigenschaften wie Laufzeiten oder Kosten (Gatteranzahl) unterscheiden

Page 352: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung6

Schaltnetzbeispiel: Addiererbaustein

- summieren die beiden Eingangsbits ai und bi und legen die Summe auf den Ausgang si

- zusätzlich wird ein Übertragsbit ci+1 erzeugt

Halbaddierer

HAib

ia is

1ic

HA

=1

&

••ib

ia

1ic

is

a b s

0 0 0

0

1

1

1

0

1

1

1

0

c

0

0

0

1

i+1iii

iii bas

ii1i bac

Page 353: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung7

Schaltnetzbeispiel: Addiererbaustein

- besitzen zusätzlich einen Übertragseingang und sind somit in der Lage, vorhergehende Stellen in die Berechnung einzubeziehen

Volladdierer

iiii cbas iiiiii1i cbcabac

VA

ib

ia

icis

1ic

b c s0 0 0011

101

110

c0001

i+1iiia0000

i

0 0 1011

101

001

0111

1111

VA

=1

&

1&

&

•• •

••

ib

ia

ic is

1ic

Page 354: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung8

Schaltnetzbeispiel: Addiererbaustein

- 1. Baustein ist ein HA, die darauffolgenden VAs

n-Bit Ripple-Carry-Addierer

VA1b1a

1s

2c

HA0b

0a 0s1c

1-nc

VA1-nb1-na

1-ns

nc

...

Page 355: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung9

Schaltnetzbeispiel: Addiererbaustein

- Nachteil: ein sehr langer kritischer Pfad !!!

- die Laufzeit beträgt 2n Gatter für die Berechnung von cn

Beispiel: 4-Bit Ripple-Carry-Addierer

VA1b1a

1s

2c

HA0b

0a 0s1c

3c

VA3b3a

3s

4c

VA2b2a

2s

Page 356: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung10

Schaltnetzbeispiel: Addiererbaustein

- die Berechnung der Überträge geschieht parallel

- wir führen neue Signale ein: pi (Propagate) und gi (Generate)

Carry-Look-Ahead-Addierer

iiiiii cp cbas

iii

iiiii

iiiii

iiiiii1i

pcg )b(acba )b(acba

cbcabac

iiiiii bag und bapmit

Page 357: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung11

Schaltnetzbeispiel: Addiererbaustein

- daraus ergeben sich folgende Gleichungen:

Carry-Look-Ahead-Addierer

0001 pcg c

1001011112 pcg c ppcpgg

21002102122223 pppcppgpggpcg c ...

n n-1 n-1 n-1 n-1 n-2 n-1 n-3 n-2 n-1 o 1 n-1 0 0 n-1c g c p g g p g p p g p ...p c p ...p

damit lassen sich die Übertragswerte mit 3 „Stufen“ berechnen.

Page 358: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung12

Schaltnetzbeispiel: AddiererbausteinBeispiel: 3-Bit Carry-Look-Ahead-Addierer

GP

0b0a

0c

0s

1b1a

2b2a

C=1

0g

0p

1g

1p

2g

2p=1

1c

3c

1p

2c

2p

=10c

0p

1s

2s

0001 pcg c

1001011112 pcg c ppcpgg

21002102122223 pppcppgpggpcg c

iiiiii cp cbas

Page 359: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung13

Schaltnetzbeispiel: Addiererbaustein

- Problem: beim n-Bit Addierer werden Gatter mit n+1 Eingängen, sowie interne Signalverzweigungen häufig benötigt Doppelberechnung von gleichen Termen!

- Abhilfe: Erweiterung des PG-Schemas auf Bitgruppen, z.B. 4 Bit

Carry-Look-Ahead-Addierer:

0321032103213234 cpppppppgppgpgg c

00:30:34 cPG c

32103213230:3 pppgppgpgg G

32100:3 pppp P

Page 360: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung14

Schaltnetzbeispiel: Addiererbaustein

- weiterhin gilt:

- durch Substitution erhält man:

Carry-Look-Ahead-Addierer

00:30:34 cPG c

4:47:478 cPG c

88:118:1112 cPG c

1212:1512:1516 cPG c

00:30:34 cPG c

00:3:470:3:47:478 cPPGPG c

00:3:478:110:3:478:11:478:118:1112 cPPPGPPGPG c

00:3:478:1112:150:3:478:1112:15:478:1112:158:1112:1512:1516 cPPPPGPPPGPPGPG c

Page 361: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung15

Schaltnetzbeispiel: Subtrahiererbaustein

- Die Subtraktion lässt sich auf die Addition des K2-Komplementszurückführen

- Dies bedeutet die bitweise Negation und Addition einer 1

- Für einen kombinierten Addierer/Subtrahierer lässt sich die bitweise Negation über XOR steuern

Page 362: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung16

Schaltnetzbeispiel: SubtrahiererbausteinBeispiel: 4-Bit Addierer/Subtrahierer

- Addierer mit k=0, Subtrahierer mit k=1

VA1b

1a1s

2c

VA0b

0a 0s1c

3c

VA3b

3a3s

4c

VA2b

2a2s

=1

=1

=1

=1

0c

••

k

Page 363: Alle Vorlesungspdfs DT

www.kit.edu

Institut für Technik der Informationsverarbeitung

Karlsruher Institut für Technologie (KIT)

Digitaltechnik

Prof. Dr.-Ing. J. [email protected]

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Bausteine der Digitaltechnik- Schaltnetze (Teil 2) -

Page 364: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung2

Schaltnetze

Allgemein: Hardwaretechnische Realisierung von Schaltnetzen

- Anwendung schaltalgebraischer Regeln auf logische Ausdrücke erlaubt vielfältige Formen für Schaltnetze “krause Logik“

- Komplexe Schaltnetze: unübersichtliche und teilweise schwierige Verhältnisse

Benötigt: übersichtliche Methode zur schnellen und kostengünstigen Realisierung von Schaltnetzen in Form integrierter Schaltungen (ICs)

Grundprinzip: Weglassen / Hinzufügen von Signalverbindungen (Schalter!) in universell nutzbaren (“personalisierbaren“) Hardwarestrukturen

- Prinzipielle Unterscheidung in folgende beiden zweistufigen Klassen:

- Minterm- bzw. Maxterm-orientiert (basierend auf DNF bzw. KNF)

- blockorientiert (basierend auf DMF bzw. KMF)

- Universelle Realisierungsmöglichkeit:-> durch eine Matrixstruktur

Page 365: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung3

Normalformorientierte Strukturen: DNFBeispiel: ULA (Universal Logic Array)

- besteht aus 2n UND-Schaltgliedern, zur Realisierung jedes Minterms in der 1. Stufe

- einem oder mehreren ODER-Schaltgliedern in der 2. Stufe

- Personalisierung: in 1. Stufe durch konjunktive Verknüpfung der Minterme mit 1 oder 0

Beispiel: dargestellte Funktion 76541 mmmmmy

&

1

1

1

&

0

&

0

&

0

&

m1

&

m4

&

m5

&

m6 m7

y = f(X)V

X

1

0

1

0

x1

x1

x2

x2

x3

x3

Page 366: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung4

Normalformorientierte Strukturen: DNF

X

1

0

1

0 0

0 m7

V y = f(X)

1

m1

1

m6

11

m5

0

0

1

m40

&

1

0

x1

x1

x2

x2

x3

x3

(Einsstellenmenge)

(Nullstellenmenge)

Vereinfachte Darstellung der Kontaktierung eines ULA:

- einfache Punkte: repräsentieren feste Verbindungen

- Punkte mit einem Kreis: programmierbare (personalisierte) Verbindungen

Beispiel: dargestellte Funktion 76541 mmmmmy

Page 367: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung5

Normalformorientierte Strukturen: DNF

&

1

1

1

& &&

m1

&

m4

&

m5

&

m 6

y = f(X)V

X

&

m7

x1

x1

x2

x2

x3

x3

Beispiel: ROM (Read Only Memory)

Beispiel: dargestellte Funktion 76541 mmmmmy

- besteht aus 2n UND-Schaltgliedern in der 1. Stufe

- einem oder mehreren ODER-Schaltgliedern in der 2. Stufe

- Personalisierung: in 2. Stufe durch Weglassen / Hinzufügen von Mintermen

Page 368: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung6

Normalformorientierte Strukturen: DNFVereinfachte Darstellung für die Kontaktierung eines ROM:

X 1

x1

x1

x2

x2

x3

x3

y=f(X)

&

m1 m 4 m5 m6 m7m0 m2

V 0 1 1 1 1 10 0

m3

Beispiel: dargestellte Funktion 76541 mmmmmy

Page 369: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung7

Blockorientierte Strukturen: DMFBeispiel: PAL (Programmable Array Logic):

- besteht i.a. aus weniger als 2n UND-Schaltgliedern in der 1. Stufe

- einem oder mehreren ODER-Schaltgliedern in der 2. Stufe

- die Personalisierung erfolgt in der 1. Stufe durch Festlegung der Primterme

Beispiel: dargestellte Funktion )&()&( ),()&( 1212312 xxxxzxxxy

& & && & &

zV

1

1

1

X

x1

x1

x2

x2

x3

x3

Vy

Page 370: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung8

Blockorientierte Strukturen: DMF

X1

x1

x2

x3

x3

y = f (X)

&x2

x1

V

V z = g (X)

x1 x1

x2

x1

x2

x3

x2

Vereinfachte Darstellung eines PALs:

Beispiel: dargestellte Funktion )&()&( ),()&( 1212312 xxxxzxxxy

Page 371: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung9

Blockorientierte Strukturen: DMFBeispiel: PLA (Programmable Logic Array)

- Aufbau ähnlich zu PALs, jedoch flexibler in der 2. Stufe

- beide Matrizen sind programmierbar (personalisierbar)

Vorteil: mehrfache Ausnutzung von Primtermen

Beispiel: dargestellte Funktion )&()&( ),()&( 1212312 xxxxzxxxy

& & && &

zV

1

1

1

X

x 1

x 1

x 2

x 2

x 3

x 3

V y

Page 372: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung10

Blockorientierte Strukturen: DMF

x1

x2X

1

x1

x2

x3

x3

y = f (X)

&x2

V

V z = g (X)

x1

x1

x3

x2

1 1 0 0 0

1 0 0 1 0

Vereinfachte Darstellung eines PLAs:

Beispiel: dargestellte Funktion )&()&( ),()&( 1212312 xxxxzxxxy

Page 373: Alle Vorlesungspdfs DT

www.kit.edu

Institut für Technik der Informationsverarbeitung

Digitaltechnik

Karlsruher Institut für Technologie (KIT)

Prof. Dr.-Ing. J. [email protected]

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Bausteine der Digitaltechnik- Schaltnetze (Teil 3) -

Page 374: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung2

Entwurf von SchaltnetzenVorgehensweise:

1. Schritt: Umsetzung der verbalen Aufgabenstellung in eine formale Form,

z.B. in eine Funktionstabelle;

(dazu gehört die Festlegung der Wertezuordnung für die Binärvariablen)

2. Schritt: Bildung einer Normalform; Bildung einer vollständigen Blocküberdeckung

3. Schritt: Bildung einer Minimalform (bspw. nach S- Diagramm oder Nelson/Petrick)

4. Schritt: Umformung in das gewählte Basissystem

5. Schritt: Umformen in den Strukturausdruck

6. Schritt: Umsetzen in das entsprechende Schaltnetz

(unter Umständen sind nicht alle Schritte zum Entwurf notwendig)

Page 375: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung3

Schaltnetze: BeispielentwurfBeispiel: Aufgabenstellung

Mit einer Siebensegmentanzeige sollen im BCD-Code gegebene Ziffern dargestellt werden. Am Beispiel des oben links liegenden Segments f soll ein Schaltnetz zur Ansteuerung dieses Segments entworfen werden. Zu Verfügung stehen nur NAND-Gatter mit zwei Eingängen und Inverter.

1. Schritt:Zuordnung: Segment hell: f = 1, Segment dunkel: f = 0Benennung der Eingänge: BCD mit (x4, x3, x2, x1)

a

g

d

f b

ce

Page 376: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung4

a

g

d

f b

ce

Schaltnetze: Beispielentwurf

Ziffer j x4 x3 x2 x1 f0 0 0 0 0 0 1

1 1 0 0 0 1 0

2 2 0 0 1 0 0

3 3 0 0 1 1 0

4 4 0 1 0 0 1

5 5 0 1 0 1 1

6 6 0 1 1 0 1

7 7 0 1 1 1 0

8 10 1 0 0 0 1

9 11 1 0 0 1 1

- 12 1 0 1 0 -

- 13 1 0 1 1 -

- 14 1 1 0 0 -

- 15 1 1 0 1 -

- 16 1 1 1 0 -

- 17 1 1 1 1 -

Schaltfunktion für das Segment f:

Page 377: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung5

Schaltnetze: Beispielentwurf2. Schritt: siehe 3. Schritt

3. Schritt: Minimierung z.B. nach dem Nelson-Verfahren

)(&)(&)( 12342341234 xxxxxxxxxxxf E

)(&)( 12341234 xxxxxxxx

1213234 xxxxxxx

Primimplikanten sind nun bekannt, bleibt noch das Überdeckungsproblem:

j

PIk

x4

0

4

5

6

10

X

11

X

x3x2_

x3x1_

x2_

x1_

X

X

X X

X

X

X

Die Funktion besteht nur aus Kernimplikanten, somit liegt eine Minimalform (DMF) vor:

1213234 xxxxxxxf

Page 378: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung6

Schaltnetze: Beispielentwurf4. Schritt: Umwandlung in NAND-Basissystem

1213234 xxxxxxxf

1213234 xxxxxxx

1213234 &&& xxxxxxx

doppelte Negation

de Morgan‘sche Regeln

1

1

1 &

&

&

&

f

x4x3

x2

x1

NAND-Gatter der 2. Stufe benötigt mehr als 2 Eingänge-> Umformung

der 2. Stufe

Page 379: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung7

Schaltnetze: Beispielentwurf5. Schritt: Strukturausdruck für Gatter mit zwei Eingängen und Inverter

1213234 &&& xxxxxxxf

)&(&)&( 1213234 xxxxxxx

Umformung des NAND-Gatters in der 2. Stufe

6. Schritt: Konstruktion des NAND2-Schaltnetzes aus dem Strukturausdruck

)&(&)&( 1213234 xxxxxxxf

1

1

1 &

&

&

&

&

1

1

& f

x4

x3

x2

x1

Page 380: Alle Vorlesungspdfs DT

www.kit.edu

Institut für Technik der Informationsverarbeitung

Karlsruher Institut für Technologie (KIT)

Digitaltechnik

Prof. Dr.-Ing. J. [email protected]

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Bausteine der Digitaltechnik- Automaten und Binärspeicher -

Page 381: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung2

Automaten - Motivation- Schaltnetze: ermöglichen die Bildung von Ausgangsgrößen

unmittelbar aus Eingangsgrößen

- maximal sinnvolle Größe der Schaltnetze ist jedoch aus wirtschaftlichen und technischen Gründen beschränkt

- Notwendig: ein neues Verarbeitungskonzept, welches die Mächtigkeitdes Eingangsalphabets reduziert und die Komplexität derAusgabegröße in andere Dimension verlagert

- Beispiel für Mächtigkeit / Komplexität: Ausgabe von Automatenware

- Bei Einsatz von Schaltnetzen zur Verarbeitung der Eingaben wäre hier eine Eingabe aller Parameter zur gleichen Zeit notwendig!!!

- reales Verhalten: Eingabe der Reihe nach

- Im folgenden wird gezeigt, warum zur Speicherung aller „vorherigen“ Eingaben die Verwendung eines sogenannten “Zustandes“ sinnvoll ist

Page 382: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung3

Automaten - Allgemein- Verallgemeinerung des Problems:

- endliches Eingabealphabet: E = { E1, E2, ... , Eg, ... , Eu }- endliches Ausgabealphabet: A = { A1, A2, ... , Ah, ... , Av }

-> das neue Konzept beschrieben durch eine Einheit AT, bei der eine zeitliche Folge von Elementen des Eingabealphabets FE in eine zeitliche Folge von Elementen des Ausgabealphabets FA abgebildet wird:

- zur Unterscheidung zeitlicher Reihung: Einführung eines Ordnungsindizes

FE AT FA

FE = Eg Eg

-1 Eg-2 ... FA = Ah

Ah-1 Ah

-1 ...

Für die neue Einheit AT muss gelten: Ah = f ( Eg

, Eg-1, Eg

-2, ... , Eg- )

- insgesamt werden +1 Elemente des Eingabealphabets beobachtet - ist die zeitliche Tiefe der Verarbeitung

Page 383: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung4

Automaten - Allgemein

- Erhalt neuen Elements -> älteste Element Eg- entfällt aus Folge mit Länge (+1)

- Nachteil des Konzeptes: Speicherung von Eingabeelementen erforderlich, um Ah

zu berechnen:

vgE v

hA

AT

...

gEv-1

gE

v-agE

fv-2

-> bei Normierung der Indizes dem Alter nach erhält man:a v

g1 a v

g2 v

g1 v

gvg E .....E E E E

a vg

1 a vg

2 vg

1 vg

vg

1 vg E E ..... E E E E

a vg

1 a vg

2 vg

1 vg

vg

1 vg E E ..... E E E E

a vg

1 a vg

2 vg

1 vg

vg E E ..... E E E v+1 v:

v:

v+1:

v+1: reduziert

normiert

Page 384: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung5

Automaten - Allgemein

( Eg-1 ... Eg

- ) S, mit E S

Weiterhin: Abbildung der Folge Eg-1 ... Eg

- auf ein neues AlphabetS = { S1, ... , Sk, ... , Sw } mit geringerer Mächtigkeit:

- das Element Sk wird Zustand von AT genannt

- unter Beachtung der zeitlichen Reihung erhält man nun:

Ah = ( Eg

, Sk ), mit als Ausgabefunktion von AT

Also: bei Eingabe eines neuen Eingabeelements Eg ergibt sich unter Be-

rücksichtigung des aktuellen Zustands (so genante “Historie der Eingaben“):

Sk+1 = ( Eg

, Sk ), mit als Überführungsfunktion der Zustände

- Kennzeichnung der Einheit AT als Quintupel

AT = ( E, A, S, , )

mit drei endlichen Mengen und zwei Abbildungen zwischen diesen Mengen

Page 385: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung6

Automaten- Allgemein- Darstellung des Automaten durch folgende Struktur:

Sk+1Sk

Eg

Ah

Speicher

- rekursive Anordnung für die Bestimmung des neuen Zustandes

- der Speicher nimmt den momentanen Zustand Sk auf

- der neue Zustand Sk+1 muss zum richtigen Zeitpunkt übernommen werden

Page 386: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung7

Automaten - Typen

-> Mealy-Automat mit Ah = ( Eg

, Sk ) als allgemeinster Fall:

Sk+1Sk

Eg

Ah

Speicher

- Bezüglich der Ausgabefunktion von Eg und Sk

unterscheidet man drei Fälle:

Wichtige Typklassen von Automaten im Zusammenhang mit Digitalschaltungen:

- endliche, diskrete und deterministische Automaten

Page 387: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung8

Automaten - Typen- Moore-Automat mit Ah

= ( Sk ) als ein Spezialfall, bei dem die Ausgabe

allein vom Zustand abhängt:

Sk+1Sk

Eg

Ah

Speicher

- Medwedew-Automat mit Ah = Sk

als dem Spezialfall, bei dem als Ausgabeder Zustand selbst dient:

Sk+1Sk

Eg

Ah

Speicher

Page 388: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung9

Automaten - Typen

- Automatengraphen: Knoten repräsentieren Zustände, Kanten als Zustandsübergänge

E /A2 1

E /A1 2 E /A2 2

E /A11E /A2

E /A2 3

E /A1 2

3S

4SS2

1S

S

allgemein?

S

Beispiel

1 2E1

E1

E2

E2

En

E , E212 1S A/

+1nS /A

+1n

allgemein:

nnS /A

/1S 1A /3S 2A

4 3S A/

k kg

hh

Beispiel:

Mealy Moore

- Beide Elemente des Graphen werden mit Attributen versehen, die sich auf Eingangs- und Ausgangselemente beziehen

Beschreibung des Verhaltens: Automatengraphen und Automatentafeln

Page 389: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung10

S+1/A S+1

S E1 E2 S E1 E2 A

S1 S2/A2 S4/A2 S1 S2 S4 A1

S2 S3/A1 S2/A1 S2 S3 S2 A1

S3 S4/A1 S4/A3 S3 S4 S4 A2

S4 S2/A2 S2/A3 S4 S2 S2 A3

Automaten - TypenAutomatentafel:

Mealy Moore

- Bilden des kartesischen Produktes aus Eingabe- und Zustandsmenge

- An Kreuzungsstellen werden beim Mealy-Automaten der jeweilige Folgezustandund die Ausgabe, beim Moore-Automaten nur der Folgezustand eingetragen

S+1/A S+1

S E1 .. . En

S E1 .. . En

A

.. . .. . .. . .. .

S .. . Sk+1/Ah

.. . S .. . Sk+1 ... Ah

.. . .. . .. . .. .

Beispiele:

Page 390: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung11

SchaltwerkeDie technische Realisierung eines endlichen, diskreten und deterministischen

Automaten wird Schaltwerk genannt (im Gegensatz zum “gedächtnislosen“ Schaltnetz)

- Unterscheidung zwischen Mealy-, Moore- und Medwedew-Schaltwerken

- beim Übergang vom Automaten zum Schaltwerk ist eine eineindeutige Abbildungder Automatenelemente in binäre Größen (Bit-Leitungen) erforderlich:

E { Xj } mit E 2n bei X = ( xn, ... , x1 )

A { Yi } mit A 2m bei Y = ( ym, ... , y1 )

Neu: eineindeutige Abbildung der Zustände Sk der Menge S in die Menge der Belegungen eines weiteren Binärvektors, des Zustandvektors Q:

S { Qk } mit S 2r bei Q = ( qr, ... , q1 )

-> Zustandskodierung, und werden als Schaltnetze abgebildet

- Spezifikation von Schaltwerken: Automatengraphen und Automatentafeln-> entsprechende Automatenelemente werden durch ihre binäre Äquivalente ersetzt

Page 391: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung12

SchaltwerkeWeiterhin: formal eingeführte Indizierung der zeitlichen Ordnung muss nun in

technische Realisierung überführt werden

- Schaltwerke, bei denen Rückführungen direkt wirksam werden, heißen asynchron -> sie sind schwieriger zu entwerfen

-> Rückführung der Zustände über einen Speicher:

Speicher

g

S

S +1

x = konstant

Also: ein Speicher wird benötigt, der die Schwierigkeit der unmittelbar wirksamen Rückkopplung vermeidet, indem nur zu bestimmten Zeitpunkten die am Speicher anliegenden Werte übernommen werden

Page 392: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung13

Schaltwerke

Funktion: c = 0: (Teilspeicher 1) = S+1

c = 1: (Teilspeicher 2) = (Teilspeicher 1)immer: S = (Teilspeicher 2)Tor 1 und Tor 2 sind nie gleichzeitig aktiv

- Schaltwerke mit taktgesteuerten Speichern werden getaktet betrieben genannt

-> Auftrennung und partielle Weiterleitung des Zustandes bzw. Folgezustandes Zustandsspeicher in zwei Teilspeicher zerlegen

Teil- speicher

1

Teil- speicher

2

T O R 1

T O R 2

MasterSlave

S+1S

Takt c

Als zusätzliches informationsfreies Binärsignal, wird der sogenannte Takt c benötigt

-> Takte an allen Schaltungsteilen gleichzeitig aktiv -> synchrones Schaltwerk

Page 393: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung14

Schaltwerke

-> die Zählung des Indexes muss aus dem Taktsignal abgeleitet werden

Mealy-Automat: Änderung der Eingabe bewirkt asynchrone Ausgabenberechnung

Steuerungsarten des Taktes:

t

t

t

t

t

. . .-1

+1 . . .

+1 . . .

. . .

-1. . . +1 . . .

1

0

Schaltwerkc

c

Schaltwerkc

Schaltwerkc

Schaltwerkc

1

0

1

0

1

0

t t +1

t

t +1

t +1

t t +1

c

c

c

pegelgesteuert:

pegelgesteuert:

flankengesteuert:

flankengesteuert:

Page 394: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung15

Binärspeicher (FlipFlops)

-> ist S die Zahl der Zustände, berechnet sich die Größe des Binärvektors Q zu:

Binärspeicher werden zur Speicherung von Zuständen der Schaltwerke benötigt

- einzelne Zustandsvariablen qk werden rekursiv mit berechnet

r = ldS mit Q = ( qr, ... , qk, ... , q1 )

mit qk einer beliebigen Zustandsvariable des Zustandsvektors

- eine zwei Werte speichernde Einheit wird als Binärspeicher bezeichnet: FlipFlop

- ein Speicher mit r FlipFlops kann 2r unterschiedliche Zustände speichern

-> grundsätzliche Funktionen eines Binärspeichers:

- muss wahlweise eine 0 oder 1 einspeichern können (schreiben)- der Wert im Speicher muss extern zur Verfügung stehen (lesen)- Vorhandensein eines Taktes: Rekursion (+1 => ) muss vom Binärspeicher

unter Einwirkung des Taktes verwirklicht werden

Also: verschiedene Varianten der Binärspeicher diskutieren

Page 395: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung16

Binärspeicher (FlipFlops)

-> das gleichzeitige Schreiben von 0 und 1 (R=1, S=1) bei RS-FlipFlop ist unzulässig

Fall 1: RS-FlipFlop

Lesesignal =̂ Zustandswert:

qk {0,1}

Schreiben einer 0, Rücksetzen:

R {0,1} 0 =̂ inaktiv 1 =̂ Schreiben 0

Schreiben einer 1, Setzen:

S {0,1} 0 =̂ inaktiv1 =̂ Schreiben 1

Fall 2: D-FlipFlop

Lesesignal =̂ Zustandswert:

qk {0,1}

Datensignal =̂ Zustandswert neu:

D {0,1}

Schreiben des Wertes von D:

W {0,1} 0 =̂ inaktiv

1 =̂ Schreiben

Funktionstabellen:qk

alt R S qkneu

00

00

01

01

0011

11

01

00

01

0-11

11

11

01

0-

qkalt D W qk

neu

00

00

01

00

00

11

11

00

01

01

01

10

11

11

01

11

Binärspeicher-Varianten:

Page 396: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung17

Binärspeicher (FlipFlops)

- Übertragung der zeitlichen Indizes und +1 auf die Schaltnetzgrößen:

qkalt = qk

, qkneu = qk

+1, R, S, D, W

- die charakteristischen Gleichungen lauten:

- Überführungsfunktion zur Bildung von qk+1 für beide Fälle:

0 1 1 1

0 - - 0

0 0 0 1

0 1 1 1

S

W

q

kq

k

R

D

qk+1 = (D & W) v (qk

& W)

Funktionstabellen: qkalt R S qk

neu

00

00

01

01

0011

11

01

00

01

0-11

11

11

01

0-

qkalt D W qk

neu

00

00

01

00

00

11

11

00

01

01

01

10

11

11

01

11

qk+1 = S v (qk

& R) , mit S & R = 0

Page 397: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung18

Binärspeicher (FlipFlops)Zusammenhang für einen bestimmten Werteübergang: qk

qk+1

-> gibt die sogenannte Ansteuerfunktion an:

q q +1 R S

0 0 - 0

0 1 0 1

1 0 1 0

1 1 0 -

q q +1 D W

0 0 - 0

0 1 1 1

1 0 0 1

1 1 - 0

daraus ergibt sich:

S = qk+1R = qk

+1 W = qk+1 qk

D = qk+1

oder: D = qk

- neben der formalen Behandlung des Binärspeicherverhaltens ist die technische Realisierung solcher Elemente von Bedeutung

Beispiele:

Page 398: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung19

Symbole Charakteristische Gleichungen Ansteuerfunktionenq

qR

S

q

q1R

1SC1 q +1 = S v (q & R)

_

q q +1 R S

0 0 - 0 0 1 0 1 1 0 1 0 1 1 0 -

q

q

1D

C1

q

q

1J

1KC1

q

q

1TC1

q +1 = D

q +1 = (T & q ) v (T & q )_ _

q +1 = (K & q ) v (J & q )_ _

q q +1 K J

0 0 - 0 0 1 - 1 1 0 1 -1 1 0 -

q q +1 D

0 0 0 0 1 1 1 0 0 1 1 1

q q +1 T

0 0 0 0 1 1 1 0 1 1 1 0

Binärspeicher (FlipFlops)

RS-FlipFlop

D-FlipFlop

T-FlipFlop

JK-FlipFlop

Page 399: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung20

Ablaufdiagramm und AblauftabelleBeschreibung des Automatenverhaltens:

-> nicht alle Komponenten des Eingabevektors beim Übergang zum Folgezustand sind relevant und müssen berücksichtigt werden

- Schaltwerkstafel bzw. Schaltwerksgraph sind als Beschreibungsmittel oftmals ungünstig

Daher: an dieser Stelle werden das Ablaufdiagramm bzw. die Ablauftabelle eingeführt, die sich durch eine platzsparendereund effizientere Beschreibungsform auszeichnen

Page 400: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung21

Ablaufdiagramm und Ablauftabelle

Übergang in den Zustand k, ausgelöst

durch das Taktsignal

Abfrage der im aktuellen Zustand k

relevanten Eingangsvariablen auf

ihre Werte XR = (xRv , ... , xR2 , xR1)

Wert des Ausgangsvektors Y = (ym , ... , y1) im

aktuellen Zustand

kA

4) Markierung des Anfangszustands

Y

3) Ausgabe

k

1) Zustandsübergang

X

2) Abfrage (Verzweigung)

R

xRv

xR2

xR1

...

Ablaufdiagramm:

Page 401: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung22

Ablaufdiagramm und AblauftabelleMealy- und Moore-Schaltwerke werden entsprechend der Abhängigkeiten

Y = (Q,X) bzw. Y = (Q)

durch die Reihenfolge der Symbole für Verzweigungen und Ausgabe berücksichtigt

-> Definition des Ablaufschrittes:

- Tripel aus Zustandsübergang, Ausgabe und Verzweigung, das jeweils zu einem Wert des Index gehört

Moore-AblaufschrittMealy-Ablaufschritt

Page 402: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung23

Ablaufdiagramm und AblauftabelleKomplexere Schaltwerksbeschreibungen: größere Zustandsanzahl

-> es eignet sich eine tabellenorientierte Darstellung besser:

Ablauftabelle:Q XR(k) Q +1 Y(k)

k

- die Ablauftabelle setzt sich aus Teiltabellen für jeden Ablaufschritt zusammen

-> Teiltabellen bestehen aus je vier Spalten:

- für den momentanen Zustand Q

- für die Eingabeblöcke der jeweils relevanten Eingabevariablen XR(k)

- für den Folgezustand Q+1

- für die Ausgabeblöcke Y(k)

- Zustände sind in Ablauftabellen i.a. nicht kodiert

Page 403: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung24

Ablaufdiagramm und AblauftabelleBeispiel:

Q XR(3) Q+1 Y(3)

x6 x4 x3 x1

3 0 - 0 1 l1 Y1

0 1 0 0 l2

0 1 1 1 l2

1 1 0 1 l2

1 0 - - l3

- 0 1 1 l3

1 1 1 0 l4

l1, l2, l3, l4s eien Folgezus tände zum Zu-s tand 3 ,Y1 die Aus gabe gemäß Schalt-werks typ (hier Moore).

Page 404: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung25

Entwurf von SchaltwerkenSchaltwerkentwurf gliedert sich in folgende Schritte:

1. Schritt: Definition der Ein- und Ausgabevariablen

2. Schritt: Wahl des Schaltwerktyps und Erstellen des Ablaufdiagrammsbzw. der Ablauftabelle gemäß Aufgabenstellung

3. Schritt: Zustandskodierung

4. Schritt: Wahl des FlipFlop-Typs und Aufstellen der Ansteuerfunktionen

5. Schritt: Entwurf des Schaltnetzes für die Überführungsfunktion auf der Basis der Ansteuerfunktionen

6. Schritt: Entwurf des Schaltnetzes für die Ausgabefunktion

7. Schritt: Eventuell Umformung der logischen Ausdrücke in geeignete Strukturausdrücke

8. Schritt: Umsetzen in das Schaltbild des Schaltwerkes

Page 405: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung26

Entwurf von SchaltwerkenBeispiel: Verbale Aufgabenstellung

Eine Schaltung für einen sehr einfachen Anrufbeantworter soll zunächst ein Klingelzeichen des Tele-fons abwarten. Wenn bis zum Beginn des zweiten Klingelzeichens der Hörer nicht abgenommen wurde, soll der Anrufbeantworter eingeschaltet werden. Dieser spielt dann seine Mitteilung ab, egal wie lange der Anrufer tatsächlich zuhört. Erst wenn das Band vollständig abgespielt ist, wird der Anrufbeantworter

wieder ausgeschaltet. Der Ausschaltvorgang beinhaltet ein automatisches Rückspulen des Bandes.

1. Schritt: Eingabevariablen: Klingelzeichen: K = 1Klingelpause: K = 0Timeout, d.h. Klingelpause dauert zu lange;Anrufer hat nach dem ersten Klingelzeichenaufgelegt: T = 1sonst: T = 0Bandende: B = 1sonst: B = 0

Ausgabevariablen: Anrufbeantworter ein: A = 1Anrufbeantworter aus: A = 0

Page 406: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung27

Entwurf von Schaltwerken2. Schritt: Schaltwerkstyp: Moore

Ablaufdiagramm:

1

A = 0

K

2

A = 0

K

3

A = 0

K,T

4

A = 1

B

A

0

01 00 1 -

1

0

10

1

Page 407: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung28

Entwurf von Schaltwerken3. + 4. Schritt: Für 4 Zustände werden 2 Zustandsvariablen (q2, q1) benötigt.

Erstellen der kodierten Ablauftabelle.Die Kodierung wird willkürlich, z.B. als sogenannte Zählerkodierung ausgeführt.

Q2 q1

Zustand 1 0 0

Zustand 2 0 1

Zustand 3 1 0

Zustand 4 1 1

Kodierte Ablauftabelle:

Es sollen D-Flipflops verwendet werden,d.h. q2 D2 und q1 D1

Q Q+1 Yq q q2

+1 q+1 A

XR(1):K

0 0 0 0 0 01 0 1

XR(2):K

0 1 0 1 0 01 0 1

XR(3):K,T

1 0 0 0 1 0 01 - 1 1

0 1 0 0

XR(4):B

1 1 0 1 1 1

1 0 0

Q Q+1 Yq2 q q +1 q+1 A

XR(1):K

0 0 0 0 0 01 0 1

XR(2):K

0 1 0 1 0 01 0 1

XR(3):K,T

1 0 0 0 1 0 01 - 1 1

0 1 0 0

XR(4):B

1 1 0 1 1 1

1 0 0

Page 408: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung29

Entwurf von Schaltwerken5. Schritt:

0 0 0 0 1 1

1 1

1

1

1

1

0 0

0 0

1

1 1

1

1 1

1 1

11

1 1

1 1

11

0 0

00

0 0

0 0

00

0 0

0 0 0 0

1 1 0 0

1 1 0 0

0 0

0 0

1 1

0 0

B

BB

B

T

T

q

K

K

q1

1

q2

q2

D 2

D1

2 2 1 2 1 2 1 2 1

1 2 2 1 2 1

v v v v v v v v

v v v v v

D q q K q q T q q K q q B

D q K q q K q q B

Symmetriediagrammefür Ansteuerfunktionen

Page 409: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung30

Entwurf von Schaltwerken6. Schritt: Aus der Ablauftabelle folgt sofort: vvqqA 12

7. Schritt: Wenn zum Beispiel ausschließlich Gatter mit 2 Eingängenzur Verfügung stehen

-> man muss man eine entsprechende Umformung vornehmen:

2 2 1 2 1 2 1 1( ) ( ) ( )v v v v v v vD q q K q q T q q K q B

1 2 2 1 1( )v v v vD q K q q K q B

2 1v vA q q

Page 410: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung31

Entwurf von Schaltwerken8. Schritt: Blockschema (Schaltbild) des Schaltwerkes

Page 411: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung32

Entwurf von SchaltwerkenAnalog zu den Schaltnetzen:

- es besteht die Möglichkeit zweistufige Logik in programmierbare integrierte Schaltungen einzubetten-> dies kann ebenso bei Schaltwerken geschehen

-> anhand des Bausteins AmPAL16R6 soll dies für das Beispiel gezeigt werden

- wegen negierter Ausgänge des Bausteins muss unsere Lösung umgeformt werden:

vvvvvv qqqqqqA 121212

- Ansteuerfunktionen für D1 und D2 können Schritt 5 entnommen werden

Page 412: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung33

Entwurf von SchaltwerkenEinbettung in einen AmPAL16R6:

&

1

1

&

&

&

&

&

&

1

1

&

&

&

&

&

&

&

1

&&

&

1

&

&

&

&

&

&

1

&

&

&

&

&

&

&

1

&&

&

1

&

&

&

&

&

&

1

&

&

&

&

&

&

&

1

&&

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

B

K

T

C0 2 4

16

73 58 10

9 1112 14

13 1516

1718

1920 2221 23

2425

2627

2829

3031

C11D Q

Q

C11D Q

Q

1

1

17

1 11

18

A

Eingänge (0-31)

( )P

rodu

ktte

rme

(0-6

3)

D2

D11

q2

q2

q1

q1

D12( )

"1"

�1

�1

�1

Page 413: Alle Vorlesungspdfs DT

www.kit.edu

Institut für Technik der Informationsverarbeitung

Karlsruher Institut für Technologie (KIT)

Digitaltechnik

Prof. Dr.-Ing. J. [email protected]

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Digitale Speicherbausteine(FlipFlop-Schaltungen)

Page 414: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung2

Sequentielle LogikSequentielle Schaltkreise bestehen meist aus einem oder mehreren Rückkopplungspfaden in Kombination mit Speicherelementen

Kombinatorische Logik

Speicher-elemente

Kombinatorische Ausgänge Speicherausgänge

Externe Eingänge

Sequentieller Schaltkreis = Kombinatorische Logik + Speicherelemente

Page 415: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung3

Sequentielle LogikEs existieren zwei Typen von sequentiellen Schaltkreisen:

synchron: Ausgänge ändern sich zu festgelegten Zeitpunkten Takt

asynchron: Ausgänge ändern sich zu beliebigen Zeitpunkten

Man unterscheidet zwei bistabile logische Speicherkomponenten: - pegel- und - flankengesteuerte FlipFlops

FlipFlops: unterscheiden sich in der Art und Weise wie ihre Zustände geändert werden in Abhängigkeit der Eingangssignale

sowie des Taktsignals

Page 416: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung4

Speicherelemente

Speicherelement: ein Gerät oder Modul, welches einen zuvor-angelegten Wert unbegrenzt Speichern und auf Wunsch wieder ändern kann

BefehlSpeicher-element

gespeicherter Wert

Q

Q(t): aktueller Zustand

Q(t+1): nächster Zustand

Charakteristische Tabelle:

Befehl (zum Zeitpunkt t) Q(t) Q(t+1)

Set - 1

Reset - 0

0 0Speichern / keine Änderung 1 1

Page 417: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung5

SpeicherelementeZwei Typen der Trigger-/Aktivierungsmechanismen

pegelgesteuertflankengesteuert

Typ 1: pegelgesteuerte Speicherelemente (FlipFlops) werden auch als Latches bezeichnet -> mit Pegeln von Signalen angesteuert

Pegel auf high -> das Speicherelement ist aktiviertPegel auf low -> das Speicherelement ist deaktiviert

Typ 2: flankengesteuerte Speicherelemente (FlipFlops) werdenmit steigender oder fallender Flanke angesteuert

positive Flankenansteuerung:aktiviert wenn Übergang von 0 nach 1deaktiviert sonst

negative Flankenansteuerung:aktiviert wenn Übergang von 1 nach 0deaktiviert sonst

Page 418: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung6

Pegelgesteuerte Speicherelemente

Komplementäre Ausgänge Q und Q‚

2 Steuereingänge R, S: - Latch im Zustand SET -> Q auf HIGH- Latch im Zustand RESET -> Q auf LOW

Für ein active-HIGH RS-Latch (realisiert mit NOR-Gattern) gilt:R = HIGH (und S = LOW) RESET-ZustandS = HIGH (und R = LOW) SET-ZustandS = LOW und R = LOW keine ZustandsänderungS = HIGH und R = HIGH Q und Q'‚ sind auf LOW (nicht zulässig!!!)

Für ein active-LOW RS-Latch (realisiert mit NAND-Gattern) gilt:R = LOW (und S = HIGH) RESET-ZustandS = LOW (und R = HIGH) SET-ZustandS = HIGH und R = HIGH keine ZustandsänderungS = LOW und R = LOW Q und Q'‚ sind auf LOW (nicht zulässig!!!)

Nachteil der RS-Latches: ungültige Eingangskombination existiert!!!diese muss in der Praxis verhindert werden

RS-FlipFlop (Latch):

Page 419: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung7

Pegelgesteuerte Speicherelemente

Active-HIGH RS-Latch:

RS-FlipFlop (RS-Latch):

R

S

Q

Q'

S' R' Q Q'1 0 0 1 Initialzustand1 1 0 1 (nach S'=1, R'=0)0 1 1 01 1 1 0 (nach S'=0, R'=1)0 0 1 1 ungültig!

S'

R'

Q

Q'S'

R'

Q

Q'

S'

R'

Q

Q'

Alternative:

S R Q Q'1 0 1 0 Initialzustand0 0 1 0 (nach S=1, R=0)0 1 0 10 0 0 1 (nach S=0, R=1)1 1 0 0 ungültig!

Active-Low RS-Latch:

Page 420: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung8

Pegelgesteuerte Speicherelemente

RS-Latch + Takt-Eingang T und 2 NAND-Gatter -> getaktetes RS-Latch:

Getaktetes RS-Latch (active-high):

S

T

R

Q

Q'

S

R

Q

Q'

R

S

Q

Q'S'

R'

Q

Q'

S'

R'

Q

Q'

Active-Low RS-Latch

S

R

Q

Q'T

Tor

Page 421: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung9

Pegelgesteuerte Speicherelemente

Ausgang verändert sich nur wenn T = HIGH ist

Unter welchen Bedingungen wechseln die Zustände?

Charakteristische Tabelle:

Getaktetes RS-Latch:

S R Q(t+1)

0 0 Q(t) Kein Wechsel0 1 0 Reset 1 0 1 Set 1 1

undefiniert

Q(t) S R Q(t+1)

0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 undefiniert 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 undefiniert

T=1:

Q(t+1) = S or (R and Q)S and R = 0 !

Page 422: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung10

Pegelgesteuerte Speicherelemente

S invertiert an R zugeführt -> man erhält das getaktete D-FlipFlop (D-Latch)Vorteil: D-Latch eliminiert die ungültige Eingangskombination: S and R = 0!

Charakteristische Tabelle:Wenn T = HIGH:

-> Q = D

Getaktetes D-FlipFlop (D-Latch):

D

TQ

Q'

DQ

Q'

T

wenn T=1, Q(t+1) = D

T D Q(t+1)

1 0 0 Reset1 1 1 Set0 - Q(t) Kein Wechsel

Page 423: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung11

Flankengesteuerte Speicherelemente

FlipFlops sind bistabile SpeicherelementeAusgang ändert seinen Zustand zu synchronen Zeitpunkten, die durch den Takt vorgegeben werden

Dies geschieht entweder zur positiven oder negativen Taktflanke

Anliegender Wert wird in einem “kleineren Zeitfenster“ vom Eingang auf den Ausgang geschaltet

-> geringere “Rückkopplungsgefahr“

Positive Flanke Negative Flanke

Taktsignal

Flankengesteuerte FlipFlops:

Page 424: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung12

Flankengesteuerte Speicherelemente

RS-Flipflop an getriggerter Flanke des Taktsignals:S = HIGH (und R = LOW) SET-ZustandR = HIGH (und S = LOW) RESET-Zustandbeide Eingänge auf LOW keine Änderung der Ausgängebeide Eingänge auf HIGH ungültig

Charakteristische Tabelle:für ein auf positive Flanke triggerndes RS-Flipflop:

Flankengesteuertes RS-FlipFlop:

X = irrelevant (“don’t care”) = Taktübergang von LOW auf HIGH

S R CLK Q(t+1) Zustand

0 0 X Q(t) Kein Wechsel 0 1 0 Reset 1 0 1 Set 1 1 ? ungültig

Page 425: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung13

Flankengesteuerte Speicherelemente

Flankenerkennungsschaltkreis:

Flankengesteuertes RS-FlipFlop

SQ

Q'CLK

Flankener-kennung

R

Positive Flanke (rising edge)

CLKCLK'

CLK*

CLK'

CLK

CLK*

Negative Flanke (falling edge)

CLK'

CLK

CLK*

CLKCLK'

CLK*

Flankengesteuertes RS-Flipflop:– Impulsgesteuerter Schaltkreis

(NAND-Gatter)– Flankenerkennungsschaltkreis

• Der Flankenerkennungsschaltkreiserkennt positiven (oder negativen) Flankenübergang und generiert einen Impuls von kurzer Dauer

Page 426: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung14

Flankengesteuerte Speicherelemente

Ein Eingang D (Data)D = HIGH SET-ZustandD = LOW RESET-Zustand

Q wird bei steigender Flanke des Taktsignals CLK auf D gesetzt

Flankengesteuertes D-Flipflop:

Ein auf positive Flanke triggerndesD-Flipflop aus einem RS-FlipFlop gebildet

S

C

R

Q

Q'CLK

D D CLK Q(t+1) Zustand

1 1 Set 0 0 Reset

= Taktübergang von LOW auf HIGH

Flankengest. RS-FlipFlop

Page 427: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung15

Flankengesteuerte Speicherelemente

Q und Q' -> rückgekoppelt auf impulsgesteuerte NAND-Gatter

Keine ungültigen Zustände!

Beinhaltet einen Wechselzustand:J = HIGH (und K = LOW) SET-Zustand

K = HIGH (und J = LOW) RESET-Zustand

beide Eingänge sind auf LOW keine Änderung

beide Eingänge sind auf HIGH Q = Q'

Flankengesteuertes JK-FlipFlop:

JQ

Q'

CLKFlanken-

erkennung

K

J K Takt Q(t+1) Zustand

0 0 Q(t) halten 0 1 0 Reset 1 0 1 Set 1 1 Q(t)' wechseln

Q (t+1) = (J . Q') + (K' . Q)

Charakteristische Tabelle:

Page 428: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung16

Flankengesteuerte Speicherelemente

1-Eingang-Version der JK-Flipflops-> gebildet durch zusammenschalten der J- und K-Eingänge

Toggle-Flipflop (T-FlipFlop):

T CLK Q(t+1) Zustand

0 Q(t) halten 1 Q(t)' wechseln

Q T Q(t+1)

0 0 00 1 11 0 11 1 0

TQ

Q'CLK

Flanken-erkennung

J

C

K

Q

Q'CLK

T

Charakteristische Tabelle:

Q (t+1) = (T . Q') + (T' . Q)

Page 429: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung17

Flankengesteuerte Speicherelemente

Applikation: Frequenzteiler

T-Flipflop:

J

C

K

QCLK

High

CLK

Q

Taktfrequenz geteilt durch 2.

J

C

K

QA

CLK

High

J

C

K

QBHigh

CLK

QA

QB

Taktfrequenz geteilt durch 4.

Page 430: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung18

Flankengesteuertes Master-Slave-FlipFlop

Master ist aktiviert bei steigender Flanke, Slave ist aktiviert bei fallender Flanke-> vollständige Entkopplung des Ausgangs vom Eingang

Master-Slave-JK-FlipFlop:

JQ

Q'CLK

K

CLK'

Master Slave

J K CLK Q(t+1) Zustand

0 0 Q(t) Halten 0 1 0 Reset 1 0 1 Set 1 1 Q(t)' invertieren

Flankengesteuertes Master-Slave-FlipFlop:

Page 431: Alle Vorlesungspdfs DT

www.kit.edu

Institut für Technik der Informationsverarbeitung

Digitaltechnik

Karlsruher Institut für Technologie (KIT)

Prof. Dr.-Ing. J. [email protected]

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Funktionseinheitender Digitaltechnik

Page 432: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung2

Multiplizierer

Multiplikation einer Dualzahl mit einer einstelligen Dualzahl:

Arithmetische Grundlagen :

2221010

2221010

000001011011101111011111

& &&&

3x 2x 1x 0x

y• • •

• die einstellige Multiplikation durch eine UND-Verknüpfung realisieren

Page 433: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung3

Multiplikation einer Dualzahl mit einer 2er-Potenz:

223

2

101010

1000101121011 :Dual

88811 :Dezimal

n• die Multiplikation einer Dualzahl mit einer 2er-Potenz 2 bedeutet eineLinksverschiebung (links-shift) um n-Stellen und Nachziehen von n Nullen

)20202021()2121202(1 01230123

00123

10123

20123

30123

20)2121202(1 20)2121202(1 20)2121202(1

21)2121202(1

1020123456 88101100020202021212021

Arithmetische Grundlagen:

Multiplizierer

Page 434: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung4

Multiplizierer

Beispiel für eine Multiplikation:

221010 10011011911

)2120202(1)2121202(1 01230123

2

2

2

2

1011000 000000 00000 1011

30123

20123

10123

00123

21)2121202(1 20)2121202(1 20)2121202(1

21)2121202(1

201100011

Arithmetische Grundlagen:

Page 435: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung5

Multiplizierer

der Multiplikand muss mit jeder Stelle des Multiplikators multipliziert werden, d.h. bitweise konjunktiv verknüpft werden

-> das Ergebnis also um die entsprechende Stellenzahl nach linksverschoben und zu übrigen Ergebnissen aufaddiert werden

Allgemein gilt:

Implementierung:

0121-knk n

11-k011n

11011n

00011n01k01n

P P P ....... P P 2B A...AA

... 2B A...AA

2B AA ...A ...BB...AA

k

Page 436: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung6

Beispiel: 4-Bit Multiplizierer3a 2a 1a 0a

0b

1b

2b

3b

0p1p2p3p4p5p6p7p

0

0

0

0

0 0 0 0

Implementierung:

Multiplizierer

Page 437: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung7

Aufbau einzelner Zellen:

inc

ib

ks ja

VA

&

'ks

outc

••

Implementierung:

Multiplizierer

Page 438: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung8

Problem: sehr lange Laufzeiten, im Beispiel 3n-2

3a 2a 1a 0a

0b

1b

2b

3b

0p1p2p3p4p5p6p7p

0

0

0

0

0 0 0 0Kritischer Pfad

Implementierung:

Multiplizierer

Page 439: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung9

Spezielle SchaltnetzeMultiplexer und Demultiplexer:

Verbindungen zwischen Systemgruppen sind platz- und kostenintensiv

Besonders bei großer räumlicher Distanz und großer Leitungsanzahl

Falls die zeitlichen Anforderungen es erlauben, kann auf eine serielle Übertragung zurückgegriffen werden

Die Steuergrößen Ax und Ay wählen den aktiven Eingang oder Ausgang

MUX DEMUX

...

xa1xa2

xan

...

ye1ye2

yen

ya xe

Ax AY

Sender Empfänger

Page 440: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung10

(De-)MultiplexerBeispiel:

)a ,a()a ,a(24

)y ,y ,y ,(y Y) x, x, x,(x X

y1y2

x1x2

e1e2e3e4e

a1a2a3a4a

y

x

AA

ldr 2 Steuerleitungen nötig

ax2 ax1 ya

0 0 xa1

0 1 xa2

1 0 xa3

1 1 xa4

4:1 Multiplexer

ay2 ay1 ye1 ye2 ye3 ye4

0 0 xe 0 0 00 1 0 xe 0 01 0 0 0 xe 01 1 0 0 0 xe

1:4 Demultiplexer

Page 441: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung11

(De-)MultiplexerBeispiel:

ax2 ax1 ya

0 0 xa1

0 1 xa2

1 0 xa3

1 1 xa4

4:1 Multiplexer

ay2 ay1 ye1 ye2 ye3 ye4

0 0 xe 0 0 00 1 0 xe 0 01 0 0 0 xe 01 1 0 0 0 xe

1:4 Demultiplexer

MUX DEMUXxa1xa2

xa4

ye1ye2

ye4

ya xe

xa3 ye3

aX2 aX1 aY2 aY1

Page 442: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung12

(De-)MultiplexerTypische Schaltnetze für Multiplexer und Demultiplexer:

Die Minterme der Adressvektoren Ax und Ay geben immer genau ein UND-Gatter „frei“

xa1 &

xa2 &

xa3 &

xa4 &

aX2 aX1

1

&

&

&

&

aY2 aY1

ya xe

ye1

ye2

ye3

ye4

0 1 0 1

Page 443: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung13

MultiplexerAnwendung:

mit Multiplexern kann man noch viele andere Aufgaben lösen-> z.B. Strukturausdrücke nach dem Entwicklungssatz sind direkt umsetzbar-> Auswahl zwischen zwei Werten eines Literals übernimmt 2:1 Multiplexer

)&()&(

)),1,(&()),0,(&(

),,(

1202

132132

123

RR fxfx

xxfxxxfx

xxxfy

MUX2:1

2x

),,( 123 xxxfy 0Rf

1Rf

0

1

MUX2:1

2x

),,( 123 xxxfy 0Rf

1Rf

0

1

Beispiel:

Page 444: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung14

MultiplexerEntwicklung nach zwei Variablen:

-> Realisierung mit 2:1 Multiplexern

MUX2:1

2x

),,( 123 xxxfy

01Rf

11Rf

0

1

MUX2:1

1x

0

1

MUX2:1

00Rf

10Rf

0

1

Page 445: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung15

MultiplexerBei der Realisierung einer Funktion mit n Literalen über

Multiplexer muss nach n-1 Variablen entwickelt werden

Beispiel:

MUX2:1

c

yd

d 0

1MUX2:1

a

0

1

MUX2:1

b

0

1

„1“

„0“

0&)]&&(&1&[&

0&))](&1&[&0&))]([&

))(&(&

bd c dcaab

bdcaabbdcab

dcbaby

Page 446: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung16

DemultiplexerAnwendung:

Demultiplexer können zur Ansteuerung von Steuerleitungenvon Speicherzellen verwendet werden

An diesem Beispiel wird auch die Bezeichnung Adressvektor für die Steuerleitungen klar

Liegt der Wert “1“ an dem Eingang des Demultiplexers, so repräsentieren die Ausgänge sämtliche Minterme des Adressvektors

DEMUX

xe=1

x2 x1

00

01

10

11

120 xxm

121 xxm

122 xxm

123 xxm

Page 447: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung17

DemultiplexerAnwendung:

In der Anwendung als Decoder einer Adresse wird der Demultiplexerauch gerne als Codewandler so gezeichnet:

DEMUX(Decoder)

x2

x1

xe

...

xn 1

2

2n

...

Adressleitungen

Enable-Variable

Page 448: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung18

Spezielle SchaltwerkeAnwendungsfälle:

Auch bei Schaltwerken gibt es einige Beispiele, die in unterschiedlichsten Anwendungsfällen eingesetzt werden

Anzahl von Ereignissen oder Aktionen festzuhalten

Informationen zeitlich oder räumlich zu ordnen oder umzusetzen

Spalten- bzw. Zeilenselektion in einem Speicher

Tastaturmatrix

Page 449: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung19

Spezielle SchaltwerkeZähler

Zähler-Schaltwerke dienen dazu auf einer speziellen Signalleitung beobachtete Ereignisse zu zählen

Das Zählen entspricht einer Abbildung in denZustandsraum, sodass ein Zählcode entsteht

Wie bei Mechanischen Zählern können noch weitere Eingriffmöglichkeiten eingebaut werden:

Überlaufmeldung

Nullstellungsmeldung

Rückstellmöglichkeit auf 0

Page 450: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung20

DualzählerBeispiel:

Es soll ein Zähler als Schaltwerk realisiert werden, der...

dual zyklisch von 0 bis 7 zählt

eine Rückstellmöglichkeit auf 0 besitzt

bei dem Wert 7 das Überlaufsignal auf 1 setzt

auf den Wechsel der Zählervariable Z von 0 auf 1 reagiert

Zur Realisierung sollen JK-Flipflops mit 0/1-Flankensteuerung verwendet werden

Page 451: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung21

DualzählerBeispiel:

Eingangsvariable:

N = 1: Rückstellen auf 0N = 0: sonst

Ausgangsvariable:

Ü = 1: Zählerstand ist 7Ü = 0: sonst

Bei Zählern wird die Zählervariable Z häufig nicht als Eingangsvariable sondern direkt als Taktsignal angeschlossen

Das Zählereignis „Wechsel von 0 auf 1“ kann so direkt mit einem synchronen Schaltwerk mit positiver Flankensteuerungrealisiert werden

Page 452: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung22

DualzählerSchaltwerkstabelle:

Die Kodierung der Zustände ist die duale Zahlendarstellung

Bei N = 1 ist der Folgezustandauf jeden Fall 0 (Rücksetzen)

Die Übertragungsfunktionkann direkt abgelesen werden:

Q X Q Y

q3 q2 q1 N q3 q2 q1 Ü0 0 0 0 0 0 1 00 0 0 1 0 0 0 00 0 1 0 0 1 0 00 0 1 1 0 0 0 00 1 0 0 0 1 1 00 1 0 1 0 0 0 00 1 1 0 1 0 0 00 1 1 1 0 0 0 01 0 0 0 1 0 1 01 0 0 1 0 0 0 01 0 1 0 1 1 0 01 0 1 1 0 0 0 01 1 0 0 1 1 1 01 1 0 1 0 0 0 01 1 1 0 0 0 0 11 1 1 1 0 0 0 1

123 && qqqÜ

Page 453: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung23

DualzählerQ X Q Y

q3 q2 q1 N q3 q2 q1 Ü J3 K3 J2 K2 J1 K1

0 0 0 0 0 0 1 0 0 - 0 - 1 -0 0 0 1 0 0 0 0 0 - 0 - 0 -0 0 1 0 0 1 0 0 0 - 1 - - 10 0 1 1 0 0 0 0 0 - 0 - - 10 1 0 0 0 1 1 0 0 - - 0 1 -0 1 0 1 0 0 0 0 0 - - 1 0 -0 1 1 0 1 0 0 0 1 - - 1 - 10 1 1 1 0 0 0 0 0 - - 1 - 11 0 0 0 1 0 1 0 - 0 0 - 1 -1 0 0 1 0 0 0 0 - 1 0 - 0 -1 0 1 0 1 1 0 0 - 0 1 - - 11 0 1 1 0 0 0 0 - 1 0 - - 11 1 0 0 1 1 1 0 - 0 - 0 1 -1 1 0 1 0 0 0 0 - 1 - 1 0 -1 1 1 0 0 0 0 1 - 1 - 1 - 11 1 1 1 0 0 0 1 - 1 - 1 - 1

Ansteuerfunktionen:

durch Ablesenoder

mit Hilfe von Symmetrie-diagrammenerhält man:

123

12

1 1

qqNK

qNK

K

123

12

1

qqNJ

qNJ

NJ

Page 454: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung24

Blockschema des Zählers:

1

1

&

& 1

C11K

1J

C11K

1J

C11K

1J

N

q3

q2

q1

"1"

Zähler-stand

J 1

K 1

J 2

K 2

K 3

J 3

c

123

12

1 1

qqNK

qNK

K

123

12

1

qqNJ

qNJ

NJ

Ansteuerfunktionen:

Dualzähler

Page 455: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung25

DualzählerSymboldarstellung:

Um bei Zählern von Realisierungsdetails zu abstrahierenführt man Blocksymbole ein

Das Symbol besteht aus einem Daten- und einem Steuerteil

Für das besprochene Beispiel sieht der Zähler so aus:

RCT=7 Ü

Nc

q3q2q1

Page 456: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung26

DualzählerEigenschaften:

Hier noch die wichtigsten Merkmale von Zählern:

Art des Zählcodes -> Dualzahlen, 1-aus-n-Code, BCD-Code,...

Art des Zählereignisses-> 0->1, 1->0, Auftreten von Werten, ...

Steuersignal für Zählen/Anhalten

Steuersignal für Zählrichtung (aufwärts/abwärts)

Synchrone oder asynchrone Rückstellmöglichkeit

Steuersignal für Zählen/Laden eines Anfangswertes

Page 457: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung27

Spezielle SchaltwerkeRegister:

Zur Darstellung von Informationen genügen nur selten einzelne Bits

Daher ist es zweckmäßig mehrere FlipFlops zu einem Verbund zusammenzuschließen

-> Sie können so mit gemeinsamem Takt und Rücksetzmöglichkeiten versorgt werden

So ein FlipFlop-Verbund wird auch Register genannt

Page 458: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung28

RegisterBeispiel:

Register, das ein 4-bit Datenwort bei ansteigender Taktflanke speichert und sich asynchron auf 0 rücksetzen lässt:

1D

RC1

1D

RC1

1D

RC1

1D

RC1

D3

D2

D1

D0

q3

q2

q1

q0

TaktRücksetzen

Eingang Ausgang

Page 459: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung29

RegisterSpezialregister:

Datentechnisch sind die Speicherzellen eines Registersim allgemeinen nicht miteinander verbunden

Register werden jedoch oft mit Funktionen ausgestattet, die auf mehreren Speicherzellen operieren

Besonders Funktionen, bei denen sich nur benachbarte Speicherzellenbeeinflussen, lassen sich effizient im Register realisieren

Ein einfach zu realisierendes Spezialregister ist das Schieberegister

Beim Schieberegister können alle Speicherinhalte um eine Zelle weitergeschoben werden

Die Auslösung dieses Vorgangs erfolgt durch ein Taktsignal

Page 460: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung30

SpezialregisterBeispiel:

4-Bit Schieberegister:

D3 D2 D1 D0

?0 D3 D2 D1

?1 ?0 D3 D2

?2 ?1 ?0 D3

?3 ?2 ?1 ?0

?0

?1

?2

?3

Rechtsschieben

D3 D2 D1 D0

D2 D1 D0 ?0

D1 D0 ?0 ?1

D0 ?0 ?1 ?2

?0

Linksschieben

?1

?2

?3

?0 ?1 ?2 ?3

gehtverloren

Page 461: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung31

SpezialregisterSchieberegister:

Beim Schieben geht jeweils das in Schieberichtungvoranstehende Datenbit verloren

Das letzte Datenbit wird mit einem Inhalt gefüllt, der von den Randbedingungen dieser Zelle abhängt

Damit die Daten nicht verloren gehen, kann man zirkulär rotieren und den Inhalt des „rausgeschobenen“ Bits auf der anderen Seite einspeisen

D3 D2 D1 D0

D0 D3 D2 D1

Rechtsschieben

D3 D2 D1 D0

D2 D1 D0 D3

Linksschieben

Page 462: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung32

SchieberegisterTechnische Realisierung:

Auch hier gibt es eine große Zahl von Realisierungsmöglichkeiten

Beispielrealisierung eines Schieberegisters mit Links-/Rechtsschieben, asynchronem Rücksetzen und D-Flipflops

MUX(2:1)

0

1

1D RC1

1D RC1

MUX(2:1)

0

1

1D RC1

TaktRücksetzen

0 Linksschieben/

1 RechtsschiebenR L

qi+1 qi qi-1

qi-2

Page 463: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung33

SchieberegisterBlockschaltbild:

RSRG 4Rücksetzen

TaktLR /

Anwendung:

• Schieberegister werden auch verwendet, um Datenbitgruppen von räumlichen Folgen in eine zeitliche Folge umzuwandeln

• Dies wird Parallel/Serienwandlung bzw. Serien/Parallelwandlung genannt

Page 464: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung34

SchieberegisterParallel/Serienwandlung:

RSRGRücksetzen

Takt

...

Laden/Schieben

• Bei der Parallel/Serienwandlung werden z.B. die Daten (Dn,... ,D1, D0) parallel in das Register geladen

• Danach können sie seriell in der zeitlichenReihenfolge ausgegeben werden

Page 465: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung35

SchieberegisterSerien/Parallelwandlung:

• Bei der Serien/Parallelwandlung werden die Datenin zeitlicher Folge in das Register geschoben

• Danach können sie “gebündelt ausgelesen“ werden

RSRGRücksetzen

Takt

...

Laden/Schieben

Page 466: Alle Vorlesungspdfs DT

www.kit.edu

Institut für Technik der Informationsverarbeitung

Digitaltechnik

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Karlsruher Institut für Technologie (KIT)

Prof. Dr.-Ing. J. [email protected]

Funktionseinheitender Digitaltechnik

Page 467: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung2

Digitalspeicher- Zentrale Aufgabe von digitalen Systemen ist die Speicherung von Daten

- Dafür werden unterschiedliche physikalische Effekte ausgenutzt:

- Es lässt sich folgende Reihenfolge angeben:

- Statische Speicher: kleine, schnelle Speicher zur Speicherung von Zwischenergebnissen meist auf Basis von FlipFlops

- Dynamische Speicher: größere, mäßig schnelle Speicher für größere Datenmengen auf Basis von Ladungsspeichereffekten

- Massenspeicher: große, langsame Speicher für große Datenmengen und zur Archivierung auf der Basis magnetischer Effekte

- Rückkopplungsstrukturen (FlipFlops)- elektrische Ladungen auf Kondensatoren- magnetische Effekte

- Im folgenden sollen nur die beiden ersten Speichertypen betrachtet werden

Page 468: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung3

DigitalspeicherAnhand einiger wichtiger hauptsächlich funktionaler Merkmale lassen sich die verschiedenen Speichertypen klassifizieren:

- Organisation der abgelegten Daten: im allgemeinen gruppiert manmehrere Bits zu einem Wort und mehrere Worte wiederum zu Blöcken

- Art der Zugriffsmethode: Random Access Memory (RAM)Sequential Access Memory (SAM)

- Art des Zugriffstechnologie: Read/Write Memory (SRAM, DRAM)Read Only Memory (ROM)Write Once, Read Many (WORM)- Programmable Read Only Memory (PROM)- Electrical Writable PROM (EPROM)- Electrical Writable and Erasable PROM (EEPROM)

Page 469: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung4

Digitalspeicher

- Verwendete Schaltungstechnik: Unterteilung nach schaltungstechnischer Realisierung

- Verwendete Technologie: bestimmt maßgeblich Größe, Arbeitsgeschwindigkeit, Kosten, Zuverlässigkeit, usw. des Speichers

- Art der Datenspeicherung: Ladungsspeicher (benötigen Refreshs)(Grad der Flüchtigkeit) Rückkopplungsspeicher (benötigen stetige

Energiezufuhr)Speicher mit fixierten Ladungsträgern (Speicherung über längere Zeit ohne stetige Energiezufuhr möglich)

Page 470: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung5

Registerspeicher, Registersätze- Register werden eingesetzt zur Speicherung von Operanden, Konstanten usw.

- Organisation meist in Form gleichlanger Speicherworte, mit der Möglichkeit zur Verwendung von Halbworten

- einzelne Register sind datentechnisch nicht miteinander gekoppelt

- die Auswahl eines speziellen Registers erfolgt über Selektionsleitungen(Adressleitungen) wie sie von Multiplexern her bekannt sind

- im folgenden werden zwei weitere Speicherstrukturen behandelt, die auf Eigenschaften von Registern aufbauen

Oberes UnteresHalbwort

Schreiben Lesen

Adresse Registerzahl k

Daten

.

.

.

Page 471: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung6

Pufferspeicher (First-In-First-Out, FIFO)- meist wortorganisierte Speicher mit konstanter Wortbreite

- dienen häufig zur Kopplung von unterschiedlich schneller Baugruppen(bzgl. Takt, Verarbeitungsgeschwindigkeit)

Funktionsprinzip:

FIFO

Schreiben LesenVoll Leer

Tiefe k des FIFO in Worten

X Y

Wor

tbre

ite

X =

(xn,

x n-1

,...,x

1) =

Y

- auf Eingangsseite eingeschriebenes Wort wird solange zum Ausgang vorgeschoben, bis dieser erreicht wird oder ein belegter Platz erreicht wird

- das Signal “voll“ zeigt an, ob alle Plätze im FIFO belegt sind und weiteres Schreiben möglich ist

- das Signal “leer“ zeigt an, ob das FIFO leer ist- wird Wort ausgelesen -> alle dahinterliegenden Worte rücken um eine Position vor

Page 472: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung7

Pufferspeicher (First-In-First-Out, FIFO)Beispiel: Schreiben und Lesen in einem FIFO-Speicher

Schreiben

1. Datenwort FIFO Leer

Schreiben

. . .

2. Datenwort

Schreibpointer

Lesepointer

. . .

LS

. . .

LS

. . .

LS

zeigen auf aktuelle Schreib-/ Leseadresse

Lesen:

. . .

LS

. . .

LS

Lesen: 2. Datenwort

. . .

LS

1. Datenwort

. . .

LS

LS

Page 473: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung8

Pufferspeicher (First-In-First-Out, FIFO)- FIFO-Realisierung kann auf verschiedene Weise geschehen

- naheliegend ist die Verwendung von Schieberegisternentsprechender Größe und Verschaltung:

REG REG REG

Steuerung (Schaltwerk)Lesen

“leer“

Schreiben

“voll“

D

D

D

D

D

D

D

D

D

D

D

D

D

D

D11

12

13

14

1n

X Y

......

..

.. . .

21

22

23

24

2n

k1

k2

k3

k4

kn

Page 474: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung9

Stapelspeicher (Last-In-First-Out, LIFO)- wird auch als Kellerspeicher oder auch Stack bezeichnet

- eignet sich zu Berechnungen mit häufigem zwischenspeichern von Ergebnissen und gleichzeitiger Einhaltung einer Ordnung der Ergebnisse

- auch beim LIFO geben spezielle Signale den Status des Speichers an

Funktionsweise:

- das zuletzt eingespeicherte Datenwort (PUSH) wird zuerst auf dem LIFO ausgelesen (POP)

Anschaulicher Vergleich: ein Tellerstapel

LIFOTiefe k

des LIFO

X,YPUSH POP

“leer““voll“X = (x , x , ... , x ) = Y

Wortbreite

n n-1 1

Page 475: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung10

Stapelspeicher (Last-In-First-Out, LIFO)Beispiel: LIFO mit Worten zu je 8 Bit

Schreiben1. Datenwort

LIFO “leer“

.

.

.

.

.

.

Schreiben2. Datenwort

.

.

.

.

.

.

Schreiben3. Datenwort

.

.

.

.

.

.

Lesen3. Datenwort

.

.

.

Page 476: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung11

Stapelspeicher (Last-In-First-Out, LIFO)- auch LIFOs lassen sich auf der Basis von Schieberegistern realisieren:

Steuerung (Schaltwerk) LeerVollPUSH POP

...

...

xn-1xn yn x1 y1yn-1

...

Füllen Leeren

SRG

DDDD

D

...

1112

1314

1k

SRG

DDDD

D

...

n-1,1n-1,2

n-1,3n-1,4

n-1,k

SRG

DDDD

D

...

n1n2

n3n4

nk

Page 477: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung12

Allgemeine Speicher, Arbeitsspeicher- matrixförmig organisierte Anordnungen von Speicherzellen

des dynamischen oder statischen Typs

Schema eines Speichers:

- sind im allgemeinen wortorganisiert

- der Schreib-/Lese-Vorgang geschieht durch Angabe von Adressen, die über einen Decoder zu einer Leitungsselektion führt

Zei

lend

ecod

er

Speicherwort 0

" 1

2

3

4

2 -1k

""

"

Speicherwort

Auswahl(enable)

Adresse A

X YSchreiben Lesen

... A = ( a , a , ... , a )k-1 k-2 0

1n n-1X = ( x , x , ... , x ) = Y

Page 478: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung13

Allgemeine Speicher, Arbeitsspeicher- unter einer Kapazität K oder der Speichergröße eines Speichers

wird das Produkt K = n · 2k verstanden

-> es bedarf daher eines zweiten Decoders (Spalten-Decoder), um das entsprechende Datenwort im Speicherwort zu identifizieren

- Aus schaltungstechnischen oder technologischen Gründen wird meist eine Form der Speichermatrix angestrebt, welche dem Quadrat möglichst nahe kommt

-> dadurch meist mehrere Datenwörter in einem Speicherwort enthalten

-> sei N die Länge des Speicherworts und n die Länge des Datenworts erhält man: r = ld R, mit R = N / n, die Anzahl der Adressbits des Spalten-Decoders- die Adressbits des Zeilendekoders können somit um r Bits gekürzt werden

Speicherkapazität

K = n · 2r · 2(k-r)

K = n · 2k

Zeile

n-D

ecod

er

X Y

...

A,

Spalten -Decoder/multiplexer

,,A

A = ( ar-1, ..., a0 )

A = ( ak-1, ..., ar )

Page 479: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung14

Allgemeine Speicher, ArbeitsspeicherBeispiel:

n = 2 N = 8 k = 4 K = 2 · 24 = 32 Bit

R = 8 / 2 r = ld R = ld 4 = 2

A = (a3,a2)

A = (a1,a0)

K = 32 Bit

Datenwort

00011011

A,j =

jA,,

=

00 01 10 11

Speicherwort

Page 480: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung15

Allgemeine Speicher, Arbeitsspeicher- der innere Aufbau von Speichern ist meist sehr stark an Technologien

angelehnt und soll in diesem Rahmen nicht detailliert erläutert werden

- Grundsätzliche Konzepte können jedoch mit Hilfe von logischen Komponenten vermittelt werden

Prinzip eines Speichers mit dynamischer Zelle:

Page 481: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung16

Allgemeine Speicher, ArbeitsspeicherPrinzip eines Speichers mit statischer Zelle:

Binär- speicher 1 bit

Wortauswahlleitung

Spa

ltena

usw

ahlle

itung

( q, R

)

Spa

ltena

usw

ahlle

itung

( q, S

)

_

Schreib/Lese- umschaltung

1

UB

Schreiben von L bzw. H

Leseausgang q

Leseausgang

q_

Page 482: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung17

Sonderfunktionen- mit vorgestellten Komponenten und Baugruppen lassen sich

wichtige Funktionen von Digitalsystemen realisieren

- im folgenden sollen einige wenige Sonderfunktionen vorgestellt werden

Busanordnungen:

- in vielen Systemen werden die Baugruppen durch Bündel von Signalen miteinander verbunden, die meist allen Baugruppen in gleicher Weise zur Verfügung stehen

- die Signale werden in typische Gruppen unterteilt:-> wie z.B. Daten-, Adress- und Steuersignale (einschließlich zentralem Takt)-> oft wird Zeitmultiplex-Betrieb von Leitungen vorgesehen

(alternativ für Daten und Adressen)

BUS

......

...

Daten

Adressen

Steuerung+Takt

Page 483: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung18

SonderfunktionenBustechnologie: Open-Collector Schaltungen

- sind an eine Busleitung mehrere Baugruppen angeschlossen, so müssen mehrere schreibende Ausgänge zusammengeschaltet werden

- Solche Anordnungen werden als wired-Verbindungen bezeichnet und die realisierte logische Verknüpfung wired-OR bzw. wired-AND

lesende Baugruppe

Bau- gruppe n

Bau- gruppe 2

Bau- gruppe 1

R

Us

- wegen der unsymmetrischen Lastverhältnisse können diese Schaltungen nur begrenzt eingesetzt werden

Page 484: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung19

SonderfunktionenBustechnologie: Tri-State Schaltungen (I)

- zwei Schalter je Variable sind besser in Bezug auf das Ausgangslastverhalten-> es liegt daher nahe dieses Konzept in Busanordnungen einzusetzen

- Verlagerung eines Schalterteils auf den Bus (wie beim Widerstand) ist allerdings nicht mehr möglich, was aber zu Kurzschlüssen über mehrere Bausteine hinweg führen kann,

Beispiel:

Busleitung

UB UB

Kur

zsch

lußs

trom

Page 485: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung20

Sonderfunktionen

- um Kurzschlüsse zu vermeiden muss daher sichergestellt werden, dass maximal eine Stufe den Bus auf UB oder Masse zieht

- dazu wird die Ausgangsstufe so modifiziert, dass ein zusätzliches Signal OE(output enable) bei Nichtauswahl der Einheit die Ausgangstufe vom Bus trennt

Busleitung

UB UB

UOE = L UOE = H

- wird genau eine Stufe selektiert, werden Kurzschlüsse vermieden

Bustechnologie: Tri-State Schaltungen (II)

Page 486: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung21

Sonderfunktionen

- jede Ausgangstufe weist nun genau drei Betriebsfälle auf:-> Schreiben von L, -> Schreiben einer H, und-> abgetrennt

- man spricht daher von Tri-State Ausgängen

- die Auswahl einer Baugruppe für den Buszugriff-> kann über einen Decoder erfolgen

- werden Busse in Anordnungen verwendet, in denen Benutzung durch mehrere Komponenten möglich ist, kann das zu Zugriffskonflikten führen

-> es bedarf daher einer Busverwaltung (Arbiter)

Bustechnologie: Tri-State Schaltungen (III)

Page 487: Alle Vorlesungspdfs DT

www.kit.edu

Institut für Technik der Informationsverarbeitung

Digitaltechnik

Karlsruher Institut für Technologie (KIT)

Prof. Dr.-Ing. J. [email protected]

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Bausteine der Digitaltechnik- Binäre Schalter und Gatter -

Page 488: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung2

- Bereits zuvor wurde das binäre Signal als einfachstes Digitalsignal eingeführt

Zuordnungsschemata

{ 0, 1 } { L, H }

- bei der Einführung der Schaltalgebra waren die beiden Wertintervalle ‚L‘ und ‚H‘ mit ‚0‘ und ‚1‘ benannt

- für den Bezug von Spannungsbereichen zu logischen Wertendefiniert man folgende bijektive Abbildungen:

wobei zwei Möglichkeiten der Zuordnung existieren:

Intervall Logischer Wert

L 0

H 1

Intervall Logischer Wert

L 1

H 0

Positive Logik Negative Logik

Page 489: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung3

- Bei zeitlicher Änderung der Spannung entstehen Zeitintervalle in denen diese entweder im Intervall H, L oder ohne feste Zuweisung im undefinierten Bereich liegt

Zuordnungsschemata

- daher ist eine Erweiterung des Binärwertverlaufs notwendig:

- eine Unterscheidung zwischen einem logischen und einem physikalischen Signalwertverlauf ist notwendig und wichtig

1

0t

t

H

L

undef. Bereich

UB

L ? H ? L ? H ? L

0 ? 1 ? 0 ? 1 ? 0

a)

b)

c)

Page 490: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung4

Zuvor: Relais als Möglichkeit zur Realisierung logischer Operationen vorgestellt

Binäre Schalter

- Des weiteren gibt es Bauelemente, die auf physikalischen Effekten basieren, bei denen keine zeitaufwendige mechanische Bewegung benötigt wird

- Den Transistor kann man sich als einen elektronischen Schalter vorstellen, bei dem über die Steuerleitung die Leitfähigkeit zwischen den anderen Elektroden manipuliert werden kann

- Einzustand: geringer Innenwiderstand zwischen Elektroden

- Auszustand: hoher Innenwiderstand

- Im folgenden betrachten wir vier Grundtypen von Transistoren:

Steuerleitung

Page 491: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung5

Binäre Schalter: Halbleitertechnologie

GS

IC

BEU

ID

U GS

B

C

E

GS

D

B

C

E

G

S

Dn+

p-Silizium

S G D

n+

SiO2NMOS-Transistor

I C

U BE

n-Substrat

p-Epi

p+ n

E CB

npn-Bipolar-Transistor

n++

p-Substrat

p++n+ p

n-Epi

E CB

pnp-Bipolar-Transistor

Halbleiterstruktur Symbol Kennlinie

n-Silizium

p+ p+

S G D

PMOS-Transistor

SiO2

U

ID

4 Grundtypenvon Transistoren

Unterscheidung der Transistoren:

- Abhängigkeit des Maximalstroms zwischen d. Elektrodenin Abhängigkeit zur Spannung der Steuer-leitung zu einer der Elektroden

-> Kennlinie

- Zu jedem Typ gibt es noch einen zweiten, bei dem sowohl die Spannung als auch der Strom umgekehrtes Vorzeichen haben

Page 492: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung6

Binäre Schalter und SchaltgliederRealisierbare digitaltechnische Operationen:

- Logische Operationen lassen mit Transistoren (analog zu Relais)über Parallel- und Reihenschaltung realisieren

- Das Prinzip basiert lediglich auf elektrisch steuerbaren Schaltern-> im folgenden wird daher, soweit die Technologie keine Rolle spielt,

einfach das Symbol eines Schalters auch für Transistoren verwendet

Hauptsatz der Schaltalgebra: zeigte die Darstellbarkeit beliebiger Funktionen mit beliebig vielen Variablen unter Einsatz weniger ausgewählter Basisoperatoren

-> wenn sich jeder dieser Basisoperatoren technisch umsetzten lässt, steht derRealisierung von beliebigen algebraischen Ausdrücke nichts im Wege

-> solche Basisschaltungen werden als Schaltglieder oder Gatter bezeichnet und wie in technischen Darstellungen üblich mit Schaltsymbolen dargestellt

-> grundlegende Eigenschaften solcher Gatter und eine schaltungsorientierte Realisierung werden im folgenden diskutiert

Page 493: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung7

Schaltglieder und SchaltsymboleDarstellung der Schaltzeichen nach der neuen Norm (DIN 40900):

Page 494: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung8

Realisierung nach dem Einschalterprinzip:

Inverter (Negationsglied)

- Das Realisierungsprinzip entspricht bei MOS-Technologien den sogenannten NMOS-Schaltungen (Negative Metal-Oxyd Semiconductor)

- Nachteil: im Schaltungszustand Ux = H fließt konstant ein Strom

- Dieser Strom sowie die Pegel L und H können über den Widerstand R reguliert werden

x = 0U = Lx

R

UB

y = 1U = Hy

x = 1U = Hx

R

UB

y = 0U = Ly

Page 495: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung9

Realisierung nach dem Zweischalterprinzip:

Inverter (Negationsglied)

- Zwei Schalter sind so geschaltet, dass nie beide gleichzeitig geschlossen sind

- Dadurch: in keinem Schaltungszustand fließt konstant ein Strom

- Auf diesem Realisierungsprinzip basieren Schaltungen in CMOS-Technologien (Complementary MOS)

-> die Transistoren im oberen Schaltungsteil (PMOS-Technologie) realisieren jeweils immer die duale Schaltung zu den Transistoren im unteren Zweig (NMOS-Technologie)

x = 1U = Hx

UB

y = 0U = Ly

x = 0U = Lx

UB

y = 1U = Hy

Page 496: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung10

Einschalterprinzip: NOR/NANDParallelschaltung zweier Schalter:

R

UB

U y

Ux2Ux1

0 00 11 01 1

1000

yx2 x1

NOR

1 11 00 10 0

0111

yx2 x1

NAND

L LL HH LH H

HLLL

positive Logik

negativeLogik

Ux2 Ux1 Uy

- Der gleiche Schaltungstyp realisiert entweder NAND oder NORabhängig von der Logikzuordnung

U = Lx U = Hx

Positive Schalter:

Page 497: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung11

- NAND und NOR einfach zu realisieren: bilden jeweils alleine ein Basissystem-> daraus folgt ihre hohe technische Bedeutung

- UND bzw. ODER lassen sich nicht so einfach realisieren und sind meist eine Kombination aus NAND/NOR und einem Inverter

R

UB

U y

U x2

U x1

0 00 11 01 1

1110

yx2 x1

NAND

1 11 00 10 0

0001

yx2 x1

NOR

L LL HH LH H

HHHL

positiveLogik

negativeLogik

Ux2 Ux1 Uy

Reihenschaltung zweier Schalter:

Einschalterprinzip: NOR/NAND

Page 498: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung12

Zweischalterprinzip: NOR/NAND

- Die Serienschaltung im oberen Zweig ist die duale Schaltung zur Parallelschaltung mit inversen Schaltern im unteren Zweig

0 00 11 01 1

1000

yx2 x1

NOR

1 11 00 10 0

0111

yx2 x1

NAND

L LL HH LH H

HLLL

positive Logik

negative Logik

Ux2 Ux1 UyUB

U y

U x2

U x1

Reihen- und Parallelschaltung jeweils zweier Schalter:

Page 499: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung13

UB

U yU x2

U x1

0 00 11 01 1

1110

yx2 x1

NAND

1 11 00 10 0

0001

yx2 x1

NOR

L LL HH LH H

HHHL

positive Logik

negative Logik

Ux2 Ux1 Uy

Zweischalterprinzip: NOR/NANDReihen- und Parallelschaltung jeweils zweier Schalter:

- Die Parallelschaltung im oberen Zweig ist die duale Schaltung zur Serienschaltung mit inversen Schaltern im unteren Zweig

Page 500: Alle Vorlesungspdfs DT

www.kit.edu

Institut für Technik der Informationsverarbeitung

Karlsruher Institut für Technologie (KIT)

Digitaltechnik

Prof. Dr.-Ing. J. [email protected]

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Einführung in CMOS-Technologie

Page 501: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung2

Entwurfsraum - Abstraktionsebenen

n+n+S

GD

+

Halbleiter

Transistorebene

Logik-/GATTER-Ebene

MODUL-/RT-Ebene (Register-Transfer)

SYSTEM-Ebene

Page 502: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung3

Planartechnik – PN-Übergang

Diffusion: Sowohl Elektronen als auch Löcher wandern in die p- bzw. n-GebieteDrift: durch das Wandern der Ladungen entsteht ein Elektrisches Feld welches der Diffusion entgegenwirkt -> Gleichgewicht zwischen Diffusion und Drift entsteht

LöcherdiffusionElektronendiffusion

p n

LöcherdriftElektronendrift

Ladungsdichte

Distancex+

-

E-Feldx

x

Potential V

x

r

W2-W1

y 0

(a) Stromfluß

(b) (Raum-)Ladungsdichte

(c) Elektrisches Feld

(d) Elektrostatisches Potential

Page 503: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung4

Planartechnik – PN-Übergang

a) Sperrschichtpolung: negativer Pol ans p-Gebiet, positiver Pol ans n-Gebiet-> Raumladungszonen werden vergrößert

b) Durchlasspolung: positiver Pol ans p-Gebiet, negativer Pol ans n-Gebiet-> Raumladungszonen werden verkleinert-> Ladungsträgerbewegung über die Grenzschicht

p-dotiert n-dotiert

++

+

+ +

Pluspol++

+

Raumladung szonenvergrössert

+Minuspol

a)

+ ++++++

p-dotiert n-dotiert

++

+

Pluspol

Raumladungs-

abgebaut

+Minuspol

zonenb)

++

+

Sperrchicht-polung

Durchlass-polung

Page 504: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung5

Aufbau einer Diode

Diode ermöglicht nur einen Stromfluss von p nach n, d.h. von Anschluss A nach BDie Gleichung I beschreibt das Strom-/Spannungsverhalten der Diode in Abhängigkeit von V

p

n

B A SiO2Al

Querschnitt eines pn-Kontaktes in einem IC-Prozess

n

p

A

B

Al

Eindimensionale Darstellung

A

B

Diodensymbol

ID = IS(eVD/f T – 1)

VD

+

Ideales Diodenmodell

D

D

Page 505: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung6

Aufbau eines Bipolar-Transistor

n-Substrat

p-Substrat

n+

p+

Isolationn+ p+

pn+

E B C

p+

E C

B

n+ p n

(a) Querschnittdarstellung.

(b) Idealisierte Darstellung.

• Bipolar-Transistoren werden oft in Analogschaltungen eingesetzt, z.B. Hifi-Verstärker

• Anordnung von 3 dotierten Gebieten-> Folge pnp oder npn, wobei die mittlere Schicht sehr dünn ausgelegt wird

• Im Gegensatz zu MOS-Transistoren sind beim Bipolar-Transistor sowohl Majoritäts-als auch Minoritätsladungsträger beim Stromfluss beteiligt

Page 506: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung7

Bipolar-Transistor

Schaltsymbole und Vorzeichen-Konventionen:

C

E

B

IB

IE

IC+

+

+

––

VBC

VBE

VCE

(a) npn

C

E

B

IB

IE

IC-

+

-

-

++

VBC

VBE

VCE

(b) pnp

Page 507: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung8

Aufbau eines MOS-Feldeffekttransistors (MOS-FET)

Querschnitt eines NMOS-Transistors:

n+n+

p-Substrat

Siliziumoxyd

(SiO2)

p+

Polysilizium

Gateoxyd

DrainSource

Gate

• MOS-FETs werden meist in Digitalschaltungen eingesetzt• Der Strom durch den MOS-FET fließt in lateraler Richtung• Am Stromfluss sind ausschließlich Majoritätsladungsträger beteiligt• Das Gate dient als Schalter -> aktiviert den Kanal zwischen Source und Drain

-> angelegte positive Spannung: zieht Elektronen an und verdrängt Löcher

Page 508: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung9

MOS-TechnologieStrom-Spannungszusammenhang -> Durchlassspannung

n+n+

p-Substrat

DS

G

VGS

xL

V(x) +–

VDS

ID

B

• Transistor ist gesperrt: d.h. V < V , somit kann zwischen Source und Drainder Strom I nicht fließen

• Transistor ist geöffnet: d.h. V > V , zwischen Source und Drain Gebieten bildet sich eine negative Ladungszone

-> Stromfluss zwischen Source und Drain ermöglicht

GS

GS

th

th

D

Page 509: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung10

Der MOS-Transistor

0.0 1.0 2.0 3.0VGS (V)

0.010

0.020

÷I D

VT

UnterschwellenStrom

(a) ID als Funktion von VDS

(b) ID als eine Funktion von VGS(für VDS = 5V).

0.0 1.0 2.0 3.0 4.0 5.0VDS (V)

1

2

I D(m

A)

Sättigung

VGS = 5V

VGS = 3V

VGS = 4V

VGS = 2VVGS = 1V

Qua

drat

isch

e A

bhän

gigk

eit

I-V Zusammenhang

• Damit der Stromfluss I zustande kommt, muss die Ansteuerspannung V den Wert V überschreiten (rechtes Diagramm)

• Ist die Ansteuerspannung V größer V und konstant:-> Strom I ist nur noch von V abhängig (linkes Diagramm)

D GS T

TGS

D DS

Page 510: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung11

Der MOS-Transistor

Ron

|VGS| < |VT| |VGS| > |VT|

|VGS|Schaltmodell:

• Im nichtleitenden Zustand, d.h. |V |<|V | gilt: MOS-Transistor wird zu einem geöffneten Schalter -> Widerstand mit sehr hoher Impedanz, der Stromfluss behindert

• Im leitenden Zustand, d.h. |V |>|V | gilt: MOS-Transistor wird zu einem Widerstand mit einer sehr geringen Impedanz, der Stromfluss verstärkt (geschlossener Schalter)

GS T

GS T

Page 511: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung12

Querschnitt der CMOS-Materialschichten (Complementary MOS)

MOS-Technologie

Schaltsymbole

S

D

G

NMOS

G

S

D

PMOS

• Man unterscheiden zwei grundsätzliche MOS-Transistortypen -> NMOS- und PMOS-Transistoren

• In der Abbildung: NMOS oben links, PMOS oben rechts

• In der CMOS-Technologie werden beide Typen in jeweils komplementären Netzen eingesetzt

Page 512: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung13

VDD

VSS

PUN

PDN

In1In2In3

F = G

In1In2In3

PUN und PDN -> duale (komplementäre) Netze:

nur PMOS

nur NMOS

Struktur einer statischen CMOS-Schaltung

• Die CMOS-Technologie basiert auf komplementären Netzen

-> PUN und PDN(Pull-Up/Pull-Down Netz)

• Ist der Ausgang der realisierten Funktion gleich 1, schaltet das PUN-Netz den Ausgang F auf V

• Ist der Ausgang hingegen gleich 0, schaltet das PDN-Netz den Ausgang F auf V

• Zur Realisierung der PUN-Netzewerden PMOS-Transistoreneingesetzt, PDN-Netze werden mit NMOS-Transistoren implementiert

• Da außer zu Schaltzeitpunkten keine direkte Verbindung zwischen V und V besteht, wird während des Haltens sehr wenig Energie verbraucht

SS

SS

DD

DD

Page 513: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung14

NMOS-Transistoren in Serien/Parallelschaltung

Transistoren -> Schalterrealisierung

-> Steuerung durch Gate-Signal

NMOS-Schalter schließt, wenn das Gate auf “high” (H, “1”) ist

X Y

A B

Y = A AND B

X Y

A

B Y = A ODER B

Page 514: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung15

PMOS-Transistoren in Serien/Parallelschaltung

Y = A AND B = A + B

Y = A OR B = AB

X Y

A B

X Y

A

B

PMOS-Schalter schließt, wenn das Gate auf “low“ (L, “0“) ist

NMOS-, PMOS-Schaltungen: Anbindung an Axiome der Schaltalgebra

-> Realisierung der Konjunktion, Disjunktion und Negation

Page 515: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung16

Das komplementäre Gatter ist invertierend

PUN ist zu PDN dual (-> komplementär)(kann mittels DeMorgan`s Theorem gezeigt werden)

Konstruktion einer statischen CMOS-Schaltung

Page 516: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung17

CMOS: Inverter-SchaltungVDD

Vin Vout

CLVin Vout

• Der Inverter besteht aus zwei Transistoren, einem NMOS und einem PMOS• Ist Vin auf high, so öffnet der NMOS-Transistor und Vout wird auf GND gezogen,

während dessen ist der PMOS-Transistor gesperrt• Ist Vin hingegen auf low, so öffnet der PMOS-Transistor und Vout wird auf VDD

gezogen, der NMOS-Transistor wird hingegen gesperrt• Strom zwischen VDD und GND kann nur fließen, wenn die Transistoren

umschalten und kurzzeitig beide offen sind

Page 517: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung18

CMOS: Inverter-Layout

Polysilizium

InOut

Metall1

VDD

GND

PMOS

NMOS

• Das Layout stellt zwei in Serie geschaltete Inverter dar

• Das Polysilizium wird genutzt, um die Gates auf dem Silizium zu realisieren

• Das rote Gebiet oben ist die n-Wanne für die PMOS-Transistoren

• Die blauen Felder sind Metalleiter, wo meist Aluminium oder in moderneren Verfahren Kupfer zum Einsatz kommt

• Die grünen Gebiete sind Diffusionsgebiete, und mit schwarzen Vierecken stellen diese Kontaktierungen zwischen den Source- bzw. Drain-Gebietenund den Metalleitern dar

CMOS-Maskenlayout

Page 518: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung19

CMOS-Beispielgatter: NAND

OUT = GND

OUT = VDD

Wahrheitstabelle eines NAND-Gattersmit 2 Eingängen

CMOS-Schaltung für NAND

Page 519: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung20

CMOS: NAND-Gatter mit 4 Eingängen

In3

In1

In2

In4

In1 In2 In3 In4

VDD

Out

In1 In2 In3 In4

Vdd

GND

Out

CMOS-Maskenlayout CMOS-Schaltung für NAND-4

Page 520: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung21

Wahrheitstabelle eines NOR-Gatters

CMOS-Beispielgatter: NOR

CMOS-Schaltung für NOR

PUN- und PDN-Netzentwurf (Funktionen G und F zur Übung!)

Page 521: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung22

VDD

AB

C

D

DA

B C

OUT = D + A• (B+C)

• In der CMOS-Technik lassen sich ebenfalls komplexere Gattermodellieren (siehe Schaltung oben)

• Dies muss jedoch durch entsprechende Dimensionierung der W (Transistor-Kanalbreite) und L (Kanallänge)Größen der Transistoren geschehen, damit die geforderte Symmetrie wie beim Inverter erhalten bleibt

CMOS-Beispielgatter: komplexes Gatter

CMOS-Schaltung für komplexes Gatter

Page 522: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung23

Mikrochipentwurf: Standardzellenlayout-Methodik

VDD

VSS

Well

SignaleRouting-Kanal

Metall1

Polysilizium

• Das oben dargestellte Standardzellenlayout realisiert die Funktion:

• Die Standardzellen-Methodik beinhaltet nur Basiszellen gleicher Höhe-> oben VDD- und unten VSS-Leitungen: in den Zwischenräumen werden die

gewünschten Schaltglieder (Gatter) modelliert

babay &&

Page 523: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung24

architecture structural of first_tap is

signal x_q,red : std_logic_vector(bitwidth-1 downto 0);signal mult : std_logic_vector(2*bitwidth-1 downto 0);

begin

delay_register:process(reset,clk)begin if reset='1' then

x_q <= (others => '0');elsif (clk'event and clk='1') then

x_q <= x_in;end if;

end process;

mult <= signed(coef)*signed(x_q);

Hardwarespezifikation

Synthese(Synopsys)

Netzliste

Masken-Layout

Plazierung &Verdrahtung(Cadence/

Mentor)

Fabrikation

Wafer/Chip

Abstraktionsebenen

Mikroelektronik: Heutiger Rechnergestützter Entwurf

Page 524: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung25

Digitalentwurf am Scheideweg ?

Status der Mikroelektronikindustrie

0.02 0.05 0.1 0.5 1

0.1

0.2

0.5

1

2

5

10

1

2

5

10

20

50

tOX

Vt

Vdd

Oxy

ddic

ke t

OX

(nm

)

MOSFET Kanallänge (µm)

Schnelle Evolution der IC-Technologien

Quelle: Int´l Technology Roadmap for Semiconductors ITRS

CMOS-Skalierung

Page 525: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung26

Moore´s Gesetz

– Die Komplexität von Speicher-chips und Mikroprozessoren wuchs exponentiell

– Es war genau diese Abbildung, die Moore vorhersagte

– Moore’s Law: Integrationsdichte verdoppelt sich alle 18 Monate

Technologie Evolution: Integrationsdichte

Page 526: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung27

Mikroelektronik: Skalierung, Verlustleistung und Kosten

Prozessor- und Speicher-integrationsdichten im Vergleich zu Moore´s Gesetz

KostenentwicklungProzessor- und Speicherintegration

Verlustleistungsentwicklung

(Quelle: International Technology Roadmap for Semiconductors ITRS)

Page 527: Alle Vorlesungspdfs DT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung28

Intel´s High-End Prozessorlösung: Itanium

Quelle: Jason Stinson (Intel), DAC 2003

130 nm Itanium 2 Prozessor

410 Millionen Transistoren

374 mm2 Die-Size

6 MB On-Chip L3-Cache

1.5 GHz mit 1.3 V Versorgungsspannung

Größter On-Die Cache

Größte Anzahl an Transistoren innerhalb eines einzelnen Mikroprozessorentwurfs-projekts