Está en la página 1de 527

www.kit.

edu
Institut fr Technik der
Informationsverarbeitung
Karlsruher Institut fr Technologie (KIT)
Digitaltechnik
Prof. Dr.-Ing. J . Becker
becker@kit.edu
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Funktion und Struktur
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
2
Der Systembegriff
Systemvielfalt
Der Begriff System wird hufig im Zusammenhang mit natrlichen,
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 Maeinheiten
- Steuersysteme
- Nachrichtensysteme
- Rechnersysteme
- Mikroelektronische Systeme
- Mikrosysteme
- Betriebssysteme, usw.
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
3
Der Systembegriff
Systemvielfalt
Wegen der unberschaubaren Vielfalt an mglichen Systemen entzieht
sich der Begriff einer allgemeinen Definition:
- natrlich oder knstlich
- konkret oder abstrakt
- statisch oder dynamisch
- offen oder abgeschlossen
Fr jedes konkrete System kann eine Flle zustzlicher Merkmale (oder
Attribute) festgelegt werden bzgl.:
- dem Grad der Bestimmtheit
- der Entstehungsweise
- der rtlichen und zeitlichen Konzentriertheit
- der Zeitabhngigkeit
- etc.
Notwendig: Beschrnkung des Systembegriffs auf Bereiche
technische Anwendungen
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
4
Der Systembegriff
Bei Beschrnkung der Vielfalt und Einschrnkung
auf technische Sichtweise gilt
1. Ein System umfasst stets kleinere Anteile
- Untersysteme, Komponenten, Module, Bausteine, Elemente
sogenannte Objekte
2. Zwischen den Objekten eines Systems mssen Beziehungen bestehen
ermglichen Zusammenwirken solcher Objekte
Beziehungen knnen 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
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
5
Der Systembegriff
Beispiele der Systemdefinitionen
Norm DIN 2330: Funktion eines Systems ist das Vermgen, eine
Eingabe in eine Ausgabe zu berfhren
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
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
6
F
Darstellung von Systemen
Darstellung von Systemen
die externe Sicht fr den Benutzer, sogenannte Architektur
die interne Sicht fr den Hersteller und Betreiber
Architektur eines Systems ist dessen Gesamtfunktion, wie sie dem
Benutzer gegenber nach auen hin in Erscheinung tritt
keine Aussagen ber die interne Realisierung dieses Systems
Daher: Bedarf an geeigneten Beschreibungsmglichkeiten
Funktion F umgangssprachlich, fachsprachlich oder
mathematisch/formal festlegen
Diese Notation dient dann hufig als Referenz zur Realisierung von F
Konstruktion von Anlagen, Gerten und Programme
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
7
Spielgert " Zitterdraht"
Metalldraht
Griff 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 zurcklegen ohne
Berhrung des Drahtes
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
8
System: Beispiel (Fortsetzung)
Spielgert Zitterdraht: Ermittlung der Punktezahl
Festlegung der Gesamtunktion F:
Ablauf: Anzahl erlaubter Drahtberhrungen pro Weg
bei berschreitung ist Spiel beendet,
ansonsten ist Weg erfolgreich durchlaufen
Punktvergabe: fr jeweiligen Weg, abzglich der
Drahtberhrungen (siehe Tabelle)
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
9
Festlegung der Gesamtfunktion F:
Eingabe (elektrische Signale):
Taste Neues Spiel: Beendigung und Start (+ Berhrung rechter Kontakt)
Taste Anzeige/Hchstpunktzahl: Anzeige der Hchstpunktzahl
aus allen Spielen
Taste Grundstellung: Rcksetzen der Hchstpunktzahl (auf 1 Punkt)
Elektrische Kontakte/Anschlsse
Ausgabe (optische Signale):
optische Anzeige verschiedener Informationen
(Spielstand, Status, Hchstpunktzahl)
System: Beispiel (Fortsetzung)
Metalldraht
Griff mit Metallschlaufe
Kabel
Metallkontakte links und rechts
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
10
System: Beispiel (Fortsetzung)
F
El. Signale Opt. Anzeige
Taste Anzeige/Hchstpunktzahl
Taste Grundstellung
Taste Neues Spiel
Drahtanschluss
Linker Kontakt
Rechter Kontakt
Punktezahl/Hchstpunktzahl
Indikator fr
Hchstpunktzahl
Wegnummer
Freiberhrungen
Spiel luft
Spielende
Grundstellung
Externe E/A-Schnittstellen von F
Die Festlegung von F sagt noch nichts aus, wie das Gert zu realisieren ist
und welche technischen Randbedingungen dabei zu bercksichtigen sind
Wir erhalten lediglich einige Angaben ber die externen Schnittstellen
elektrischer und optischer Art, mit deren Hilfe die Funktion F mit der
Auenwelt in Wechselwirkung tritt
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
11
System: Hierarchie und Aufteilung
Aufteilung 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
Funktionszusammenhnge entsteht
Die hher angesetzte Ebene umfasst dabei stets die Spezifikation
eines Systems (bzw. einer Systemkomponente), die darunter liegende
umfasst eine Anordnung von funktionell weniger mchtigen
Komponenten und deren Spezifikation
Struktursicht des Systems
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
12
F
i
F
j
F
k
F
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
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
13
Beispiel: Auflsung von F Zitterdraht in Teilsysteme
System: Hierarchie und Aufteilung
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
14
Mehrstufige Verfeinerung
Bei heutigen Digitalsystemen reicht eine einstufige Verfeinerung meist
nicht aus, um eine Realisierung vornehmen zu knnen
Deshalb ist eine mehrstufige Aufteilung des Systems sinnvoll,
um die Komplexitt zu reduzieren
Verfeinerungsschritte knnen auch als Transformationen der
funktionellen Beschreibungen in eine strukturelle aufgefasst werden
Definition der Teilsysteme f (Komponenten):
- realisieren genau bestimmbare Funktionsteile der Gesamtfunktion F
- przise funktionelle Abgrenzung gegenber anderen Teilsystemen
Wichtig: Relationen zwischen den unterschiedlichen Teilsystemen f
Verbindungsrelationen und geeignete Verbindungsstrukturen
System: Hierarchie und Aufteilung
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
15
F
0
f
12
2. Verfeinerungsschritt
1. Verfeinerungsschritt
3. Verfeinerungsschritt
F
13
F
12
F
11
F
25
F
24
f 13 f 11
f
22
f
23
f
21
f
27
f
28
f
26
f
25
f
24
f35
f34
f33
f
31
f
32
System: Hierarchie und Aufteilung
Mehrstufige
Systemverfeinerung
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
16
Systematischer Entwurf digitaler Systeme
Spezifikation
Struktur
Top-Down Bottom-Up
Transformationsrichtungen
Die Transformation einer Spezifikation in eine Struktur lsst sich auch
umkehren.
Durch die Analyse der Struktur und der in ihr enthaltenen Teilfunktionen
wird schrittweise die darber liegende Gesamtfunktion abgeleitet.
Die beiden Transformationsrichtungen werden wie folgt bezeichnet:
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
17
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
Tatschliches Entwerfen besteht daher hufig 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
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
18
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
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
19
Entwickler
Funktion
Struktur
f ...f
1 k
F
n
STR
n+1
f
1
...f
k
F
n
Programm
STR
n+1
Automatisierung des Entwurfablaufs
Fr die meisten Entwurfsaufgaben kommt nur eine Mischung aus manuellem und
automatisiertem Entwurf in Frage
Manueller Entwurf wird berwiegend auf Systemebene eingesetzt
Fr Standardanwendungen ist heute der logische und physikalische Entwurf
weitgehend automatisiert
Hierfr werden eine Reihe von CAD-Werkzeugen von verschieden Herstellern
angeboten (Cadence, Synopsys, Mentor Graphics, etc)
Systematischer Entwurf digitaler Systeme
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
20
Abstraktionsebenen
Systematischer Entwurf digitaler Systeme
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
21
Systematischer Entwurf digitaler Systeme
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);
Hardware
Beschreibung
(RT-Ebene)
Automatisierte Synthese
(Synopsys)
Netzliste
(Logik-
Ebene)
Masken-
Layout
Platzierung &
Verdrahtung
(Cadence/
Mentor)
Fabrikation
Chip Wafer
www.kit.edu
Institut fr Technik der
Informationsverarbeitung
Karlsruher Institut fr Technologie (KIT)
Digitaltechnik
Prof. Dr.-Ing. J . Becker
becker@kit.edu
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Nachricht und Signal
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
2
Information und Nachricht
Information ist ungeachtet seines hufigen Gebrauchs nicht formal
definiert, jedoch der Gemeinsprache als Kenntnis ber reale oder
gedankliche Sachverhalte und Vorgnge bekannt
Beispiel: unterschiedliche Interpretation derselben Information
wichtig: Kontext der Information
Kndigung

Sehr geehrter Herr Maier,
die von Ihnen beschaffte EDV-Anlage
CVK7.5 hat errechnet, da bereits 10%
ihrer Leistung ausgereicht htten, um
Ihre Arbeitskraft voll zu ersetzen.
CVK7.5 bedauert deshalb, Ihnen
mitteilen zu mssen, da mit der
bernahme der Betriebsfhrung zum
01.01.2001 durch CVK7.5 ...
Herr Maier ist geflogen"
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
3
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
zusammengehrig 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
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
4
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 ...
vielfltige weitere Beispiele fr Zeichen und Alphabete
Information und Nachricht
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
5
Definitionen
Symbol: ein Zeichen (oder eine Zeichenfolge) wird als Symbol
bezeichnet, wenn ihm in der gegebenen Situation eine bestimmte
Bedeutung zugeordnet ist
Beispiele fr Symbole und Ihre Zuordnung in jeweiliger Situation
Information und Nachricht
, , ,

, , , - Spielkarten:
- Schalt-Zeichen":
- Elektroherd:
- Khlschrank:
- mathematische Symbole: + , - ,
.
, / , =

KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
6
Physikalische Gren als Nachrichtentrger
Technische Darstellung von Information / Nachrichten / Daten
Notwendigkeit eines Trgers, meist physikalischer Natur
Aufprgen einer Nachricht: Vernderungen charakteristische Parameter
Parameter + nderungen: zeitlicher Verlauf + rumliche Abhngigkeit
Physikalische Gre Vernderbarer Parameter
Spannung, Strom Amplitude, Kurvenform,
Frequenz, Phasenlage
Widerstand Widerstandswert
Feldstrke Betrag , Richtung
Reflexionsfhigkeit Reflexionsfaktor
Durchlssigkeit Transmissionsfaktor
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
7
Physikalische Gren als Nachrichtentrger
Die Verwendung physikalischer Gren in diesem Zusammenhang fhrt
nach DIN 44300 auf einen neuen Begriff:
Definition
Signal: Die Darstellung von Nachrichten oder Daten mit
physikalischen Mitteln
Systematische Vernderungen von Parametern einer physikalischen
Gre in Zeit und Raum nach vereinbarten Regeln
Wichtig: Wertemenge der kennzeichnenden Parameter
Kontinuierliche Wertemenge
Wertebereiche / Werteintervalle (Messtechnik!)
- diskrete Signale
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
8
Theoretisch:
kontinuierliches Signal
physikalisch +
metechnisch
nicht realisierbar
W
zeitdiskretes,
wertkontinuierliches
Signal
diskrete
Abtastzeitpunkte
W
Kontinuierliche und diskrete Signale
Typen von Signalen
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
9
W
zeitkontinuierliches ,
wertdiskretes Signal
Bsp.: Quanteneffekte
zeitdiskretes,
wertdiskretes Signal:
digitales Signal
Digitaltechnik:
Einschrnkung der Zahl
mglicher Werte (Intervalle)
W
Kontinuierliche und diskrete Signale
Typen von Signalen
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
10
Signale mit begrenzter Zahl von Werten
In der Digitaltechnik: Einschrnkung der Anzahl der Werte
fr Signale
Auf diese Weise wird eine preiswerte und zuverlssige
technische Lsung erreicht
Ein Digitalwert reprsentiert dann ein Intervall an Werten
Maximalwert
physikalische
Gre
Minimalwert
I 4
I 4
I 5
I 6
I 3
I 3
I 2
I 1
Problem:
exakte ( harte )
Diskrimination an
Intervallgrenzen
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
11
Signale mit begrenzter Zahl von Werten
Problem: Intervallbergnge
Trick: jeweils zwischen zwei Intervallen
undefinierte Bereiche einfgen
Zuordnungsproblem mit technisch einfachen Mitteln lsbar
Undefinierte Bereiche -> Digitalwertzuordnung willkrlich
undefinierter
Bereich
I 4
I 3
Besser:
weiche
Diskrimination
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
12
Binrsignale
Von Bedeutung ist die Signaldarstellung mit der geringsten
Digitalwertezahl -> nmlich zwei
Die Realisierung zugehriger technischer Lsungen ist besonders
einfach und damit kostengnstig
Die beiden Intervalle werden blicherweise mit H bzw. L benannt
Maximalwert
physikalische
Gre
High-Intervall, H
Undef inierter
Bereich
Low-Intervall, L
Minimalwert
Technische Lsung
TTL-Technik
V.24-Schnittstelle
Schalter
Transmissionsfaktor
L-Bereich
0 ... 0,8 V
-12 .. -3 V
niederohmig
0 .. 40 %
H-Bereich
2,0 ... 5 V
3 ... 12 V
hochohmig
70 ... 100%
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
13
Binrsignale
Signaldarstellung: Auswahl aus zwei Werten
elementarste Entscheidungsmglichkeit
Ein Binrsignal enthlt eine Information von 1 Bit (bit: binary digit)
Abstraktion von technischer Darstellung:
Alternativen hufig mit 0 bzw. 1 bezeichnet
Ein Binrsignal zur Informationsdarstellung nicht ausreichend
Zusammengesetzte Reprsentationen aus mehreren
Binrsignalen werden verwendet
weitergehende kombinatorische Mglichkeiten
Binrsignal: x {L,H}: Binrvektoren X = (x
n
, ... , x
1
)
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
14
1
2 3 4
...
n
L LL LLL LLLL LL...LLLL
H LH LLH LLLH LL...LLLH
HL LHL LLHL LL...LLHL
2
HH
LHH LLHH LL...LLHH
HLL LHLL LL...LHLL
HLH LHLH LL...LHLH
HHL LHHL LL...LHHL
HHH LHHH LL...LHHH
HLLL LL...HLLL
HLLH LL...HLLH
HLHL LL...HLHL
HLHH LL...HLHH
HHLL LL...HHLL
HHLH LL...HHLH
HHHL LL...HHHL
HHHH LL...HHHH
HH...HHHL
HH...HHHH
Zahl der
mglichen
Werte-
kombinationen
Zahl der
Binrsignale
2
.
2 =4
2
.
2
.
2 =8
2
.
2
.
2
.
2 =16
2
.
2
.
...
.
2 =2
n
Binrsignale
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
15
Binrsignale
Mit n Binrstellen lassen sich also
unterschiedliche Kombinationen bilden
Anzahl Binrsignale zur Darstellung von N Werten (Zeichen)
inverse Funktion:
Weiterhin: Bercksichtigung, dass nur ganzzahlige Anzahl Bits zur
Darstellung von Binrsignalen mglich sind
Darstellung von N Werten:
Bits werden bentigt
n
2
n= ld N


2
n = log N = ld N
www.kit.edu
Institut fr Technik der
Informationsverarbeitung
Karlsruher Institut fr Technologie (KIT)
Digitaltechnik
Prof. Dr.-Ing. J . Becker
becker@kit.edu
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Informationsgehalt
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
2
Informationsgehalt
Neben Darstellung von Zeichen:
Aussage ber Informationsgehalt eines Zeichens interessant
Zeichen sind quantitativ im Vergleich zu anderen Zeichen
oder
im Hinblick auf technischen Darstellungsaufwand
zu bewerten
Ermittlung des Informationsgehalt eines Zeichens e
Annahme: ein Zeichen trgt umso mehr Information,
je seltener es beim Empfnger eintrifft !
Also: Informationsgehalt eines Zeichens steigt
Auftrittswahrscheinlichkeit dieses Zeichens nimmt ab
e
H
p
e
H
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
3
Informationsgehalt
Definition: Informationsgehalt eines Zeichens e
Die Einheit entspricht, wie beim Binrsignal bereits einfhrt:
1 Bit
Also: Einheit entspricht der elementaren Entscheidung
zwischen zwei gleichwahrscheinlichen Mglichkeiten
p = 0,5
Voraussetzung: Beobachtete Zeichen sind voneinander unabhngig
e
1
H =ld
p
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
4
Beispiele:
gleich- bzw. ungleichwahrscheinliche Symbole
Informationsgehalt

p=1/4
p=1/4
p=1/4
p=1/4
H
e
= 2 bit H
e
= 2 bit H
e
= 2 bit
p=1/8
p=7/8
As kein As
H
e
= 3 bit H
e
= 0,2 bit
Voraussetzung: Kartenspiel mit 32 Karten
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
5
Informationsgehalt
Betrachtung nicht-gleichwahrscheinlicher Zeichen:
Frage: Informationsgehalt eines
Zeichens in einer Zeichenfolge
Voraussetzung: Alphabet mit N Zeichen
Es gilt:
In einer Folge mit L Zeichen ist die zu erwartende Auftrittshufigkeit
eines speziellen Zeichens i:
N
i=1
p(i) =1

L p(i)
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
6
Informationsgehalt
Betrachtung 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
1
H = p(i) ld
p(i)

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

Institut fr Technik der
Informationsverarbeitung
Digitaltechnik
www.kit.edu
Karlsruher Institut fr Technologie (KIT)
Prof. Dr.-Ing. J . Becker
becker@kit.edu
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Codierung und Fehlerkorrektur
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
2
Codewrter
Allgemein: Code ist Vorschrift fr 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 0und 1
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
3
Codewrter sind elementare Einheiten zur Darstellung von Informationen
Beispiel:
Anzahl mglicher Codewrter mit m Binrstellen:
Maximale Anzahl N von m-stelligen Codewrtern:
Anzahl strukturierter m-stelliger Codewrter mit k Einsen:
Codewrter
Codewort
10111010
10111
Anzahl Binrstellen
m=8
m=5
m
2
m
N 2 s
( )
)! ( !
!
k m k
m
m
k

=
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
4
Allgemein gilt: Codes legen fest, wie Codewrter zu interpretieren sind
Beispiel: Strukturierter Code
Anzahl Wrter im (2 aus 5)-Code:
m = 5 k = 2
Folgende Codewrter sind mglich:
Der (2 aus 5)-Code eignet sich mit seinen 10 Codewrtern
besonders zur Darstellung von Dezimalziffern
( ) 10
)! 2 5 ( ! 2
! 5
5
2
=

= = N
00110
01001
00011
00101
01010
01100
10001
10010
10100
11000
Strukturierte Codes
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
5
Codes fr die Analog/Digital-Umsetzung
Wandlung von stetigen Signalen in zusammengesetzte Binrsignale
Aufgabe:
Festlegung einer
geeigneten Zuordnung:
Stetiger Wertebereich

Binrer Wertebereich
000
001
010
011
100
101
110
111
Feder
Gewicht
__
__
__
__
__
__
__
__
__
__
__
__
__
__
__
__
__
__
__
Ablesefenster
Analog/Digital -
Wandler
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
6
Codes fr die Analog/Digital-Umsetzung
Wandlung: stetige (analoge) Signale in Binrsignale (Binrvektoren)
Problem: bergnge, bei denen sich mehr als eine Binrstelle ndert
Beispiel:
0 1 1

1 0 0
Beim Wechsel mssen nicht alle Binrstellen gleichzeitig wechseln
Dadurch: groe Abweichungen fr Werte der Binrsignale mglich:
0 1 1

111, 001, 010, 101, 110 oder 000

1 0 0
3 Binrstellen-
bergnge
Fehlerhafte ber-
gnge in andere
Codewrter mglich
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
7
Code-Eigenschaften: Hammingdistanz
Eigenschaften von/zwischen Codewrtern
Definition: Hammingdistanz HD (auch Hammingabstand genannt)
Seien die Codewrter CW
i
, CW
j
e {0, 1}
n
,
HD
ij
=Anzahl der Stellen, an denen sich CW
i
und CW
j
unterscheiden.
Dann heit Hd
ij
die Hammingdistanz von CW
i
und CW
j
.
Also: Die Hammingdistanz HD zwischen zwei gleich langen
Codewrtern gibt die Anzahl der unterschiedlichen Binrstellen an.
Beispiele: Bestimmung HD
011 100 HD = 3
1000 1010 HD = 1
11000 00101 HD = 4
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
8
Code-Eigenschaften: Hammingdistanz
Definition: Minimale Hammingdistanz HD
min
Sei X _ {0, 1}
n
beliebig, und
Hd
min
(X) = min{Hd
ij
, CW
i
, CW
j
e X . CW
i
= CW
j
}
Dann heisst Hd
min
(X) minimale Hammingdistanz von X
Beispiel: Codewrter des (2 aus 5)-Codes haben folgende
minimale Hammingdistanz: Hd
min
(2 aus 5) = 2
Die minimale Hammingdistanz ist eine entscheidende Eigenschaft eines
Codes, um bertragungsfehler erkennen und korrigieren zu knnen
Begriff: Einschrittige Codes
Codes, bei denen zwei benachbarte Codewrter immer eine
Hammingdistanz von eins haben heissen einschrittig.
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
9
Spezielle Codes: Gray-Code
Code zur Analog/Digital-Wandlung
Einschrittige Codes: besondere Rolle bei der Analog-Digital Wandlung
Beispiel: Problem der digitalisierten Waageablesung
nderung einer Binrstelle geschieht auf jeden Fall immer gleichzeitig
Wandlungsfehler von hchstens 1 in kleinster Messeinheit
Wichtiger Vertreter der einschrittigen Codes: Gray-Code
zyklisch, m=3
0: 000
1: 001
2: 011
3: 010
4: 110
5: 111
6: 101
7: 100
0: 000
...
linear, m=4
0: 0000
1: 0001
2: 0011
3: 0010
4: 0110
5: 0111
6: 0101
7: 0100
8: 1100
9: 1101
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
10
Spezielle Codes: Gray-Code
Konstruktion des Gray-Codes
Geg.: Gray-Code mit m = x Binrstellen liegt vor
Doppelt so langen Gray-Code mit m
neu
= x+1 Binrstellen erzeugen:
in umgekehrter Reihenfolge an gegebenen Code anhngen
(Spiegelung an der Horizontalen)
und zustzliche Binrstelle anfgen
(zuerst 2
x+1
/2 Nullen/Einsen dann 2
x+1
/2 Einsen/Nullen)
0
0
1
1
0
1
1
0
1 0
1 1
0 1
0 0
0
0
0
0
1
1
1
1
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
11
Spezielle Codes: Austauschcodes
Notwendig: Datenaustausch zwischen digitalen Systemen:
-> spezielle Codes werden bentigt
-> 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 fr englischen Sprachraum
weitgehend aus
Bitgruppen werden zusammengefasst -> spezielle Bedeutung / Namen:
MSB (Most Significant Bits) bezeichnet 3 hherwertigen 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 + Codewrtern)
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
12
Spezielle Codes: ASCII-Code
LSB MSB
Binr 000 001 010 011 100 101 110 111
Steuerzeichen Grobuchstaben Kleinbuchstaben
0000 NUL DLE SP 0 @ P ` p
0001 SOH DC1 ! 1 A Q a q
0010 STX DC2 2 B R b r
0011 ETX DC3 # 3 C S c s
0100 EOT DC4 $ 4 D T d t
0101 ENQ NAK % 5 E U e u
0110 ACK SYN & 6 F V f v
0111 BEL ETB 7 G W g w
1000 BS CAN ( 8 H X h x
1001 HT EM ) 9 I Y i y
1010 LF SUB * : J Z j z
1011 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
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
13
Spezielle Codes: Austauschcodes
Beispiel: ASCII-Codierung
Buchstabe A:
A = 41
H
= 100 0001
B
(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
enthlt Erweiterungen fr viele Sprachen
- 7-Segment-Code: digitale Ziffernanzeige, etc.
- Punktmatrixanzeigen: Drucker, etc.
- OCR-Code (Optical Character Recognition): Maschinenlesbarkeit
- Blindenschrift, etc.
MSB LSB
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
14
Fehlerschutz umfasst Fehlererkennung und Fehlerkorrektur
Schutzwirkung wird durch Codierung realisiert
Unterscheidung abhngig von Lage und Menge fehlerhaft empfangener Bits:
Bitfehler, Burstfehler und Symbolfehler
knnen innerhalb des bertragenen Bitstroms auftreten
gesendeter Bitstrom
empfangener Bitstrom
Symbol Bit
Bitfehler
3-bit-
Burstfehler
5-bit-
Burstfehler
4-bit-
Burstfehler
fehlerfrei empfangenes Bit
fehlerhaft empfangenes Bit
Codes fr Fehlererkennung / Fehlerkorrektur
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
15
Codes fr Fehlererkennung
Problem in der Praxis: Streinflsse knnen bei der bertragung oder
Speicherung von binr kodierten Informationen den
Wert der zur Darstellung verwendeten
physikalischen Grsse verflschen
Es gilt: einzelne Bitfehler (1 Bit kippt) sind erkennbar bei Codes mit
minimaler Hammingdistanz HD
min
= 2
jeder denkbare Bitfehler fhrt zu ungltigem
(d.h. unbenutztem) Codewort:
0010
gltiges CW
i
0011
unbenutztes CW
j
,
Fehlerfall
0111
gltiges CW
k
1 Fehler 1 Fehler
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
16
Es gilt: Bei Codes mit HD
min
=3:
Zweifachfehler erkennbar oder Einfachfehler korrigierbar
2-Fach Fehlererkennung:
1-Fach Fehlerkorrektur:
Codes fr Fehlererkennung / Fehlerkorrektur
0010 0011 1111 0111
1 Fehler
1 Fehler 2 Fehler
2 Fehler
gCW
i
ugCW
j
,
Fehlerfall
ugCW
k
,
Fehlerfall
gCW
l
0010 0011 1111 0111
1 Fehler
1 Fehler Korrektur
Korrektur
gCW
i
ugCW
j
,
Fehlerfall
ugCW
k
,
Fehlerfall
gCW
l
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
17
Codes fr Fehlererkennung / Fehlerkorrektur
Allgemein gilt:
Geeignete Codes knnen Fehler erkennen und sogar korrigieren
Notwendig: Hinzufgen zustzlicher (redundanter) Informationen
zustzlicher Darstellungsaufwand (Kosten!)
Annahme: Hchstanzahl gleichzeitig zu bercksichtigender Fehler ist fest
meistens: hchstens 1 oder 2 Bitfehler gleichzeitig
(Teil-)Systematik bei Festlegung des Codes notwendig
Mglichkeiten: minimale Hammingdistanz, Parittsbits,
Blocksicherungsverfahren, Hamming-Codes, etc.
Parittsbit-Prfverfahren:
Fehler bei Code-bertragung erkennbar (ohne Beachtung Hammingdistanz)
zustzliches Parittsbit anhngen:
- im Binrwort enthaltene Einsen werden entweder auf gerade (even parity)
oder ungerade (odd parity) Anzahl ergnzt berprfung beim Empfnger
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
18
Fehlererkennung durch Paritt
Beispiel: Ergnzung des Parittsbit
Dezimal Binr gerade
Paritt
ungerade
Paritt
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

KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
19
Fehlererkorrektur durch Blocksicherung
Das Prinzip der Parittssicherung ist zweidimensional anwendbar
Blocksicherungsverfahren mit doppelter Quersummenergnzung
Nachricht wird in Blcke von n Codewrtern mit Parittsbit eingeteilt
zustzlich: am Ende jedes Blocks ein weiteres Codewort einfgen
enthlt alle Parittsbits der Spalten
Also: bei Auftreten von Einfachfehlern lassen sich Spalte und Zeile
eindeutig ermitteln:
Einfachfehler sind damit korrigierbar
gleichzeitig sind noch weitergehende
Fehlererkennungsverfahren mglich: Bndelstrung erkennbar
Bndelstrung: zeitlich konzentrierte Fehler, d.h. ber einen Zeitraum ist die
Verbindung gestrt, knnen erkannt bzw. behoben werden
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
20
Fehlererkorrektur durch Blocksicherung
Beispiel: Fehlerlokalisierung durch Blocksicherungsverfahren
Spalte mit Fehler
(ungerade Paritt)
Zeile mit Fehler
(ungerade Paritt)
Ziffer Codewrter mit gerader Paritt
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
Prfwort 0 0 1 0 1

KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
21
Fehlererkorrektur durch Blocksicherung
Also: m Informationsbits werden k Fehlerschutzbits als Redundanz
angehngt und bertragen
Damit: Vergrsserung des Datenstroms auf Lnge n = m + k
Beispiel fr Blocksicherung: zyklische Redundanzprfung
[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
www.kit.edu
Institut fr Technik der
Informationsverarbeitung
Karlsruher Institut fr Technologie (KIT)
Digitaltechnik
Prof. Dr.-Ing. J . Becker
becker@kit.edu
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Nachrichtenbertragung
und Optimale Codes
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
2
Codes fr die Nachrichtenbertragung
bertragung von Nachrichten und Daten
Spezielle Anforderungen an Codierung:
Schutz gegen Verflschungen+ typische Fehlerflle
Darstellungsaufwand minimieren(Kosten, Performanz)
Weiteres Problem: Annahme des Einzelfehlerfalls trifft hufig
in bertragungssystemen nicht zu
zeitlich konzentrierte Fehler
(Strung ber einen Zeitraum)
Bndelstrungentreten auf
Also: dedizierte zustzliche Manahmen notwendig
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
3
Codes fr die Nachrichtenbertragung
Bndelstrung
Problem: eine lngere Auswirkung einer Strung auf ein Signal
Dadurch knnen mehrere Bitsnacheinander gestrtwerden
Bndelfehler: bisher besprochene Codes sind nicht geeignet
Lsung: Bei der Zeichenverflechtung werden die Binrstelleneines
Zeichens (Binrwort) nichtnacheinander bertragen
Verwrfelung oder Scrambling der Stellen
Also: lnger anhaltender Streinfluss(Bndelstrung)
bestimmter Lnge verflschtnur Binrstellenvon
unterschiedlichenCodewrtern
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
4
Genderte Reihenfolge der bertragung:
a
1
a
2
a
3
a
4
a
5
a
6
a
7
Codewort 1
b
1
b
2
b
3
b
4
b
5
b
6
b
7
Codewort 2
c
1
c
2
c
3
c
4
c
5
c
6
c
7
Codewort 3
d
1
d
2
d
3
d
4
d
5
d
6
d
7
Codewort 4
e
1
e
2
e
3
e
4
e
5
e
6
e
7
Codewort 5
Parittsbit
Bndelstrung: Zeichenverflechtung
Eine Strungvon maximal 5 aufeinanderfolgenden Bits
ist damit erkennbar
Trotzandauernder Strung:
pro Codewort nur 1 Bit verflscht
Parittsbit (7. Bit) detektiert Einzelfehlerflle
bertragung mit
Anwendung der
Zeichen-
verflechtung
(Scrambling)
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
5
Bndelstrung: Fehlererkennung/Korrektur
Beispiel fr eine bertragung mit Bndelstrung:

e
7
d
7
c
7
b
7
a
7
e
6
d
6
c
6
b
6
a
6
c
2
b
2
a
2
e
1
d
1
c
1
b
1
a
1
e
5
d
5
c
5
b
5
a
5
e
4
d
4
c
4
b
4
a
4
e
3
d
3
c
3
b
3
a
3
e
2
d
2
Empfangen
Senden
Bndel-Strung
Codewort
1
Codewort
2
Codewort
3
Codewort
4
Codewort
5
d
1
a
1
b
1
c
1
e
1
a
2
b
2
c
2
d
2
e
2
a
3
b
3
c
3
d
3
e
3
a
4
b
4
c
4
d
4
e
4
a
5
b
5
c
5
d
5
e
5
e
6
d
6
c
6
b
6
a
6
a
7
b
7
c
7
d
7
e
7
d
1
a
1
b
1
c
1
e
1
a
2
b
2
c
2
d
2
e
2
a
3
b
3
c
3
d
3
e
3
a
4
b
4
c
4
d
4
e
4
a
5
b
5
c
5
d
5
e
5
e
6
d
6
c
6
b
6
a
6
a
7
b
7
c
7
d
7
e
7

b
e
r
t
r
a
g
u
n
g
Allgemein gilt:
erlaubt der benutzte
Code Fehler-
erkennung bzw.
Fehlerkorrektur
gesamte
Bndelfehler ist
erkennbar bzw.
korrigierbar
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
6
Neben der Fehlersicherheitspielt bei der bertragung auch
die Lnge einer Nachrichteine Rolle
Der Morse-Code hat schon frh die statistischen Eigenschaften
der englischen Sprache ausgenutzt, um eine mglichst kurze
Darstellung der Nachrichtzu erzielen
Hufig auftretende Buchstabenwerden mglichst kurzen
Codewrternzugeordnet, whrend fr seltene Buchstaben
lngere Codewrter gewhlt werden
Beispiel Morse-Code:
Optimale Codes
hufige Buchstaben seltene Buchstaben
e:
t: -
j: --- q: ---
i: a: - y: --- : ---
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
7
Optimale Codes
Optimale Codes
Optimale Codesversuchen die im Mittel auftretende
durchschnittliche Codewortlnge mzu minimieren
Der minimal erreichbare Idealwertist dabei der
durchschnittliche Informationsgehalt Hdes
Zeichenvorrats -> Entropie der Sendequelle
Fr einen Zeichenvorrat {x
1
, x
2
, x
3
, ... x
n
}gilt:

= =
= =
n
i
i
i
n
i
i e i
x p
ld x p x H x p H
1 1
) (
1
) ( ) ( ) (

=
=
n
i
i i
x m x p m
1
) ( ) (
CInformationsgehalt H:
C Codewortlnge m:
m(x
i
): Lnge CW fr X
i
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
8
Optimale Codes: Shannon-Fan-Code
Konstruktionsvorschrift:
Zeichenvorratnach aufsteigender Wahrscheinlichkeit
linear sortieren lineare Ordnung
Zwei Teilmengenso konstruieren, dass die Summen-
wahrscheinlichkeitender beiden Teilmengen mglichst
gleich grosind, d.h. die addierten Auftrittswahrscheinlichkeiten
der in beiden Teilmengen enthaltenen Zeichen ergeben
mglichst die gleiche Summe
Die erste Teilmenge erhlt das Codierungszeichen 0
und die zweite Teilmenge eine 1
Mit den jeweils resultierenden Teilmengen rekursiv
in gleicher Weise fortfahren
bis nur noch 1 Zeichen in resultierenden Teilmengen
enthalten ist
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
9
Beispiel:
Zeichen
a b c d e
Wahrscheinlichkeit
0,1 0,1 0,2 0,3 0,3
Zeichen
a b c d e
Kodi erung
000 001 01 10 11

=1 p
} , , , , { e d c b a

= 6 , 0 p

= 4 , 0 p
} , , { c b a } , { e d
0 1
1 , 0 = p
} {a
0
1 , 0 = p
} {b
1

= 2 , 0 p
} , { b a
0
} {c
1
2 , 0 = p
} {e
1
} {d
0
3 , 0 = p 3 , 0 = p
Shannon-Fan-Code
Konstruktion des
optimalen Codes:
Codierungsbaum:
Reprsentation der
rekursiv konstruierten
Teilmengen zu
codierender Zeichen
und ihre Codes
C Codewortlnge m = 2,2
Codierung:
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
10
Optimale Codes: Huffman-Code
Codierung mit variabler Bitlnge der Codewrter
effizienter als Codierung mit fester Bitlnge
Prfixfreie-Codierung
kein Kodewort ist Prfix eines anderen Codewortes
Vorgehensweise graphisch darstellbar
(binrer Baum, siehe auch Graphentheorie in Kap. 5.3 im Buch)
Bltter reprsentieren Codewrter
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 fr Datenkompression (J PEG, MPEG)
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
11
HKA ist ein Greedy-Algorithmus
HKA konstruiert einenBaum(= azyklischer zusammenhngender Graph) T, der die
Codierung der einzelnen Zeichen reprsentiert
Sortierte Liste Q jeweils die beiden Zeichen in Q mit niedrigsten AWS finden
Zwei gefundene Zeichen werden zu neuem Element zverschmolzen, 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 CodierungsbaumT
Huffmans Codierungs-Algorithmus (HKA) (1)
Optimale Codes: Huffman-Code
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
12
begin
n |C|; // C ist sortierte Menge der zu codierenden Elemente
Q C; // Q ist sortierte Liste (-> verwendete Datenstruktur)
for i 1 to n-1 do
z 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
Huffmans Kodierungs-Algorithmus (HKA) (2)
Optimale Codes: Huffman-Code
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
13
(a)
Beispiel (1):
f:5 e:9 b:13 a:45 d:16 c:12
(b)
(c)
f:5 e:9
b:13 a:45 d:16 c:12 14
0 1
f:5 e:9
a:45 d:16 14
c:12 b:13
25
1 1 0 0
Optimale Codes: Huffman-Code
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
14
(d)
Beispiel (2):
(e)
f:5 e:9
a:45
d:16 14 c:12 b:13
25 30
55
0
0 0
0
1
1
1
1
f:5 e:9
a:45
d:16 14 c:12 b:13
25 30
0
0
0
1
1
1
Optimale Codes: Huffman-Code
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
15
Beispiel (3):
(f)
f:5 e:9
a:45
d:16 14 c:12 b:13
25 30
55
100
1
1
1
1
1
0
0
0
0
0
Optimale Codes: Huffman-Code
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
16
Anwendung im J PEG-Format:
JPEG: Joint Photographic Experts Group
Ziel: allgemeiner Standard fr alle Arten von Bildern(Color
oder Graustufen), die dadurch portabel sind
Ordentliche Kompressionsraten
Dafr leichter Verlustan Bildinformation
Verlustfreie Kompression mglich
Optimale Codes: Huffman-Code
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
17
Dekodierung
De-
Quantisierung
Rcktrans-
formation iDCT
bersicht des Komprimierungsverfahrens JPEG:
Ausgabe: Ursprungsbild
Tabellen Tabellen
0011010011000111 ...
Eingabe:
komprimierte Bilddaten
JPEG Dekomprimierer
Transformation
FDCT
Quantisierung Kodierung
Tabellen Tabellen
Eingabe: Ursprungsbild
0011010011000111 ...
Ausgabe:
komprimierte Bilddaten
8x8 Bloecke
JPEG Komprimierer
Optimale Codes: JPEG-Verfahren
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
18
Aufteilung des zu komprimierenden Bildes in 8x8-Pixelblcke
Geeignete Blockgre fr die FDCTum digitaltechnischen
Realisierungsaufwandzu optimieren undden Gesamtaufwand
nicht zu hoch zu treiben
Bei greren Blcken steigt der Rechen- bzw. Kostenaufwand
quadratisch an
Aufteilung
Ursprungsbild 8x8 Pixelblcke
Optimale Codes: JPEG-Verfahren
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
19
Schnelle diskrete Cosinustransformation (FDCT) liefert per Block eine
Koeffizientenmatrix zurck
FDCT transformiert Daten aus Ortsbereich f(i,j) in Frequenzbereich F(u,v)
Formel fr die FDCT:
0,0 0,7
7,0 7,7

= =
+ +
=
7
0
7
0
16
) 1 2 (
cos
16
) 1 2 (
cos ) , (
4
1
) , (
x y
v u
v x u y
y x f F F v u F
t t
7 ... 1 fr , 1 , 0 fr ,
2
1
, = = = = u,v F F u,v F F
v u v u
-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,7 7,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
) , ( v u F
) , ( y x f
FDCT
Optimale Codes: JPEG-Verfahren
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
20
JPEG-Verfahren: FDCT
Einfluss der Bildvernderlichkeit (->Frequenzen!) auf einzelne Koeffizienten der
transformierten Matrix
Obere linke Koeffizient (DC-Anteil) wird grer, je monotoner die Farbverteilung ist
Untere rechte Koeffizient wird durch eine mglichst ungleichmige Verteilung
der Werte der zu transformierendenPixelmatrix 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
) , ( v u F
64 Basisfunktionen
Optimale Codes: JPEG-Verfahren
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
21
-2
Quantisierungsmatrix: mglichst viele Nullenin Transformationsmatrix
Quantisierung: eigentliche verlustbehaftete Vorgang in der J PEG-Kodierung
Verlust: durch Rundung nach Division durch Quantisierungsfaktor Q(u,v)
) , ( * ) , ( ) , ( ,
) , (
) , (
) , ( : Formel
'
v u Q v u F v u F
v u Q
v u F
round v u F
Q Q Q
=
|
|
.
|

\
|
=
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
Quantisierung
De-
Quantisierung
( ) 2 8125 , 1
16
29
) 0 , 3 (
16 ) 0 , 3 ( , 29 ) 0 , 3 ( : Bsp.
= =
|
.
|

\
|

=
= =
round round F
Q F
Q
32 16 2 ) 0 , 3 ( : ung Quantisier - De der nach
'
= =
Q
F
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
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
22
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 mglichst 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-Verfahren
JPEG-Verfahren: Kodierung (1) ZigZag Kodierung
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
23
aus ZigZag-Scanentstandene Streamswerden nun komprimiert
zuerst: Run-Length-Encoding, um lange Nullfolgen platzsparend zu kodieren
ZigZag-geordnete AC-Koeffizientenwerden so kodiert, dass nur AC-Koeffizienten
ungleichNull in Binrvektorform (RRRRSSSS) dargestellt werden, wobei:
RRRR(4-Bit) -> Anzahl der Nullenvordem aktuellen Koeffizientenangibt
SSSS (4-Bit) -> Wertebereiche der Koeffizientengem unterer Tabelle reprsentiert
der SSSS-Subvektorbestimmt hherwertige Bitsder AC-Koeffizienten, die
niederwertigen Bitswerden unkodiertan das RS-Symbol angehngt
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 0
Bits
0 1 1 0 0 0 1 1
JPEG-Verfahren: Kodierung (2) Run-Length Kodierung
Optimale Codes: JPEG-Verfahren
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
24
letzte Schritt: gebildete RS-Elemente werden Huffman-kodiert
Betrachtet: Hufigkeitdes Auftretensder RS-Werte
hufig vorkommende Elemente: kurz kodiert
selten vorkommende Elemente: lang kodiert
entweder: ein Huffman-Kode aus gegebenen
Daten (AWS) ermittelt,
oder: eine Standardtabelle verwendet
(kleiner Ausschnitt s. Tabelle)
Huffman-Codierung ist verlustfrei
Mit verschiedenen Tabellenwerden
unterschiedliche unterschiedliche
Kompressionsratenerreicht
niederwertige Bitsder AC-Koeffizienten
werden unkodiertbelassen
RRRR SSSS Huffman-Code-Wort
0000 0000 1010 (EOB)
0000 0001 00
0000 0010 01
0000 0011 100
0000 0100 1011
0000 0101 11010
0000 0110 1111000
0000 0111 11111000
0000 1000 1111110110
0000 1001 1111111110000010
0000 1010 1111111110000011
Optimale Codes: JPEG-Verfahren
JPEG-Verfahren: Kodierung (3) Huffman Kodierung
Kodierungstabelle
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
25
JPEG Kompression
Beispiele
Originalbild
25x Komprimiert
75x Komprimiert
Optimale Codes: JPEG-Verfahren
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
26
25x Komprimiert
50x Komprimiert
99x Komprimiert
Optimale Codes: JPEG-Verfahren
www.kit.edu
Institut fr Technik der
Informationsverarbeitung
Karlsruher Institut fr Technologie (KIT)
Digitaltechnik
Prof. Dr.-Ing. J . Becker
becker@kit.edu
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Hamming Codes
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
2
Hamming-Codes
Systematik: Code-Konstruktion zur Fehlererkennung / Fehlerkorrektur
Satz: HD
min
<-> Anzahl erkennbarer / korrigierbarer Fehler
a.) Sei X {0, 1}
n
ein Code mit HD
min
(X) = d
dann sind bis zu d 1 Fehler erkennbar !
b.) Sei HD
min
(X) = d = 2e + 1
dann sind bis zu e = (d 1) / 2 Fehler korrigierbar !
Beweis:
Zu a.): (d 1) Fehler: kein gltiges Codewort in anderes Codewort berfhrbar
Zu b.): jedes empfangene Codewort CW
i
mit hchstens e( eFehlern
unterscheidet sich vom gesendeten Codewort CW
j
an hchstens eStellen,
d.h. von jedem anderen gltigen Codewort CW
k
X unterscheidet sich
CW
i
an mindestens (2e + 1) e 2e+1 e=e+1 Binrstellen
also: HD
ik
e+ 1, d.h. das ursprnglich gesendete Codewort CW
j
ist
eindeutig aus dem empfangenen (ggf. fehlerhaften) CW
i
zuzuordnen!
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
3
Notwendige Anzahl von Prfstellen k
in Abhngigkeit von der Anzahl der Informationsstellen m
um minimale Hamming-Distanz HD
min
= d zu erhalten
Systematische Codes nach Hamming
Hamming-Codes
Prfbare 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
P
r

f
b
i
t
s

k
Datenbits m
HD 7
HD 6
HD 5
HD 4
HD 3
HD 2
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
4
Hamming-Codes
Zuordnung der geprften Stellen zu den Prfstellen:
Prfstellen der Prfstelle
zugeordnete
Binrstelle
geprfte Binrstellen
y1
y2
y3
y4
.
.
.
1
2
3
4
.
.
.
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 geprften Stellen zu den Prfstellen:
i. Prfstelle y
i
berprft alle Binrstellen (knnen Informationsstellen m als auch
Prfstellen k sein!), die in der i. Stelle (im i. Bit) der Dualzahlendarstellungen der
entsprechendenBinrstellenpositionen ( duale Kennzahlen ) eine 1 aufweisen
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
5
Hamming-Codes
Aufbau eines 1-F-korrigierbaren Codes:
Einfachfehler sind korrigierbar: HD
min
= 3
1. Schritt lfd. Nr.
duale Kennzahl
1
001
2
010
3
011
4
100
5
101
6
110
7
111
2. Schritt 1. Stellenbelegung
Bestimmung von y1
y1
0
x1
0
x2
1
x3
1
3. Schritt 2. Stellenbelegung
Bestimmung von y2
y2
1
x1
0
X4
0
x3
1
4. Schritt 3. Stellenbelegung
Bestimmung von y3
y3
0
x2
1
x4
0
x3
1
Systematik: Konstruktion von Hamming-Codes
Zuordnung der geprften Stellen zu den Prfstellen:
Beispiel: 1. Prfstelle y
1
berprft alle Binrstellen, die in der 1. Stelle
(im 1. Bit) der Dualzahlendarstellungen der entsprechenden
Binrstellenpositionen ( duale Kennzahlen ) eine 1 aufweisen
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
6
Hamming-Codes
Beispiel:
Codewort (CW) x1 x2 x3 x4 y1 y2 y3 Dezimalzahl
1. CW
2. CW
3. CW
4. CW
5. CW
6. CW
7. CW
8. 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 0
0 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 0
0 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
6
7
8
9
10
11
12
13
14
15
1 F-korrigierbare Codes:
m = 4: Informationsstellen
k = 3: Prfstellen
Zuordnung zu
Dezimalzahlen
Beispiel: Konstruktion
der Prfbits fr 7. CW
Institut fr Technik der
Informationsverarbeitung
Digitaltechnik
Karlsruher Institut fr Technologie (KIT)
Prof. Dr.-Ing. J. Becker
becker@kit.edu
www.kit.edu KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Zahlensysteme
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
2
Zahlensysteme
Zahlensysteme dienen zur transparenten Darstellung von Zahlen
durch geeignete Ziffernund deren systematischen Anordnung
-> elementar fr die Mechanisierung/Automatisierung
in der Digital- sowie Rechentechnik
Polyadische Zahlensysteme geben den Ziffernihren Wertin
Abhngigkeitvon ihrer Stelle innerhalb der systematischen
stellenorientierten Anordnung
Das Dezimalsystemist der uns gelufigste Vertreterder
polyadischen Zahlensysteme
Die Stellenwerte entsprechen den Potenzender Basis
des jeweiligen polyadischen Zahlensystems
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
3
Polyadische Zahlensysteme:
Aufbau
Beispiele:
1689
10
= 1* 10
3
+ 6* 10
2
+ 8* 10
1
+ 9* 10
0
= 1689
1022
3
= 1* 3
3
+ 0* 3
2
+ 2* 3
1
+ 2* 3
0
= 35
1011
2
= 1* 2
3
+ 0* 2
2
+ 1* 2
1
+ 1* 2
0
= 11
41
12
= 4* 12
1
+ 1* 12
0
= 49
Allgemein: Aufbau einer Zahl N
N = d
n
* R
n
+ ... + d
1
* R
1
+ d
0
* R
0
N: Zahl im Zahlensystem
R: Basis, (Grundzahl, Radix) R > 2
R
i
: Wertigkeit der i-ten Stelle
d
i
: Ziffer der Stelle i
Z: Menge der Ziffern: d
i
eZ = {0,1,2, ... , R-1}
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
4
Polyadische Zahlensysteme:
Beispiele (1)
Dualsystem (Binrsystem):
R
B
= 2 (Basis)
Z
B
= {0,1}
Beispiel:
1101
2
= 1* 2
3
+ 1* 2
2
+ 0* 2
1
+ 1* 2
0
= 13
Lsst sich in Hardware effizient darstellenund verarbeiten
bei relativ kleinen Zahlenim Dualsystem
sehr viele Ziffernzur Darstellung notwendig
man fasst oftmals 3oder 4 Ziffern zusammen
resultiert in Oktal- oder Hexadezimalsystem
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
5
Polyadische Zahlensysteme: Beispiele (1)
Dezimalzahlen Dualzahlen
10
3
10
2
10
1
10
0
2
4
2
3
2
2
2
1
2
0
0 0
1 1
2 1 0
3 1 1
4 1 0 0
5 1 0 1
6 1 1 0
7 1 1 1
8 1 0 0 0
9 1 0 0 1
1 0 1 0 1 0
: :
: :
1 9 1 0 0 1 1
2 0 1 0 1 0 0
Dualzahlen:
Reprsentation einer
Zahl mit Binrstellen
in polyadischer Dar-
stellung und
Interpretation
wenn Ziffernvorrat
in einer Stelle erschpft,
erfolgt ein bertrag in
nchsthhere Stelle
Dualsystem:
grundlegende Zahlen-
system fr die numerische
Verarbeitung in der
Digitaltechnik
Zahlendarstellung im Dualsystem:
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
6
Polyadische Zahlensysteme: Beispiele (2)
Oktalsystem:
R
O
= 8
Z
O
= {0,1,2,3,4,5,6,7}
1 Zifferim Oktalsystementspricht genau 3 Ziffernim Dualsystem
Beispiele: Oktalzahlen
Dezimal: 0 1 2 3 4 5 6 7 8 9
Oktal: 0
O
1
O
2
O
3
O
4
O
5
O
6
O
7
O
10
O
11
O
Dezimal: 10 11 12 13 14 15 16 17 18 19
Oktal: 12
O
13
O
14
O
15
O
16
O
17
O
20
O
21
O
22
O
23
O
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
7
Polyadische Zahlensysteme:
Beispiele (3)
Hexadezimalsystem:
R
H
= 16
Z
H
= {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}
1 Zifferim Hexadezimalsystementspricht genau 4 Ziffernim Dualsystem
2 Ziffernim Hexadezimalsystemzusammengefasst -> 1 Byte (8 Bit)
Beispiele: Hexadezimalzahlen
Dezimal: 0 1 ... 9 10 11 12 13 14 15 16
Hexadezimal: 0
H
1
H
... 9
H
A
H
B
H
C
H
D
H
E
H
F
H
10
H
Dezimal: 17 18 ... 158 159 160 161 162 163 164 ...
Hexadezimal: 11
H
12
H
... 9E
H
9F
H
A0
H
A1
H
A2
H
A3
H
A4
H
...
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
8
Umrechnung: Dualsystem -> Oktal- bzw. Hexadezimalsystem
110
B
= 6
O
011
B
= 3
O
110 011
B
= 63
O
1011 0010
B
= B2
H
255
D
= FF
H
Polyadische Zahlensysteme: Wandlung
3 Ziffernim Dualsystemwerden zu genau
1 ZifferimOktalsystemzusammengefasst
4 Ziffernim Dualsystemwerden zu genau
1 ZifferimHexadezimalsystem
zusammengefasst
-> sehr gut fr byte-orientierte
Darstellungen
-> 2 Hexadezimalzahlen = 1 byte
Also:
kompaktere Darstellung grosser Dualzahlen im Oktal- bzw.
Hexadezimalsystem
effizienter Darstellung, Codewandlung sowie Verarbeitung
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
9
Polyadische Zahlensysteme: Wandlung
Wenn die Basiseines Zahlensystemsdie PotenzderBasiseines
anderen Zahlensystemsist, so sind Zahlenzwischen diesen
Systemen sehr leicht umzuwandeln
Zusammenfassungvon mehreren Stellenzu 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
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
10
Polyadische Zahlensysteme: Wandlung
Falls keine besondere Beziehung zwischenden Basenbesteht, kann
man die Umrechnungberdas Dezimalsystemdurchfhren
Wandlung zunchst ins Dezimalsystem:
Bekannte Formel: N
D
= d
n
* R
D
n
+ ... + d
1
* R
D
1
+ d
0
* R
D
0
Beispiel: (FA7E)
H
= ?
D
( F A 7 E )
H

( F*10
3
+ A*10
2
+ 7*10
1
+ E*10
0
)
H

( 15*16
3
+ 10*16
2
+ 7*16
1
+ 14*16
0
)
D

( 61440 + 2560 + 112 + 14 )
D
= 64126
D
Wandlung von Zahlensystemen:
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
11
Polyadische Zahlensysteme: Wandlung
Wandlung aus dem Dezimalsystem:
Mit Hilfe einer Ganzzahldivisionmit Restkann Umwandlungvom
Dezimalsystemin Systemmit der Basis Rwie folgt durchgefhrt werden:
-> N
D
wird durch R dividiert (Ergebnis Stelle d
0
),
-> entstehende Quotienten rekursiv nach gleichem Schema verarbeiten

Quotient 1, Rest 0
N
D
R
d
0

Quotient 2, Rest 1
d
1

Quotient 3, Rest 2
Quotient 1
R
Quotient 2
R
d
2
N
D
= ( d
2
d
1
d
0
)
R
...
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
12
Beispiel: Wandlung der Dezimalzahl 2002 in Hexadezimalzahl
Umrechnung von 2002
D
in das Hexadezimalsystem (R=16):
=
125 Rest 2
2002
16
2
=
7 Rest 13
D
=
0 Rest 7
125
16
7
16
7
2002
D
= 7D2
H
Polyadische Zahlensysteme: Wandlung
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
13
Polyadische Zahlensysteme: Wandlung
Wichtig: es ist wesentlich einfacher Zahlensysteme umzuwandeln,
wenn man Ziffern jeweils separat und einzelnbehandeln kann
Bei der oft gebrauchten UmwandlungvomDezimalsystem indas
Dualsystemist dies nichtmglich
Abhilfe schafft der BCD-Code (Binary Coded Decimal)
Dieser stellt jede Dezimalzifferdurch eine 4-Bit Dualzahl dar
49
D
=( 0100 1001 )
BCD
Die 10 Codewrter, die den Ziffernzugeordnet sind, werden Tetrade
genannt.
Die unbenutzten Codewrterwerden Pseudotetrade genannt
Pseudotetrade: 1010, 1011, 1100, 1101, 1110, 1111
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
14
Digitaltechnik:
Rechenoperationen
Automatisierte Rechenoperationensind von zentraler Bedeutung
Basisoperationensind: +, -, *, /
Technische Realisierung: Kosten(Platzbedarf) und Performanz wichtig!
berlegung: welche Operationen direkt als Schaltung realisieren ?
Rechnenkann man grundstzlich in allen Zahlensystemen
Im Dualsystembentigt 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
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
15
Digitaltechnik:
Rechenoperationen
Addition:
Dualzahlen knnen 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

KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
16
Digitaltechnik:
Rechenoperationen
Subtraktion:
Beim Subtrahierenvon Dualzahlenbedient man sich einem Trick:
der Komplementbildung
Statt beispielsweise zwei 8-Bit Dualzahlen direkt zu subtrahieren
erweitertman mit einer 9-stelligen Dualzahl wie folgt:
a - b = ( a + (1 0000 0000
B
- b) ) - 1 0000 0000
B
c
Das Zweierkomplementc lsst sich sehr einfach wie folgt berechnen:
c = 1 0000 0000
B
- b = ( 1111 1111
B
- b ) + 1
B
d
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
17
Subtraktion:
Dadurch hat man allgemeine Subtraktiondurch folgendes ersetzt:
a - b = ( a + (1111 1111
B
- b + 1) ) - 1 0000 0000
B
Additionund Inkrementierung(+1) und zwei spezielle Subtraktionen
Digitaltechnik: Rechenoperationen
Einfache Subtraktionen (Sonderflle):
( 1111 1111
B
- b ) berechnet man durch Invertieren aller 8 Bits von b
( d - 1 0000 0000
B
) 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 erhlt man durch Zweierkomplement:
Betrag = ( 1111 1111
B
- d ) + 1
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
18
Beispiel: Subtraktion 21 - 3 = ?
a = 21
D
= 0001 0101
B
b = 3
D
= 0000 0011
B
c = (1 0000 0000
B
- b) = 1111 1111
B
- b + 1 = 1111 1100
B
+ 1 = 1111 1101
B
a - b = (d - 1 0000 0000
B
) = 0001 0010
B
= 18
D
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
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
19
Beispiel: Subtraktion 3 - 21 = ?
a = 3
D
= 0000 0011
B
b =21
D
= 0001 0101
B
c =(1 0000 0000
B
- b) = 1111 1111
B
- b + 1 = 1110 1010
B
+ 1 = 1110 1011
B
a - b = (d - 1 0000 0000
B
) < 0
| a - b| = (Zweierkomplement von d) = 1111 1111
B
- d + 1 = 0001 0010
B
= 18
D
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
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
20
BCD-Code (Binary Coded Decimal)
Rechnen im BCD-Code
Zentrale Stellung des Dezimalsystems:
Konversion strker unter Betonung der dezimalen Aspekte
dezimalstellenweise Wandlung in Dualform (Binrform)
Wie in den unterschiedlichen Zahlensystemen knnen auch
BCD-kodierte Zahlen verrechnet werden
Bei der BCD-Addition: Pseudotetrade knnen entstehen
Zur Korrektur: zu Pseudotetraden und bei jedem bertrag
noch 6
D
= 0110
B
addiert werden
Bei der Addition von BCD-kodierten Zahlen kann der Bereich der
Pseudotetraden nur einmal berschritten werden
es gengt in jedem Fall eine Korrektur
Digitaltechnik: Rechenoperationen
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
21
Beispiel: Addieren im BCD-Code
Additionvon 839
D
und 862
D










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

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 839
D
+ 1000 0110 0010 + 862
D

Digitaltechnik: Rechenoperationen
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
22
Erweiterungen BCD-Code (1): STIBITZ-Code
es hat nicht an Versuchen gefehlt die negativen Eigenschaften
des BCD-Codeszu vermeiden
Fr die Subtraktionmit Hilfe der Komplementbildungist es ntzlich,
dass die Codewrter mit Ziffern symmetrisch angeordnetsind
Der STIBITZ- oder Exzess-3-Code erreicht dies, indem alle Tetraden
im Vergleichzum BCD-Code um 3
D
= 0011
B
grersind:
Dezimal 0 1 2 3 4
STIBITZ 0011 0100 0101 0110 0111
STIBITZ 1000 1001 1010 1011 1100
Dezimal 5 6 7 8 9
Digitaltechnik: Rechenoperationen
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
23
Erweiterungen BCD-Code (1): Addition im STIBITZ-Code
Codewrterfr Ziffern 0, ..., 4sind spiegelbildlich komplementrzu Ziffern 5, ..., 9
Bei bertrag: 0011
B
muss addiertwerden
Ohne bertrag: es muss 0011
B
abgezogenwerden, was durch Addition
von 1101
B
ohne bertrag erreicht werden kann
Digitaltechnik: Rechenoperationen
1 1 1 1 1 1
0110 1011 0100 = 381
D
0100 0110 1100 139
D
+ 0101 0111 0101 + 242
D
1 11 11 1
1001 1110 0001
bertrag
Korrektur: +1101 +1101 +0011
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
24
Digitaltechnik: Rechenoperationen
Erweiterungen BCD-Code (2): AIKEN-Code
Auch beim Aiken-Code sind die Codes der Ziffern symmetrisch
angeordnet, um eine einfache Komplementbildungzu ermglichen
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
Stellenwertender einzelnen Binrstellenentspricht
1101
AIKEN
= 1* 2 + 1* 4 + 0* 2 + 1* 1 = 7
D
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
25
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-Codewrter
(unpacked code)
Kompakte Zahlendarstellung:
vorgestellte Codesfr Dezimalziffernverwenden 4 Bit pro Ziffer
Zusammenfassung von 2 binrdargestellten
Dezimalstellenzu einemByte
Kompaktere Darstellung von BCD-Zahlen und Codes
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
26
Die bisher vorgestellten Codeshaben das Problem, dass durch die
Anzahl der Codewrter auch der Zahlenraum eingeschrnktist
Problemursache:
den Ziffernsind feste Stellenwerte zugeordnet, womit allenfalls
sogenannte Festkommazahlen realisierbarsind
Die Lsung ist, wie bei wissenschaftlichen Zahlennotationen blich,
die Angabe eines zustzlichen Exponenten
Die Darstellung von Zahlendurch Mantisse und Exponentwird
Gleitkommazahl genannt
Beispiel:
1,2345 * 10
67
Digitaltechnik: Zahlendarstellung
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
27
Digitaltechnik: Zahlendarstellung
Da Gleitkommazahlenauf sehr unterschiedliche Weise kodiert werden
knnen, hat der IEEE Richtlinienfestgelegt, wie Gleitkommazahlen
dargestellt werden sollen
Gleitkomma-Zahlendarstellung gem IEEE-Standard
Vorzeichen Exponent Mantisse
V 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
255
0
M
0
255
0 < E < 255
0
0
ungltig (NAN)
=0
= 0
- 1
V
(unendlich)
- 1
V
2
E-127
(1,M)
- 1
V
2
-126
(0,M)
- 1
V
0
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
28
Digitaltechnik: Zahlendarstellung
Gleitkomma-Zahlendarstellung gem IEEE-Standard:
Die Zahl mit 7 Dezimalstellen hinter dem Komma im IEEE-Format dargestellt:
B D
10 1111110110 0010010000 , 11 1415926 , 3
~ ~ t
B D
010 0111111011 1001001000 , 1 ) 2 1 (
127 128 0
=

Ergebnis:
~ t
0 10000000 10010010000111111011010
www.kit.edu
Institut fr Technik der
Informationsverarbeitung
Karlsruher Institut fr Technologie (KIT)
Digitaltechnik
Prof. Dr.-Ing. J . Becker
becker@kit.edu
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Zahlendarstellung und Komplement
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
2
Hchstes Bit ist Vorzeichen: 0 = positiv (oder NULL), 1 = negativ
Die restlichen Bits der Betrag: 0 (000) bis 7 (111)
Zahlenbereich fr n Bits = +/- 2
Darstellung der Null: 0000 und 1000
Zahlendarstellung
Betrags- und Vorzeichendarstellung
0000
0111
0011
1011
1111
1110
1101
1100
1010
1001
1000
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
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
3
Vorzeichen und Betrag
Schwerfllige Addition/Subtraktion
Vergleich der Betrge ntig zur Bestimmung des Vorzeichens vom
Ergebnis
1er Komplement
N ist positive Zahl, dann ist N zugehriges negatives 1er Komplement
N = (2 - 1) - N
n
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
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
4
1er Komplement
Subtraktion realisiert durch Addition und 1er Komplement
Zwei Darstellungen der Null: Macht Probleme !!!
Addition ist nicht einfach durchzufhren !!!
0000
0111
0011
1011
1111
1110
1101
1100
1010
1001
1000
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
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
5
0000
0111
0011
1011
1111
1110
1101
1100
1010
1001
1000
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.,
zustzlich jedoch
um eine Position
im Gegenuhr-
zeigersinn
verschoben
Zahlendarstellung
2er Komplement (K2)
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
6
N* = 2 - N
n
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)
Zahlendarstellung
2er Komplement (K2) Zahlen
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
7
Vorzeichen und Betrag
4
+ 3
7
0100
0011
0111
-4
+ (-3)
-7
1100
1011
1111
Ergebnisvorzeichenbit
entspricht den
Vorzeichenbits der
Operanden
4
- 3
1
0100
1011
0001
-4
+ 3
-1
1100
0011
1001
Unterscheiden sich
Die Vorzeichen, hngt
das Ergebnis von
den Betrgen der
Operanden ab
Zahlendarstellung
Addition und Subtraktion
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
8
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-out
dann ignoriere Carry
Wenn Carry-In ungleich
Carry-Out dann berlauf!
Einfaches Vorgehen bei der Addition macht die
2er-Komplement-Darstellung zur ersten Wahl fr
Integer-Berechnung in digitalen Systemen
Zahlendarstellung
Addition und Subtraktion von binren Zahlen
2er Komplement Berechnungen
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
9
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 = 2
n-1
-M + -N = M* + N* = (2 - M) + (2 - N)
= 2 - (M + N) + 2
n
n
Nach dem Ignorieren des Carry die richtige
K2-Darstellung fr -(M + N)!
n n
Zahlendarstellung
Addition und Subtraktion von binren Zahlen
2er Komplement Berechnungen
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
10
5
3
-8
0 1 1 1
0 1 0 1
0 0 1 1
1 0 0 0
-7
-2
7
1 0 0 0
1 0 0 1
1 1 1 0
1 0 1 1 1
5
2
7
0 0 0 0
0 1 0 1
0 0 1 0
0 1 1 1
-3
-5
-8
1 1 1 1
1 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:
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
11
+
A3 B3
S3
+
A2 B2
S2
+
A1 B1
S1
+
A0 B0
S0 C1 C2 C3
Geschachtelter
Multi-bit
Addierer
Allgemein: Addition von mehr als zwei Bits notwendig
Volladdierer wird bentigt
Schaltungen fr binre Addition
Voll-Addierer
www.kit.edu
Institut fr Technik der
Informationsverarbeitung
Karlsruher Institut fr Technologie (KIT)
Digitaltechnik
Prof. Dr.-Ing. J . Becker
becker@kit.edu
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Codewandlung/Umschaltung
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
2
Codewandlung
Bei der Entwicklung unabhngiger Teilsysteme ist es oft der Fall, dass
diese mit unterschiedlichen Codes arbeiten.
Daher bentigt 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)
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
3
Codewandlung
Beispiel 1: BCD 7-Segment
a
g
d
f
b
c
e
Ziffer BCD 7-Segment
(abcdefg)
0 0000 1111110
1 0001 0110000
2 0010 1101101
3 0011 1111001
4 0100 0110011
5 0101 1011011
6 0110 1011111
7 0111 1110000
8 1000 1111111
9 1001 1111011
Zuordnung: BCD-Codewrter -> Segmentbitwerte
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
4
Codewandlung
Beispiel 2: Gray-Code nach Dualzahl:
Gray-Code 000 001 011 010 110 111 101 100
Dualzahl 000 001 010 011 100 101 110 111
Beispiel 3: ASCII nach BCD fr 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
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
5
Codeumschaltung
Verbreitete Code-Eigenschaft:
meistens ist die Anzahl der Alphabetzeichen hchstens 2
m
,
wenn m die zur Codierung verwendeten Binrstellen sind
Jedoch: Kostenmige, zeitliche und geometrische Randbedingungen
Anzahl an Binrstellen nicht ausreichend
Mgliche Lsung: Codeumschaltung
Codewrter 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 hufig auf
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
6
Codeumschaltung
Bei der Codeumschaltung gibt es drei verschiedene Arten von
Codewrtern:
Codewrter, deren Bedeutung umgeschaltet wird
Spezielle Codewrter, die eine Umschaltung der
Zeichengruppen bewirken
Codewrter, die unabhngig von der Umschaltung
immer gleich sind
Die notwendige Anzahl der speziellen Umschalt-Codewrter,
entspricht der Anzahl der Gruppen von Zeichen
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
7
Codeumschaltung: Fernschreibercode
Beispiel: Fernschreibercode (5 Bit, 32 Codewrter)
Gruppen 26 Codewrter (hier zunchst 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 Codewrter: unabhngig von Umschaltung immer gleich
- Wagenrcklauf, Zeilenvorschub, Leerzeichen, unbenutztes Codewort
CW 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Bu A B C D E F G H I J K L M N O P
Zi 3 8 9 0

Code-Auszug:
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
8
Beispiel: Fernschreibercode (5 Bit, 32 Codewrter)
kompletter Code
Codeumschaltung: Fernschreibercode
Codeworte mit Umschaltung 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 WRZL ZR LZ
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
9
Umschaltcodes: Anzahl Codewrter
Zahl der mglichen Codewrter
N Zahl der Codewrter
m Anzahl der Binrstellen der Codewrter
i Zahl der allen Gruppen gemeinsamen Zeichen
j Zahl der Gruppen und damit Umschaltzeichen
N Zahl der nutzbaren Codewrter je Gruppe
N Zahl der mit Umschaltung darstellbaren Zeichen
Es gilt: N= 2
m
- i j und N = j * N + i
Gesucht: ist ein Code mit N N mit minimalem j
Beispiel: Darstellung im Fernschreibcode
www.kit.edu
Institut fr Technik der
Informationsverarbeitung
Digitaltechnik
Karlsruher Institut fr Technologie (KIT)
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Prof. Dr.-Ing. J . Becker
becker@kit.edu
Mathematische Grundlagen
- Mengen -
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
2
Mengen
Eine Menge M ist die Zusammenfassung von endlich oder
unendlich vielen Objekten
Die Objekte mssen unterscheidbar sein
Da Mengen auch unendlich viele Objekte enthalten knnen,
werden sie manchmal auch als umrandete Gebiete gezeichnet
5

1,3
A Menge M
Elemente
(Objekte)
Beispiel:
Aussagen ber Mengen
w eM bedeutet, dass w in der Menge M enthalten ist
2,5 eM sagt aus, dass kein Element der Menge gleich 2,5 ist
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
3
Definition von Mengen
Angabe der Elemente
Endliche Mengen knnen durch Angabe der Elemente
definiert werden:
M
1
= {c,d,f }
M
2
= {5,2,9 }
Platzsparende Angabe fr einfache Folgen:
M
3
= {1,2,3,...,100 }
Um Mehrdeutigkeiten aus dem Weg zu gehen, gibt es
unterschiedlichste Schreibweisen
M
4
= {0,1 / 0,2 / 0,5 / 0,7 }
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
4
Definition von Mengen
Angabe durch Konstruktionsvorschrift und Bedingungen
Allgemein:
M = {Vorschrift | Bedingungen }
Beispiele:
Endliche oder abzhlbare Mengen
M
1
= {x | x
2
+ 3x + 1 = 0 }
M
2
= {2x + 1 | x ganzzahlig, x > 0, x < 100 }
Abzhlbar unendliche Mengen
IN = {x | x ganzzahlig, x > 0 }
berabzhlbar unendliche Mengen
M
3
= {x | x ist reelle Zahl, x > 0 }
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
5
Mengen
Vergleich:
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 | x
2
= 1 }= {1, -1 }
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
6
Mengen
Mchtigkeit der Menge:
Die Anzahl der Elemente einer Menge wird als
Mchtigkeit oder Kardinalitt bezeichnet
Beispiele:
M = {x, y, z } |M| = 3
L = {x | x
2
- 2x = 5 } |L| = 2
Leere Menge:
Die Menge, die kein Element besitzt, wird leere Menge genannt
= {x | x + 2 = x }= {} || = 0
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
7
Mengen
Untermenge:
Eine Menge S heit Untermenge oder Teilmenge von M genau dann,
wenn jedes Element von S zu M gehrt
5

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 c M
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
8
Untermengen
Beispiele:
x
y
z
1
2
3
...
99
100

M
1
M
2
M
3
M
2
_ M
3
_ M
1
_ M
3
_ M
2
Die leere Menge ist Untermenge jeder beliebigen Menge
4
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
9
Mengen
Potenzmenge:
Die Menge aller Untermengen einer Menge M heit
Potenzmenge P von M:
0
1
M = {0, 1 }_ M
S
0
= {0 }_ M
S
1
= {1 }_ M
= {}_ M
M = {0, 1 } P(M) = {, S
0
, S
1
, M }= {{}, {0 }, {1 }, {0, 1 }}
|M| = 2 |P(M)| = 2
|M|
= 4
Achtung bei der leeren Menge:
|| = 0 P() = { } |P()| = 1
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
10
Mengenoperationen
Vereinigung:
Die Vereinigung zweier Mengen S und T ist die Menge aller Elemente x,
die mindestens einer der Mengen S und T angehren:
V = S T = {x | x e S oder x e T }
T
S
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
11
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 angehren:
V = S T = {x | x e S und x e T }
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
12
Mengenoperationen
Durchschnitt:
Fr den Durchschnitt gilt allgemein:
_ S T _ S _ S T
_ S T _ T _ S T
0 s |S T| s |S| s |S T|
0 s |S T| s |T| s |S T|
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
13
Mengen
Disjunkte Mengen:
gibt es kein Element x, das sowohl zur Menge S als auch zur Menge T
gehrt, so heien S und T disjunkt oder elementefremd
T
S
In diesem Fall gilt:
S T =
|S T| = 0
|S T| = |S| + |T|
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
14
Mengenoperationen
Komplement:
Sei S _ M
Dann heit die Menge aller Elemente von M, die nicht zu S gehren,
das Komplement von S bezglich M
Man schreibt: C
M
(S)
Die Menge M wird in diesem Zusammenhang auch als
Bezugsmenge bezeichnet
S
M
C
M
(S)
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
15
Mengenoperationen
Grenzflle der Komplementbildung:
C
M
(M) =
M
e
1
e
2
e
3
e
n
e
3
...
C
M
(M)

M
e
1
e
2
e
3
e
n
e
3
...
C
M
()

C
M
() = M
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
16
Mengenoperationen
Das 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 e S und t e T
Das kartesische Produkt ist nicht kommutativ d.h. i.a.:
S x T = T x S
Fr die Mchtigkeit 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
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
17
Mengenoperationen
Das kartesische Produkt:
Das n-fache kartesische Produkt S
n
der Menge S mit sich selbst ist die
Menge aller geordneten n-Tupel ( r, s, ..., z ) mit r e S, s e S, ..., z e S
S
n
= S x S x ... x S |S
n
| = |S|
n
Beispiel:
S = {0, 1 }
S
2
= {(0,0), (0,1), (1,0), (1,1) }
S
3
= {(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 }
IR
3
= {(x,y,z) | x, y und z sind reelle Zahlen }
kartesisches Koordinatensystem
www.kit.edu
Institut fr Technik der
Informationsverarbeitung
Digitaltechnik
Karlsruher Institut fr Technologie (KIT)
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Prof. Dr.-Ing. J . Becker
becker@kit.edu
Mathematische Grundlagen
- Relationen -
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
2
Relationen
Was 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 o fr beliebige Elemente x e X und y e Y
setzt fest, ob x in Beziehung o zu y steht
Steht x in der Beziehung o zu y,
so schreibt man:
sonst:
Gilt X = Y
so spricht man von einer Relation auf oder in einer Menge
y x o
y x o
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
3
Relationen
Eigenschaften von Relationen
Bei zweistelligen Relationen auf einer Menge interessiert
man sich fr einige spezielle Eigenschaften
Reflexivitt
wenn x o x fr beliebige x gilt, so ist die Relation o reflexiv
Beispiel:
= ist eine reflexive Relation, da x = x immer gilt
s ist reflexiv auf den reellen Zahlen, da x s x fr alle x gilt
_ ist reflexiv, da jede Menge Untermenge von sich selbst ist
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
4
Eigenschaften von Relationen
Symmetrie
Wenn aus x o y auch y o x folgt
so ist die Relation o symmetrisch
Beispiele:
= ist symmetrisch
Die Relation ist Freund von ist meist symmetrisch
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
5
Eigenschaften von Relationen
Antisymmetrie
Wenn aus x o y und y o x folgt, dass x = y ist
so ist o antisymmetrisch
Antisymmetrie ist nicht das Gegenteil von Symmetrie
Beispiele:
= ist sowohl symmetrisch als auch antisymmetrisch!
< ist antisymmetrisch
> ist antisymmetrisch
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
6
Eigenschaften von Relationen
Transitivitt
Wenn aus x o y und y o z folgt, dass x o z gilt
so ist o transitiv
Beispiele:
= ist transitiv
< ist transitiv
_ ist transitiv
Die Relation ist lter als ist transitiv
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
7
Relationen
Typen von Relationen
Anhand der vorgestellten Eigenschaften knnen Relationen
bestimmten Typen zugeordnet werden
Ordnungsrelation
Eine Ordnungsrelation muss folgende Eigenschaften besitzen:
reflexiv
antisymmetrisch
transitiv
Beispiele:
= ist Ordnungsrelation
s ist Ordnungsrelation
Die Relation ist mindestens so alt wie ist Ordnungsrelation
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
8
Relationen
Strenge Ordnungsrelation
Eine strenge Ordnungsrelation muss folgende Eigenschaften besitzen:
antireflexiv (x o x gilt fr kein x)
antisymmetrisch
transitiv
Die meisten Relationen, die man auch instinktiv als ordnend
bezeichnen wrde sind entweder eine Ordnungsrelation oder
eine strenge Ordnungsrelation
Beispiele:
< ist eine strenge Ordnungsrelation
Die Relation ist schneller als ist eine strenge Ordnungsrelation
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
9
Relationen
quivalenzrelation
Eine quivalenzrelation muss folgende Eigenschaften besitzen:
reflexiv
symmetrisch
transitiv
Als Zeichen fr o wird bei quivalenzrelationen verwendet
Teilt die Elemente in disjunkte Teilmengen auf -> quivalenzklassen
Beispiele:
= ist selbstverstndlich eine quivalenzrelation
x o y |x| = |y| ist fr Vektoren eine quivalenzrelation
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
10
Relationen
Vertrglichkeitsrelation
Eine Vertrglichkeitsrelation muss folgende Eigenschaften besitzen:
reflexiv
symmetrisch
nicht transitiv
Als Zeichen fr o wird bei Vertrglichkeitsrelationen
hufig ~ verwendet
Beispiele:
Relation fr Menschen vertrgt sich mit ist Vertrglichkeitsrelation
Vertrglichkeitsrelationen treten bei Problemen auf, bei denen
bestimmte Paarungen ausgeschlossen sind
z.B.: zwei Leitungen fhren zur gleichen Zeit ein Signal
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
11
Relationen
berdeckungsproblem
Ein hufig 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 Vertrglichkeitsrelation
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
12
berdeckungsproblem
Problemstellung
Es sei M die Menge der Freunde f
i
M = { f
i
| f
i
ist Freund }
Gesucht sind Gstelisten (Teilmengen G
j
)
-> nur Freunde (f
i
) enthalten, fr welche paarweise die
Vertrglichkeitsrelation erfllt ist
fr alle f
k
, f
m
e G
j
gilt: f
k
o f
m
Eine Menge t von solchen Parties (G
j
) wird berdeckung von M
genannt, wenn jeder Freund (f
i
) in einer Gsteliste (G
j
e t) enthalten ist
t = { G
j1
, G
j2
, ..., G
jn
}
f
i
e M gilt -> - G
j
e t mit f
i
e G
j
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
13
berdeckungsproblem
Beispiel:
Gste:
M = {a, b, c, d, e }
Vertrglichkeit:
Gstelisten:
G
1
= {a, b }
G
2
= {c, e, d }
G
3
= {b, d, e }
G
4
= {a }
berdeckungen:
t
a
= { G
1
, G
2
} ist berdeckung
t
b
= {G
2
, G
3
} ist keine berdeckung
t
c
= { G
2
, G
3
, G
4
} ist berdeckung
c a o
c bo
e a o
a b
e
d
c
t
c
G
3
G
2
G
4
a b
e
d
c
t
a
G
1
G
2
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
14
berdeckungsproblem
berdeckungsrelation
bestimmtes Element f
i
von einer Teilmenge G
j
berdeckt
eine Relation zwischen der Menge der Elemente aus M
und der Menge der Teilmengen t
Diese Relation wird berdeckungsrelation genannt
Sie wird zweckmigerweise als t x M -Matrix dargestellt
Struktur der berdeckungstabelle:
berdeckte Gren e M
berdeckende
Mengen e t
f
1
f
2
... f
j
G
1
G
2
...
G
j ist f
j
e G
j
?
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
15
berdeckungsrelation
Beispiele:
t
a
a b c d e
G
1
X X
G
2
X X X
t
b
a b c d e
G
2
X X X
G
3
X X X
t
c
a b c d e
G
2
X X X
G
3
X X X
G
4
X
t
b
ist keine berdeckung, da a von keiner Teilmenge berdeckt wird
www.kit.edu
Institut fr Technik der
Informationsverarbeitung
Digitaltechnik
Karlsruher Institut fr Technologie (KIT)
Prof. Dr.-Ing. J . Becker
becker@kit.edu
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Mathematische Grundlagen
- Graphen -
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
2
Graphentheorie
Was ist ein Graph?
Graphen dienen zur Abstraktion von Problemen
abstrakte Darstellung von Zusammenhngen
verbundene Objekte (Relationen zwischen Objekten)
Bei Spielen wie Scotland Yard kommt es beispielsweise fr 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 knnen je zwei Knoten verbinden
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
3
Graphentheorie
Problemerfassung:
1
2 3 4
5 6
Darstellung der Zusammenhnge und Abhngigkeitsbeziehungen
Hervorheben wesentlicher Beziehungen
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
4
Graphentheorie
Reprsentation durch einen Graphen:
1 2 3 4
5 6
Abstraktion der Zusammenhnge und Abhngigkeitsbeziehungen
Reprsentation der Beziehungen durch direkte Kantenverbindungen
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
5
Graphentheorie
Graph ohne berschneidungen der Kanten:
1
2 3 4
5 6
a
b
c
d
e f
g
Weitere Vereinfachung/Optimierung der Abhngigkeitsbeziehungen
ohne kreuzende Verbindungen
Einfgen von Kantenbezeichnern
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
6
Graphentheorie: Konkretes Beispiel
Darstellung von
Verkehrsbeziehungen
im Karlsruher
Stadtplan
wichtige Punkte
wesentliche
Strassen-
verbindungen
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
7
Graphentheorie: Konkretes Beispiel
Abstrahierte Darstellung
der Verkehrsbeziehungen
Weglassen von Details:
Bottom-up Abstraktion
exakte Geometrie
der Verbindungen
nicht relevant
A
B
C
D E
H
G F
I
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
8
Graphentheorie: Konkretes Beispiel
Weitere Abstraktion in
der Darstellung der
Verkehrsbeziehungen
gerade Verbindungslinien
Strend in Darstellung:
Kreuzung von
Verbindungen
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
9
Graphentheorie: Konkretes Beispiel
Darstellung ohne
kreuzende
Verbindungen
planare Darstellung
Einfgen von
Kantenbezeichnern
weiterhin:
automatisierte
Verarbeitung mit
Graphenalgorithmen
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
10
Graphentheorie: Abstrakter Graph
Formale mathematische Beschreibung:
Weitere Abstraktion von der Bedeutung der Darstellungselemente:
Verknpfung mit der Begriffswelt der Mengen und Relationen
Graphen knnen ganz unabhngig von der Darstellung durch zwei
Mengen und eine Abbildung beschrieben werden:
V = Menge der Knoten
E = Menge der Kanten
u (e) ordnet jeder Kante e e E zwei Knoten aus V zu
-> diejenigen, die durch die Kante e verbunden sind
G ( V, E, u ) wird abstrakter Graph genannt
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
11
Graphentheorie: Abstrakter Graph
Beispiel:
V = {1, 2, ..., 6 }
E = {a, b, ..., g }
u: E {v, w } v, w e V
u (a) = {1, 5 }
u (b) = {1, 2 }
u (c) = {2, 3 }
u (d) = {2, 4 }
u (e) = {4, 5 }
u (f) = {2, 6 }
u (g) = {5, 6 }
1
2 3 4
5 6
a
b
c
d
e f
g
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
12
Graphentheorie: Gerichteter Graph
Gerichteter Graph:
Fr manche Probleme benutzt man auch gerichtete Graphen
Kanten haben eine festgelegte Richtung
Bei gerichteten Graphen gilt:
u 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
2 1
3 4
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
13
Graphentheorie: Ungerichteter Graph
Ungerichteter Graph:
Ungerichtete Graphen
sind immer auch mit gerichteten Kanten darstellbar
zu jeder Kante existiert eine weitere Kante in
umgekehrter Richtung
Beispiel:
B A
C D
B A
C D
B A
C D
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
14
Graphentheorie: Begriffe
Sprechweisen:
Verbindet die Kante e die Knoten g und h, so sagt man:
e ist inzident zu g bzw. zu h und schreibt:
u (e) = ( g, h ) fr gerichtete Graphen
u (e) = { g, h } = { h, g } fr ungerichtete Graphen
u wird daher Inzidenzabbildung genannt
Graph lsst sich formal durch eine Inzidenzmatrix beschreiben
die Knoten g und h heien adjazent zur Kante e
Adjazenzmatrix
weitere Mglichkeit zur formalen Beschreibung eines
Graphen
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
15
Graphentheorie: Begriffe
Globale Charakterisierung von Graphen:
Der Graphentheorie fehlt es selbstverstndlich nicht an Begriffen,
um die unerschpfliche Vielfalt der Graphen zu kategorisieren
Im folgenden wollen wir uns nur mit Graphen beschftigen,
deren Mengen V und E endlich sind:
endliche Graphen (insbesondere fr 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 hchstens eine Kante existiert
so handelt es sich um einen einfachen Graphen
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
16
Graphentheorie: Begriffe
Globale 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 digitaltechnischer
Schaltungen und Systeme
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
17
Graphentheorie: Begriffe
Beispiel: Isomorphie
Die Folgenden Graphen sind isomorph
2 1
3 4
B A
C D
isomorph
a
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:
u(a) = (2,1) u( (a)) = u(z) = (B,D) = ((2), (1))
u(b) = (1,3) u( (b)) = u(y) = (D,C) = ((1), (3))
u(c) = (4,3) u( (c)) = u(x) = (A,C) = ((4), (3))
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
18
Graphentheorie: Begriffe
Globale Charakterisierung von Graphen:
Vollstndigkeit von (Sub-) Graphen
sind je zwei verschiedene Knoten durch eine Kante verbunden,
so ist der (Sub-) Graph vollstndig (Sub-) Graph ist Clique
Beispiel:
B E
D C
A
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
19
Graphentheorie: Begriffe
Globale Charakterisierung von Graphen:
Zusammenhngende 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 zusammenhngend
Ist der Graph nicht zusammenhngend
so besteht er aus mindestens zwei Teilgraphen
Beispiele:
D
B
E C
A
zusammenhngend
B
E
D
C
A
F
nicht zusammenhngend
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
20
Graphentheorie: Begriffe
Globale Charakterisierung von Graphen:
Streng zusammenhngende Graphen
Gerichtete Graphen bezeichnet man als zusammenhngend, wenn der
zugehrige ungerichtete Graph zusammenhngend ist
Findet man zustzlich 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 zusammenhngend
Beispiele:
streng zusammenhngend
nicht streng zusammenhngend
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
21
Graphentheorie: Begriffe
Lokale Eigenschaften von Graphen:
Schlinge
Verbindet eine Kante einen Knoten mit sich selbst, so wird diese als
Schleife oder Schlinge bezeichnet
u(e) = (g,g)
Beispiele:
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
22
Graphentheorie: Begriffe
Lokale Eigenschaften von Graphen:
Mehrfachkanten
Existieren mehrere Kanten zwischen zwei Knoten g und h, so heien
diese parallel bzw. Mehrfachkanten
u(e) = u(f) = {g,h}bzw. (g,h) e =f
Bei gerichteten Graphen nennt man Kanten antiparallel, falls sie zwei
Knoten in entgegengesetzter Richtung verbinden
u(e) = (g,h) u(f) = (h,g)
Beispiele:
parallel parallel antiparallel
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
23
Graphentheorie: Begriffe
Technisches Beispiel: Mehrfachkanten
Analoger Schaltkreis:
Mehrfachkante als Abbild schaltungstechnischer Merkmale
Bauteile parallel geschaltet
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
24
Graphentheorie: Begriffe
Lokale 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 zustzlich
abgehende Kanten Ausgangsgrad d
+
(g)
von ankommenden Kanten Eingangsgrad d
-
(g)
Beispiele:
d(g) = 6 d
-
(g) = 3
d
+
(g) = 3
d
-
(g) = 4
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
25
Graphentheorie: Begriffe
Lokale 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 Vorgnger V
1
(g) und
unmittelbare Nachfolger V
2
(g)
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
26
Graphentheorie: Begriffe
Lokale Eigenschaften von Graphen:
Unmittelbare Nachbarschaft:
mengenalgebraische Eigenschaften
Fr 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 Vorgnger als auch
Nachfolger sein knnen, gilt:
|V(g)| s d(g)
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
27
Graphentheorie: Begriffe
Beispiel: Unmittelbare Nachbarschaft des Knotens g
Vorgnger: 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
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
28
Graphentheorie: Begriffe
Lokale Eigenschaften von Graphen:
Mittelbare Nachbarschaft von Knoten
Schwcht man die Forderung so ab, dass nur eine Folge von Kanten
zwischen zwei Knoten existieren muss
so sind die Knoten mittelbar benachbart
Ntzlich ist die mittelbare Nachbarschaft besonders bei gerichteten
Graphen bzgl. der Unterscheidung in
mittelbare Vorgnger und
mittelbare Nachfolger
Beispiel: Stammbaum
die Frage nach der Abstammung in direkter Linie
ist eine Frage nach mittelbaren Vorgngern
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
29
Graphentheorie: Begriffe
Lokale Eigenschaften von Graphen:
Artikulation eines Graphen
Bei der Modellierung von technischen Systemen mit Graphen werden
Komponenten hufig 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 zerfllt in zwei nicht zusammenhngende Teilgraphen
solche kritischen Knoten erhalten den Namen Artikulation
Die Artikulationen eines Graphen reprsentieren kritische Systemstellen
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
30
Graphentheorie: Begriffe
Beispiel:
Graph mit Artikulationen
...
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
31
Graphentheorie
Spezielle Kantenfolgen in Graphen:
Bereits bei der mittelbaren Nachbarschaft haben wir uns dafr interessiert,
ob Knoten ber Kantenfolgen verbunden sind
Definition: Kantenprogression der Lnge n
endliche Folge von n nicht notwendigerweise
verschiedenen Kanten (e
i
), die n + 1 nicht
notwendigerweise verschiedene Knoten (g
i
) verbinden
u(e
i
) = ( g
i
, g
i+1
) fr i = 1, 2, ..., n
Sind in einer Kantenprogression alle Knoten (g
i
) voneinander
verschieden und damit auch alle Kanten, so heit sie einfach
J e nachdem, ob der Anfangsknoten gleich dem Endknoten ist (g
1
= g
n+1
),
oder ob es sich um einen gerichteten Graphen handelt, verwendet man
unterschiedliche Bezeichnungen
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
32
Spezielle Kantenfolgen in Graphen
Ungerichteter Graph Gerichteter Graph
g
1
= g
n+1
g
1
= g
n+1
g
1
= g
n+1
g
1
= g
n+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
Bercksichtigt man die Kanten einer Progression ohne Ordnung
Kette
geschlossener
Kantenzug
Weg Zyklus

KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
33
Spezielle Kantenfolgen in Graphen
Beispiele am ungerichteten Graphen:
Folge Merkmal
g-f-c-c-d offene
Kantenprogression
d-c-c-b-a-e geschlossene
Kantenprogression
e-g-f Kettenprogression
a-b-f-g geschlossene
Kantenzugprogression
{e, b, a } Kette
{g, d, f, e } geschlossener
Kantenzug
3
1
2 4
5 6
a
b
c
d
e f
g
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
34
Spezielle Kantenfolgen in Graphen
Beispiele am gerichteten Graphen:
Folge Merkmal
4-3-7-4 offene
Kantenprogression
3-7-4-1-1 geschlossene
Kantenprogression
4-1-2 Wegprogression
5-1-3-7-8 Zyklusprogression
{2, 8, 5, 1 } Weg
{1 } Zyklus
a
g
c
d
b
1
2
3
4 5 6
7
8
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
35
Graphentheorie
Spezielle Graphen:
Begriff des Zyklus/Zyklen in Graphen:
Fr viele Algorithmen, die auf Graphen arbeiten ist es wichtig zu wissen, ob
es mglich 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
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
36
Graphentheorie
Spezielle Graphen:
Baum
Definition: Baum
ein zusammenhngender, 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 zugehrige ungerichtete Graph
muss zusammenhngend sein
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
37
Graphentheorie
Spezielle Graphen: Bume
Definition: Wurzel und Bltter
In einem gerichteten Baum
gibt es genau einen Knoten, der keine Vorgnger hat
d
-
= 0
dieser Knoten wird Wurzel genannt
Die Knoten ohne Nachfolger (d
+
= 0) heien Bltter
Bei einem ungerichteten Baum
kann die Wurzel frei gewhlt werden
daraus ergeben sich die Bltter
als brige Knoten mit Knotengrad eins
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
38
Graphentheorie
Beispiel: ungerichteter Baum
Die Moleklstrukturen der Hexane ergeben ungerichtete Bume
C C
C
C
C C C C
C
C C C
C C
C C
C C
C C
C
C C C
C C C C C C
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
39
Graphentheorie
Beispiel: gerichteter Baum
Die Relation ist teilbar durch fhrt zu einem gerichteten Baum
2 3
6 4
120
5
Wurzel
Bltter
2 3
6 4
120
5
Wurzel
Bltter
2
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
40
Graphentheorie
Definition: Binrbaum
Hat jeder Knoten eines Baumes, auer den Blttern,
genau zwei Nachfolger: d
+
(g) = 2,
so heit ein solcher Baum Binrbaum
Wurzel
Bltter
1 0 1 0
1 0
x = 1
2
x = 1
1
x = 1
2
nein
nein nein ja ja
ja
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
41
Graphentheorie
Weitere Begriffe: Binrbaum
Der Abstand von der Wurzel zu den Blttern
wird als Tiefe des Baumes bezeichnet
Ist der Abstand von der Wurzel zu den Blttern
fr alle Bltter identisch
so handelt es sich um einen
symmetrischen Binrbaum
Unterscheiden sich die Abstnde um maximal eins
so nennt man den Baum ausgeglichen
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
42
Graphentheorie
Definition: Aufspannender Baum
Es gilt: bei jedem zusammenhngenden Graphen kann man
alle Zyklen durch gezieltes Entfernen von Kanten auflsen
(Kruskal Algorithmus: Minimal Aufspannender Baum, MAB)
ohne dass der Graph in zwei Teilgraphen zerfllt
Auf diese Weise erhlt man zu jedem beliebigen Graphen einen
zugehrigen aufspannenden Baum
Beispiel:
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
43
Graphentheorie
Definition: Bipartiter Graph
Knoten eines Graphen sind folgendermaen 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 drfen
Beispiel:
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
44
Graphentheorie
Definition: 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 IR
n
zu den Kanten glatte Kurven zwischen den Knoten,
die auer den Knoten keinen Punkt gemeinsam haben
Zweidimensionale geometrische Graphen
mssen kreuzungsfrei sein
Man kann beweisen, dass zu jedem Graphen ein isomorpher
dreidimensionaler geometrischer Graph existiert
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
45
Graphentheorie
Eigenschaften: 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 mssen nicht kreuzungsfrei dargestellt sein
a b
c d
a b
c
d
isomorph
planarer
Graph
2D
geometrischer
Graph
Beispiel:
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
46
Graphentheorie
Definition: Duale Graphen
Planarer Graph:
teilt die Zeichenebene in verschiedene Gebiete ein
uere Umgebung des Graphen wird hier auch als
Gebiet betrachtet
Planaritt des Graphen:
notwendige und hinreichende Bedingung dafr,
dass man einen dualen Graphen dazu konstruieren kann
Vorgehensweise: Konstruktion eines dualen Graphen
Gebiete eines zusammenhngenden Graphen in der Zeichenebene
entsprechen den Knoten im dualen Graphen, jede Grenze zwischen
zwei Gebieten (Kanten im Ausgangsgraph!) entspricht dabei einer Kante
im konstruierten dualen Graph; jedem eigenstndigen zusammen-
hngenden 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
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
47
Duale Graphen
Beispiel 1: Duale Graphen
GB
GB
D
BNL
F
CH A
I
U
1
BNL
D
F
CH A
I
U
1
U
2
U
2
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
48
Duale Graphen
U
U
Beispiel 2: Duale Graphen
Konstruktion von Schlingen
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
49
Graphentheorie
Definition: 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 zustzliche Attribute zuordnen
In vielen Fllen gengt jedoch die Zuordnung einer
reellen Zahl, die als Gewicht bezeichnet wird
dann spricht man von einem gewichteten Graphen
Gewichtete Graphen:
dienen zur Modellierung von:
- Netzwerkflssen,
- Transportprozessen, und
- Planungsstrategien
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
50
Gewichtete Graphen
Beispiele: Gewichtete Graphen
Netzwerkfluss
Gewicht: Durchsatz
Transportprozess
Gewicht: Entfernung
18
15
8
3
2
2
8
3 2
4
5
8
1
2
4
5
6
3 7
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
51
Gewichtete Graphen
Beispiel: Planungsstrategie
Produktionsablufe sind mit gewichteten Graphen modellierbar:
die gerichteten Kanten werden als Arbeitsschritt aufgefasst
als Gewicht wird die jeweils bentigte Dauer verwendet
mehrere ankommende Kanten an einem Knoten markieren
Arbeitsschritte, die vorher abgearbeitet sein
mssen, bevor die Arbeitsschritte der abgehenden Kanten
begonnen werden knnen
Also: Knoten sind Produktionszustnde
fr deren Erreichen ist minimale Arbeitsdauer zu berechnen
Gesucht: die Dauer des kompletten Produktionsablaufs
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
52
Gewichtete Graphen
Beispiel: Planungsstrategie
8
3
2
1
5
7
3
4
5
1
4
3
6
3 5
8
7
9
2
4
2
4

= ???
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
53
Gewichtete Graphen
Beispiel: Planungsstrategie
Vorgehensweise:
Berechnung der Dauer des kompletten Produktionsablaufs
zur Lsung des Problems berechnet man jeweils das Maximum der
Gewichtssummen smtlicher Wege zu einem Knoten
die maximale Summe steht fr die Gesamtzeit des Auftrags
Optimalerweise:
man whlt die Knotenreihenfolge bzw. Kantenfolge so, dass
die Gewichtsummen der Vorgngerknoten schon berechnet sind
Die Wege mit maximalen Gewichtsummen zum Endknoten
ergeben einen (maximal) aufspannenden Graphen
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
54
Planungsstrategien
Beispiel: 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
www.kit.edu
Institut fr Technik der
Informationsverarbeitung
Karlsruher Institut fr Technologie (KIT)
Digitaltechnik
Prof. Dr.-Ing. J . Becker
becker@kit.edu
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Petrinetze
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
2
Petrinetze - Definition
Ein Petrinetz ist ein Tupel P = (S, T, F, M), wobei
S Menge der Stellen,
T Menge der Transitionen,
F S T T S Kantenmenge und
M: S N Anfangsmarkierung heit
Die Menge E = S T ist die Eckenmenge des Graphen
wobei s S; t T; f
1
,f
2
,f
3
F; m M ist
Definition:
Stelle s
Transition t
Anfangsmarkierung m
Kanten f ,f ,f
1 2 3
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
3
Petrinetze
Petrinetz: bipartiter, gerichteter Graph
Stellen (= Bedingungen, Situationen)
Transitionen (= Aktionen)
Stelle Transition
S
1
S
2
T
0
T
1
T
2
S
3
S
0
T
3
Beispiel fr ein Petrinetz (siehe oben)
So fr Zndschlssel bereit To fr Zndung einschalten und Motor starten
S1 fr Zndung ein, Motor luft T1 fr Zndung ausschalten
S2 fr Motor steht T2 fr Schlssel abziehen
S3 fr Schlssel abgezogen T3 fr Schlssel in Zndschloss stecken
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
4
.
.
.
.
.
.
Ausgangs-
stelle von T
i
Eingangs-
stelle von T
i
.
.
.
T
i
.
.
.
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
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
5
Petrinetze - Interpretation
Die Stellen des Graphen reprsentieren Zustnde bzw. Bedingungen des
modellierten Systems; Darstellung im Graph durch Kreise
Die Knoten in T bezeichnen Transitionen oder Aktivitten;
Darstellung im Graph als Querstriche oder Kstchen
Die Kantenmenge F reprsentiert kausale oder zeitliche Abhngigkeiten, wobei
eine Kante s t bedeutet, dass die Bedingung s erfllt sein muss, damit
die Transition t schalten (oder feuern) kann
s heit in diesem Fall Vorstelle von t
eine Kante t s bedeutet, dass der Zustand s erreicht wird, wenn die
Transition t geschaltet hat
s heit dann Nachstelle von t
Besitzt eine Transition t mehrere Vorstellen, mssen alle Bedingungen erfllt
sein, damit t schalten kann
Besitzt eine Transition t mehrere Nachstellen, so werden durch das Schalten
von t alle Nachstellen gleichzeitig erreicht
Interpretation:
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
6
Petrinetze - Motivation (1)
Verwendungszwecke
Simulation
Planung
Steuerung
Anwendungsgebiete
Produktion
Brokommunikation (speziell Workflowsysteme)
Klassische Anwendungen in der Kerninformatik
Modellierung von Betriebssystemen
Modellierung von gegenseitigem Ausschluss
Modellierung von Nebenlufigkeit
Motivation:
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
7
Petrinetze - Motivation (2)
Petrinetze dienen zum Modellieren von Systemen, in denen kausale
Abhngigkeiten eine vorrangige Bedeutung besitzen
Einfhrendes Beispiel:
OH
anschalten
OH
okay
Vorlesung
vorbereitet
OH
vorhanden
OH
ausschalten
Vorlesung
beenden
Vorlesung
vorbereiten
Vorlesung
halten
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
8
Petrinetze - Historie
Im J ahre 1962 von C.A. Petri im Rahmen seiner Dissertation
vorgestellt
Netztheorie zur Modellierung komplexer Vorgnge,
die es erlaubt unabhngige parallele Prozesse darzustellen
Die Beschrnkung streng sequentieller Ablufe bisheriger
Darstellungen entfllt
Die Idee fand zunchst keinen praktischen Nutzen, jedoch
nderte sich die Akzeptanz im Laufe der Zeit deutlich
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
9
Petrinetze Modellierung (1)
1. Sequentielle Ablufe:
Was kann mit Petrinetzen modelliert werden?
2. Alternative:
3. Wiederholung:
2
t
1
t
1
t
2
t
1
t
2
t
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
10
Petrinetze Modellierung (2)
5. Eingabe von / Ausgabe zur Umwelt:
4. Nebenlufigkeit:
n
t
. 1 1 . 1
t
n
t
. 2 1 . 2
t
...
...
1
t
2
t
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
11
Petrinetze Modellierung (3)
Vorbereich eines Netzelements x
x = {y | (y, x) F }
Weitere Notationen:
Verzweigungen: ein Knoten heit
vorwrtsverzweigt, falls | x | > 1
rckwrtsverzweigt, falls | x| > 1
Nachbereich eines Netzelements x
x = {y | (x, y) F }
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
12
Petrinetze Modellierung (4)
Logisches UND Logisches ODER
Logische Aussagen:
1
t
A B
B A
1
t
A B
B A
2
t
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
13
Petrinetze Modellierung (5)
J eder Zustand ist reprsentiert durch einen Platz
wenn ein Token in diesem Platz ist, bedeutet das,
dass sich das Modell in diesem Zustand befindet
Schalter:
ON
OFF
ON TURN OFF TURN
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
14
Petrinetze Verklemmungen
Hier kommt es nach dem ersten Durchlauf zu einem Konflikt und
anschlieend zu einer Verklemmung
Nochmals das einfhrende Beispiel:
OH
anschalten
OH
okay
Vorlesung
vorbereitet
OH
vorhanden
OH
ausschalten
Vorlesung
beenden
Vorlesung
vorbereiten
Vorlesung
halten
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
15
Petrinetze Konflikte und Verklemmungen
Hier kommt es nach dem ersten Durchlauf zu einem Konflikt und
anschlieend zu einer Verklemmung
Nochmals das einfhrende Beispiel:
OH
anschalten
OH
okay
Vorlesung
vorbereitet
OH
vorhanden
OH
ausschalten
Vorlesung
beenden
Vorlesung
vorbereiten
Vorlesung
halten
Eine nderung des Netzes hilft hier weiter !!!
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
16
Lift steht auf Etage
Tr
zu
Zielknopf
Tr
offen
Lift fhrt fahrbereit
Stockwerksensor
Petrinetze formale Verifikation
Beweis einer sicherheitskritischen Eigenschaft in einer
formalen Spezifikation mglich !!!
Die Sicherheitseigenschaft, dass der Lift nicht bei offener Tr fahren
darf, ist fr dieses Modell beweisbar
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
17
Beispiel: Motorsteuerung
rein sequentieller Ablauf ohne Nebenlufigkeiten
ein deutlich kausaler Zusammenhang zwischen den Stellen S erkennbar
Zustnde S
i
(Stellen) und Transitionen T
j
So fr Zndschlssel bereit To fr Zndung einschalten und Motor starten
S1 fr Zndung ein, Motor luft T1 fr Zndung ausschalten
S2 fr Motor steht T2 fr Schlssel abziehen
S3 fr Schlssel abgezogen T3 fr Schlssel in Zndschloss stecken
Petrinetze Komplexes Beispiel (I)
S
1
S
2
T
0
T
1
T
2
S
3
S
0
T
3
i
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
18
Beispiel: Motorsteuerung
rein sequentieller Ablauf ohne Nebenlufigkeiten
ein deutlich kausaler Zusammenhang zwischen den Stellen S erkennbar
Zustnde S
i
(Stellen) und Transitionen T
j
So fr Zndschlssel bereit To fr Zndung einschalten und Motor starten
S1 fr Zndung ein, Motor luft T1 fr Zndung ausschalten
S2 fr Motor steht T2 fr Schlssel abziehen
S3 fr Schlssel abgezogen T3 fr Schlssel in Zndschloss stecken
Petrinetze Komplexes Beispiel (I)
S
1
S
2
T
0
T
1
T
2
S
3
S
0
T
3
i
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
19
Beispiel: Motorsteuerung
rein sequentieller Ablauf ohne Nebenlufigkeiten
ein deutlich kausaler Zusammenhang zwischen den Stellen S erkennbar
Zustnde S
i
(Stellen) und Transitionen T
j
So fr Zndschlssel bereit To fr Zndung einschalten und Motor starten
S1 fr Zndung ein, Motor luft T1 fr Zndung ausschalten
S2 fr Motor steht T2 fr Schlssel abziehen
S3 fr Schlssel abgezogen T3 fr Schlssel in Zndschloss stecken
Petrinetze Komplexes Beispiel (I)
S
1
S
2
T
0
T
1
T
2
S
3
S
0
T
3
i
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
20
Beispiel: Motorsteuerung
rein sequentieller Ablauf ohne Nebenlufigkeiten
ein deutlich kausaler Zusammenhang zwischen den Stellen S erkennbar
Zustnde S
i
(Stellen) und Transitionen T
j
So fr Zndschlssel bereit To fr Zndung einschalten und Motor starten
S1 fr Zndung ein, Motor luft T1 fr Zndung ausschalten
S2 fr Motor steht T2 fr Schlssel abziehen
S3 fr Schlssel abgezogen T3 fr Schlssel in Zndschloss stecken
Petrinetze Komplexes Beispiel (I)
S
1
S
2
T
0
T
1
T
2
S
3
S
0
T
3
i
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
21
Beispiel: Motorsteuerung
rein sequentieller Ablauf ohne Nebenlufigkeiten
ein deutlich kausaler Zusammenhang zwischen den Stellen S erkennbar
Zustnde S
i
(Stellen) und Transitionen T
j
So fr Zndschlssel bereit To fr Zndung einschalten und Motor starten
S1 fr Zndung ein, Motor luft T1 fr Zndung ausschalten
S2 fr Motor steht T2 fr Schlssel abziehen
S3 fr Schlssel abgezogen T3 fr Schlssel in Zndschloss stecken
Petrinetze Komplexes Beispiel (I)
S
1
S
2
T
0
T
1
T
2
S
3
S
0
T
3
i
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
22
Beispiel: Motorsteuerung
Zustzliche Stellen und Transitionen:
S4 fr Zndung aus
S5 fr WFS ist deaktiviert
S6 fr WFS bleibt deaktiviert
S7 fr WFS aktiviert
S8 fr Codeschlssel fr WFS bereit
S9 fr Codeschlssel fr WFS abgezogen
T4 fr WFS aktivieren
T5 fr WFS deaktivieren
T6 fr Codeschlssel gibt WFS frei
vier Anfangsmarken imInitialzustand
Nebenlufigkeiten werden erfasst
dieses einfache Modell erfasst jedoch nicht alle Betriebssituationen des Fahrzeugs
Petrinetze Komplexes Beispiel (II)
T
0
T
1
S
4
S
0
S
3
S
2
S
4
T
5
S
5
S
6
T
4
S
7
S
1 T
2
T
3
S
8
T
6
S
9
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
23
Beispiel: Motorsteuerung
Zustzliche Stellen und Transitionen:
S4 fr Zndung aus
S5 fr WFS ist deaktiviert
S6 fr WFS bleibt deaktiviert
S7 fr WFS aktiviert,
S8 fr Codeschlssel fr WFS bereit
S9 fr Codeschlssel fr WFS abgezogen
T4 fr WFS aktivieren
T5 fr WFS deaktivieren
T6 fr Codeschlssel gibt WFS frei
vier Anfangsmarken imInitialzustand
Nebenlufigkeiten werden erfasst
dieses einfache Modell erfasst jedoch nicht alle Betriebssituationen des Fahrzeugs
Petrinetze Komplexes Beispiel (II)
T
0
T
1
S
4
S
0
S
3
S
2
S
4
T
5
S
5
S
6
T
4
S
7
S
1 T
2
T
3
S
8
T
6
S
9
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
24
Beispiel: Motorsteuerung
Zustzliche Stellen und Transitionen:
S4 fr Zndung aus
S5 fr WFS ist deaktiviert
S6 fr WFS bleibt deaktiviert
S7 fr WFS aktiviert
S8 fr Codeschlssel fr WFS bereit
S9 fr Codeschlssel fr WFS abgezogen
T4 fr WFS aktivieren
T5 fr WFS deaktivieren
T6 fr Codeschlssel gibt WFS frei
vier Anfangsmarken imInitialzustand
Nebenlufigkeiten werden erfasst
dieses einfache Modell erfasst jedoch nicht alle Betriebssituationen des Fahrzeugs
Petrinetze Komplexes Beispiel (II)
T
0
T
1
S
4
S
0
S
3
S
2
S
4
T
5
S
5
S
6
T
4
S
7
S
1 T
2
T
3
S
8
T
6
S
9
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
25
Beispiel: Motorsteuerung
Zustzliche Stellen und Transitionen:
S4 fr Zndung aus
S5 fr WFS ist deaktiviert
S6 fr WFS bleibt deaktiviert
S7 fr WFS aktiviert
S8 fr Codeschlssel fr WFS bereit
S9 fr Codeschlssel fr WFS abgezogen
T4 fr WFS aktivieren
T5 fr WFS deaktivieren
T6 fr Codeschlssel gibt WFS frei
vier Anfangsmarken imInitialzustand
Nebenlufigkeiten werden erfasst
dieses einfache Modell erfasst jedoch nicht alle Betriebssituationen des Fahrzeugs
Petrinetze Komplexes Beispiel (II)
T
0
T
1
S
4
S
0
S
3
S
2
S
4
T
5
S
5
S
6
T
4
S
7
S
1 T
2
T
3
S
8
T
6
S
9
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
26
Beispiel: Motorsteuerung
Zustzliche Stellen und Transitionen:
S4 fr Zndung aus
S5 fr WFS ist deaktiviert
S6 fr WFS bleibt deaktiviert
S7 fr WFS aktiviert
S8 fr Codeschlssel fr WFS bereit
S9 fr Codeschlssel fr WFS abgezogen
T4 fr WFS aktivieren
T5 fr WFS deaktivieren
T6 fr Codeschlssel gibt WFS frei
vier Anfangsmarken imInitialzustand
Nebenlufigkeiten werden erfasst
dieses einfache Modell erfasst jedoch nicht alle Betriebssituationen des Fahrzeugs
Petrinetze Komplexes Beispiel (II)
T
0
T
1
S
4
S
0
S
3
S
2
S
4
T
5
S
5
S
6
T
4
S
7
S
1 T
2
T
3
S
8
T
6
S
9
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
27
Beispiel: Motorsteuerung
Zustzliche Stellen und Transitionen:
S4 fr Zndung aus
S5 fr WFS ist deaktiviert
S6 fr WFS bleibt deaktiviert
S7 fr WFS aktiviert
S8 fr Codeschlssel fr WFS bereit
S9 fr Codeschlssel fr WFS abgezogen
T4 fr WFS aktivieren
T5 fr WFS deaktivieren
T6 fr Codeschlssel gibt WFS frei
vier Anfangsmarken imInitialzustand
Nebenlufigkeiten werden erfasst
dieses einfache Modell erfasst jedoch nicht alle Betriebssituationen des Fahrzeugs
Petrinetze Komplexes Beispiel (II)
T
0
T
1
S
4
S
0
S
3
S
2
S
4
T
5
S
5
S
6
T
4
S
7
S
1 T
2
T
3
S
8
T
6
S
9
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
28
Beispiel: Motorsteuerung
Zustzliche Stellen und Transitionen:
S4 fr Zndung aus
S5 fr WFS ist deaktiviert
S6 fr WFS bleibt deaktiviert
S7 fr WFS aktiviert
S8 fr Codeschlssel fr WFS bereit
S9 fr Codeschlssel fr WFS abgezogen
T4 fr WFS aktivieren
T5 fr WFS deaktivieren
T6 fr Codeschlssel gibt WFS frei
vier Anfangsmarken imInitialzustand
Nebenlufigkeiten werden erfasst
dieses einfache Modell erfasst jedoch nicht alle Betriebssituationen des Fahrzeugs
Petrinetze Komplexes Beispiel (II)
T
0
T
1
S
4
S
0
S
3
S
2
S
4
T
5
S
5
S
6
T
4
S
7
S
1 T
2
T
3
S
8
T
6
S
9
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
29
Beispiel: Motorsteuerung
Zustzliche Stellen und Transitionen:
S4 fr Zndung aus
S5 fr WFS ist deaktiviert
S6 fr WFS bleibt deaktiviert
S7 fr WFS aktiviert
S8 fr Codeschlssel fr WFS bereit
S9 fr Codeschlssel fr WFS abgezogen
T4 fr WFS aktivieren
T5 fr WFS deaktivieren
T6 fr Codeschlssel gibt WFS frei
vier Anfangsmarken imInitialzustand
Nebenlufigkeiten werden erfasst
dieses einfache Modell erfasst jedoch nicht alle Betriebssituationen des Fahrzeugs
Petrinetze Komplexes Beispiel (II)
T
0
T
1
S
4
S
0
S
3
S
2
S
4
T
5
S
5
S
6
T
4
S
7
S
1 T
2
T
3
S
8
T
6
S
9
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
30
Petrinetze Komplexes Beispiel (III)
Beispiel: Motorsteuerung
der vorgefhrte Ablauf stellt nur ein mgliches Szenario
fr die Funktion des Modells dar
eine vollstndige Verifikation der Funktionsrichtigkeit in allen
Situationen ist damit nicht erreicht
www.kit.edu
Institut fr Technik der
Informationsverarbeitung
Karlsruher Institut fr Technologie (KIT)
Digitaltechnik
Prof. Dr.-Ing. J . Becker
becker@kit.edu
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Algebraische Strukturen
- Boolesche Algebra -
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
2
R1: S T _ M S T _ M
S T e P(M) S T e P(M)
Abgeschlossenheit der Operationen Durchschnitt und Vereinigung
T
M
S T
M
S
R2: S T = T S S T = T S
Die Reihenfolge der beiden Operanden ist ohne
Einfluss auf das Ergebnis -> Kommutativitt
Algebraische Strukturen: Boolesche Algebra
Regelsystem der Mengenalgebra:
Mengenrelationen lassen sich in RegelnRi fassen:
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
3
R3:
R3(a): R (S T) = R3(b): R (S T) =
(R S) (R T) (R S) (R T)
Algebraische Strukturen: Boolesche Algebra
Unabhngigkeit
von Reihenfolge
der Operationen:
Distributivitt
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
4
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)
M
S
S

KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
5
Zur Existenz einer Komplementmenge:
S undC
M
(S) sind komplementre (oder inverse) Elemente
bzgl. den Operationen und .
Zu jeder Teilmenge S existiert eine Komplementmenge C
M
(S) bzgl. M
R5:
S C
M
(S) =
S C
M
(S) = M
M
S
C (S)
M
Algebraische Strukturen: Boolesche Algebra
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
6
Boolesche Algebra: BA = [ K, T, ,

, O, I ]
mit: zwei zweistelligen Verknpfungen T ("TEE") und ("RUM"),
der einstelligen Relation

und den zwei universellen Schranken
O und I
Fr alle Elemente aus K gelten dabei eine Reihe von Regeln
Mengenalgebra: MA = [P(M), , , C
M
, , M]
Satz 1: Ist P(M) die Potenzmenge einer beliebigen Menge M, so ist das
Verknpfungsgebilde [P(M), , , C
M
, , M] stets eine Boolesche Algebra
Satz 2: Bei jeder Booleschen Algebra gilt fr die Menge K: K = 2
n
(n = 1, 2, ...)
Algebraische Strukturen: Boolesche Algebra
Regelsystem der Mengenalgebra:
Die Regeln R1 R5 legen mathematische Eigenschaften fr
den Umgang mit M, P(M), und fest:
Operanden + Regeln: algebraische Struktur
Operanden sind Mengen: Mengenalgebra
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
7
Beispiel: Boolsche Algebra (BA)
Es sei: |M| = 1, K = P(M) = {, M}, |K| = 2
Nach Satz 1: Mengenalgebra MA = [P(M), , , C
M
, , M]
ist eine Boolesche Algebra (BA)
M

M

M M M
M



M M
M

M
Operand 1
O
p
e
r
a
n
d

2
O
p
e
r
a
n
d
c
M
Ergebnis Ergebnis
Ergebnis
Algebraische Strukturen: Boolesche Algebra
Verknpfungstabellen: Tabellarische Notation der Mengenoperationen
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
8
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)| = 2
und: = T und =
Verknpfungstabellen: Regeln fr BA = [{0,1}, T, ,

, 0, 1]
Mathematisch wichtig: Regeln axiomatisch begrnden!
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
9
H1: Abgeschlossenheit a, b e K
a T b e K a b e K
Die Anwendung der Operatoren T und fhrt nicht aus der Menge K heraus
H2: Kommutativgesetz a, b e 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 e 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 Algebra
Boolsche Algebra: Huntingtonsche Axiome
formale mathematische Basis aller Boolschen Algebren
5 gltige Axiome fr eine Grundmenge K und beliebige Elemente a, b, c aus K
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
10
Axiomensystem: 5 Huntingtonsche Axiome
Verknpfungsgebilde, dessen einzelne Aussagen nicht mathematisch
ableitbar bzw. beweisbar sind, aus dem aber alle weiteren (algebraischen)
Regeln ableitbar sind
Forderungen: Widerspruchsfrei (logisch), vollstndig, Axiome unabhngig
H4: Existenz eines neutralen Elements a, I e K und O, a e K
I T a = a O a = a
Zu jedem Operator und T existiert ein neutrales Element, das jedes beliebige
Element der Menge K unverndert bezglich des Operators T bzw. lsst
H5: Komplement a, k e K
a T k = O a k = I
Zu jedem Element a e K gibt es ein Element a = k e K, das komplementr zu a ist,
d.h. seine Verknpfung mit a fhrt zum neutralen Element
Algebraische Strukturen: Boolesche Algebra
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
11
Axiomensystem: Boolsche Algebra
allgemein gilt: Dualittsprinzip
Vertauscht man in einem Satz unter alleiniger
Verwendung der Operatoren T, und

alle
Operatoren T durch und umgekehrt, so erhlt
man wieder einen Satz,
den sogenannten dualen Satz.
Enthlt der Satz die neutralen Elemente O und I,
so mssen auch diese vertauscht werden.
Diese Aussage ist wichtig zur Vereinfachung
von Beweisvorgngen und fr die Anwendung
Boolescher Algebren (" halbe Arbeit" ).
Algebraische Strukturen: Boolesche Algebra
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
12
Huntingtonsche Axiome: Beispiele fr Interpretationen
weitere andere Verknpfungsgebilde, die durch Abstraktion
auf das Axiomensystem zurckgefhrt werden knnen
(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
MA
2
= [ {, M}, , , C
M
, , M ]
- Mengenalgebra allgemein
MA = [ P(M), , , C
M
, , M ]
Algebraische Strukturen: Boolesche Algebra
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
13
H
L,H
H
L
U
B
phys. Gre:
Spannung
B
U
Huntingtonsche Axiome: Interpretationen
Interessant: Verknpfungsgebilde mit |K| = 2
Frage: ist ein formaler Umgang fr Binrsignale L / H bzw. 0 / 1 durch eine
geeignete Interpretation der Huntingtonschen Axiome mglich?
Notwendig: Axiomatisches Verknpfungsgebilde mit Binrsignalen +
formal korrekt abgeleitete Regeln
Binrsignale: Zweiwertige Signaldarstellung mit L und H
Schalter als einfachste technische Realisierung
Algebraische Strukturen: Boolesche Algebra
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
14

Verknpfungs-
gebilde
Schaltungseingnge
X = (x
n
, ... , x
2
, x
1
)
L,H
L,H
L,H
L,H
Schaltungsausgnge
Y = (y
m
, ... , y
2
, y
1
)
Schlieer
ffner
H
"bettigt"
"in Ruhe"
Schlieer
ffner
L
Binrsignale: Relais als Bauelement zur Schalterrealisierung
Verknpfungsgebilde fr Binrsignale:
Zusammenschaltung aus Relaisbauelementen bzgl. der Signale L und H
Algebraische Strukturen: Boolesche Algebra
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
15
S2:
x
1
x
2
x
2
x
1
=
x
1
par x
2
= x
2
par x
1
x
1
x
2
x
2
x
1
=
x
1
ser x
2
= x
2
ser x
1
Mgliche Relaisschaltungen: ser entspricht Serien- bzw. Reihenschaltung
par entspricht Parallelschaltung
S 1 :
B
x
1
x
2
B
x
1
x
2
U
U

X
1
ser X
2
e {L,H}
X
1
par X
2
e {L,H}
Algebraische Strukturen: Boolesche Algebra
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
16
S3:
x
1
x
2
x
1
x
2
x
3
3
x
1
x
=
x
1
par (x
2
ser x
3
) =
(x
1
par x
2)
ser (x
1
par x
3
)
x
1
x
3
x
2
x
2
x
3
x
1
x
1
=
x
1
ser (x
2
par x
3
) =
(x
1
ser x
2)
par (x
1
ser x
3
)
S4:
=
U
x
x
x par U = x
U: Dauernde Unterbrechung
x ser V = x
V: Dauernde Verbindung
=
x
x
V
Algebraische Strukturen: Boolesche Algebra
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
17
U
=
x
x
=
V
x
x
S5:
L,H
L,H
(Reproduktion)
L,H
H,L
(Negation)
B
U
B
U
das Eingangsignal bleibt unverndert
das 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
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
18
Verknfungsgebilde: Schaltalgebra SA = [ {0, 1}, &, V, -, 0, 1]
Beispiele: mgliche Interpretationen der Huntingtonschen Axiome
MA
2
HA SA
{, M }

C
m

M
K
T

-
O
I
{ 0, 1 }
&
V
-
0
1
Folgerung: Relaisschaltungen S1 S5 sind zulssige Interpretation der
Huntingtonschen Axiome formale Entwicklung digitaler Schaltungen
Algebraische Strukturen: Boolesche Algebra
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
19
Schaltalgebra: Abgeleitete Beziehungen
Regeln fr 0 und 1:
R1a 0 = 1
R2a 0 v 0 = 0
R3a 1 v 1 = 1
R4a 0 v 1 = 1
_
R1b 1 = 0
R2b 1 & 1 = 1
R3b 0 & 0 = 0
R4b 1 & 0 = 0
_
Abgeleitete Regeln:
Dualitt der Beziehungen ausnutzen!
Schaltalgebraische Interpretation der Huntingtonschen Axiome:
digitaltechnische Realisierung der zweiwertigen Boolschen Algebra
weitere formale Regeln: direkt bzw. indirekt aus den Axiomen ableiten
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
20
Regeln fr ein Element:
R5a a v 0 = a
R6a a v 1 = 1
R7a a v a = a
R8a a v a = 1
_
R5b a & 1 = a
R6b a & 0 = 0
R7b a & a = a
R8b a & a = 0
_
R9 (a) = a = a
_ _
__
_
Abgeleitete Regeln:
fr einen Operanden a (und Konstanten!)
Schaltalgebra: Abgeleitete Beziehungen
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
21
Abgeleitete Beziehungen der Schaltalgebra
Regeln fr 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:
fr zwei bzw. mehrere Operanden a, b und c
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
22
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
www.kit.edu
Institut fr Technik der
Informationsverarbeitung
Karlsruher Institut fr Technologie (KIT)
Digitaltechnik
Prof. Dr.-Ing. J . Becker
becker@kit.edu
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Digitale Schaltfunktionen und
Normalformtheoreme
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
2
Funktioneller
Zusammenhang
f
.

.

.
y
x
1
x
2
x
n
Schaltalgebra: - zulssige Interpretation der Huntingtonschen Axiome
- Basis fr die formale Entwicklung binrer Digitalschaltungen
Motivation
Schaltfunktion: - 2
n
Zuordnungen X
j
f
j
(X
j
Belegung, f
j
zugeordnete Funktionswert)
- Begriffe: Nullstellenmenge N, Einsstellenmenge E, Redundanzmenge R
Wichtig: Kompakte Darstellungstechniken und formale Konstruktionsvorschriften
fr beliebige Schaltfunktionen (unabhngig von n)
Anwendungen von Schaltfunktionen
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
3
Arten von Funktionen:
Arten von Funktionen
Injektion: Eineindeutige Abbildung von S in T
S
T
B
Jedem Element aus S wird genau
ein Element aus T zugeordnet.
Die Bildmenge ist Teilmenge der Zielmenge (B c T).
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
4
Arten von Funktionen
Surjektion: Eindeutige Abbildung von S auf T
Verschiedene Elemente aus S knnen
denselben Elementen aus T zugeordnet sein.
Bild- und Zielmenge sind identisch (B T).
S
T

B
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
5
Arten von Funktionen
Bijektion: Eineindeutige Abbildung von S auf T
Funktion, die sowohl Eigenschaften der Injektion
als auch der Surjektion aufweist.
Bild- und Zielmenge sind identisch (B T).
S
T

B
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
6
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 }
Funktioneller
Zusammenhang
f
.

.

.
y
x
1
x
2
x
n
X = (x
n
, ... , x
2
, x
1
)
x
i
e {0, 1 }
y e {0, 1 }
- Definition einer Schaltfunktion ( s ist das Argument, t der Funktionswert ):
Angabe aller Paare (s, t) mit s e { 0, 1 }
n
(= Belegung) und t e { 0, 1 }
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
7
Allgemein:
Schaltfunktion lsst sich schreiben als: y = f ( X ) = f ( x
n
, ... , x
2
, x
1
)
mit x
n
, ... , x
1
unabhngige Variablen, y abhngige Variable der Funktion
Funktionsdefinition
- Beispiel: f sei diejenige Funktion, die genau dann den Wert y = 1 annimmt, wenn
die Belegung von ( a
3
, a
2
, a
1
) eine ungerade Anzahl von Einsen aufweist
(a
3
a
2
a
1
)
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


j
0
a
3
a
2
a
1
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:
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
8
hufig gilt: nicht allen Belegungen kann/muss ein Funktionswert zugeordnet werden
Klassen von Schaltfunktionen
- solche Zuordnungen: Redundanz- oder Freistellen der Funktion
Kennzeichnung: X
j
- (sogenanntes don t care)
Stelle kann wahlweise mit 1 oder 0 belegt werden
Also: 3 Teilmengen von Belegungen:
- Nullstellenmenge N = { X
j
| X
j
0 }
- Einsstellenmenge E = { X
j
| X
j
1 }
- Redundanzmenge R = { X
j
| X
j
- }
Beispiel: Funktion mit Freistellen
Funktion fr BCD Zahlen,
wobei Eingangskombinationen,
die Pseudotetraden entsprechen,
mit Freistellen belegt werden
Ziffer j
0
a
3
a
2
a
1
a
0
y
0 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 -
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
9
Reale technische Anwendungen:
Freistellen berwiegen hufig gegenber 0- / 1-Stellen
Klassen von Schaltfunktionen
- eine vollstndig definierte Schaltfunktion:
ordnet allen Belegungen X
j
einen
Funktionswert aus f
j
e {0, 1 }zu
wegen |{0, 1}| = 2
n
gilt:
bei unvollstndigen Schaltfunktionen lsst sich aus jeweils zwei
Teilmengen die fehlende dritte Teilmenge bestimmen
Man definiert daher zwei Hauptklassen von Funktionen:
- eine unvollstndig definierte Schaltfunktion:
ordnet mindestens einer Belegung X
j
keinen Funktionswert aus f
j
e {0, 1 }zu
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
10
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 J ahren von Karnaugh und Veitch vorgeschlagen
Nachteile von KV-Diagrammen bei Werten n > 4 (unbersichtlichen Darstellung!)
- Prof. Lipp hat KV-Diagramme mittels einer neuen Symmetrierelation
auf beliebiges n erweitert
- - 1 0
- - - -
1 0 1 0
0 0 0 0
14 15 11 10
16 17 13 12
6 7 3 2
4 5 1 0
a
3
a
2
a
1
a
0
y
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
11
Symmetriediagramme
0
V1
n=0 n=1
n=2 n=3
n=4 n=5
n=6
1 2
2

+ =
alt neu
j j
3 2
1 0
H1
x
1
H1
x
2
1 0
x
1
V1
1 1
2

+ =
alt neu
j j
6 7 3 2
4 5 1 0
V2
x
1
x
2
x
3
V2
1 3
2

+ =
alt neu
j j
14 15 11 10
16 17 13 12
6 7 3 2
4 5 1 0
H2
x
1
x
2
x
3
H2
x
4 1 4
2

+ =
alt neu
j j
30 31 35 34 14 15 11 10
32 33 37 36 16 17 13 12
22 23 27 26 6 7 3 2
20 21 25 24 4 5 1 0
V3
x
2
x
1
x
1
x
4
x
5
x
3
V3
1 5
2

+ =
alt neu
j j
60 40
77
70 50
30 31 35 34 14 15 11 10
32 33 37 36 16 17 13 12
22 23 27 26 6 7 3 2
20 21 25 24 4 5 1 0
H3
x
1
x
1
x
5
x
2
x
2
x
6
x
3
H3
x
4
1 6
2

+ =
alt neu
j j
Entwicklung eines Symmetriediagramms
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
12
Spezifikation / Schaltfunktionen: Funktionstabelle stellt bei groen Werten von n keine
besonders effiziente Darstellungstechnik dar, da die
Spaltenzahl mit n, die Zeilenzahl jedoch mit 2
n
wchst
Graphische Darstellung von Funktionen
Beispiel fr die Darstellung mittels BDD:
Neben bereits vorgestellten Methoden Funktionen darzustellen:
es existieren weitere Mglichkeiten 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
j
0
=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
c
1
1
1
1
0
0
0
0

beide Darstellungen: reprsentieren


die gleiche Funktion
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
13
Binary Decision Diagrams (BDDs)
- Funktionen lassen sich kanonisch (eindeutig) darstellen
diese Eigenschaft von BDDs lsst fr quivalenzprfungen
von Funktionen ausnutzen Isomorphie-Test
- darber hinaus: es existieren eine Reihe von Verfahren,
welche die rechnergesttzte Verarbeitung
von in BDD-Form dargestellten Funktionen
effizient ermglichen
Graphische Darstellung von Funktionen
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
14
Schaltfunktionen
n =0 MF =2
n =1 MF =4
n =2 MF =16
n =3 MF =256
.
.
n =10 MF =2
1024
~ 10
308
Beispiele:
Eigenschaft: Anzahl mglicher Funktionen (MF) wchst explosionsartig!
Zahl einzelner Bildungsvorschriften und Namen zu gro!
Gesucht: Grundstzliche Konstruktionsvorschrift fr Schaltfunktionen
(unabhngig von n) ?
Ziel: Anbindung an schaltalgebraische Notation: Axiome + Regeln anwendbar
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
15
Mgliche Schaltfunktionen bei n=2
n = 2: MF =16 y =f(x
2
, x
1
)
Eigene Symbole und Namen:
y
10
: & Konjunktion, UND-Verknpfung, AND
y
16
: V Disjunktion, ODER-Verknpfung, OR
y
7
: & neg. Konjunktion, neg. UND-Verknpfung, NAND (NOT AND)
y
1
: V neg. Disjunktion, neg. ODER-Verknpfung, NOR (NOT OR)
y
6
: Antivalenz XOR
y
11
: quivalenz
y
13
: Implikation, x
2
impliziert x
1
, x
2
x
1
(analog: y
15
: x
1
impliziert x
2
, x
1
x
2
)
1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1
1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 1
1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 0
1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 0
y
17
y
16
y
15
y
14
y
13
y
12
y
11
y
10
y
7
y
6
y
5
y
4
y
3
y
2
y
1
y
0
x
1
x
2
n
e
g
.

D
i
s
j
u
n
k
t
i
o
n
(
n
e
g
.

I
m
p
l
i
k
a
t
i
o
n
)
n
e
g
.

I
m
p
l
i
k
a
t
i
o
n
A
n
t
i
v
a
l
e
n
z
n
e
g
.

K
o
n
j
u
n
k
t
i
o
n

q
u
i
v
a
l
e
n
z
I
m
p
l
i
k
a
t
i
o
n
(
I
m
p
l
i
k
a
t
i
o
n
)
D
i
s
j
u
n
k
t
i
o
n
K
o
n
j
u
n
k
t
i
o
n
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
16
Herleitung der Normalformtheoreme
Besondere Funktionen: Konjunktion und Disjunktion
- Null- und Einsstellenmenge teilen sich extrem auf, jeweils in: 1 zu 2
n
-1 Belegungen
Konjunktion: Disjunktion:
- entsprechen den Operatoren der Schaltalgebra (Serien- und Parallelschaltungen)
Anbindung dieser Schaltfunktionen an das axiomatische Gebude!
Symmetriediagramme: Konjunktion Disjunktion
6 7 3 2
4 5 1 0
1 1 1 1
1 1 1
0
x
3
x
2
x
1
y
6 7 3 2
4 5 1 0
0
1
0 0
0 0 0 0
x
3
x
2
x
1
y
3 2
1 0
1 1
1
0
x
2
x
1
y
3 2
1 0
1
0
0 0
x
2
x
1
y
n = 3 y = x
3
& x
2
& x
1
y = x
3
V x
2
V x
1
n = 2 y = x
2
& x
1
y = x
2
V x
1
1
0
fr x
1
=x
2
=1
y = f (x
1
,x
2
)
sonst

0
1
fr x
1
=x
2
=0
y = f (x
1
,x
2
)
sonst

KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
17
Gesucht: Grundstzliche Konstruktionsvorschrift fr Schaltfunktionen (unabh. von n) ?
Bauprinzip in Anlehnung an die Reihenentwicklung in der Mathematik
- geeignete (bspw. orthogonale) Basisfunktionen b
k
(x) und Koeffizienten A
k

=

= + + + = =
1
0
1 1 1 1 0 0
) ( ) ( ) ( ) ( ) (
N
k
k k N N
x b A x b A x b A x b A x f y
Frage: gibt es Basisfunktionen und geeignete Koeffizienten fr beliebige Schaltfunktionen ?
n = 3:
Konjunktion: y = x
3
& x
2
& x
1
Beliebige Einsstelle: y = ?
x
1
6 7 3 2
4 5 1 0
0 0 0 0
1
0 0 0
x
3
x
2
y
Notwendig: Konjunktion / Disjunktion ->Funktionswert 1 (0) beliebiger Belegung zuordnen knnen
Modifikation der Konjunktion
1 2 3
& & x x x y =
Abbildung
der
Belegung
Herleitung der Normalformtheoreme
x
1
6 7 3 2
4 5 1 0
0
1
0 0
0 0 0 0
x
3
x
2
y
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
18
Herleitung der Normalformtheoreme
1 0 &
1 2 , 0 , 1 0 &
& &
0
1
0
1
& & & &
1
1
1 2 1
1 2 1
= v =
= =
s s = = v =
v v =
=

= v v v v =

= =

j j j j
j j j j
n
k j k j
n j
n j
n n
n n
M m M m
m M M m
k j k j M M m m
x x M
x x m
fr x
fr x
x x x x x y
fr x
fr x
x x x x x y
nktion) Maxterm(fu
nktion) Minterm(fu




Allgemein gilt fr n = beliebig:
0 & & & &
& , &
, & , & 2
1 2 1 2 2 1
1 2 3 1 2 2
1 2 1 1 2 0
= =
= =
= = =
x x x x m m
x x m x x m
x x m x x m n : Beispiel
Ergebnis: Belegungsabbildung -> beliebige Eins- / Nullstelle fr jede Belegung
Minterm- und Maxtermfunktionen
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
19
Herleitung der Normalformtheoreme
7 1 1 1 1 0 0 0 0 0 0 0 1
6 0 1 1 0 1 0 0 0 0 0 0 1
5 1 0 1 0 0 1 0 0 0 0 0 1
4 0 0 1 0 0 0 1 0 0 0 0 1
3 1 1 0 0 0 0 0 1 0 0 0 1
2 0 1 0 0 0 0 0 0 1 0 0 1
1 1 0 0 0 0 0 0 0 0 1 0 1
0 0 0 0 0 0 0 0 0 0 0 1 1
j
0
x
1
x
2
x
3
y = m
0
v m
1
v m
2
v m
3
v m
4
v m
5
v m
6
v m
7
n = 3:
Mgliche Funktion:
Disjunktion
aller
Minterme
Gesucht: Grundstzliche Konstruktionsvorschrift fr Schaltfunktionen (unabh. von n)
Verwendung orthogonaler Minterm- und Maxtermbasisfunktionen ?
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
20
Herleitung der Normalformtheoreme
7 1 1 1 A
7
0 0 0 0 0 0 0 A
7
6 0 1 1 0 A
6
0 0 0 0 0 0 A
6
5 1 0 1 0 0 A
5
0 0 0 0 0 A
5
4 0 0 1 0 0 0 A
4
0 0 0 0 A
4
3 1 1 0 0 0 0 0 A
3
0 0 0 A
3
2 0 1 0 0 0 0 0 0 A
2
0 0 A
2
1 1 0 0 0 0 0 0 0 0 A
1
0 A
1
0 0 0 0 0 0 0 0 0 0 0 A
0
A
0
j
0
x
1
x
2
x
3
y = A
0
&m
0
v A
1
&m
1
v A
2
&m
2
v A
3
&m
3
v A
4
&m
4
vA
5
&m
5
v A
6
&m
6
v A
7
&m
7
Erweiterung: Einfhrung von Koeffizienten A
j
fr Minterm- und Maxtermbasisfunktionen
beliebige Funktionsdarstellung
n = 3:
Reihenentwicklung:
Gewichtung
der Basisfunktionen m
j
mit A
j
e {0, 1}
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
21
Normalformtheoreme
Normalformen einer Schaltfunktion kanonische Formen
) (
) ( & ) ( & & ) ( & ) (
) & (
) & ( ) & ( ) & ( ) (
1 2
0
0 0 1 1
2 2 2 2 1 2 1 2
1 2
0
0 0 1 1
2 2 2 2 1 2 1 2
j j
j
j j
j
M f y
M f M f M f M f y
m f y
m f m f m f m & f y
n
n n n n
n
n n n n
v =
v v v v =
=
v v v v =

=

&
V

Konjunktive Normalform (KNF):


Disjunktive Normalform (DNF):
oder krzer
oder krzer
nur mit den 3 Grundverknpfungen (Operatoren) Konjunktion, Disjunktion und
Negation ist es mglich jede beliebige Schaltfunktion darzustellen
[&, V, ] ist ein Basissystem der Schaltalgebra
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
22
Normalformtheoreme: Hauptsatz der Schaltalgebra
x
3
14 15 11 10
16 17 13 12
6 7 3 2
4 5 1 0
1 0 1 0
0 1 0 0
1 0 1 0
0 0 0 0
x
4
x
2
x
1
y
Beispiel: y = f(x
4
, x
3
, x
2
, x
1
) = 1, wenn die Oktalzahl durch 3 dividierbar ist
) ( & ) (
& ) ( & ) ( & ) (
& ) ( & ) ( & ) (
& ) ( & ) ( & ) ( :
) & & & ( ) & & & (
) & & & ( ) & & & ( ) & & & ( :
1 2 3 4 1 2 3 4
1 2 3 4 1 2 3 4 1 2 3 4
1 2 3 4 1 2 3 4 1 2 3 4
1 2 3 4 1 2 3 4 1 2 3 4
1 2 3 4 1 2 3 4
1 2 3 4 1 2 3 4 1 2 3 4
x x x x x x x x
x x x x x x x x x x x x
x x x x x x x x x x x x
x x x x x x x x x x x x y
x x x x x x x x
x x x x x x x x x x x x y
v v v v v v
v v v v v v v v v
v v v v v v v v v
v v v v v v v v v =
v
v v v =
KNF
DNF
Satz: J ede beliebige Schaltfunktion y =f(x
n
, ... , x
1
) lt 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 gehren.
Hauptsatz der Schaltalgebra:
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
23
Beziehungen zwischen den Begriffen
1 1 0 : Bsp.

j j nj
n
i
i
ij
x x x
x j
1 2
1
1
2
=
=

Index
1 2 n
x & x & & x : Bsp.
&



j j nj
ij
n
i
j
x x x
x m
1 2
1
& & & =
=
=
Minterm
1 2 n
x x x : Bsp.
V
v v v
v v v =
=
=



j j nj
ij
n
i
j
x x x
x M
1 2
1
Maxterm
1
1 2
0
) & (
=

=
= =
j
n
f
j j j
j
m m f f V
V
DNF
0
1 2
0
) (
=

=
= v =
j
n
f
j j j
j
M M f f &
&
KNF
( )
( ) 1 , 1 , 0, : Bsp.

j j nj j
x x x X
1 2
, , , =
Belegung
( ) ( ) { }
j j j j
X f f f X f = , :
Funktionstabelle

=
=
=
0 ,
1 ,
ij ij
ij ij
ij
x wenn x
x wenn x
x
j j
M m =
j j
m M =
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
24
Normalformtheoreme: Praktische Anwendung
Notwendig: fr jeden Operatortyp eine passende technische Realisierung
Schaltglieder (Gatter) fr Konjunktion, Disjunktion und Negation
Schaltzeichen nach der
neuen 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
1 a y =a
Negationsglied:
1 a 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 fr jede
mgliche Kombination von digitalen Signalen an den
Eingngen eine - und nur eine - Kombination von digitalen
Signalen an den Ausgngen gibt:
Y
t
=F(X
t
)
SN
F Y X
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
25
ODER-
Matrix
(fest)
x
1
2
n
Mintermfunktionen
DNF
m
1
UND-
Matrix
(fest)
m
2
n
x
2
x
n
m
2
Y = f(X)
Normalformorientierte Strukturen:
->DNF als Beispiel
->2
n
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
x
1
x
2
x
2
x
3
x
3
1
0
y =f(X)
X
0 m
1
0 0 m
4
m
5
m
6
m
7
x
1
0
(Einsstellenmenge)
(Nullstellenmenge)
Beispiel: y = m
1
v m
4
v m
5
v m
6
v m
7
Personalisierung (Programmierung):
Abhngigkeit des Funktionswertes f
j
von einem Minterm m
j
wird festgelegt
Normalformtheoreme: Praktische Anwendung
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
26
Normalformtheoreme: Praktische Anwendung
Normalformorientierte Strukturen:
->Beispiel 2: ROM (Read Only Memory)
Beispiel: y = m
1
v m
4
v m
5
v m
6
v m
7
Personalisierung
erfolgt in der 2. Stufe
& & & & & & & &
1
1
1
V
x
1
x
2
x
2
x
3
x
3
y =f(X)
X
m
1
m
4
m
5
m
6
m
7
x
1
ODER-
Matrix
(progr.)
x
1
2
n
Mintermfunktionen
DNF
m
1
UND-
Matrix
(fest)
m
2
n
x
2
x
n
m
2
Y = f(X)
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
27
Es gilt:
Normalformtheoreme und der Hauptsatz der Schaltalgebra
zeigen die eindeutige Darstellbarkeit beliebiger Schaltfunktionen
mittels der 3 Grundverknpfungen Konjunktion, Disjunktion, Negation
daher: man bezeichnet diese 3 Verknpfungen [&, 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
1 2 1 2 1 2 1 2
& & x x x x x x x x v = = v bzw.
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
28
Basissysteme der Schaltalgebra
( ) ( )
( ) ( )
( ) ( )
( ) ( )
j j
j
j j
j
j j
j
j j
j
j j
j
j j
j
j j
j
j j
j
M f y m f y
M f y m f y
M f y y m f y y
M f y m f y
n n
n n
n n
n n
&
&
&
&
1 2
0
1 2
0
1 2
0
1 2
0
1 2
0
1 2
0
1 2
0
1 2
0
V &
V &
& V
& V
bzw.
bzw.
bzw.
bzw.

=
= v =
v = =
v = = = =
v = =
Also:
- Neben dem bereits vorgestellten Basissystem mit 3 Verknpfungen [&, V, ]
existieren Basissysteme mit zwei oder gar einem Operator
Beispiel: Herleitung von Basissystemen mit 2 Verknpfungen [&, ] bzw. [V, ]
ausgehend von DNF bzw. KNF
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
29
Weiterhin: DNF realisiert nur Minterme f
j
= 1 und KNF nur Maxterme f
j
= 0
Basissysteme der Schaltalgebra
j j j j j j
j j
M M f m m f
f f
= = v
= =
&
1 0
und
0 1 = =
= =
j j
f
j
f
j
M y m y V &
man erhlt :
&1 (Regel 5b) 0 (Regel 5a)
&1 0
x x x x
x x x x
= = v
= = v
Also: man erhlt zwei neue Basissysteme mit jeweils nur einer einzigen Verknpfung,
denn: bilden ebenfalls Basissysteme der Schaltalgebra
wobei: Negationen einzelner Variablen werden mit Konstanten 0 / 1 dargestellt:
& und
( (
v

KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
30
Nchste Vorlesungen
- Entwicklungssatz der Schaltalgebra
- Minimierungsverfahren fr komplexe Schaltfunktionen
- Technische Realisierung von Schaltgliedern
- Weitere praktische Anwendungen
- Beispiele digitaler Bausteine
www.kit.edu
Institut fr Technik der
Informationsverarbeitung
Digitaltechnik
Karlsruher Institut fr Technologie (KIT)
Prof. Dr.-Ing. J . Becker
becker@kit.edu
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Entwicklungssatz der Schaltalgebra
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
2
Entwicklungssatz der Schaltalgebra
Normalformtheoreme
Ermglichen eine eindeutige (kanonische) Darstellung
jeder beliebigen Schaltfunktion
Schaltfunktionen sind allein durch 3 logische Operationen realisierbar
Und, Oder und Negation
Der Boolesche 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
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
3
Minterme
Terme m
i
fr 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(x
2
,x
1
)
m
0
1 2
& x x
f(0,0)
m
1
1 2
& x x
f(0,1)
m
2
1 2
& x x
f(1,0)
m
3 1 2
& x x
f(1,1)
Entwicklungssatz der Schaltalgebra
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
4
Maxterme
Terme M
i
fr genau eine Belegung wird der Wert 0 angenommen
orthogonale Basisfunktionen fr Bildung der KNF
Projektion von Nullstellen auf beliebige Positionen
im Symmetriediagramm
Auswahl der richtigen Funktionswerte in KNF
Nullstellenmenge
Maxterme f(x
2
,x
1
)
M
0
1 2
x x
f(0,0)
M
1
1 2
x x
f(0,1)
M
2
1 2
x x
f(1,0)
M
3
1 2
x x
f(1,1)
Entwicklungssatz der Schaltalgebra
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
5
DNF (Disjunktive Normalform)
Schaltfunktion in DNF-Form: besteht aus mehreren disjunktiv
verknpften (Oder-Funktion) Termen, die aus konjunktiv
verknpften (Und-Funktion) Literalen bestehen
Beispiele:
Also: DNF listet alle Belegungen, die den Funktionswert 1
erzeugen sollen, einzeln auf
3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1
) & & ( ) & & ( ) & & ( ) ( x x x x x x x x x x x x x x x x x x x f
2 1 2 1 2 1 2 1 2 1 2 1
) & ( ) & ( ) & ( ) ( x x x x x x x x x x x x x f
2 1 2 1
) ( x x x x x f
x
1
x
2
f(x)
0 0 1
0 1 0
1 0 1
1 1 0


KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
6
KNF (Konjunktive Normalform)
Schaltfunktion in KNF-Form: besteht aus mehreren konjunktiv
verknpften Termen, die aus disjunktiv verknpften Literalen bestehen
Beispiel:
Also: bei der KNF entspricht jeder Term von konjunktiv verknpften
Literalen einer invertierten Belegungmit Funktionswert 0
Tritt diese Wertkombination auf, so wird der entsprechende
Term 0und der komplette Schaltfunktionswert wird auch 0
) ( & ) ( & ) ( ) (
3 2 1 3 2 1 3 2 1
x x x x x x x x x x f
) ( & ) ( ) (
2 1 2 1
x x x x x f
x
1
x
2
f(x)
0 0 1
0 1 0
1 0 1
1 1 0


KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
7
Entwicklungssatz der Schaltalgebra
Der Entwicklungssatz ist eine formale Methode eine Funktion
f(x
n
,...,x
3
, x
2
, x
1
) in eine DNF (oder KNF) umzuwandeln
Die Entwicklung der Funktion f nach der Variablen x
i
Aufteilung in zwei Flle: x
i
= 1 und x
i
= 0
Oder fr eine KNF:
1 1 1
1 0
( ,..., ,..., ) [ & ( ,...,1,..., )] [ & ( ,...,0,..., )]
[ & ] [ & ]
i i
n i i n i n
i i
x 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 i
x x
f x x x x f x x x f x x
x f x f



KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
8
Entwicklungssatz der Schaltalgebra
Beweis der beiden Flle:
1
1 0
( ,..., 1,..., ) [1& ] [1& ]
i i
n i
x x
f x x x f f


1 0
[1& ] [0& ]
i i
x x
f f


1
i
x
f

1
0
i
x
f


1
1 0
( ,..., 0,..., ) [0& ] [0& ]
i i
n i
x x
f x x x f f


1 0
[0& ] [1& ]
i i
x x
f f


0
i
x
f

0
0
i
x
f


KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
9
Entwicklungssatz der Schaltalgebra
und werden als Restfunktionen oder Kofaktoren bezeichnet
der nach x
i
entwickelte Ausdruck lsst sich nach den weiteren
Variablen entwickeln
Beispiel einer Funktion mit zwei Variablen:
1
i
x
f
0
i
x
f

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 x
1
Entwicklung nach x
2
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
j
m f

DNF
Minterme
www.kit.edu
Institut fr Technik der
Informationsverarbeitung
Digitaltechnik
Karlsruher Institut fr Technologie (KIT)
Prof. Dr.-Ing. J . Becker
becker@kit.edu
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Minimierung digitaler Schaltfunktionen
(Teil 1)
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
2
Minimierung (Optimierung)
Aus den schaltalgebraischen Ausdrcken 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 fr Schaltelemente von der Anzahl der
Terme und der verwendeten Literale abhngen
Bei der DNF (KNF) bentigt man fr jede Einsstelle (Nullstelle) einen
Minterm (Maxterm)
durch gezieltes Weglassen von Literalen in einem Minterm (Maxterm)
kann dieser Term mehrere Einsstellen (Nullstellen) reprsentieren
Anzahl der bentigten Terme und Literale wird reduziert
Minimierung von Schaltfunktionen!
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
3
Minimierung
Beispiele:
1 2 3 4 1 2 3 4
& & & ) , , , ( x x x x x x x x f
1 3 4 1 2 3 4
& & ) , , , ( x x x x x x x f
1 3 1 2 3 4
& ) , , , ( x x x x x x f
)} 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
1 E
2 E
4 E
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
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
4
Minimierung
Primterme und Eins- bzw. Nullstellenberdeckung
Einsstellen (Nullstellen) verschiedener Primterme knnen berlappen
(kosten)gnstigste Auswahl von Primtermen gesucht, die alle Einsstellen
(Nullstellen) der Funktion berdecken -> berdeckungsproblem!
das Gesamtproblem nennt man das Minimierungsproblem
Bewertungskriterium
zur Bewertung unterschiedlicher Lsungen 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
12 3 2 3 4 ) ( y L
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
5
Minimierungsmethoden
Minimierung am Symmetriediagramm
Die Minimierung mit Symmetriediagramm stellt eine
graphische Methode dar -> Ausnutzung der Symmetrierelationen
Zusammenfassung von Belegungen zu maximalen Blcken
Finden aller Primblcke (charakteristische Terme Primterme)
berdeckung aller Einsstellen (bzw. Nullstellen)
0 0 1 1
0 1 1 0
0 - 1 0
- 0 0 1
x
1
x
2
x
3
x
4
1 0
2 3
5 4
6
16
7
14 15
17
11 10
13 12
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
6
Minimierungsmethoden
Minimierung am Symmetriediagramm
Finden von Primblcken (Primtermen)
in Symmetriediagrammen
Sukzessive Bildung von Blcken aus
Einsstellen (Nullstellen) und Freistellen
durch Spiegelung von kleineren
Blcken (einzelne Einsstellen sind
kleinste Blcke) an allen mglichen
Symmetrielinien
Maximal zusammengefasste Blcke
von Einsstellen sind Primeinsblcke,
wenn keine Spiegelung mehr mglich
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
7
Minimierung am Symmetriediagramm
Beispiel (1):
Gegeben: y = f (x4, x3, x2, x1) durch die Angabe
der Eins- und Nullstellen im Symmetriediagramm
Gesucht: Krzester algebraischer Ausdruck
Disjunktive Minimalform (DMF)
Primterme zur Bildung einer DMF spezifizieren
Primeinsblcke
werden Primimplikanten genannt
(Primimplikate fr Konjunktive Minimalform KMF)
Die farbig dargestellten Primimplikanten
berdecken Eins- und Freistellen
0 0 1 1
0 1 1 0
0 - 1 0
- 0 0 1
x
1
x
2
x
3
x
4
1 0
2 3
5 4
6
16
7
14 15
17
11 10
13 12
Minimierungsmethoden
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
8
Minimierungsmethoden
Minimierung am Symmetriediagramm
Beispiel (2):
Als Primimplikanten erhlt man:
Vorgehensweise:
Auswahl der Primimplikanten, die
allein eine Einsstelle berdecken
sogenannte Kerne
sind durch die Kerne alle Einstellen
berdeckt -> Minimallsung
sonst: Auswahl weiterer Primimplikanten
(Strategie + Bewertung notwendig!)
Mgliche Lsung:
0 0 1 1
0 1 1 0
0 - 1 0
- 0 0 1
x
1
x
2
x
3
x
4
1 0
2 3
5 4
6
16
7
14 15
17
11 10
13 12
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 4
y w w w
www.kit.edu
Institut fr Technik der
Informationsverarbeitung
Digitaltechnik
Karlsruher Institut fr Technologie (KIT)
Prof. Dr.-Ing. J . Becker
becker@kit.edu
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Minimierung digitaler Schaltfunktionen
(Teil 2)
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
2
Minimierungsmethoden
Formale algebraische Minimierung
Das Nelson/Petrick-Verfahren
sehr leistungsfhiges algebraisches Verfahren
Nelson-Verfahren: Bestimmung der Menge aller Primimplikanten
(bzw.Primimplikaten)
Petrick-Verfahren: Bestimmung der kostenminimalen Auswahl von
Primimplikanten zur Einsstellenberdeckung
(bzw.Primimplikaten zur Nullstellenberdeckung)
Alternativ: graphisch mit berdeckungstabelle
+ Regeln zur Abarbeitung/Vereinfachung
Ergebnis: kostenminimaler algebraischer Ausdruck der zu
realisierenden digitalen Schaltfunktion
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
3
Minimierungsmethoden
Nelson-Verfahren:
Bestimmung aller Primimplikanten zur Bildung einer
disjunktive Minimalform DMF (dual dazu: alle Primimplikate fr KMF)
1) alle Freistellen werden zu Einsstellen verfgt: Einsstellenergnzung f
E
Bildung einer Nullblockberdeckung fr die Einsstellenergnzung f
E
der gegebenen (unvollstndigen) Schaltfunktion:
0
= {B
01
,B
02
,...,B
0r
}
2) Aufstellen eines schaltalgebraischen Ausdrucks (KNF bzw. KMF) fr die
Einsvervollstndigung f
E
: f
E
= W
01
& W
02
& ... & W
0r
3) Schrittweises Ausdistribuieren des Ausdrucks f
E
= W
01
& W
02
& ... & W
0r
aus 2)
+ Umformen und Streichen berflssiger Termanteile bzw. Terme
-> Anwendung von Distributiv- und Absorptionsgesetze
-> aus der konjunktiven Form die gewnschte disjunktive Form
4) Streichen aller im 3. Schritt gefundenen Terme, die nur Freistellen berdecken
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
4
Minimierungsmethoden
Nelson-Verfahren:
Beispiel:
Man nehme eine Nullblockberdeckung:
Durch Ausdistribuieren + Umformung erhlt man:
1 0 0 1
- 0 1 -
x
2
x
3
x
1
) ( & ) (
3 1 2 1
x x x x f
E

1 0 0 1
- 0 1 -
x
1
x
2
x
3
Distributivgesetz
Regel R7
Absorption (R11)
Absorption (R11)
) & (
) ( & ) (
3 2 1
3 2 1
3 2 2 1 1
3 2 2 1 3 1 1
3 2 2 1 3 1 1 1
3 1 2 1
x x x
x x x
x x x x x
x x x x x x x
x x x x x x x x
x x x x f
E






KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
5
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
gewnschten Funktion bercksichtigt wird berdeckung genannt
Lsung: graphische Auswahl der Primterme mit berdeckungstabelle
fr jeden Primterm wird angegeben, welche Einsstellen
(bzw. Nullstellen) er berdeckt
zur Bewertung wird eine Spalte mit Kosten c
k
angefgt
berdeckungstabelle wird mit Hilfe bestimmter Regeln
abgearbeitet (vereinfacht) -> Kernermittlung + Dominanzregeln
algebraische Behandlung der optimalen Auswahl von Primtermen
auch mglich:
Bildung und Auswertung des Petrick-Ausdrucks!
Ergebnis: kostenminimale berdeckung der Schaltfunktion
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
6
Minimierungsmethoden
berdeckungsproblem:
Beispiel:
j
k Pl
0 2 4 11 12 14 16
p
i
c
i
1
2 4
x x
x x p
1
c
1
2
2 3
x x x x p
2
c
2
3
1 3 4
x x x x x p
3
c
3
4
1 3 4
x x x
x p
4
c
4
5
1 2 4
x x x x x p
5
c
5
6
1 3 4
x x x x x p
6
c
6
7
1 2 3
x x x x x p
7
c
7
x
4
1 0 0 1
1 0 - -
1 1 - -
0
1 0 1
0 1
2 3
5 4
7 6
14 15
16 17
10 11
12 13
x
1
x
2
x
3
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
7
Minimierungsmethoden
berdeckungsproblem
Kernermittlung:
Wenn eine Einsstelle (Nullstelle) nur durch einen einzigen Primterm
abgedeckt wird, nennt man den Primimplikanten (Primimplikaten)
Kernimplikant (Kernimplikat)
Kernimplikanten (Kernimplikate) mssen auf jeden Fall in die
berdeckungslsung aufgenommen werden
Spalten von Einsstellen (Nullstellen) in der berdeckungstabelle, die
von Kernimplikanten (Kernimplikaten) abgedeckt werden, knnen
gestrichen werden, und mssen in der weiteren Abarbeitung nicht
mehr bercksichtigt werden
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
8
Minimierungsmethoden
Kernermittlung und Vereinfachung der berdeckungstabelle
Beispiel:
j
k Pl
0 2 4 11 12 14 16
p
i
c
i
1
2 4
x x
x x p
1
c
1
2
2 3
x x x x p
2
c
2
3
1 3 4
x x x x x p
3
c
3
4
1 3 4
x x x
x p
4
c
4
5
1 2 4
x x x x x p
5
c
5
6
1 3 4
x x x x x p
6
c
6
7
1 2 3
x x x x x p
7
c
7
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
9
Minimierungsmethoden
Dominanzregeln und Ihre Anwendung (1)
Spaltendominanzregeln:
Spaltendominanz in der berdeckungstabelle:
Wenn die Spalte i
2
durch einen der Terme p
1
oder p
3
berdeckt wird,
so wird dadurch auch i
1
berdeckt
also: Einsstelle der Spalte i
1
ist durch p
1
oder p
3
auch realisiert
Man sagt: (Vektor i
1
) dominiert (Vektor i
2
) und schreibt: i
1
i
2
Dominierende Spalten (hier: i
1
) knnen gestrichen werden
i
1
i
2
X X p
1
p
2
X X p
3
X p
4
X p
5
i
1
i
2
X X p
1
p
2
X X p
3
X p
4
X p
5
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
10
Minimierungsmethoden
Dominanzregeln und Ihre Anwendung (2)
Zeilendominanzregeln:
Wenn eine Zeile i
2
(Primterm p
2
) nur Spalten ( Einsstellen) berdeckt,
die auch von einer anderen Zeile i
1
(Primterm p
1
) berdeckt werden
i
2
wird von i
1
dominiert: i
2
i
1
, und
es gilt: (Kosten c
1
) (Kosten c
2
)
die Zeile i
2
kann gestrichen werden
X X X X c
1
X c
2
...
X X X c
k
p
1
p
2
p
k
i
1
i
2
i
k
X X X X c
1
X c
2
...
X X X c
k
p
1
p
2
p
k
i
1
i
2
i
k
i
1
i
2
i
k
X X X X c
1
X c
2
...
X X X c
k
p
1
p
2
p
k
i 1
i 2
i
k
X X X X c
1
X c
2
...
X X X c
k
p
1
p
2
p
k
i 1
i 2
i
k
X X X X c
1
X c
2
...
X X X c
k
p
1
p
2
p
k
i 1
i 2
i
k
i 1
i 2
i
k
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
11
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 gelst werden
Allgemeine Vorgehensweise:
1) Kerne bestimmen und Streichen aller berdeckten Spalten (Einsstellen)
(leergewordene Zeilen knnen auch gestrichen werden)
2) Spaltendominanzen finden und dominierende Spalten streichen
3) Zeilendominanzen finden und dominierte Zeilen streichen, nach
Mglichkeit (-> Kosten c
i
beachten!)
4) Schritte 1-3 wiederholen, bis berdeckungstabelle nicht mehr reduzierbar
keine Kerne und Dominanzen mehr (ggf. noch zyklische Resttabelle auflsen)
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
12
Minimierungsmethoden
berdeckungsproblem (Auswahlproblem)
Petrick-Verfahren:
Das Petrick-Verfahren ist eine algebraische Methode
dient zur Bestimmung kostenminimaler Lsungen
von berdeckungsproblemen
Es kann direkt nach demNelson-Verfahren zur kostenminimalen
Auswahl von Primtermen verwendet werden
Spaltendominanzen und Zeilendominanzen knnen algebraisch mit
Hilfe des Petrick-Verfahrens in Form von Absorptionsregeln bzw.
Ausdistribuieren abgearbeitet bzw. bewiesen werden
Petrick-Verfahren wird bei zyklischen Resttabellen verwendet
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
13
Minimierungsmethoden
Petrick-Ausdruck (PA):
Der Petrick-Ausdruck ist algebraische Beschreibung der
berdeckungsedingungen
ob der Primterm k zur Lsung gehrt, wird mit der boolschen
Prsenzvariable (Auswahlvariable) p
k
angegeben
-> p
k
= 0 => Primterm k ist nicht in Lsung enthalten
-> p
k
= 1 => Primterm k ist Bestandteil der Lsung
zur berdeckung jeder Einsstelle muss mindestens ein Primterm
zur Lsung gehren, der diese Stelle berdeckt
Petrick-Ausdruck besteht daher aus Termen von disjunktiv verknpften
Prsenzvariablen
fr jede Einsstelle der Tabelle enthlt der PA einen Term
in jedem Term muss mindestens eine Prsenzvariable den Wert 1haben
Diese Terme werden konjunktiv zum Petrick-Ausdruck verknpft
der Petrick-Ausdruck muss immer eins liefern!
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
14
Minimierungsmethoden
berdeckungsproblem (Auswahlproblem)
Beispiel:
Im Petrick-Ausdruck kann man erfassen (beweisen!), dass die Prsenzvariablen
der Kernimplikanten (p
4
) immer eins sein mssen
1 ) ( & ) ( & ) ( & & ) ( & ) ( & ) (
!
3 1 7 3 2 1 4 7 5 6 2 6 5
p p p p p p p p p p p p p PA
j
k Pl
0 2 4 11 12 14 16
p
i
c
i
1
2 4
x x x x
p
1
c
1
2
2 3
x x
x x
p
2
c
2
3
1 3 4
x x x
x x
p
3
c
3
4
1 3 4
x x x
x
p
4
c
4
5
1 2 4
x x x
x x
p
5
c
5
6
1 3 4
x x x
x x
p
6
c
6
7
1 2 3
x x x
x x
p
7
c
7
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
15
Minimierungsmethoden
berdeckungsproblem (Auswahlproblem)
Auch der Petrick-Ausdruck wird durch Distributionsregeln
und Absorptionsregeln vereinfacht
Beispiel:
1 ) ( &
1
...
1 ) ( & ) ( & ) ( & & ) ( & ) ( & ) (
7 5 2 1 7 6 3 2 6 5 3 1 5 3 2 7 6 1 4
7 5 4 2 1 7 6 4 3 2 6 5 4 3 1 5 4 3 2 7 6 4 1
3 1 7 3 2 1 4 7 5 6 2 6 5


p p p p p p p p p p p p p p p p p p p
p p p p p p p p p p p p p p p p p p p p p p p
p p p p p p p p p p p p p PA
1
7 5 4 2 1 7 6 4 3 2 6 5 4 3 1 5 4 3 2 7 6 4 1
p p p p p p p p p p p p p p p p p p p p p p p PA
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
16
Minimierungsmethoden
berdeckungsproblem (Auswahlproblem)
Damit der Petrick-Ausdruck 1 wird, muss mindestens einer der
disjunktiv verknpften konjunktiven Teilterme eins sein
J eder konjunktive Teilterm reprsentiert genau eine mgliche
Lsung des Auswahlproblems
Zur Auswahl der optimalen Lsung:
die Kosten c
k
der Primterme p
k
werden herangezogen
Anzahl der Literale von p
k
Vergleich der Kostensummen K aller mglichen Lsungen
(K = Summe der Literale der jeweils notwendigen Primterme)
diejenige berdeckung mit optimalen Kosten
kann ermittelt werden
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
17
Minimierungsmethoden
berdeckungsproblem (Auswahlproblem)
Beispiel:
mit c
1
=c
2
=2; c
3
c
7
=3
p
1
p
4
p
6
p
7
K = 11
p
2
p
3
p
4
p
5
K = 11
p
1
p
3
p
4
p
5
p
6
K = 14
p
2
p
3
p
4
p
6
p
7
K = 14
p
1
p
2
p
4
p
5
p
7
K = 13
Damit ergeben sich zwei kostenminimale Lsungen:
p
1
p
4
p
6
p
7
und p
2
p
3
p
4
p
5
1
7 5 4 2 1 7 6 4 3 2 6 5 4 3 1 5 4 3 2 7 6 4 1
p p p p p p p p p p p p p p p p p p p p p p p PA
j
k Pl
0 2 4 11 12 14 16
p
i
c
i
1
2 4
x x x x p
1
c
1
2
2 3
x x x x p
2
c
2
3
1 3 4
x x x x x p
3
c
3
4
1 3 4
x x x x
p
4
c
4
5
1 2 4
x x x
x x
p
5
c
5
6
1 3 4
x x x x x p
6
c
6
7
1 2 3
x x x x x p
7
c
7
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
18
Minimierungsmethoden
berdeckungsproblem (Auswahlproblem)
Beispiel:
die zugehrigen disjunktiven Minimallsungen (DMF)
mit nur 11 Literalen sind:
1 4 2 4 3 1 4 2 1 3 2 1
y x x x x x x x x x x x
2 3 2 4 3 1 4 3 1 4 2 1
y x x x x x x x x x x x
und
x
3
x
2
x
1
x
4
1 0 0 1
1 0 -
-
1
1 -
-
0 1
0
1
y
2
y
2
x
2
x
1
x
4
1 0 0 1
1
0
- -
1 1 - -
0
1 0 1
x
3
y
1
y
1
www.kit.edu
Institut fr Technik der
Informationsverarbeitung
Digitaltechnik
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Karlsruher Institut fr Technologie (KIT)
Prof. Dr.-Ing. J . Becker
becker@kit.edu
Bausteine der Digitaltechnik
- Schaltnetze (Teil 1) -
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
2
Schaltnetze
- in der Regel bestehen logische Ausdrcke aus mehr als einem Operator
- aus den logischen Ausdrcken kann unmittelbar eine
Konstruktionsvorschrift fr Digitalschaltungen erstellt werden
Strukturvorschrift bzw. Strukturausdruck
Beispiel:
] [ ) & ( ) & (
1 2 1 2 1 2
z z x x x x y
1
1
&
&
1
2
x
1
x
1
z
2
z
y
1
- Als Stufenzahl bezeichnet man die Tiefe der Schaltung, der maximalen Anzahl von
Schaltgliedern von den Eingngen zum Ausgang (Inverter werden dabei nicht gezhlt)
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
3
Schaltnetze
- Schaltnetze sind Schaltungen, die unmittelbar einem Strukturausdruck entsprechen
- Dabei hngen die Ausgnge nur von den Signalen an den Eingngen ab
(Schaltzeiten der Schaltglieder (= Gatter) und Signallaufzeiten werden zunchst
vernachlssigt)
- Definition (nach DIN IEC 748 Teil 2):
Ein Schaltnetz ist eine Digitalschaltung, in der es fr jede mgliche Kombination von
digitalen Signalen an den Eingngen eine und nur eine Kombination von
digitalen Signalen an den Ausgngen gibt:
F X Y Y
t
= F(X
t
)
Dabei ist der hochgestellte Index t lediglich ein Hinweis darauf, dass die Gre Y zeitlich
unmittelbar aus der Gre X gebildet wird.
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
4
Entwurf von Schaltnetzen
Vorgehensweise:
1. Schritt: Umsetzung der verbalen Aufgabenstellung in eine formale Form,
z.B. in eine Funktionstabelle;
(dazu gehrt die Festlegung der Wertezuordnung fr die Binrvariablen)
2. Schritt: Bildung einer Normalform; Bildung einer vollstndigen Blockberdeckung
3. Schritt: Bildung einer Minimalform (bspw. nach S-Diagramm oder Nelson/Petrick)
4. Schritt: Umformung in das gewhlte Basissystem
5. Schritt: Umformen in den Strukturausdruck
6. Schritt: Umsetzen in das entsprechende Schaltnetz
(unter Umstnden sind nicht alle Schritte zum Entwurf notwendig)
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
5
Schaltnetzbeispiel: Addiererbaustein
Einfhrung
Um eine praktische Handhabung von arithmetischen Operationen zu erhalten,
bentigen wir eine Reihe von Schaltungen, die uns die Grundoperationen wie
Addition, Subtraktion oder Multiplikation zur Verfgung stellen
Im Folgenden werden zu diesem Zweck eine Reihe von Schaltungen
vorgestellt, die uns diese Funktionalitt bieten:
Addierer sind Schaltungen, die uns ermglichen
digital eine Addition durchzufhren
Hierzu existieren eine Reihe von Addiererstrukturen, die sich in ihren
Eigenschaften wie Laufzeiten oder Kosten (Gatteranzahl) unterscheiden
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
6
Schaltnetzbeispiel: Addiererbaustein
- summieren die beiden Eingangsbits a
i
und
b
i
und legen die Summe auf den Ausgang s
i
- zustzlich wird ein bertragsbit c
i+1
erzeugt
Halbaddierer
HA
i
b
i
a
i
s
1 i
c

HA
=1
&

i
b
i
a
1 i
c

i
s
a b s
0 0 0
0
1
1
1
0
1
1
1
0
c
0
0
0
1
i+1 i i i
i i i
b a s
i i 1 i
b a c

KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
7
Schaltnetzbeispiel: Addiererbaustein
- besitzen zustzlich einen
bertragseingang und sind somit in der
Lage, vorhergehende Stellen in die
Berechnung einzubeziehen
Volladdierer
i i i i
c b a s
i i i i i i 1 i
c b c a b a c

VA
i
b
i
a
i
c
i
s
1 i
c

b c s
0 0 0
0
1
1
1
0
1
1
1
0
c
0
0
0
1
i+1 i i i
a
0
0
0
0
i
0 0 1
0
1
1
1
0
1
0
0
1
0
1
1
1
1
1
1
1
VA
=1
&
1
&
&

i
b
i
a
i
c
i
s
1 i
c

KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
8
Schaltnetzbeispiel: Addiererbaustein
- 1. Baustein ist ein HA, die darauffolgenden VAs
n-Bit Ripple-Carry-Addierer
VA
1
b
1
a
1
s
2
c
HA
0
b
0
a
0
s
1
c
1 - n
c
VA
1 - n
b
1 - n
a
1 - n
s
n
c
...
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
9
Schaltnetzbeispiel: Addiererbaustein
- Nachteil: ein sehr langer kritischer Pfad !!!
- die Laufzeit betrgt 2n Gatter fr die Berechnung von c
n
Beispiel: 4-Bit Ripple-Carry-Addierer
VA
1
b
1
a
1
s
2
c
HA
0
b
0
a
0
s
1
c
3
c
VA
3
b
3
a
3
s
4
c
VA
2
b
2
a
2
s
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
10
Schaltnetzbeispiel: Addiererbaustein
- die Berechnung der bertrge geschieht parallel
- wir fhren neue Signale ein: p
i
(Propagate) und g
i
(Generate)
Carry-Look-Ahead-Addierer
i i i i i i
c p c b a s
i i i
i i i i i
i i i i i
i i i i i i 1 i
p c g
) b (a c b a
) b (a c b a
c b c a b a c



i i i i i i
b a g und b a p mit
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
11
Schaltnetzbeispiel: Addiererbaustein
- daraus ergeben sich folgende Gleichungen:
Carry-Look-Ahead-Addierer
0 0 0 1
p c g c
1 0 0 1 0 1 1 1 1 2
p c g c p p c p g g
2 1 0 0 2 1 0 2 1 2 2 2 2 3
p p p c p p g p g g p c g 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-1
c g c p g g p g p p g p ...p c p ...p
damit lassen sich die bertragswerte mit 3 Stufen berechnen.
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
12
Schaltnetzbeispiel: Addiererbaustein
Beispiel: 3-Bit Carry-Look-Ahead-Addierer
GP
0
b
0
a
0
c
0
s
1
b
1
a
2
b
2
a
C
=1
0
g
0
p
1
g
1
p
2
g
2
p
=1
1
c
3
c
1
p
2
c
2
p
=1
0
c
0
p
1
s
2
s
0 0 0 1
p c g c
1 0 0 1 0 1 1 1 1 2
p c g c p p c p g g
2 1 0 0 2 1 0 2 1 2 2 2 2 3
p p p c p p g p g g p c g c
i i i i i i
c p c b a s
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
13
Schaltnetzbeispiel: Addiererbaustein
- Problem: beim n-Bit Addierer werden Gatter mit n+1 Eingngen,
sowie interne Signalverzweigungen hufig bentigt
Doppelberechnung von gleichen Termen!
- Abhilfe: Erweiterung des PG-Schemas auf Bitgruppen, z.B. 4 Bit
Carry-Look-Ahead-Addierer:
0 3 2 1 0 3 2 1 0 3 2 1 3 2 3 4
c p p p p p p p g p p g p g g c
0 0 : 3 0 : 3 4
c P G c
3 2 1 0 3 2 1 3 2 3 0 : 3
p p p g p p g p g g G
3 2 1 0 0 : 3
p p p p P
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
14
Schaltnetzbeispiel: Addiererbaustein
- weiterhin gilt:
- durch Substitution erhlt man:
Carry-Look-Ahead-Addierer
0 0 : 3 0 : 3 4
c P G c
4 :4 7 :4 7 8
c P G c
8 8 : 11 8 : 11 12
c P G c
12 12 : 15 12 : 15 16
c P G c
0 0 : 3 0 : 3 4
c P G c
0 0 : 3 :4 7 0 : 3 :4 7 :4 7 8
c P P G P G c
0 0 : 3 :4 7 8 : 11 0 : 3 :4 7 8 : 11 :4 7 8 : 11 8 : 11 12
c P P P G P P G P G c
0 0 : 3 :4 7 8 : 11 12 : 15 0 : 3 :4 7 8 : 11 12 : 15 :4 7 8 : 11 12 : 15 8 : 11 12 : 15 12 : 15 16
c P P P P G P P P G P P G P G c
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
15
Schaltnetzbeispiel: Subtrahiererbaustein
- Die Subtraktion lsst sich auf die Addition des K2-Komplements
zurckfhren
- Dies bedeutet die bitweise Negation und Addition einer 1
- Fr einen kombinierten Addierer/Subtrahierer lsst sich die bitweise
Negation ber XOR steuern
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
16
Schaltnetzbeispiel: Subtrahiererbaustein
Beispiel: 4-Bit Addierer/Subtrahierer
- Addierer mit k=0, Subtrahierer mit k=1
VA
1
b
1
a
1
s
2
c
VA
0
b
0
a
0
s
1
c
3
c
VA
3
b
3
a
3
s
4
c
VA
2
b
2
a
2
s
=1
=1
=1
=1
0
c

k
www.kit.edu
Institut fr Technik der
Informationsverarbeitung
Karlsruher Institut fr Technologie (KIT)
Digitaltechnik
Prof. Dr.-Ing. J . Becker
becker@kit.edu
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Bausteine der Digitaltechnik
- Schaltnetze (Teil 2) -
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
2
Schaltnetze
Allgemein: Hardwaretechnische Realisierung von Schaltnetzen
- Anwendung schaltalgebraischer Regeln auf logische Ausdrcke erlaubt
vielfltige Formen fr Schaltnetze krause Logik
- Komplexe Schaltnetze: unbersichtliche und teilweise schwierige Verhltnisse
Bentigt: bersichtliche Methode zur schnellen und kostengnstigen
Realisierung von Schaltnetzen in Form integrierter Schaltungen (ICs)
Grundprinzip: Weglassen / Hinzufgen 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 Realisierungsmglichkeit:
-> durch eine Matrixstruktur
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
3
Normalformorientierte Strukturen: DNF
Beispiel: ULA (Universal Logic Array)
- besteht aus 2
n
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 Verknpfung der Minterme mit 1 oder 0
Beispiel: dargestellte Funktion
7 6 5 4 1
m m m m m y
&
1
1
1
&
0
&
0
&
0
&
m
1
&
m
4
&
m
5
&
m
6
m
7
y =f(X)
V
X
1
0
1
0
x
1
x
1
x
2
x
2
x
3
x
3
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
4
Normalformorientierte Strukturen: DNF
X
1
0
1
0 0
0 m
7
V
y =f(X)
1
m
1
1
m
6
1
1
m
5
0
0
1
m
4
0
&
1
0
x
1
x
1
x
2
x
2
x
3
x
3
(Einsstellenmenge)
(Nullstellenmenge)
Vereinfachte Darstellung der Kontaktierung eines ULA:
- einfache Punkte: reprsentieren feste Verbindungen
- Punkte mit einem Kreis: programmierbare (personalisierte) Verbindungen
Beispiel: dargestellte Funktion
7 6 5 4 1
m m m m m y
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
5
Normalformorientierte Strukturen: DNF
&
1
1
1
& & &
m
1
&
m
4
&
m
5
&
m
6
y =f(X)
V
X
&
m
7
x
1
x
1
x
2
x
2
x
3
x
3
Beispiel: ROM (Read Only Memory)
Beispiel: dargestellte Funktion
7 6 5 4 1
m m m m m y
- besteht aus 2
n
UND-Schaltgliedern in der 1. Stufe
- einem oder mehreren ODER-Schaltgliedern in der 2. Stufe
- Personalisierung: in 2. Stufe durch Weglassen / Hinzufgen von Mintermen
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
6
Normalformorientierte Strukturen: DNF
Vereinfachte Darstellung fr die Kontaktierung eines ROM:

X
1
x1
x
1
x
2
x
2
x
3
x
3
y=f(X)
&
m
1
m
4
m
5
m
6
m
7
m
0
m
2
V
0 1 1 1 1 1 0 0
m
3
Beispiel: dargestellte Funktion
7 6 5 4 1
m m m m m y
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
7
Blockorientierte Strukturen: DMF
Beispiel: PAL (Programmable Array Logic):
- besteht i.a. aus weniger als 2
n
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 ) & ( ) & ( ), ( ) & (
1 2 1 2 3 1 2
x x x x z x x x y
& & & & & &
z
V
1
1
1
X
x
1
x
1
x
2
x
2
x
3
x
3
V
y
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
8
Blockorientierte Strukturen: DMF
X
1
x
1
x
2
x
3
x
3
y = f (X)
&
x
2
x
1
V
V
z = g (X)
x1 x1
x
2
x
1
x
2
x
3
x
2
Vereinfachte Darstellung eines PALs:
Beispiel: dargestellte Funktion ) & ( ) & ( ), ( ) & (
1 2 1 2 3 1 2
x x x x z x x x y
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
9
Blockorientierte Strukturen: DMF
Beispiel: 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 ) & ( ) & ( ), ( ) & (
1 2 1 2 3 1 2
x x x x z x x x y
& & & & &
z
V
1
1
1
X
x
1
x
1
x2
x2
x
3
x
3
V y
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
10
Blockorientierte Strukturen: DMF
x
1
x
2
X
1
x
1
x
2
x
3
x
3
y = f (X)
&
x
2
V
V
z = g (X)
x1
x
1
x
3
x
2
1 1 0 0 0
1 0 0 1 0
Vereinfachte Darstellung eines PLAs:
Beispiel: dargestellte Funktion ) & ( ) & ( ), ( ) & (
1 2 1 2 3 1 2
x x x x z x x x y
www.kit.edu
Institut fr Technik der
Informationsverarbeitung
Digitaltechnik
Karlsruher Institut fr Technologie (KIT)
Prof. Dr.-Ing. J . Becker
becker@kit.edu
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Bausteine der Digitaltechnik
- Schaltnetze (Teil 3) -
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
2
Entwurf von Schaltnetzen
Vorgehensweise:
1. Schritt: Umsetzung der verbalen Aufgabenstellung in eine formale Form,
z.B. in eine Funktionstabelle;
(dazu gehrt die Festlegung der Wertezuordnung fr die Binrvariablen)
2. Schritt: Bildung einer Normalform; Bildung einer vollstndigen Blockberdeckung
3. Schritt: Bildung einer Minimalform (bspw. nach S- Diagramm oder Nelson/Petrick)
4. Schritt: Umformung in das gewhlte Basissystem
5. Schritt: Umformen in den Strukturausdruck
6. Schritt: Umsetzen in das entsprechende Schaltnetz
(unter Umstnden sind nicht alle Schritte zum Entwurf notwendig)
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
3
Schaltnetze: Beispielentwurf
Beispiel: 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 Verfgung stehen nur NAND-Gatter mit zwei Eingngen und Inverter.
1. Schritt:
Zuordnung: Segment hell: f = 1, Segment dunkel: f = 0
Benennung der Eingnge: BCD mit (x
4
, x
3
, x
2
, x
1
)
a
g
d
f
b
c e
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
4
a
g
d
f
b
c e
Schaltnetze: Beispielentwurf
Ziffer j x4 x3 x2 x1 f
0 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 fr das Segment f:
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
5
Schaltnetze: Beispielentwurf
2. Schritt: siehe 3. Schritt
3. Schritt: Minimierung z.B. nach dem Nelson-Verfahren
) ( & ) ( & ) (
1 2 3 4 2 3 4 1 2 3 4
x x x x x x x x x x x f
E

) ( & ) (
1 2 3 4 1 2 3 4
x x x x x x x x
1 2 1 3 2 3 4
x x x x x x x
Primimplikanten sind nun bekannt, bleibt noch das berdeckungsproblem:
j
PI
k
x
4
0

4

5

6

10
X
11
X
x
3
x
2
_
x
3
x
1
_
x
2
_
x
1
_
X
X
X X
X
X
X
Die Funktion besteht nur aus Kernimplikanten, somit liegt eine Minimalform (DMF) vor:
1 2 1 3 2 3 4
x x x x x x x f
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
6
Schaltnetze: Beispielentwurf
4. Schritt: Umwandlung in NAND-Basissystem
1 2 1 3 2 3 4
x x x x x x x f
1 2 1 3 2 3 4
x x x x x x x
1 2 1 3 2 3 4
& & & x x x x x x x
doppelte Negation
de Morgansche Regeln

1
1
1
&
&
&
&
f
x
4
x
3
x
2
x
1
NAND-Gatter der
2. Stufe bentigt
mehr als 2 Eingnge
-> Umformung
der 2. Stufe
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
7
Schaltnetze: Beispielentwurf
5. Schritt: Strukturausdruck fr Gatter mit zwei Eingngen und Inverter
1 2 1 3 2 3 4
& & & x x x x x x x f
) & ( & ) & (
1 2 1 3 2 3 4
x x x x x x x
Umformung des NAND-Gatters in der 2. Stufe
6. Schritt: Konstruktion des NAND2-Schaltnetzes aus dem Strukturausdruck
) & ( & ) & (
1 2 1 3 2 3 4
x x x x x x x f
1
1
1
&
&
&
&
&
1
1
&
f
x
4
x
3
x
2
x
1

www.kit.edu
Institut fr Technik der
Informationsverarbeitung
Karlsruher Institut fr Technologie (KIT)
Digitaltechnik
Prof. Dr.-Ing. J. Becker
becker@kit.edu
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Bausteine der Digitaltechnik
- Automaten und Binrspeicher -
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
2
Automaten - Motivation
- Schaltnetze: ermglichen die Bildung von Ausgangsgren
unmittelbar aus Eingangsgren
- maximal sinnvolle Gre der Schaltnetze ist jedoch aus wirtschaftlichen
und technischen Grnden beschrnkt
- Notwendig: ein neues Verarbeitungskonzept, welches die Mchtigkeit
des Eingangsalphabets reduziert und die Komplexitt der
Ausgabegre in andere Dimension verlagert
- Beispiel fr Mchtigkeit / Komplexitt: Ausgabe von Automatenware
- Bei Einsatz von Schaltnetzen zur Verarbeitung der Eingaben wre 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
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
3
Automaten - Allgemein
- Verallgemeinerung des Problems:
- endliches Eingabealphabet: E = { E
1
, E
2
, ... , E
g
, ... , E
u
}
- endliches Ausgabealphabet: A = { A
1
, A
2
, ... , A
h
, ... , A
v
}
-> das neue Konzept beschrieben durch eine Einheit AT, bei der eine zeitliche
Folge von Elementen des Eingabealphabets F
E
in eine zeitliche Folge von
Elementen des Ausgabealphabets F
A
abgebildet wird:
- zur Unterscheidung zeitlicher Reihung: Einfhrung eines Ordnungsindizes v
F
E
AT F
A
F
E
= E
g
v
E
g
v-1
E
g
v-2
... F
A
= A
h
v
A
h
v-1
A
h
v-1
...
Fr die neue Einheit AT muss gelten: A
h
v
= f ( E
g
v
, E
g
v-1
, E
g
v-2
, ... , E
g
v-o
)
- insgesamt werden o+1 Elemente des Eingabealphabets beobachtet
- o ist die zeitliche Tiefe der Verarbeitung
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
4
Automaten - Allgemein
- Erhalt neuen Elements -> lteste Element E
g
v-o
entfllt aus Folge mit Lnge (o+1)
- Nachteil des Konzeptes: Speicherung von o Eingabeelementen erforderlich, um
A
h
v
zu berechnen:
v
g E
v
h
A
AT
.
.
.
g
E
v-1
g
E
v-a
g
E
f
v-2
-> bei Normierung der Indizes dem Alter nach erhlt man:
a v
g
1 a v
g
2 v
g
1 v
g
v
g
E .....E E E E
+
a v
g
1 a v
g
2 v
g
1 v
g
v
g
1 v
g
E E ..... E E E E
+ +
a v
g
1 a v
g
2 v
g
1 v
g
v
g
1 v
g
E E ..... E E E E
+ +
a v
g
1 a v
g
2 v
g
1 v
g
v
g
E E ..... E E E
+
v+1 v:
v:
v+1:
v+1: reduziert
normiert
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
5
Automaten - Allgemein
( E
g
v-1
... E
g
v-o
) S, mit |E|
o
> |S|
Weiterhin: Abbildung der Folge E
g
v-1
... E
g
v-o
auf ein neues Alphabet
S = { S
1
, ... , S
k
, ... , S
w
} mit geringerer Mchtigkeit:
- das Element S
k
wird Zustand von AT genannt
- unter Beachtung der zeitlichen Reihung erhlt man nun:
A
h
v
= ( E
g
v
, S
k
v
), mit als Ausgabefunktion von AT
Also: bei Eingabe eines neuen Eingabeelements E
g
v
ergibt sich unter Be-
rcksichtigung des aktuellen Zustands (so genante Historie der Eingaben):
S
k
v+1
= o ( E
g
v
, S
k
v
), mit o als berfhrungsfunktion der Zustnde
- Kennzeichnung der Einheit AT als Quintupel
AT = ( E, A, S, o, )
mit drei endlichen Mengen und zwei Abbildungen zwischen diesen Mengen
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
6
Automaten- Allgemein
- Darstellung des Automaten durch folgende Struktur:
S
k
v+1
S
k
v
E
g
v
A
h
v

o
Speicher
- rekursive Anordnung fr die Bestimmung des neuen Zustandes
- der Speicher nimmt den momentanen Zustand S
k
v
auf
- der neue Zustand S
k
v+1
muss zum richtigen Zeitpunkt bernommen werden
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
7
Automaten - Typen
-> Mealy-Automat mit A
h
v
= ( E
g
v
, S
k
v
) als allgemeinster Fall:
S
k
v+1
S
k
v
E
g
v
A
h
v

o
Speicher
- Bezglich der Ausgabefunktion von E
g
v
und S
k
v
unterscheidet man drei Flle:
Wichtige Typklassen von Automaten im Zusammenhang mit Digitalschaltungen:
- endliche, diskrete und deterministische Automaten
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
8
Automaten - Typen
- Moore-Automat mit A
h
v
= ( S
k
v
) als ein Spezialfall, bei dem die Ausgabe
allein vom Zustand abhngt:
S
k
v+1
S
k
v
E
g
v
A
h
v

o
Speicher
- Medwedew-Automat mit A
h
v
= S
k
v
als dem Spezialfall, bei dem als Ausgabe
der Zustand selbst dient:
S
k
v+1
S
k
v
E
g
v
A
h
v
o
Speicher
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
9
Automaten - Typen
- Automatengraphen: Knoten reprsentieren Zustnde, Kanten als Zustandsbergnge
E /A
2 1
E /A
1
2
E /A 2
2
E /A
1
1
E /A
2
E /A
2
3
E /A
1
2
3 S
4 S S2
1 S
S
v E /A
v v
E /A
1
1
allgemein
?
S
v+1
k k

q
Beispiel:
3
E ,E
1 2
E
1
E
1
E
2
E
2
E
n
E , E
2
1
2 1 S A /
+1 n
S /A
+1 n
allgemein:
n n
S /A
/
1
S 1 A
/
3 S
2
A
4 3 S A
/
k k
g
h
h
Beispiel:
Mealy Moore
- Beide Elemente des Graphen werden mit Attributen versehen, die sich
auf Eingangs- und Ausgangselemente beziehen
Beschreibung des Verhaltens: Automatengraphen und Automatentafeln
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
10
S
v+1
/ A
v
S
v+1
S
v
E
1
E
2
S
v
E
1
E
2
A
v
S
1
S
2
/ A
2
S
4
/ A
2
S
1
S
2
S
4
A
1
S
2
S
3
/ A
1
S
2
/ A
1
S
2
S
3
S
2
A
1
S
3
S
4
/ A
1
S
4
/ A
3
S
3
S
4
S
4
A
2
S
4
S
2
/ A
2
S
2
/ A
3
S
4
S
2
S
2
A
3
Automaten - Typen
Automatentafel:
Mealy Moore
- Bilden des kartesischen Produktes aus Eingabe- und Zustandsmenge
- An Kreuzungsstellen werden beim Mealy-Automaten der jeweilige Folgezustand
und die Ausgabe, beim Moore-Automaten nur der Folgezustand eingetragen
S
v+1
/ A
v
S
v+1
S
v
E
1
v
.. . E
n
v
S
v
E
1
v
.. . E
n
v
A
v
.. . .. . .. . .. .
S
v
.. . S
k
v+1
/ A
h
v
.. . S
v
.. . S
k
v+1
.. . A
h
v
.. . .. . .. . .. .
Beispiele:
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
11
Schaltwerke
Die technische Realisierung eines endlichen, diskreten und deterministischen
Automaten wird Schaltwerk genannt (im Gegensatz zum gedchtnislosen Schaltnetz)
- Unterscheidung zwischen Mealy-, Moore- und Medwedew-Schaltwerken
- beim bergang vom Automaten zum Schaltwerk ist eine eineindeutige Abbildung
der Automatenelemente in binre Gren (Bit-Leitungen) erforderlich:
E { X
j
} mit |E| s 2
n
bei X = ( x
n
, ... , x
1
)
A { Y
i
} mit |A| s 2
m
bei Y = ( y
m
, ... , y
1
)
Neu: eineindeutige Abbildung der Zustnde S
k
der Menge S in die Menge
der Belegungen eines weiteren Binrvektors, des Zustandvektors Q:
S { Q
k
} mit |S| s 2
r
bei Q = ( q
r
, ... , q
1
)
-> Zustandskodierung, und o werden als Schaltnetze abgebildet
- Spezifikation von Schaltwerken: Automatengraphen und Automatentafeln
-> entsprechende Automatenelemente werden durch ihre binre quivalente ersetzt
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
12
Schaltwerke
Weiterhin: formal eingefhrte Indizierung v der zeitlichen Ordnung muss nun in
technische Realisierung berfhrt werden
- Schaltwerke, bei denen Rckfhrungen direkt wirksam werden,
heien asynchron -> sie sind schwieriger zu entwerfen
-> Rckfhrung der Zustnde ber einen Speicher:
Speicher
g
S
v
S
+1
v
x = konstant
Also: ein Speicher wird bentigt, der die Schwierigkeit der unmittelbar wirksamen
Rckkopplung vermeidet, indem nur zu bestimmten Zeitpunkten die am
Speicher anliegenden Werte bernommen werden
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
13
Schaltwerke
Funktion: c = 0: (Teilspeicher 1) = S
v+1
c = 1: (Teilspeicher 2) = (Teilspeicher 1)
immer: S
v
= (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
Master Slave
S
v+1
S
v
Takt c
Als zustzliches informationsfreies Binrsignal, wird der sogenannte Takt c bentigt
-> Takte an allen Schaltungsteilen gleichzeitig aktiv -> synchrones Schaltwerk
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
14
Schaltwerke
-> die Zhlung des Indexes v muss aus dem Taktsignal abgeleitet werden
Mealy-Automat: nderung der Eingabe bewirkt asynchrone Ausgabenberechnung
Steuerungsarten des Taktes:

v
t
v
t
t
v
t
t
. . .
v v
-1
v
+1
. . .
v
+1
. . .
. . .
v
-1
. . . v
+1
. . .
1
0
Schaltwerk
c
c
Schaltwerk
c
Schaltwerk
c
Schaltwerk
c
1
0
1
0
1
0
t
v
t
+1
v
t
v
t
+1 v
v
t v
+1
tv t +1 v
c
c
c
pegelgesteuert:
pegelgesteuert:
flankengesteuert:
flankengesteuert:
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
15
Binrspeicher (FlipFlops)
-> ist |S| die Zahl der Zustnde, berechnet sich die Gre des Binrvektors Q zu:
Binrspeicher werden zur Speicherung von Zustnden der Schaltwerke bentigt
- einzelne Zustandsvariablen q
k
werden rekursiv mit o berechnet
r = ld|S|( mit Q = ( q
r
, ... , q
k
, ... , q
1
)
mit q
k
einer beliebigen Zustandsvariable des Zustandsvektors
- eine zwei Werte speichernde Einheit wird als Binrspeicher bezeichnet: FlipFlop
- ein Speicher mit r FlipFlops kann 2
r
unterschiedliche Zustnde speichern
-> grundstzliche Funktionen eines Binrspeichers:
- muss wahlweise eine 0 oder 1 einspeichern knnen (schreiben)
- der Wert im Speicher muss extern zur Verfgung stehen (lesen)
- Vorhandensein eines Taktes: Rekursion (v+1 => v) muss vom Binrspeicher
unter Einwirkung des Taktes verwirklicht werden
Also: verschiedene Varianten der Binrspeicher diskutieren
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
16
Binrspeicher (FlipFlops)
-> das gleichzeitige Schreiben von 0 und 1 (R=1, S=1) bei RS-FlipFlop ist unzulssig
Fall 1: RS-FlipFlop
Lesesignal =
^
Zustandswert:
q
k
e {0,1}
Schreiben einer 0,
Rcksetzen:
R {0,1} 0 =
^
inaktiv
1 =
^
Schreiben 0
Schreiben einer 1,
Setzen:
S {0,1} 0 =
^
inaktiv
1 =
^
Schreiben 1
e
e
Fall 2: D-FlipFlop
Lesesignal =
^
Zustandswert:
q
k
{0,1}
Datensignal =
^
Zustandswert neu:
D {0,1}
Schreiben des Wertes von D:
W {0,1} 0 =
^
inaktiv
1 =
^
Schreiben
e
e
e
Funktionstabellen:
q
k
alt
R S q
k
neu
0
0
0
0
0
1
0
1
0
0
1
1
1
1
0
1
0
0
0
1
0
-
1
1
1
1
1
1
0
1
0
-
q
k
alt
D W q
k
neu
0
0
0
0
0
1
0
0
0
0
1
1
1
1
0
0
0
1
0
1
0
1
1
0
1
1
1
1
0
1
1
1
Binrspeicher-
Varianten:
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
17
Binrspeicher (FlipFlops)
- bertragung der zeitlichen Indizes v und v+1 auf die Schaltnetzgren:
q
k
alt
= q
k
v
, q
k
neu
= q
k
v+1
, R
v
, S
v
, D
v
, W
v
- die charakteristischen Gleichungen lauten:
- berfhrungsfunktion zur Bildung von q
k
v+1
fr beide Flle:
0 1 1 1
0 - - 0
0 0 0 1
0 1 1 1
S
v
W
v
q
v
k
q
v
k
R
v
D
v
q
k
v+1
= (D
v
& W
v
) v (q
k
v
& W
v
)
Funktionstabellen:
q
k
alt
R S q
k
neu
0
0
0
0
0
1
0
1
0
0
1
1
1
1
0
1
0
0
0
1
0
-
1
1
1
1
1
1
0
1
0
-
q
k
alt
D W q
k
neu
0
0
0
0
0
1
0
0
0
0
1
1
1
1
0
0
0
1
0
1
0
1
1
0
1
1
1
1
0
1
1
1
q
k
v+1
= S
v
v (q
k
v
& R
v
) , mit S
v
& R
v
= 0
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
18
Binrspeicher (FlipFlops)
Zusammenhang fr einen bestimmten Wertebergang: q
k
v
q
k
v+1
-> gibt die sogenannte Ansteuerfunktion an:
q
v
q
v+1
R
v
S
v
0 0 - 0
0 1 0 1
1 0 1 0
1 1 0 -
q
v
q
v+1
D
v
W
v
0 0 - 0
0 1 1 1
1 0 0 1
1 1 - 0
daraus ergibt sich:
S
v
= q
k
v+1
R
v
= q
k
v+1
W
v
= q
k
v+1
q
k
v
D
v
= q
k
v+1
oder: D
v
= q
k
v
- neben der formalen Behandlung des Binrspeicherverhaltens ist die
technische Realisierung solcher Elemente von Bedeutung
Beispiele:
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
19
Symbole
Charakteristische Gleichungen Ansteuerfunktionen
q
q
R
S
q
q
1R
1S
C1
q
v+1
= S v (q
v
& R)
_
q
v
q
v +1
R S
0 0 - 0
0 1 0 1
1 0 1 0
1 1 0 -
q
q
1D
C1
q
q
1J
1K
C1
q
q
1T
C1
q
v+1
= D
q
v+1
= (T & q
v
) v (T & q
v
)
_
_
q
v+1
= (K & q
v
) v (J & q
v
)
_
_
q
v
q
v +1
K J
0 0 - 0
0 1 - 1
1 0 1 -
1 1 0 -
q
v
q
v +1
D
0 0 0
0 1 1
1 0 0
1 1 1
q
v
q
v +1
T
0 0 0
0 1 1
1 0 1
1 1 0
Binrspeicher (FlipFlops)
RS-FlipFlop
D-FlipFlop
T-FlipFlop
JK-FlipFlop
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
20
Ablaufdiagramm und Ablauftabelle
Beschreibung des Automatenverhaltens:
-> nicht alle Komponenten des Eingabevektors beim bergang zum
Folgezustand sind relevant und mssen bercksichtigt werden
- Schaltwerkstafel bzw. Schaltwerksgraph sind als
Beschreibungsmittel oftmals ungnstig
Daher: an dieser Stelle werden das Ablaufdiagramm bzw.
die Ablauftabelle eingefhrt,
die sich durch eine platzsparendere
und effizientere Beschreibungsform auszeichnen
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
21
Ablaufdiagramm und Ablauftabelle
bergang in den Zustand k, ausgelst
durch das Taktsignal
Abfrage der im aktuellen Zustand k
relevanten Eingangsvariablen auf
ihre Werte X
R
= (x
Rv
, ... , x
R2
, x
R1
)
Wert des Ausgangsvektors
Y = (y
m
, ... , y
1
) im
aktuellen Zustand
k
A
4) Markierung des Anfangszustands
Y
3) Ausgabe
k
1) Zustandsbergang
X
2) Abfrage (Verzweigung)
R
x
Rv
x
R2
x
R1
...
Ablaufdiagramm:
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
22
Ablaufdiagramm und Ablauftabelle
Mealy- und Moore-Schaltwerke werden entsprechend der Abhngigkeiten
Y
v
= (Q
v
,X
v
) bzw. Y
v
= (Q
v
)
durch die Reihenfolge der Symbole fr Verzweigungen und Ausgabe bercksichtigt
-> Definition des Ablaufschrittes:
- Tripel aus Zustandsbergang, Ausgabe und Verzweigung,
das jeweils zu einem Wert des Index v gehrt
Moore-Ablaufschritt Mealy-Ablaufschritt
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
23
Ablaufdiagramm und Ablauftabelle
Komplexere Schaltwerksbeschreibungen: grere Zustandsanzahl
-> es eignet sich eine tabellenorientierte Darstellung besser:
Ablauftabelle:
Q
v
X
R
(k) Q
v+1
Y(k)
k
- die Ablauftabelle setzt sich aus Teiltabellen fr jeden Ablaufschritt zusammen
-> Teiltabellen bestehen aus je vier Spalten:
- fr den momentanen Zustand Q
v
- fr die Eingabeblcke der jeweils relevanten Eingabevariablen X
R
(k)
- fr den Folgezustand Q
v+1
- fr die Ausgabeblcke Y(k)
- Zustnde sind in Ablauftabellen i.a. nicht kodiert
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
24
Ablaufdiagramm und Ablauftabelle
Beispiel:
Q
v
X
R
(3) Q
v+1
Y(3)
x
6
x
4
x
3
x
1

3 0 - 0 1 l
1
Y
1
0 1 0 0 l
2
0 1 1 1 l
2
1 1 0 1 l
2
1 0 - - l
3
- 0 1 1 l
3
1 1 1 0 l
4
l
1
, l
2
, l
3
, l
4
seien Folgezustnde zum Zu-
stand 3 ,
Y
1
die Ausgabe gem Schalt-
werks t yp (hier Moore).
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
25
Entwurf von Schaltwerken
Schaltwerkentwurf gliedert sich in folgende Schritte:
1. Schritt: Definition der Ein- und Ausgabevariablen
2. Schritt: Wahl des Schaltwerktyps und Erstellen des Ablaufdiagramms
bzw. der Ablauftabelle gem Aufgabenstellung
3. Schritt: Zustandskodierung
4. Schritt: Wahl des FlipFlop-Typs und Aufstellen der Ansteuerfunktionen
5. Schritt: Entwurf des Schaltnetzes fr die berfhrungsfunktion auf der
Basis der Ansteuerfunktionen
6. Schritt: Entwurf des Schaltnetzes fr die Ausgabefunktion
7. Schritt: Eventuell Umformung der logischen Ausdrcke in
geeignete Strukturausdrcke
8. Schritt: Umsetzen in das Schaltbild des Schaltwerkes
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
26
Entwurf von Schaltwerken
Beispiel: Verbale Aufgabenstellung
Eine Schaltung fr einen sehr einfachen Anrufbeantworter soll zunchst ein Klingelzeichen des Tele-
fons abwarten. Wenn bis zum Beginn des zweiten Klingelzeichens der Hrer nicht abgenommen wurde,
soll der Anrufbeantworter eingeschaltet werden. Dieser spielt dann seine Mitteilung ab, egal wie lange
der Anrufer tatschlich zuhrt. Erst wenn das Band vollstndig abgespielt ist, wird der Anrufbeantworter
wieder ausgeschaltet. Der Ausschaltvorgang beinhaltet ein automatisches Rckspulen des Bandes.
1. Schritt: Eingabevariablen: Klingelzeichen: K = 1
Klingelpause: K = 0
Timeout, d.h. Klingelpause dauert zu lange;
Anrufer hat nach dem ersten Klingelzeichen
aufgelegt: T = 1
sonst: T = 0
Bandende: B = 1
sonst: B = 0
Ausgabevariablen: Anrufbeantworter ein: A = 1
Anrufbeantworter aus: A = 0
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
27
Entwurf von Schaltwerken
2. 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
1
0
1
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
28
Entwurf von Schaltwerken
3. + 4. Schritt: Fr 4 Zustnde werden 2 Zustandsvariablen (q
2
, q
1
) bentigt.
Erstellen der kodierten Ablauftabelle.
Die Kodierung wird willkrlich, z.B. als sogenannte Zhlerkodierung ausgefhrt.
Q
2
q
1
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. q
2
D
2
und q
1
D
1
Q
v
Q
v+1
Y
q
v
q
v
q
2
v+1
q
v+1
A
X
R
(1):K
0 0 0 0 0 0
1 0 1
X
R
(2):K
0 1 0 1 0 0
1 0 1
X
R
(3):K,T
1 0 0 0 1 0 0
1 - 1 1
0 1 0 0
X
R
(4):B
1 1 0 1 1 1
1 0 0
Q
v
Q
v+1
Y
q
2
v
q
v
q
v+1
q
v+1
A
X
R
(1):K
0 0 0 0 0 0
1 0 1
X
R
(2):K
0 1 0 1 0 0
1 0 1
X
R
(3):K,T
1 0 0 0 1 0 0
1 - 1 1
0 1 0 0
X
R
(4):B
1 1 0 1 1 1
1 0 0
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
29
Entwurf von Schaltwerken
5. 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
1 1
1 1
1 1
1 1
0 0
0 0
0 0
0 0
0
0
0 0
0 0 0 0
1 1 0 0
1 1 0 0
0 0
0 0
1 1
0 0
B
B B
B
T
T
q
K
K
v
q
v
1
1
q
v
2
q
v
2
D
2
D
1
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
= v v v
= v v
Symmetriediagramme
fr Ansteuerfunktionen
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
30
Entwurf von Schaltwerken
6. Schritt: Aus der Ablauftabelle folgt sofort:
v v
q q A
1 2
=
7. Schritt: Wenn zum Beispiel ausschlielich Gatter mit 2 Eingngen
zur Verfgung stehen
-> man muss man eine entsprechende Umformung vornehmen:
2 2 1 2 1 2 1 1
( ) ( ) ( )
v v v v v v v
D q q K q q T q q K q B
(
= v v v

1 2 2 1 1
( )
v v v v
D q K q q K q B = v v
2 1
v v
A q q =
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
31
Entwurf von Schaltwerken
8. Schritt: Blockschema (Schaltbild) des Schaltwerkes
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
32
Entwurf von Schaltwerken
Analog zu den Schaltnetzen:
- es besteht die Mglichkeit zweistufige Logik in programmierbare
integrierte Schaltungen einzubetten
-> dies kann ebenso bei Schaltwerken geschehen
-> anhand des Bausteins AmPAL16R6 soll dies
fr das Beispiel gezeigt werden
- wegen negierter Ausgnge des Bausteins muss unsere
Lsung umgeformt werden:
v v v v v v
q q q q q q A
1 2 1 2 1 2
v = = =
- Ansteuerfunktionen fr D
1
und D
2
knnen Schritt 5 entnommen werden
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
33
Entwurf von Schaltwerken
Einbettung 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
C
0 2 4
1
6
7 3 5
8 10
9 11
12 14
13 15
16
17
18
19
2022
21 23
24
25
26
27
28
29
30
31
C1
1D Q
Q
C1
1D Q
Q
1
1
17
1 11
18
A
Eingnge (0-31)
( )
P
r
o
d
u
k
t
t
e
r
m
e

(
0
-
6
3
)
D
2
D
11
q
2
q
2
q
1
q
1
D
12
( )
"
1"
1
1
1
www.kit.edu
Institut fr Technik der
Informationsverarbeitung
Karlsruher Institut fr Technologie (KIT)
Digitaltechnik
Prof. Dr.-Ing. J . Becker
becker@kit.edu
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Digitale Speicherbausteine
(FlipFlop-Schaltungen)
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
2
Sequentielle Logik
Sequentielle Schaltkreise bestehen meist aus einem oder mehreren
Rckkopplungspfaden in Kombination mit Speicherelementen
Kombinatorische
Logik
Speicher-
elemente
Kombinatorische
Ausgnge Speicherausgnge
Externe Eingnge
Sequentieller Schaltkreis = Kombinatorische Logik +
Speicherelemente
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
3
Sequentielle Logik
Es existieren zwei Typen von sequentiellen Schaltkreisen:
synchron: Ausgnge ndern sich zu festgelegten Zeitpunkten
Takt
asynchron: Ausgnge 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 Zustnde
gendert werden
in Abhngigkeit der Eingangssignale
sowie des Taktsignals
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
4
Speicherelemente
Speicherelement: ein Gert oder Modul, welches einen zuvor-angelegten
Wert unbegrenzt Speichern und auf Wunsch wieder ndern kann
Befehl
Speicher-
element
gespeicherter
Wert
Q
Q(t): aktueller Zustand
Q(t+1): nchster Zustand
Charakteristische Tabelle:
Befehl
(zum Zeitpunkt t)
Q(t) Q(t+1)
Set - 1
Reset - 0
0 0 Speichern /
keine nderung
1 1
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
5
Speicherelemente
Zwei Typen der Trigger-/Aktivierungsmechanismen
pegelgesteuert
flankengesteuert
Typ 1: pegelgesteuerte Speicherelemente (FlipFlops) werden
auch als Latches bezeichnet -> mit Pegeln von Signalen angesteuert
Pegel auf high -> das Speicherelement ist aktiviert
Pegel auf low -> das Speicherelement ist deaktiviert
Typ 2: flankengesteuerte Speicherelemente (FlipFlops) werden
mit steigender oder fallender Flanke angesteuert
positive Flankenansteuerung:
aktiviert wenn bergang von 0 nach 1
deaktiviert sonst
negative Flankenansteuerung:
aktiviert wenn bergang von 1 nach 0
deaktiviert sonst
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
6
Pegelgesteuerte Speicherelemente
Komplementre Ausgnge Q und Q
2 Steuereingnge R, S:
- Latch im Zustand SET -> Q auf HIGH
- Latch im Zustand RESET -> Q auf LOW
Fr ein active-HIGH RS-Latch (realisiert mit NOR-Gattern) gilt:
R = HIGH (und S =LOW) RESET-Zustand
S = HIGH (und R =LOW) SET-Zustand
S = LOWund R = LOW keine Zustandsnderung
S =HIGH und R =HIGH Q und Q' sind auf LOW (nicht zulssig!!!)
Fr ein active-LOW RS-Latch (realisiert mit NAND-Gattern) gilt:
R = LOW(und S =HIGH) RESET-Zustand
S = LOW(und R =HIGH) SET-Zustand
S = HIGH und R = HIGH keine Zustandsnderung
S =LOW und R =LOW Q und Q' sind auf LOW (nicht zulssig!!!)
Nachteil der RS-Latches: ungltige Eingangskombination existiert!!!
diese muss in der Praxis verhindert werden
RS-FlipFlop (Latch):
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
7
Pegelgesteuerte Speicherelemente
Active-HIGH RS-Latch:
RS-FlipFlop (RS-Latch):
R
S
Q
Q'
S' R' Q Q'
1 0 0 1 Initialzustand
1 1 0 1 (nach S'=1, R'=0)
0 1 1 0
1 1 1 0 (nach S'=0, R'=1)
0 0 1 1 ungltig!
S'
R'
Q
Q'
S'
R'
Q
Q'
S'
R'
Q
Q'
Alternative:
S R Q Q'
1 0 1 0 Initialzustand
0 0 1 0 (nach S=1, R=0)
0 1 0 1
0 0 0 1 (nach S=0, R=1)
1 1 0 0 ungltig!
Active-Low RS-Latch:
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
8
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
S
R
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
9
Pegelgesteuerte Speicherelemente
Ausgang verndert sich nur wenn T = HIGH ist
Unter welchen Bedingungen wechseln die Zustnde?
Charakteristische Tabelle:
Getaktetes RS-Latch:
S R Q(t+1)
0 0 Q(t) Kein Wechsel
0 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 !
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
10
Pegelgesteuerte Speicherelemente
S invertiert an R zugefhrt -> man erhlt das getaktete D-FlipFlop (D-Latch)
Vorteil: D-Latch eliminiert die ungltige Eingangskombination: S and R = 0!
Charakteristische Tabelle:
Wenn T = HIGH:
-> Q = D
Getaktetes D-FlipFlop (D-Latch):
D
T
Q
Q'
D
Q
Q'
T
wenn T=1, Q(t+1) = D
T D Q(t+1)
1 0 0 Reset
1 1 1 Set
0 - Q(t) Kein Wechsel
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
11
Flankengesteuerte Speicherelemente
FlipFlops sind bistabile Speicherelemente
Ausgang 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 Rckkopplungsgefahr
Positive Flanke Negative Flanke
Taktsignal
Flankengesteuerte FlipFlops:
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
12
Flankengesteuerte Speicherelemente
RS-Flipflop an getriggerter Flanke des Taktsignals:
S = HIGH (und R = LOW) SET-Zustand
R = HIGH (und S = LOW) RESET-Zustand
beide Eingnge auf LOW keine nderung der Ausgnge
beide Eingnge auf HIGH ungltig
Charakteristische Tabelle:
fr ein auf positive Flanke triggerndes RS-Flipflop:
Flankengesteuertes RS-FlipFlop:
X = irrelevant ( dont care )
= Taktbergang von LOW auf HIGH
S R CLK Q(t+1) Zustand
0 0 X Q(t) Kei n Wechsel
0 1 0 Reset
1 0 1 Set
1 1 ? ungl ti g


KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
13
Flankengesteuerte Speicherelemente
Flankenerkennungsschaltkreis:
Flankengesteuertes RS-FlipFlop
S
Q
Q'
CLK
Flankener-
kennung
R
Positive Flanke (rising edge)
CLK
CLK'
CLK*
CLK'
CLK
CLK*
Negative Flanke (falling edge)
CLK'
CLK
CLK*
CLK
CLK'
CLK*
Flankengesteuertes RS-Flipflop:
Impulsgesteuerter Schaltkreis
(NAND-Gatter)
Flankenerkennungsschaltkreis
Der Flankenerkennungsschaltkreis
erkennt positiven (oder negativen)
Flankenbergang und generiert
einen Impuls von kurzer Dauer
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
14
Flankengesteuerte Speicherelemente
Ein Eingang D (Data)
D = HIGH SET-Zustand
D = LOW RESET-Zustand
Q wird bei steigender Flanke des Taktsignals CLK auf D gesetzt
Flankengesteuertes D-Flipflop:
Ein auf positive Flanke triggerndes
D-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


= Taktbergang von LOWauf HIGH
Flankengest.
RS-FlipFlop
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
15
Flankengesteuerte Speicherelemente
Q und Q' ->rckgekoppelt auf
impulsgesteuerte NAND-Gatter
Keine ungltigen Zustnde!
Beinhaltet einen Wechselzustand:
J = HIGH (und K = LOW)
SET-Zustand
K = HIGH (und J = LOW)
RESET-Zustand
beide Eingnge sind auf LOW
keine nderung
beide Eingnge sind auf HIGH
Q = Q'
Flankengesteuertes JK-FlipFlop:
J
Q
Q'
CLK
Flanken-
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:
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
16
Flankengesteuerte Speicherelemente
1-Eingang-Version der JK-Flipflops
-> gebildet durch zusammenschalten der J- und K-Eingnge
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 0
0 1 1
1 0 1
1 1 0
T
Q
Q'
CLK
Flanken-
erkennung
J
C
K
Q
Q'
CLK
T
Charakteristische Tabelle:
Q (t+1) = (T
.
Q') + (T'
.
Q)
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
17
Flankengesteuerte Speicherelemente
Applikation: Frequenzteiler
T-Flipflop:
J
C
K
Q
CLK
High
CLK
Q
Taktfrequenz geteilt durch 2.
J
C
K
QA
CLK
High
J
C
K
QB
High
CLK
QA
QB
Taktfrequenz geteilt durch 4.
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
18
Flankengesteuertes Master-Slave-FlipFlop
Master ist aktiviert bei steigender Flanke, Slave ist aktiviert bei fallender Flanke
-> vollstndige Entkopplung des Ausgangs vom Eingang
Master-Slave-JK-FlipFlop:
J
Q
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:
www.kit.edu
Institut fr Technik der
Informationsverarbeitung
Digitaltechnik
Karlsruher Institut fr Technologie (KIT)
Prof. Dr.-Ing. J . Becker
becker@kit.edu
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Funktionseinheiten
der Digitaltechnik
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
2
Multiplizierer
Multiplikation einer Dualzahl mit einer einstelligen Dualzahl:
Arithmetische Grundlagen :
2 2 2 10 10
2 2 2 10 10
0000 0 1011 0 11
1011 1 1011 1 11
= =
= =
& & & &
3
x
2
x
1
x
0
x
y

die einstellige Multiplikation durch eine UND-Verknpfung realisieren
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
3
Multiplikation einer Dualzahl mit einer 2er-Potenz:
2 2
3
2
10 10 10
1000 1011 2 1011 : Dual
88 8 11 : Dezimal
=
=
n
die Multiplikation einer Dualzahl mit einer 2er-Potenz 2 bedeutet eine
Linksverschiebung (links-shift) um n-Stellen und Nachziehen von n Nullen
) 2 0 2 0 2 0 2 1 ( ) 2 1 2 1 2 0 2 (1
0 1 2 3 0 1 2 3
+ + + + + + =
0 0 1 2 3
1 0 1 2 3
2 0 1 2 3
3 0 1 2 3
2 0 ) 2 1 2 1 2 0 2 (1
2 0 ) 2 1 2 1 2 0 2 (1
2 0 ) 2 1 2 1 2 0 2 (1
2 1 ) 2 1 2 1 2 0 2 (1
+ + + +
+ + + +
+ + + +
+ + + =
10 2
0 1 2 3 4 5 6
88 1011000 2 0 2 0 2 0 2 1 2 1 2 0 2 1 = = + + + + + + =
Arithmetische Grundlagen:
Multiplizierer
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
4
Multiplizierer
Beispiel fr eine Multiplikation:
2 2 10 10
1001 1011 9 11 =
) 2 1 2 0 2 0 2 (1 ) 2 1 2 1 2 0 2 (1
0 1 2 3 0 1 2 3
+ + + + + + =
2
2
2
2
1011000
000000
00000
1011
+
+
+
=
3 0 1 2 3
2 0 1 2 3
1 0 1 2 3
0 0 1 2 3
2 1 ) 2 1 2 1 2 0 2 (1
2 0 ) 2 1 2 1 2 0 2 (1
2 0 ) 2 1 2 1 2 0 2 (1
2 1 ) 2 1 2 1 2 0 2 (1
+ + + +
+ + + +
+ + + +
+ + + =
2
01100011 =
Arithmetische Grundlagen:
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
5
Multiplizierer
der Multiplikand muss mit jeder Stelle des Multiplikators multipliziert werden,
d.h. bitweise konjunktiv verknpft werden
-> das Ergebnis also um die entsprechende Stellenzahl nach links
verschoben und zu brigen Ergebnissen aufaddiert werden
Allgemein gilt:
Implementierung:
0 1 2 1 - k n k n
1
1 - k 0 1 1 n
1
1 0 1 1 n
0
0 0 1 1 n 0 1 k 0 1 n
P P P ....... P P
2 B A ...A A
...
2 B A ...A A
2 B A A ... A ...B B ...A A
+ +


=
+
+
=
k
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
6
Beispiel: 4-Bit Multiplizierer
3
a
2
a
1
a
0
a
0
b
1
b
2
b
3
b
0
p
1
p
2
p
3
p
4
p
5
p
6
p
7
p
0
0
0
0
0 0 0 0
Implementierung:
Multiplizierer
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
7
Aufbau einzelner Zellen:
in
c
i
b
k
s
j
a
VA
&
'
k
s
out
c

Implementierung:
Multiplizierer
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
8
Problem: sehr lange Laufzeiten, im Beispiel 3n-2
3
a
2
a
1
a
0
a
0
b
1
b
2
b
3
b
0
p
1
p
2
p
3
p
4
p
5
p
6
p
7
p
0
0
0
0
0 0 0 0
Kritischer Pfad
Implementierung:
Multiplizierer
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
9
Spezielle Schaltnetze
Multiplexer und Demultiplexer:
Verbindungen zwischen Systemgruppen sind platz- und kostenintensiv
Besonders bei groer rumlicher Distanz und groer Leitungsanzahl
Falls die zeitlichen Anforderungen es erlauben, kann auf eine serielle
bertragung zurckgegriffen werden
Die Steuergren A
x
und A
y
whlen den aktiven Eingang oder Ausgang
MUX DEMUX
...
x
a1
x
a2
x
an
...
y
e1
y
e2
y
en
y
a
x
e
A
x
A
Y
Sender Empfnger
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
10
(De-)Multiplexer
Beispiel:
(
) a , a (
) a , a (
2 4
) y , y , y , (y Y
) x , x , x , (x X
y1 y2
x1 x2
e1 e2 e3 e4 e
a1 a2 a3 a4 a
=
=
= =
=
=
y
x
A
A
ld r
2 Steuerleitungen ntig
a
x2
a
x1
y
a
0 0 x
a1
0 1 x
a2
1 0 x
a3
1 1 x
a4
4:1 Multiplexer
a
y2
a
y1
y
e1
y
e2
y
e3
y
e4
0 0 x
e
0 0 0
0 1 0 x
e
0 0
1 0 0 0 x
e
0
1 1 0 0 0 x
e
1:4 Demultiplexer
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
11
(De-)Multiplexer
Beispiel:
a
x2
a
x1
y
a
0 0 x
a1
0 1 x
a2
1 0 x
a3
1 1 x
a4
4:1 Multiplexer
a
y2
a
y1
y
e1
y
e2
y
e3
y
e4
0 0 x
e
0 0 0
0 1 0 x
e
0 0
1 0 0 0 x
e
0
1 1 0 0 0 x
e
1:4 Demultiplexer
MUX DEMUX
x
a1
x
a2
x
a4
y
e1
y
e2
y
e4
y
a
x
e
x
a3
y
e3
a
X2
a
X1
a
Y2
a
Y1
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
12
(De-)Multiplexer
Typische Schaltnetze fr Multiplexer und Demultiplexer:
Die Minterme der Adressvektoren A
x
und A
y
geben immer
genau ein UND-Gatter frei
x
a1 &
x
a2 &
x
a3 &
x
a4 &
a
X2
a
X1
1 >
&
&
&
&
a
Y2
a
Y1
y
a
x
e
y
e1
y
e2
y
e3
y
e4
0 1 0 1
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
13
Multiplexer
Anwendung:
mit Multiplexern kann man noch viele andere Aufgaben lsen
-> z.B. Strukturausdrcke nach dem Entwicklungssatz sind direkt umsetzbar
-> Auswahl zwischen zwei Werten eines Literals bernimmt 2:1 Multiplexer
) & ( ) & (
)) , 1 , ( & ( )) , 0 , ( & (
) , , (
1 2 0 2
1 3 2 1 3 2
1 2 3
R R
f x f x
x x f x x x f x
x x x f y
v =
v =
=
MUX
2:1
2
x
) , , (
1 2 3
x x x f y =
0 R
f
1 R
f
0
1
MUX
2:1
2
x
) , , (
1 2 3
x x x f y =
0 R
f
1 R
f
0
1
Beispiel:
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
14
Multiplexer
Entwicklung nach zwei Variablen:
-> Realisierung mit 2:1 Multiplexern
MUX
2:1
2
x
) , , (
1 2 3
x x x f y =
01 R
f
11 R
f
0
1
MUX
2:1
1
x
0
1
MUX
2:1
00 R
f
10 R
f
0
1
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
15
Multiplexer
Bei der Realisierung einer Funktion mit n Literalen ber
Multiplexer muss nach n-1 Variablen entwickelt werden
Beispiel:
MUX
2:1
c
y
d
d
0
1
MUX
2:1
a
0
1
MUX
2:1
b
0
1
1
0
0 & )] & & ( & 1 & [ &
0 & ))] ( & 1 & [ &
0 & ))] ( [ &
)) ( & ( &
b d c d c a a b
b d c a a b
b d c a b
d c b a b y
v v v =
v v =
v v =
v =
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
16
Demultiplexer
Anwendung:
Demultiplexer knnen zur Ansteuerung von Steuerleitungen
von Speicherzellen verwendet werden
An diesem Beispiel wird auch die Bezeichnung
Adressvektor fr die Steuerleitungen klar
Liegt der Wert 1 an dem Eingang des Demultiplexers, so
reprsentieren die Ausgnge smtliche Minterme des Adressvektors
DEMUX
x
e
=1
x
2
x
1
00
01
10
11
1 2 0
x x m =
1 2 1
x x m =
1 2 2
x x m =
1 2 3
x x m =
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
17
Demultiplexer
Anwendung:
In der Anwendung als Decoder einer Adresse wird der Demultiplexer
auch gerne als Codewandler so gezeichnet:
DEMUX
(Decoder)
x
2
x
1
x
e
...
x
n
1
2
2
n
...
Adressleitungen
Enable-Variable
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
18
Spezielle Schaltwerke
Anwendungsflle:
Auch bei Schaltwerken gibt es einige Beispiele, die in
unterschiedlichsten Anwendungsfllen eingesetzt werden
Anzahl von Ereignissen oder Aktionen festzuhalten
Informationen zeitlich oder rumlich zu ordnen oder umzusetzen
Spalten- bzw. Zeilenselektion in einem Speicher
Tastaturmatrix
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
19
Spezielle Schaltwerke
Zhler
Zhler-Schaltwerke dienen dazu auf einer speziellen
Signalleitung beobachtete Ereignisse zu zhlen
Das Zhlen entspricht einer Abbildung in den
Zustandsraum, sodass ein Zhlcode entsteht
Wie bei Mechanischen Zhlern knnen noch weitere
Eingriffmglichkeiten eingebaut werden:
berlaufmeldung
Nullstellungsmeldung
Rckstellmglichkeit auf 0
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
20
Dualzhler
Beispiel:
Es soll ein Zhler als Schaltwerk realisiert werden, der...
dual zyklisch von 0 bis 7 zhlt
eine Rckstellmglichkeit auf 0 besitzt
bei dem Wert 7 das berlaufsignal auf 1 setzt
auf den Wechsel der Zhlervariable Z von 0 auf 1 reagiert
Zur Realisierung sollen JK-Flipflops mit
0/1-Flankensteuerung verwendet werden
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
21
Dualzhler
Beispiel:
Eingangsvariable:
N = 1: Rckstellen auf 0
N = 0: sonst
Ausgangsvariable:
= 1: Zhlerstand ist 7
= 0: sonst
Bei Zhlern wird die Zhlervariable Z hufig nicht als Eingangsvariable
sondern direkt als Taktsignal angeschlossen
Das Zhlereignis Wechsel von 0 auf 1 kann so direkt mit einem
synchronen Schaltwerk mit positiver Flankensteuerung
realisiert werden
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
22
Dualzhler
Schaltwerkstabelle:
Die Kodierung der Zustnde ist
die duale Zahlendarstellung
Bei N = 1 ist der Folgezustand
auf jeden Fall 0 (Rcksetzen)
Die bertragungsfunktion
kann direkt abgelesen werden:
Q
u
X
u
Q
u+1
Y
u
q
3
q
2
q
1
N q
3
q
2
q
1

0 0 0 0 0 0 1 0
0 0 0 1 0 0 0 0
0 0 1 0 0 1 0 0
0 0 1 1 0 0 0 0
0 1 0 0 0 1 1 0
0 1 0 1 0 0 0 0
0 1 1 0 1 0 0 0
0 1 1 1 0 0 0 0
1 0 0 0 1 0 1 0
1 0 0 1 0 0 0 0
1 0 1 0 1 1 0 0
1 0 1 1 0 0 0 0
1 1 0 0 1 1 1 0
1 1 0 1 0 0 0 0
1 1 1 0 0 0 0 1
1 1 1 1 0 0 0 1
v v v
1 2 3
& & q q q =
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
23
Dualzhler
Q
u
X
u
Q
u+1
Y
u
q
3
q
2
q
1
N q
3
q
2
q
1
J
3
K
3
J
2
K
2
J
1
K
1
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 - - 1
0 0 1 1 0 0 0 0 0 - 0 - - 1
0 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 - 1
0 1 1 1 0 0 0 0 0 - - 1 - 1
1 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 - - 1
1 0 1 1 0 0 0 0 - 1 0 - - 1
1 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 - 1
1 1 1 1 0 0 0 1 - 1 - 1 - 1
Ansteuerfunktionen:
durch Ablesen
oder
mit Hilfe von
Symmetrie-
diagrammen
erhlt man:
v v
v
1 2 3
1 2
1
1
q q N K
q N K
K
v =
v =
=
v v
v
1 2 3
1 2
1
q q N J
q N J
N J
=
=
=
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
24
Blockschema des Zhlers:

>1
1
&
&
>1
C1
1K
1J
C1
1K
1J
C1
1K
1J
&

N
q
3
q
2
q
1
"1"
Zhler-
stand
J
1
K
1
J
2
K
2
K
3
J
3
c
v v
v
1 2 3
1 2
1
1
q q N K
q N K
K
v =
v =
=
v v
v
1 2 3
1 2
1
q q N J
q N J
N J
=
=
= Ansteuerfunktionen:
Dualzhler
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
25
Dualzhler
Symboldarstellung:
Um bei Zhlern von Realisierungsdetails zu abstrahieren
fhrt man Blocksymbole ein
Das Symbol besteht aus einem Daten- und einem Steuerteil
Fr das besprochene Beispiel sieht der Zhler so aus:
R
CT=7

N
c
q
3
q
2
q
1
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
26
Dualzhler
Eigenschaften:
Hier noch die wichtigsten Merkmale von Zhlern:
Art des Zhlcodes
-> Dualzahlen, 1-aus-n-Code, BCD-Code,...
Art des Zhlereignisses
-> 0->1, 1->0, Auftreten von Werten, ...
Steuersignal fr Zhlen/Anhalten
Steuersignal fr Zhlrichtung (aufwrts/abwrts)
Synchrone oder asynchrone Rckstellmglichkeit
Steuersignal fr Zhlen/Laden eines Anfangswertes
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
27
Spezielle Schaltwerke
Register:
Zur Darstellung von Informationen gengen nur
selten einzelne Bits
Daher ist es zweckmig mehrere FlipFlops zu
einem Verbund zusammenzuschlieen
-> Sie knnen so mit gemeinsamem Takt und
Rcksetzmglichkeiten versorgt werden
So ein FlipFlop-Verbund wird auch Register genannt
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
28
Register
Beispiel:
Register, das ein 4-bit Datenwort bei ansteigender Taktflanke
speichert und sich asynchron auf 0 rcksetzen lsst:
1D
R
C1
1D
R
C1
1D
R
C1
1D
R
C1
D
3
D
2
D
1
D
0
q
3
q
2
q
1
q
0
Takt Rcksetzen
Eingang
Ausgang
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
29
Register
Spezialregister:
Datentechnisch sind die Speicherzellen eines Registers
im allgemeinen nicht miteinander verbunden
Register werden jedoch oft mit Funktionen ausgestattet,
die auf mehreren Speicherzellen operieren
Besonders Funktionen, bei denen sich nur benachbarte Speicherzellen
beeinflussen, lassen sich effizient im Register realisieren
Ein einfach zu realisierendes Spezialregister ist das Schieberegister
Beim Schieberegister knnen alle Speicherinhalte um eine Zelle
weitergeschoben werden
Die Auslsung dieses Vorgangs erfolgt durch ein Taktsignal
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
30
Spezialregister
Beispiel:
4-Bit Schieberegister:
D
3
D
2
D
1
D
0
?0 D
3
D
2
D
1
?1 ?0 D
3
D
2
?2 ?1 ?0 D
3
?3 ?2 ?1 ?0
?0
?1
?2
?3
Rechtsschieben
D
3
D
2
D
1
D
0
D
2
D
1
D
0
?0
D
1
D
0
?0 ?1
D
0
?0 ?1 ?2
?0
Linksschieben
?1
?2
?3
?0 ?1 ?2 ?3
geht
verloren
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
31
Spezialregister
Schieberegister:
Beim Schieben geht jeweils das in Schieberichtung
voranstehende Datenbit verloren
Das letzte Datenbit wird mit einem Inhalt gefllt, der von den
Randbedingungen dieser Zelle abhngt
Damit die Daten nicht verloren gehen, kann man zirkulr rotieren und
den Inhalt des rausgeschobenen Bits auf der anderen Seite einspeisen
D
3
D
2
D
1
D
0
D
0
D
3
D
2
D
1
Rechtsschieben
D
3
D
2
D
1
D
0
D
2
D
1
D
0
D
3
Linksschieben
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
32
Schieberegister
Technische Realisierung:
Auch hier gibt es eine groe Zahl von Realisierungsmglichkeiten
Beispielrealisierung eines Schieberegisters mit Links-/Rechtsschieben,
asynchronem Rcksetzen und D-Flipflops
MUX
(2:1)
0
1
1D R
C1
1D R
C1
MUX
(2:1)
0
1
1D R
C1
Takt
Rcksetzen
0 Linksschieben
/
1 Rechtsschieben
R L

=

q
i+1
q
i
q
i-1
q
i-2
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
33
Schieberegister
Blockschaltbild:
R
SRG 4
Rcksetzen
Takt
L R/
Anwendung:
Schieberegister werden auch verwendet, um Datenbitgruppen von
rumlichen Folgen in eine zeitliche Folge umzuwandeln
Dies wird Parallel/Serienwandlung bzw.
Serien/Parallelwandlung genannt
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
34
Schieberegister
Parallel/Serienwandlung:
R
SRG
Rcksetzen
Takt
...
Laden/Schieben
Bei der Parallel/Serienwandlung werden z.B. die
Daten (D
n
,... ,D
1
, D
0
) parallel in das Register geladen
Danach knnen sie seriell in der zeitlichen
Reihenfolge ausgegeben werden
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
35
Schieberegister
Serien/Parallelwandlung:
Bei der Serien/Parallelwandlung werden die Daten
in zeitlicher Folge in das Register geschoben
Danach knnen sie gebndelt ausgelesen werden
R
SRG
Rcksetzen
Takt
...
Laden/Schieben
www.kit.edu
Institut fr Technik der
Informationsverarbeitung
Digitaltechnik
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Karlsruher Institut fr Technologie (KIT)
Prof. Dr.-Ing. J . Becker
becker@kit.edu
Funktionseinheiten
der Digitaltechnik
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
2
Digitalspeicher
- Zentrale Aufgabe von digitalen Systemen ist die Speicherung von Daten
- Dafr werden unterschiedliche physikalische Effekte ausgenutzt:
- Es lsst sich folgende Reihenfolge angeben:
- Statische Speicher: kleine, schnelle Speicher zur Speicherung von
Zwischenergebnissen meist auf Basis von FlipFlops
- Dynamische Speicher: grere, mig schnelle Speicher fr grere
Datenmengen auf Basis von Ladungsspeichereffekten
- Massenspeicher: groe, langsame Speicher fr groe Datenmengen und
zur Archivierung auf der Basis magnetischer Effekte
- Rckkopplungsstrukturen (FlipFlops)
- elektrische Ladungen auf Kondensatoren
- magnetische Effekte
- Im folgenden sollen nur die beiden ersten Speichertypen betrachtet werden
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
3
Digitalspeicher
Anhand einiger wichtiger hauptschlich funktionaler Merkmale lassen
sich die verschiedenen Speichertypen klassifizieren:
- Organisation der abgelegten Daten: im allgemeinen gruppiert man
mehrere Bits zu einemWort und
mehrere Worte wiederum zu Blcken
- 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)
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
4
Digitalspeicher
- Verwendete Schaltungstechnik: Unterteilung nach
schaltungstechnischer Realisierung
- Verwendete Technologie: bestimmt mageblich
Gre,
Arbeitsgeschwindigkeit,
Kosten,
Zuverlssigkeit,
usw.
des Speichers
- Art der Datenspeicherung: Ladungsspeicher (bentigen Refreshs)
(Grad der Flchtigkeit) Rckkopplungsspeicher (bentigen stetige
Energiezufuhr)
Speicher mit fixierten Ladungstrgern
(Speicherung ber lngere Zeit ohne stetige
Energiezufuhr mglich)
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
5
Registerspeicher, Registerstze
- Register werden eingesetzt zur Speicherung von Operanden, Konstanten usw.
- Organisation meist in Form gleichlanger Speicherworte,
mit der Mglichkeit 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 Unteres
Halbwort
Schreiben Lesen
Adresse
Registerzahl k
Daten
.
.
.
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
6
Pufferspeicher (First-In-First-Out, FIFO)
- meist wortorganisierte Speicher mit konstanter Wortbreite
- dienen hufig zur Kopplung von unterschiedlich schneller Baugruppen
(bzgl. Takt, Verarbeitungsgeschwindigkeit)
Funktionsprinzip:
FIFO
Schreiben Lesen
Voll Leer
Tiefe k des FIFO
in Worten
X Y
W
o
r
t
b
r
e
i
t
e
X

=

(
x
n
,
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 Pltze im FIFO belegt sind
und weiteres Schreiben mglich ist
- das Signal leer zeigt an, ob das FIFO leer ist
- wird Wort ausgelesen -> alle dahinterliegenden Worte rcken um eine Position vor
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
7
Pufferspeicher (First-In-First-Out, FIFO)
Beispiel: Schreiben und Lesen in einem FIFO-Speicher
Schreiben
1. Datenwort FIFO Leer
Schreiben
. . .
2. Datenwort
Schreibpointer
Lesepointer
. . .
L
S
. . .
L
S
. . .
L
S
zeigen auf aktuelle Schreib-/ Leseadresse
Lesen:
. . .
L
S
. . .
L
S
Lesen: 2. Datenwort
. . .
L
S
1. Datenwort
. . .
L
S
L
S
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
8
Pufferspeicher (First-In-First-Out, FIFO)
- FIFO-Realisierung kann auf verschiedene Weise geschehen
- naheliegend ist die Verwendung von Schieberegistern
entsprechender Gre 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
D
11
12
13
14
1n
X
Y
.
.
.
.
.
.
.
.
.
. . .
21
22
23
24
2n
k1
k2
k3
k4
kn
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
9
Stapelspeicher (Last-In-First-Out, LIFO)
- wird auch als Kellerspeicher oder auch Stack bezeichnet
- eignet sich zu Berechnungen mit hufigem zwischenspeichern von
Ergebnissen und gleichzeitiger Einhaltung einer Ordnung der Ergebnisse
- auch beimLIFO 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
LIFO
Tiefe k
des
LIFO
X,Y PUSH POP
leer voll
X = (x , x , ... , x ) = Y
Wortbreite
n n-1
1
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
10
Stapelspeicher (Last-In-First-Out, LIFO)
Beispiel: LIFO mit Worten zu je 8 Bit
Schreiben
1. Datenwort
LIFO leer
.
.
.
.
.
.
Schreiben
2. Datenwort
.
.
.
.
.
.
Schreiben
3. Datenwort
.
.
.
.
.
.
Lesen
3. Datenwort
.
.
.
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
11
Stapelspeicher (Last-In-First-Out, LIFO)
- auch LIFOs lassen sich auf der Basis von Schieberegistern realisieren:
Steuerung (Schaltwerk)
Leer
Voll
PUSH
POP
...
...
x
n-1
x
n
y
n
x
1
y
1
y
n-1
...
Fllen Leeren
SRG
D
D
D
D
D
.
.
.
11
12
13
14
1k
SRG
D
D
D
D
D
.
.
.
n-1,1
n-1,2
n-1,3
n-1,4
n-1,k
SRG
D
D
D
D
D
.
.
.
n1
n2
n3
n4
nk
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
12
Allgemeine Speicher, Arbeitsspeicher
- matrixfrmig 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 fhrt
Z
e
i
l
e
n
d
e
c
o
d
e
r
Speicherwort 0
"
1
2
3
4
2 -1
k
"
"
"
Speicherwort
Auswahl
(enable)
Adresse A
X Y
Schreiben
Lesen
.
.
.
A = ( a , a , ... , a )
k-1 k-2 0
1
n n-1
X = ( x , x , ... , x ) = Y
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
13
Allgemeine Speicher, Arbeitsspeicher
- unter einer Kapazitt K oder der Speichergre eines Speichers
wird das Produkt K = n 2
k
verstanden
-> es bedarf daher eines zweiten Decoders (Spalten-Decoder),
um das entsprechende Datenwort im Speicherwort zu identifizieren
- Aus schaltungstechnischen oder technologischen Grnden wird meist eine Form
der Speichermatrix angestrebt, welche dem Quadrat mglichst nahe kommt
-> dadurch meist mehrere Datenwrter in einem Speicherwort enthalten
-> sei N die Lnge des Speicherworts und n die Lnge des Datenworts erhlt
man: r = ld R, mit R = N / n, die Anzahl der Adressbits des Spalten-Decoders
- die Adressbits des Zeilendekoders knnen somit um r Bits gekrzt werden
Speicherkapazitt
K = n 2
r
2
(k-r)
K = n 2
k
Z
e
i
l
e
n
-
D
e
c
o
d
e
r
X Y
...
A
,
Spalten -
Decoder/multiplexer
,,
A
A = ( a
r-1
, ..., a
0
)
A = ( a
k-1
, ..., a
r
)
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
14
Allgemeine Speicher, Arbeitsspeicher
Beispiel:
n = 2 N = 8 k = 4 K = 2 2
4
= 32 Bit
R = 8 / 2 r = ld R = ld 4 = 2
A = (a
3
,a
2
)
A = (a
1
,a
0
)
K = 32 Bit
Datenwort
00
01
10
11
A
,
j
=
j
A
,,
=
00 01 10 11
Speicherwort
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
15
Allgemeine Speicher, Arbeitsspeicher
- der innere Aufbau von Speichern ist meist sehr stark an Technologien
angelehnt und soll in diesem Rahmen nicht detailliert erlutert werden
- Grundstzliche Konzepte knnen jedoch mit Hilfe von
logischen Komponenten vermittelt werden
Prinzip eines Speichers mit dynamischer Zelle:
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
16
Allgemeine Speicher, Arbeitsspeicher
Prinzip eines Speichers mit statischer Zelle:
Binr-
speicher
1 bit
Wortauswahlleitung
S
p
a
l
t
e
n
a
u
s
w
a
h
l
l
e
i
t
u
n
g


(

q
,

R
)
S
p
a
l
t
e
n
a
u
s
w
a
h
l
l
e
i
t
u
n
g


(

q
,

S
)
_
Schreib/Lese-
umschaltung
1
U
B
Schreiben
von L
bzw. H
Leseausgang

q
Leseausgang

q
_
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
17
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 Bndel von Signalen miteinander
verbunden, die meist allen Baugruppen in gleicher Weise zur Verfgung stehen
- die Signale werden in typische Gruppen unterteilt:
-> wie z.B. Daten-, Adress- und Steuersignale (einschlielich zentralem Takt)
-> oft wird Zeitmultiplex-Betrieb von Leitungen vorgesehen
(alternativ fr Daten und Adressen)
BUS
.
.
.
.
.
.
.
.
.
Daten
Adressen
Steuerung+Takt
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
18
Sonderfunktionen
Bustechnologie: Open-Collector Schaltungen
- sind an eine Busleitung mehrere Baugruppen angeschlossen,
so mssen mehrere schreibende Ausgnge zusammengeschaltet werden
- Solche Anordnungen werden als wired-Verbindungen bezeichnet
und die realisierte logische Verknpfung wired-OR bzw. wired-AND
lesende
Baugruppe
Bau-
gruppe n
Bau-
gruppe 2
Bau-
gruppe 1
R
U
s
- wegen der unsymmetrischen Lastverhltnisse knnen diese
Schaltungen nur begrenzt eingesetzt werden
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
19
Sonderfunktionen
Bustechnologie: 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 mglich, was aber zu Kurzschlssen ber mehrere Bausteine hinweg fhren kann,
Beispiel:
Busleitung
U
B
U
B
K
u
r
z
s
c
h
l
u

s
t
r
o
m
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
20
Sonderfunktionen
- um Kurzschlsse zu vermeiden muss daher sichergestellt werden,
dass maximal eine Stufe den Bus auf U
B
oder Masse zieht
- dazu wird die Ausgangsstufe so modifiziert, dass ein zustzliches Signal OE
(output enable) bei Nichtauswahl der Einheit die Ausgangstufe vom Bus trennt
Busleitung
U
B
U
B
U
OE
=L U
OE
=H
- wird genau eine Stufe selektiert, werden Kurzschlsse vermieden
Bustechnologie: Tri-State Schaltungen (II)
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
21
Sonderfunktionen
- jede Ausgangstufe weist nun genau drei Betriebsflle auf:
-> Schreiben von L,
-> Schreiben einer H, und
-> abgetrennt
- man spricht daher von Tri-State Ausgngen
- die Auswahl einer Baugruppe fr den Buszugriff
-> kann ber einen Decoder erfolgen
- werden Busse in Anordnungen verwendet, in denen Benutzung durch
mehrere Komponenten mglich ist, kann das zu Zugriffskonflikten fhren
-> es bedarf daher einer Busverwaltung (Arbiter)
Bustechnologie: Tri-State Schaltungen (III)
www.kit.edu
Institut fr Technik der
Informationsverarbeitung
Digitaltechnik
Karlsruher Institut fr Technologie (KIT)
Prof. Dr.-Ing. J . Becker
becker@kit.edu
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Bausteine der Digitaltechnik
- Binre Schalter und Gatter -
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
2
- Bereits zuvor wurde das binre Signal als einfachstes Digitalsignal eingefhrt
Zuordnungsschemata
{0, 1 }{L, H }
- bei der Einfhrung der Schaltalgebra waren die beiden
Wertintervalle L und H mit 0 und 1 benannt
- fr den Bezug von Spannungsbereichen zu logischen Werten
definiert man folgende bijektive Abbildungen:
wobei zwei Mglichkeiten der Zuordnung existieren:
Intervall Logischer
Wert
L 0
H 1
Intervall Logischer
Wert
L 1
H 0
Positive Logik Negative Logik
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
3
- 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 Binrwertverlaufs notwendig:
- eine Unterscheidung zwischen einem logischen und einem
physikalischen Signalwertverlauf ist notwendig und wichtig
1
0
t
t
H
L
undef.
Bereich
U
B
L ? H ? L ? H ?
L
0 ? 1 ? 0 ? 1 ? 0
a)
b)
c)
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
4
Zuvor: Relais als Mglichkeit zur Realisierung logischer Operationen vorgestellt
Binre Schalter
- Des weiteren gibt es Bauelemente, die auf physikalischen Effekten basieren,
bei denen keine zeitaufwendige mechanische Bewegung bentigt wird
- Den Transistor kann man sich als einen elektronischen Schalter vorstellen,
bei dem ber die Steuerleitung die Leitfhigkeit zwischen den anderen
Elektroden manipuliert werden kann
- Einzustand: geringer Innenwiderstand zwischen Elektroden
- Auszustand: hoher Innenwiderstand
- Im folgenden betrachten wir vier Grundtypen von Transistoren:
Steuerleitung
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
5
Binre Schalter: Halbleitertechnologie
GS
I
C
BE
U
I
D
U
GS
B
C
E
G
S
D
B
C
E
G
S
D
n
+
p-Silizium
S G D
n
+
SiO
2 NMOS-
Transistor
I
C
U
BE
n-Substrat
p-Epi
p
+
n
E C B
npn-
Bipolar-
Transistor
n
++
p-Substrat
p
++
n
+ p
n-Epi
E C B
pnp-
Bipolar-
Transistor
Halbleiterstruktur Symbol Kennlinie
n-Silizium
p
+
p
+
S G D
PMOS-
Transistor
SiO
2
U
I
D
4 Grundtypen
von Transistoren
Unterscheidung
der Transistoren:
- Abhngigkeit des
Maximalstroms
zwischen d. Elektroden
in Abhngigkeit 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
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
6
Binre Schalter und Schaltglieder
Realisierbare 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 fr Transistoren verwendet
Hauptsatz der Schaltalgebra: zeigte die Darstellbarkeit beliebiger Funktionen mit
beliebig vielen Variablen unter Einsatz weniger ausgewhlter Basisoperatoren
-> wenn sich jeder dieser Basisoperatoren technisch umsetzten lsst, steht der
Realisierung von beliebigen algebraischen Ausdrcke 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
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
7
Schaltglieder und Schaltsymbole
Darstellung der Schaltzeichen nach der neuen Norm (DIN 40900):
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
8
Realisierung nach dem Einschalterprinzip:
Inverter (Negationsglied)
- Das Realisierungsprinzip entspricht bei MOS-Technologien
den sogenannten NMOS-Schaltungen (Negative Metal-Oxyd Semiconductor)
- Nachteil: im Schaltungszustand U
x
= H fliet konstant ein Strom
- Dieser Strom sowie die Pegel L und H knnen ber den
Widerstand R reguliert werden
x = 0
U = L
x
R
U
B
y = 1
U = H
y
x = 1
U = H
x
R
U
B
y = 0
U = L
y
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
9
Realisierung nach dem Zweischalterprinzip:
Inverter (Negationsglied)
- Zwei Schalter sind so geschaltet, dass nie beide gleichzeitig geschlossen sind
- Dadurch: in keinem Schaltungszustand fliet 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 =1
U =H
x
U
B
y =0
U =L
y
x =0
U =L
x
U
B
y =1
U =H
y
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
10
Einschalterprinzip: NOR/NAND
Parallelschaltung zweier Schalter:
R
U
B
U
y
U
x2
U
x
1
0 0
0 1
1 0
1 1
1
0
0
0
y x
2
x
1
NOR
1 1
1 0
0 1
0 0
0
1
1
1
y x
2
x
1
NAND
L
L
L H
H L
H H
H
L
L
L
positive
Logik
negative
Logik
U
x2
U
x1
U
y
- Der gleiche Schaltungstyp realisiert entweder NAND oder NOR
abhngig von der Logikzuordnung
U = L
x
U = H
x
Positive Schalter:
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
11
- 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
U
B
U
y
U
x2
U
x1
0
0
0 1
1 0
1 1
1
1
1
0
y x
2
x
1
NAND
1
1
1 0
0 1
0 0
0
0
0
1
y x
2
x
1
NOR
L
L
L H
H L
H H
H
H
H
L
positive
Logik
negative
Logik
U
x2
U
x1
U
y
Reihenschaltung zweier Schalter:
Einschalterprinzip: NOR/NAND
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
12
Zweischalterprinzip: NOR/NAND
- Die Serienschaltung im oberen Zweig ist die duale Schaltung zur
Parallelschaltung mit inversen Schaltern im unteren Zweig
0
0
0 1
1 0
1 1
1
0
0
0
y x
2
x
1
NOR
1
1
1 0
0 1
0 0
0
1
1
1
y x
2
x
1
NAND
L
L
L H
H L
H H
H
L
L
L
positive
Logik
negative
Logik
U
x2
U
x1
U
y
U
B
U
y
U
x2
U
x1
Reihen- und Parallelschaltung jeweils zweier Schalter:
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
13
U
B
U
y
U
x2
U
x1
0 0
0 1
1 0
1 1
1
1
1
0
y x
2
x
1
NAND
1 1
1 0
0 1
0 0
0
0
0
1
y x
2
x
1
NOR
L
L
L
H
H L
H H
H
H
H
L
positive
Logik
negative
Logik
U
x2
U
x1
U
y
Zweischalterprinzip: NOR/NAND
Reihen- und Parallelschaltung jeweils zweier Schalter:
- Die Parallelschaltung im oberen Zweig ist die duale Schaltung zur
Serienschaltung mit inversen Schaltern im unteren Zweig
www.kit.edu
Institut fr Technik der
Informationsverarbeitung
Karlsruher Institut fr Technologie (KIT)
Digitaltechnik
Prof. Dr.-Ing. J . Becker
becker@kit.edu
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Einfhrung in CMOS-Technologie
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
2
Entwurfsraum - Abstraktionsebenen
n+ n+
S
G
D
+
Halbleiter
Transistorebene
Logik-/GATTER-Ebene
MODUL-/RT-Ebene (Register-Transfer)
SYSTEM-Ebene
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
3
Planartechnik PN-bergang
Diffusion: Sowohl Elektronen als auch Lcher wandern in die p- bzw. n-Gebiete
Drift: durch das Wandern der Ladungen entsteht ein Elektrisches Feld welches der Diffusion
entgegenwirkt ->Gleichgewicht zwischen Diffusion und Drift entsteht
Lcherdiffusion
Elektronendiffusion
p n
Lcherdrift
Elektronendrift
Ladungsdichte
Distance
x +
-
E-Feld
x
x
Potential V
x
r
W
2
-W
1
y
0
(a) Stromflu
(b) (Raum-)
Ladungsdichte
(c) Elektrisches Feld
(d) Elektrostatisches
Potential
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
4
Planartechnik PN-bergang
a) Sperrschichtpolung: negativer Pol ans p-Gebiet, positiver Pol ans n-Gebiet
-> Raumladungszonen werden vergrert
b) Durchlasspolung: positiver Pol ans p-Gebiet, negativer Pol ans n-Gebiet
-> Raumladungszonen werden verkleinert
-> Ladungstrgerbewegung ber die Grenzschicht
p-dotiert n-dotiert
+
+
+
+ +
Pluspol
+
+
+
Raumladungszonen
vergrssert
+
Minuspol
a)
+ +
+
+
+ + +
p-dotiert n-dotiert
+
+
+
Pluspol
Raumladungs-
abgebaut
+
Minuspol
zonen b)
+
+
+
Sperrchicht-
polung
Durchlass-
polung
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
5
Aufbau einer Diode
Diode ermglicht nur einen
Stromfluss von p nach n, d.h. von
Anschluss A nach B
Die Gleichung I beschreibt das
Strom-/Spannungsverhalten der
Diode in Abhngigkeit von V
p
n
B A
SiO
2
Al
Querschnitt eines pn-Kontaktes in einem IC-Prozess
n
p
A
B
Al
Eindimensionale Darstellung
A
B
Diodensymbol
I
D
= I
S
(e
V
D
/f
T
1)
VD
+

Ideales Diodenmodell
D
D
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
6
Aufbau eines Bipolar-Transistor
n-Substrat
p-Substrat
n
+
p
+
Isolation
n
+
p
+
p
n
+
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-Verstrker
Anordnung von 3 dotierten Gebieten
-> Folge pnp oder npn, wobei die mittlere Schicht sehr dnn ausgelegt wird
Im Gegensatz zu MOS-Transistoren sind beim Bipolar-Transistor sowohl Majoritts-
als auch Minorittsladungstrger beim Stromfluss beteiligt
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
7
Bipolar-Transistor
Schaltsymbole und Vorzeichen-Konventionen:
C
E
B
I
B
IE
IC
+

+
+

V
BC
V
BE
V
CE
(a) npn
C
E
B
I
B
IE
IC
-
+
-
-
+
+
V
BC
V
BE
V
CE
(b) pnp
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
8
Aufbau eines MOS-Feldeffekttransistors (MOS-FET)
Querschnitt eines NMOS-Transistors:
n+ n+
p-Substrat
Siliziumoxyd
(SiO
2
)
p+
Polysilizium
Gateoxyd
Drain
Source
Gate
MOS-FETs werden meist in Digitalschaltungen eingesetzt
Der Strom durch den MOS-FET fliet in lateraler Richtung
Am Stromfluss sind ausschlielich Majorittsladungstrger beteiligt
Das Gate dient als Schalter -> aktiviert den Kanal zwischen Source und Drain
-> angelegte positive Spannung: zieht Elektronen an und verdrngt Lcher
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
9
MOS-Technologie
Strom-Spannungszusammenhang -> Durchlassspannung
n
+
n
+
p-Substrat
D
S
G
V
GS
x
L
V(x)
+
V
DS
I
D
B
Transistor ist gesperrt: d.h. V < V , somit kann zwischen Source und Drain
der Strom I nicht flieen
Transistor ist geffnet: d.h. V > V , zwischen Source und Drain Gebieten bildet
sich eine negative Ladungszone
-> Stromfluss zwischen Source und Drain ermglicht
GS
GS
th
th
D
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
10
Der MOS-Transistor
0.0 1.0 2.0 3.0
V
GS
(V)
0.010
0.020

I
D
V
T
Unterschwellen
Strom
(a) I
D
als Funktion von V
DS
(b) I
D
als eine Funktion von V
GS
(fr V
DS
= 5V)
.
0.0 1.0 2.0 3.0 4.0 5.0
V
DS
(V)
1
2
I
D
(
m
A
)
Sttigung
V
GS
=5V
V
GS
=3V
V
GS
=4V
V
GS
=2V
V
GS
=1V
Q
u
a
d
r
a
t
i
s
c
h
e

A
b
h

n
g
i
g
k
e
i
t
I-V Zusammenhang
Damit der Stromfluss I zustande kommt, muss die Ansteuerspannung V den Wert V
berschreiten (rechtes Diagramm)
Ist die Ansteuerspannung V grer V und konstant:
-> Strom I ist nur noch von V abhngig (linkes Diagramm)
D GS T
T GS
D DS
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
11
Der MOS-Transistor
R
on
|V
GS
| <|V
T
|
|V
GS
| >|V
T
|
|V
GS
|
Schaltmodell:
Im nichtleitenden Zustand, d.h. |V |<|V | gilt: MOS-Transistor wird zu einem
geffneten 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 verstrkt (geschlossener Schalter)
GS T
GS T
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
12
Querschnitt der CMOS-Materialschichten (Complementary MOS)
MOS-Technologie
Schaltsymbole
S
D
G
NMOS
G
S
D
PMOS
Man unterscheiden zwei grundstzliche MOS-
Transistortypen -> NMOS- und PMOS-Transistoren
In der Abbildung: NMOS oben links, PMOS oben rechts
In der CMOS-Technologie werden beide Typen in jeweils
komplementren Netzen eingesetzt
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
13
V
DD
V
SS
PUN
PDN
In1
In2
In3
F = G
In
1
In
2
In
3
PUN und PDN -> duale (komplementre) Netze:
nur PMOS
nur NMOS
Struktur einer statischen CMOS-Schaltung
Die CMOS-Technologie basiert auf
komplementren 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-Netze
werden PMOS-Transistoren
eingesetzt, PDN-Netze werden mit
NMOS-Transistoren implementiert
Da auer zu Schaltzeitpunkten keine
direkte Verbindung zwischen V und V
besteht, wird whrend des Haltens
sehr wenig Energie verbraucht
SS
SS
DD
DD
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
14
NMOS-Transistoren in Serien/Parallelschaltung
Transistoren -> Schalterrealisierung
-> Steuerung durch Gate-Signal
NMOS-Schalter schliet, wenn das Gate auf high (H, 1 ) ist
X Y
A B
Y = A AND B
X
Y
A
B
Y = A ODER B
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
15
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 schliet, wenn das Gate auf low (L, 0 ) ist
NMOS-, PMOS-Schaltungen: Anbindung an Axiome der Schaltalgebra
-> Realisierung der Konjunktion, Disjunktion und Negation
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
16
Das komplementre Gatter ist invertierend
PUN ist zu PDN dual (-> komplementr)
(kann mittels DeMorgan`s Theorem gezeigt werden)
Konstruktion einer statischen CMOS-Schaltung
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
17
CMOS: Inverter-Schaltung
VDD
Vin
Vout
CL
V
in
V
out
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,
whrend 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 flieen, wenn die Transistoren
umschalten und kurzzeitig beide offen sind
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
18
CMOS: Inverter-Layout
Polysilizium
In
Out
Metall1
V
DD
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 fr die PMOS-
Transistoren
Die blauen Felder sind Metalleiter,
wo meist Aluminium oder in
moderneren Verfahren Kupfer
zum Einsatz kommt
Die grnen Gebiete sind
Diffusionsgebiete, und mit
schwarzen Vierecken stellen
diese Kontaktierungen zwischen
den Source- bzw. Drain-Gebieten
und den Metalleitern dar
CMOS-Maskenlayout
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
19
CMOS-Beispielgatter: NAND
OUT = GND
OUT = V
DD
Wahrheitstabelle eines NAND-Gatters
mit 2 Eingngen
CMOS-Schaltung fr NAND
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
20
CMOS: NAND-Gatter mit 4 Eingngen
In
3
In
1
In
2
In
4
In
1
In
2
In
3
In
4
V
DD
Out
In1 In2 In3 In4
Vdd
GND
Out
CMOS-Maskenlayout
CMOS-Schaltung
fr NAND-4
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
21
Wahrheitstabelle eines NOR-Gatters
CMOS-Beispielgatter: NOR
CMOS-Schaltung fr NOR
PUN- und PDN-Netzentwurf (Funktionen G und F zur bung!)
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
22
V
DD
A
B
C
D
D
A
B C
OUT = D + A

(B+C)
In der CMOS-Technik lassen sich ebenfalls komplexere Gatter
modellieren (siehe Schaltung oben)
Dies muss jedoch durch entsprechende Dimensionierung der
W(Transistor-Kanalbreite) und L (Kanallnge)
Gren der Transistoren geschehen, damit die geforderte
Symmetrie wie beim Inverter erhalten bleibt
CMOS-Beispielgatter: komplexes Gatter
CMOS-Schaltung
fr komplexes Gatter
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
23
Mikrochipentwurf: Standardzellenlayout-Methodik
V
DD
V
SS
Well
Signale
Routing-Kanal
Metall1
Polysilizium
Das oben dargestellte Standardzellenlayout realisiert die Funktion:
Die Standardzellen-Methodik beinhaltet nur Basiszellen gleicher Hhe
-> oben VDD- und unten VSS-Leitungen: in den Zwischenrumen werden die
gewnschten Schaltglieder (Gatter) modelliert
b a b a y & &
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
24
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 Rechnergesttzter Entwurf
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
25
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
t
OX
V
t
V
dd
O
x
y
d
d
i
c
k
e

t

O
X
(
n
m
)
MOSFET Kanallnge (m)
Schnelle Evolution der
IC-Technologien
Quelle: Intl Technology Roadmap for Semiconductors ITRS
CMOS-
Skalierung
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
26
Moores Gesetz
Die Komplexitt von Speicher-
chips und Mikroprozessoren
wuchs exponentiell
Es war genau diese Abbildung,
die Moore vorhersagte
Moores Law: Integrationsdichte
verdoppelt sich alle 18 Monate
Technologie Evolution: Integrationsdichte
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
27
Mikroelektronik: Skalierung, Verlustleistung und Kosten
Prozessor- und Speicher-
integrationsdichten im
Vergleich zu Moores Gesetz
Kostenentwicklung Prozessor- und Speicherintegration
Verlustleistungsentwicklung
(Quelle: International Technology Roadmap for Semiconductors ITRS)
KIT Universitt des Landes Baden-Wrttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Institut fr Technik der Informationsverarbeitung
28
Intels High-End Prozessorlsung: Itanium
Quelle: J ason Stinson (Intel), DAC 2003
130 nm Itanium 2 Prozessor
410 Millionen Transistoren
374 mm
2
Die-Size
6 MB On-Chip L3-Cache
1.5 GHz mit 1.3 V
Versorgungsspannung
Grter On-Die Cache
Grte Anzahl an Transistoren
innerhalb eines einzelnen
Mikroprozessorentwurfs-
projekts