Post on 30-Nov-2015
www.kit.edu
Institut für Technik der Informationsverarbeitung
Karlsruher Institut für Technologie (KIT)
Digitaltechnik
Prof. Dr.-Ing. J. Beckerbecker@kit.edu
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Funktion und Struktur
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung2
Der SystembegriffSystemvielfalt
• Der Begriff System wird häufig im Zusammenhang mit natürlichen, technischen und organisatorischen Gebilden mit komplexem Erscheinungsbild eingesetzt
• Beschreibt generell die Gliederung, den Aufbau, das Ordnungs- und Einordnungsprinzip in verwandte oder ähnlich gebaute Gruppen
• Beispiele: - politische Systeme- Periodensystem der Elemente (Chemie), - Planetensystem- System der Maßeinheiten- Steuersysteme- Nachrichtensysteme- Rechnersysteme- Mikroelektronische Systeme- Mikrosysteme- Betriebssysteme, usw.
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung3
Der Systembegriff Systemvielfalt
• Wegen der unüberschaubaren Vielfalt an möglichen Systemen entzieht sich der Begriff einer allgemeinen Definition:
- natürlich oder künstlich- konkret oder abstrakt- statisch oder dynamisch- offen oder abgeschlossen
• Für jedes konkrete System kann eine Fülle zusätzlicher Merkmale (oder Attribute) festgelegt werden bzgl.:
- dem Grad der Bestimmtheit- der Entstehungsweise- der örtlichen und zeitlichen Konzentriertheit- der Zeitabhängigkeit- etc.
• Notwendig: Beschränkung des Systembegriffs auf Bereiche
technische Anwendungen
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung4
Der SystembegriffBei Beschränkung der Vielfalt und Einschränkungauf technische Sichtweise gilt
1. Ein System umfasst stets kleinere Anteile- Untersysteme, Komponenten, Module, Bausteine, Elemente sogenannte Objekte
2. Zwischen den Objekten eines Systems müssen Beziehungen bestehen ermöglichen Zusammenwirken solcher Objekte Beziehungen können materieller, energetischer und
informationeller Natur sein Gesamtheit dieser Beziehungen bildet zusammen mit den Objekten
die Struktur des Systems
3. Objekte und Beziehungen bilden eine abgeschlossene Einheit- nur über definierte Schnittstellen (externe Schnittstellen)
kann ein System betreten und verlassen werden
Ein-/Ausgabebeziehungen
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung5
Der SystembegriffBeispiele der Systemdefinitionen
• Norm DIN 2330: Funktion eines Systems ist das Vermögen, eine Eingabe in eine Ausgabe zu überführen
• Unter einem System versteht man ein Gebilde aus bestimmten Objekten mit bestimmten Eigenschaften, zwischen denen festgelegte Beziehungen bestehen
• Ein System besteht aus einer Menge von Elementen, auf diesen definierten Eigenschaften und einer Menge von Relationen zwischen den Elementen
In der Datenverarbeitungs- und Digitaltechnik
• Ein nach bestimmten Prinzipien aus Komponenten zusammengesetztes Ganzes, das eine bestimmte Aufgabe zu leisten imstande ist, z.B. Rechensystem, Steuerungssystem, Softwaresystem
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung6
F
Darstellung von SystemenDarstellung von Systemen• die externe Sicht für den Benutzer, sogenannte Architektur• die interne Sicht für den Hersteller und Betreiber• Architektur eines Systems ist dessen Gesamtfunktion, wie sie dem
Benutzer gegenüber nach außen hin in Erscheinung tritt keine Aussagen über die interne Realisierung dieses Systems
• Daher: Bedarf an geeigneten Beschreibungsmöglichkeiten Funktion F umgangssprachlich, fachsprachlich oder
mathematisch/formal festlegen• Diese Notation dient dann häufig als Referenz zur Realisierung von F
Konstruktion von Anlagen, Geräten und Programme
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung7
Spielgerät "Zitterdraht"
MetalldrahtGriff mit Metallschlaufe
Kabel
Metallkontakte links und rechts
System: Beispiel
Funktionsweise• Aufbau: Metallkontakte verbunden mit einem gebogenen Metalldraht
Metallschlaufe ist mit elektrischen Anschluss versehen• Aufgabe: Schlaufe soll Wege zwischen Kontakten zurücklegen ohne
Berührung des Drahtes
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung8
System: Beispiel (Fortsetzung)Spielgerät Zitterdraht: Ermittlung der Punktezahl
Festlegung der Gesamtunktion F:• Ablauf: Anzahl erlaubter Drahtberührungen pro Weg
bei Überschreitung ist Spiel beendet, ansonsten ist Weg erfolgreich durchlaufen
• Punktvergabe: für jeweiligen Weg, abzüglich der Drahtberührungen (siehe Tabelle)
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung9
Festlegung der Gesamtfunktion F:• Eingabe (elektrische Signale):
Taste “Neues Spiel“: Beendigung und Start (+ Berührung rechter Kontakt) Taste “Anzeige/Höchstpunktzahl“: Anzeige der Höchstpunktzahl
aus allen Spielen Taste “Grundstellung“: Rücksetzen der Höchstpunktzahl (auf 1 Punkt) Elektrische Kontakte/Anschlüsse
• Ausgabe (optische Signale): optische Anzeige verschiedener Informationen
(Spielstand, Status, Höchstpunktzahl)
System: Beispiel (Fortsetzung)Metalldraht
Griff mit Metallschlaufe
Kabel
Metallkontakte links und rechts
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung10
System: Beispiel (Fortsetzung)
FEl. Signale Opt. Anzeige
Taste Anzeige/HöchstpunktzahlTaste Grundstellung
Taste Neues SpielDrahtanschlussLinker Kontakt
Rechter Kontakt
Punktezahl/HöchstpunktzahlIndikator für
HöchstpunktzahlWegnummerFreiberührungenSpiel läuftSpielendeGrundstellung
Externe E/A-Schnittstellen von F
• Die Festlegung von F sagt noch nichts aus, wie das Gerät zu realisieren ist und welche technischen Randbedingungen dabei zu berücksichtigen sind
• Wir erhalten lediglich einige Angaben über die externen Schnittstellen elektrischer und optischer Art, mit deren Hilfe die Funktion F mit der Außenwelt in Wechselwirkung tritt
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung11
System: Hierarchie und AufteilungAufteilung in Untersysteme
• Bei komplexen Systemen besteht der Bedarf den Darstellungs-aufwand zu verkleinern
• Deshalb Unterteilung des kompletten Systems in überschaubare Teilfunktionen
• Hierdurch gelangt man zu einer stufenweisen Entwicklung eines Systems, wodurch eine Hierarchie der Darstellungsweisen und der Funktionszusammenhänge entsteht
• Die höher angesetzte Ebene umfasst dabei stets die Spezifikationeines Systems (bzw. einer Systemkomponente), die darunter liegende umfasst eine Anordnung von funktionell weniger mächtigen Komponenten und deren Spezifikation
• Struktursicht des Systems
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung12
F
iF
jF kF
Verfeinerung
• Der Übergang zwischen den gleichartigen Einheiten wird Schnittstelle genannt
• Die Regeln zur Kommunikation über die Schnittstelle beschreiben ein sogenanntes Protokoll
System: Hierarchie und Aufteilung
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung13
Beispiel: Auflösung von F „Zitterdraht“ in Teilsysteme
System: Hierarchie und Aufteilung
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung14
Mehrstufige Verfeinerung
• Bei heutigen Digitalsystemen reicht eine einstufige Verfeinerung meist nicht aus, um eine Realisierung vornehmen zu können
• Deshalb ist eine mehrstufige Aufteilung des Systems sinnvoll, um die Komplexität zu reduzieren
• Verfeinerungsschritte können auch als Transformationen der funktionellen Beschreibungen in eine strukturelle aufgefasst werden
• Definition der Teilsysteme f (Komponenten): - realisieren genau bestimmbare Funktionsteile der Gesamtfunktion F- präzise funktionelle Abgrenzung gegenüber anderen Teilsystemen
• Wichtig: Relationen zwischen den unterschiedlichen Teilsystemen f Verbindungsrelationen und geeignete Verbindungsstrukturen
System: Hierarchie und Aufteilung
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung15
F 0
f 12
2. Verfeinerungsschritt
1. Verfeinerungsschritt
3. Verfeinerungsschritt
F 13F12F11
F25F24
f 13f 11
f 22 f 23
f 21
f 27
f28f26
f25
f 24
f 35
f 34
f 33f 31
f 32
System: Hierarchie und AufteilungMehrstufige
Systemverfeinerung
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung16
Systematischer Entwurf digitaler Systeme
Spezifikation
Struktur
Top-Down Bottom-Up
Transformationsrichtungen
• Die Transformation einer Spezifikation in eine Struktur lässt sich auch umkehren.
• Durch die Analyse der Struktur und der in ihr enthaltenen Teilfunktionen wird schrittweise die darüber liegende Gesamtfunktion abgeleitet.
• Die beiden Transformationsrichtungen werden wie folgt bezeichnet:
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung17
Systementwurf (noch weitestgehend manuell)Logischer Entwurf (Automatisierung)Physikalischer Entwurf (Automatisierung)
Transformationsrichtungen
• Heute folgt der Entwurf von digitaltechnischen Systemen relativ streng dem Top-Down-Prinzip
• Einzelne Komponenten werden in einer bestimmten Technologie im Bottom-Up-Prinzip technisch optimal gestaltet und in den Top-Down-Weg einbezogen
• Tatsächliches Entwerfen besteht daher häufig in einem iterativen Vorgehen, bei dem beide Entwurfsrichtungen abwechselnd über eine oder mehrere Verfeinerungsstufen hinweg Anwendung finden
• Im Entwurf digitaltechnischer Systeme unterscheidet man drei Hauptgruppen, die eine Reihe von Transformationsschritte zusammenfassen:
Systematischer Entwurf digitaler Systeme
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung18
Phys. Entwicklung
Systembeschreibung ( Definition )
Formale Entwicklung
Gefertigtes System
Transformation:
Spezifikation zunehmend
(mehr Abstraktion)
Transformation:
Implementierung zunehmend
(mehr Detailreichtum)
Top-Down-Entwurf
Bottom-Up-Entwurf
Neben-bedingungen
Systematischer Entwurf digitaler Systeme
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung19
Entwickler
Funktion
Struktur
f ...f1 k
Fn
STRn+1
f1...fk
Fn
Programm
STRn+1
Automatisierung des Entwurfablaufs• Für die meisten Entwurfsaufgaben kommt nur eine Mischung aus manuellem und
automatisiertem Entwurf in Frage• Manueller Entwurf wird überwiegend auf Systemebene eingesetzt• Für Standardanwendungen ist heute der logische und physikalische Entwurf
weitgehend automatisiert• Hierfür werden eine Reihe von CAD-Werkzeugen von verschieden Herstellern
angeboten (Cadence, Synopsys, Mentor Graphics, etc)
Systematischer Entwurf digitaler Systeme
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung20
Abstraktionsebenen
Systematischer Entwurf digitaler Systeme
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung21
Systematischer Entwurf digitaler Systemearchitecture structural of first_tap is
signal x_q,red : std_logic_vector(bitwidth-1 downto 0);signal mult : std_logic_vector(2*bitwidth-1 downto 0);
begin
delay_register:process(reset,clk)begin if reset='1' then
x_q <= (others => '0');elsif (clk'event and clk='1') then
x_q <= x_in;end if;
end process;
mult <= signed(coef)*signed(x_q);
Hardware Beschreibung(RT-Ebene)
Automatisierte Synthese(Synopsys)
Netzliste(Logik-Ebene)
Masken-Layout
Platzierung &Verdrahtung(Cadence/
Mentor)
Fabrikation
Chip Wafer
www.kit.edu
Institut für Technik der Informationsverarbeitung
Karlsruher Institut für Technologie (KIT)
Digitaltechnik
Prof. Dr.-Ing. J. Beckerbecker@kit.edu
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Nachricht und Signal
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung2
Information und Nachricht
• Information ist ungeachtet seines häufigen Gebrauchs nicht formal definiert, jedoch der Gemeinsprache als Kenntnis über reale oder gedankliche Sachverhalte und Vorgänge bekannt
• Beispiel: unterschiedliche Interpretation derselben Information
wichtig: Kontext der Information
Kündigung
Sehr geehrter Herr Maier, die von Ihnen beschaffte EDV-Anlage
CVK7.5 hat errechnet, daß bereits 10% ihrer Leistung ausgereicht hätten, um
Ihre Arbeitskraft voll zu ersetzen. CVK7.5 bedauert deshalb, Ihnen mitteilen zu müssen, daß mit der
Übernahme der Betriebsführung zum 01.01.2001 durch CVK7.5 ...
„Herr Maier ist geflogen"
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung3
Definitionen: Nachricht und Daten
• Nachricht (DIN 44300 Teil 2): Gebilde aus Zeichen oder kontinuierlichen Funktionen, die aufgrund bekannter und unterstellter Abmachungen Information darstellen und die vorrangig zum Zweck der Weitergabe als zusammengehörig angesehen und deshalb als Einheit betrachtet werden.
Sonderfall (Unterscheidung durch Zweckbestimmung):
• Daten: Gebilde aus Zeichen oder kontinuierlichen Funktionen, die aufgrund bekannter oder unterstellter Abmachungen Information darstellen, vorrangig zum Zweck der Verarbeitung oder als deren Ergebnis
Nachricht: Weitergabe von Daten
zentral: digitale Datenverarbeitung
Information und Nachricht
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung4
Definitionen
• Zeichen: ein Element aus einer endlichen Menge von Objekten Zeichenvorrat
zur Darstellung von Information vereinbart
- Morsezeichen "-" { - , · , }
- Morsealphabet “-...“ {.-, -..., -.-., ..., --.. }
- Buchstaben "G" {A, B, C, ... , Z}
- Ziffern "4" {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
- Beliebiger Zeichensatz ““ {,,,,}
- Verkehrszeichen ...
vielfältige weitere Beispiele für “Zeichen“ und “Alphabete“
Information und Nachricht
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung5
Definitionen• Symbol: ein Zeichen (oder eine Zeichenfolge) wird als Symbol
bezeichnet, wenn ihm in der gegebenen Situation eine bestimmte Bedeutung zugeordnet ist
Beispiele für Symbole und Ihre Zuordnung in jeweiliger Situation
Information und Nachricht
, , ,
, , ,- Spielkarten:
- Schalt-„Zeichen":
- Elektroherd:
- Kühlschrank:
- mathematische Symbole: + , - , . , / , =
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung6
Physikalische Größen als NachrichtenträgerTechnische Darstellung von Information / Nachrichten / Daten
• Notwendigkeit eines Trägers, meist physikalischer Natur
• Aufprägen einer Nachricht: Veränderungen charakteristische Parameter
• Parameter + Änderungen: zeitlicher Verlauf + räumliche Abhängigkeit
Physikalische Größe Veränderbarer Parameter
Spannung, Strom Amplitude, Kurvenform,Frequenz, Phasenlage
Widerstand Widerstandswert
Feldstärke Betrag , Richtung
Reflexionsfähigkeit Reflexionsfaktor
Durchlässigkeit Transmissionsfaktor
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung7
Physikalische Größen als Nachrichtenträger
• Die Verwendung physikalischer Größen in diesem Zusammenhang führt nach DIN 44300 auf einen neuen Begriff:
Definition
• Signal: Die Darstellung von Nachrichten oder Daten mit physikalischen Mitteln
Systematische Veränderungen von Parametern einer physikalischen Größe in Zeit und Raum nach vereinbarten Regeln
• Wichtig: Wertemenge der kennzeichnenden Parameter
Kontinuierliche Wertemenge
Wertebereiche / Werteintervalle ( Messtechnik!)
- diskrete Signale
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung8
Theoretisch:
kontinuierliches Signal physikalisch +
meßtechnisch nicht realisierbar
W
zeitdiskretes, wertkontinuierlichesSignal diskrete
Abtastzeitpunkte
W
Kontinuierliche und diskrete SignaleTypen von Signalen
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung9
W
zeitkontinuierliches , wertdiskretes Signal
Bsp.: Quanteneffekte
zeitdiskretes,wertdiskretes Signal:
digitales Signal Digitaltechnik:
Einschränkung der Zahl möglicher Werte (Intervalle)
W
Kontinuierliche und diskrete Signale Typen von Signalen
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung10
Signale mit begrenzter Zahl von Werten• In der Digitaltechnik: Einschränkung der Anzahl der Werte
für Signale
• Auf diese Weise wird eine preiswerte und zuverlässigetechnische Lösung erreicht
• Ein Digitalwert repräsentiert dann ein Intervall an Werten
Maximalwert
physikalische Größe
Minimalwert
I 4
I 4I 5
I 6
I 3I 3
I 2
I 1
Problem:exakte (“harte“) Diskrimination an Intervallgrenzen
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung11
Signale mit begrenzter Zahl von Werten
• Problem: Intervallübergänge Trick: jeweils zwischen zwei Intervallen
undefinierte Bereiche einfügen
• Zuordnungsproblem mit technisch einfachen Mitteln lösbar
• Undefinierte Bereiche -> Digitalwertzuordnung “willkürlich“
undefinierter Bereich I 4
I 3
Besser:“weiche“Diskrimination
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung12
Binärsignale
• Von Bedeutung ist die Signaldarstellung mit der geringstenDigitalwertezahl -> nämlich zwei
• Die Realisierung zugehöriger technischer Lösungen ist besonders einfach und damit kostengünstig
• Die beiden Intervalle werden üblicherweise mit H bzw. L benannt
Maxim alwert
phys ikalischeGröße
H igh-Interv all, H
U ndef inierter Bereich
Low-Interv all, L
Minim alwe rt
T echnische Lö sung
TT L-T echnik
V.24-Schni ttste lle
Schal ter
T ransmissionsfa ktor
L-Bereich
0 ... 0 ,8 V
-12 .. -3 V
n iederohmig
0 .. 40 %
H-Bereich
2,0 ... 5 V
3 ... 12 V
hochohmig
70 ... 100%
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung13
Binärsignale
• Signaldarstellung: Auswahl aus zwei Werten elementarste Entscheidungsmöglichkeit
• Ein Binärsignal enthält eine Information von 1 Bit (bit: binary digit)
• Abstraktion von technischer Darstellung: Alternativen häufig mit “0“ bzw. “1“ bezeichnet
• Ein Binärsignal zur Informationsdarstellung nicht ausreichend
Zusammengesetzte Repräsentationen aus mehreren Binärsignalen werden verwendet
weitergehende kombinatorische Möglichkeiten
• Binärsignal: x {L,H}: Binärvektoren X = (xn, ... , x1)
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung14
1 2 3 4 ... nL LL LLL LLLL LL...LLLLH LH LLH LLLH LL...LLLH
HL LHL LLHL LL...LLHL2 HH LHH LLHH LL...LLHHHLL LHLL LL...LHLLHLH LHLH LL...LHLHHHL LHHL LL...LHHLHHH LHHH LL...LHHH
HLLL LL...HLLLHLLH LL...HLLHHLHL LL...HLHLHLHH LL...HLHHHHLL LL...HHLLHHLH LL...HHLHHHHL LL...HHHLHHHH LL...HHHH
HH...HHHLHH...HHHH
Zahl der möglichen Werte- kombinationen
Zahl der Binärsignale
2 . 2 = 4
2 . 2 . 2 =8
2 . 2 . 2 . 2 = 16
2 . 2 . ... . 2 = 2n
Binärsignale
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung15
Binärsignale
• Mit n Binärstellen lassen sich also
unterschiedliche Kombinationen bilden
• Anzahl Binärsignale zur Darstellung von N Werten (Zeichen)
inverse Funktion:
• Weiterhin: Berücksichtigung, dass nur ganzzahlige Anzahl Bits zur Darstellung von Binärsignalen möglich sind
Darstellung von N Werten:
Bits werden benötigt
n2
n= ld N
2n = log N = ld N
www.kit.edu
Institut für Technik der Informationsverarbeitung
Karlsruher Institut für Technologie (KIT)
Digitaltechnik
Prof. Dr.-Ing. J. Beckerbecker@kit.edu
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Informationsgehalt
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung2
Informationsgehalt • Neben Darstellung von Zeichen:
Aussage über Informationsgehalt eines Zeichens interessant Zeichen sind quantitativ im Vergleich zu anderen Zeichen
oder im Hinblick auf technischen Darstellungsaufwandzu bewerten
• Ermittlung des Informationsgehalt eines Zeichens e
Annahme: ein Zeichen trägt umso mehr Information, je seltener es beim Empfänger eintrifft !
Also: Informationsgehalt eines Zeichens steigt
Auftrittswahrscheinlichkeit dieses Zeichens nimmt ab
eH
peH
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung3
Informationsgehalt
Definition: Informationsgehalt eines Zeichens e
• Die Einheit entspricht, wie beim Binärsignal bereits einführt:
1 Bit
Also: Einheit entspricht der elementaren Entscheidungzwischen zwei gleichwahrscheinlichen Möglichkeiten
p = 0,5
Voraussetzung: Beobachtete Zeichen sind voneinander unabhängig
e1H = ld p
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung4
Beispiele:
gleich- bzw. ungleichwahrscheinliche Symbole
Informationsgehalt
p=1/4
p=1/4 p=1/4
p=1/4
He = 2 bitHe = 2 bit He = 2 bit
p=1/8 p=7/8
“As” “kein As”He = 3 bit He = 0,2 bit
Voraussetzung: Kartenspiel mit 32 Karten
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung5
InformationsgehaltBetrachtung nicht-gleichwahrscheinlicher Zeichen:
Frage: Informationsgehalt einesZeichens in einer Zeichenfolge
Voraussetzung: Alphabet mit N Zeichen
Es gilt:
• In einer Folge mit L Zeichen ist die zu erwartende Auftrittshäufigkeiteines speziellen Zeichens i:
N
i=1
p(i) = 1
L p(i)
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung6
InformationsgehaltBetrachtung nicht gleichwahrscheinlicher Zeichen:• Alle beobachteten Zeichen i liefern den gesamten Informationsbeitrag:
• Alle N Zeichen zusammen betrachtet
Informationsgehalt pro Zeichen:
und nennt H Entropie der Quelle
• Weitere quantitative informationstheoretische Betrachtungen:
moderne Informationstheorie (C. Shannon)
N
i=1
1H = p(i) ld p(i)
ei1L p(i) H = L p(i) ld
p(i)
Institut für Technik der Informationsverarbeitung
Digitaltechnik
www.kit.edu
Karlsruher Institut für Technologie (KIT)
Prof. Dr.-Ing. J. Beckerbecker@kit.edu
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Codierung und Fehlerkorrektur
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung2
Codewörter Allgemein: Code ist Vorschrift für eindeutige Zuordnung Codierung
Zuordnung muss nicht umkehrbar eindeutig sein
Beispiel: Zuordnung von Zeichen verschiedener Alphabete
Zeichenvorrat (Urmenge) anderer Zeichenvorrat (Bildmenge)
• Digitaltechnik: Abstraktion der Werte “L“ und “H“ durch Symbole “0“ und “1“
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung3
Codewörter sind elementare Einheiten zur Darstellung von Informationen
Beispiel:
Anzahl möglicher Codewörter mit m Binärstellen:
Maximale Anzahl N von m-stelligen Codewörtern:
Anzahl strukturierter m-stelliger Codewörter mit k Einsen:
Codewörter
Codewort
10111010
10111
Anzahl Binärstellen
m=8
m=5
m2
mN 2
)!(!
!kmk
mmk
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung4
Allgemein gilt: Codes legen fest, wie Codewörter zu interpretieren sind
Beispiel: Strukturierter Code
Anzahl Wörter im (2 aus 5)-Code:
m = 5 k = 2
Folgende Codewörter sind möglich:
Der (2 aus 5)-Code eignet sich mit seinen 10 Codewörternbesonders zur Darstellung von Dezimalziffern
10)!25(!2
!552
N
0011001001
0001100101
0101001100
1000110010
1010011000
Strukturierte Codes
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung5
Codes für die Analog/Digital-UmsetzungWandlung von stetigen Signalen in zusammengesetzte Binärsignale
Aufgabe:
Festlegung einer geeigneten Zuordnung:
Stetiger Wertebereich
Binärer Wertebereich
0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1
Feder
Gewicht
______________________________________
Ablesefenster
Analog/Digital-Wandler
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung6
Codes für die Analog/Digital-Umsetzung Wandlung: stetige (analoge) Signale in Binärsignale (Binärvektoren)
Problem: Übergänge, bei denen sich mehr als eine Binärstelle ändert
Beispiel:0 1 1 1 0 0
Beim Wechsel müssen nicht alle Binärstellen gleichzeitig wechseln
Dadurch: große Abweichungen für Werte der Binärsignale möglich:
0 1 1
111, 001, 010, 101, 110 oder 000 1 0 0
3 Binärstellen-übergänge
Fehlerhafte Über-gänge in andere
Codewörter möglich
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung7
Code-Eigenschaften: HammingdistanzEigenschaften von/zwischen Codewörtern
Definition: Hammingdistanz HD (auch Hammingabstand genannt)
Seien die Codewörter CWi, CWj {0, 1}n, HDij = Anzahl der Stellen, an denen sich CWi und CWj unterscheiden. Dann heißt Hdij die Hammingdistanz von CWi und CWj .
Also: Die Hammingdistanz HD zwischen zwei gleich langen Codewörtern gibt die Anzahl der unterschiedlichen Binärstellen an.
Beispiele: Bestimmung HD
011 100 HD = 31000 1010 HD = 111000 00101 HD = 4
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung8
Code-Eigenschaften: HammingdistanzDefinition: Minimale Hammingdistanz HDmin
Sei X {0, 1}n beliebig, undHdmin(X) = min{ Hdij CWi , CWj X CWi CWj } Dann heisst Hdmin(X) minimale Hammingdistanz von X
Beispiel: Codewörter des (2 aus 5)-Codes haben folgende minimale Hammingdistanz: Hdmin(2 aus 5) = 2
Die minimale Hammingdistanz ist eine entscheidende Eigenschaft eines Codes, um Übertragungsfehler erkennen und korrigieren zu können
Begriff: Einschrittige Codes
Codes, bei denen zwei benachbarte Codewörter immer eine Hammingdistanz von eins haben heissen einschrittig.
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung9
Spezielle Codes: Gray-CodeCode zur Analog/Digital-Wandlung
Einschrittige Codes: besondere Rolle bei der Analog-Digital WandlungBeispiel: Problem der digitalisierten Waageablesung
Änderung einer Binärstelle geschieht auf jeden Fall immer „gleichzeitig“Wandlungsfehler von höchstens 1 in kleinster Messeinheit
Wichtiger Vertreter der einschrittigen Codes: Gray-Code
zyklisch, m=3
0: 0001: 0012: 0113: 0104: 1105: 1116: 1017: 1000: 000
...
linear, m=4
0: 00001: 00012: 00113: 00104: 01105: 01116: 01017: 01008: 11009: 1101
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung10
Spezielle Codes: Gray-CodeKonstruktion des Gray-Codes
Geg.: Gray-Code mit m = x Binärstellen liegt vor
Doppelt so langen Gray-Code mit mneu = x+1 Binärstellen erzeugen: in umgekehrter Reihenfolge an gegebenen Code anhängen
(Spiegelung an der Horizontalen) und zusätzliche Binärstelle anfügen
(zuerst 2x+1/2 Nullen/Einsen dann 2x+1/2 Einsen/Nullen)
0011
0110
1 01 10 10 0
00001111
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung11
Spezielle Codes: AustauschcodesNotwendig: Datenaustausch zwischen digitalen Systemen:
-> spezielle Codes werden benötigt-> Texte aus Buchstaben, Ziffern, Satzzeichen,
Sonderzeichen (characters) übertragbar
ASCII-Code
Verbreitung: ASCII-Code (American Standard Code for Information Interchange) kodiert mit 7 Bit 128 Zeichen: reicht für englischen Sprachraum
weitgehend aus
Bitgruppen werden zusammengefasst -> spezielle Bedeutung / Namen:
MSB (Most Significant Bits) bezeichnet 3 höherwertigen Bits
LSB (Least Significant Bits) bezeichnet 4 niederwertigen Bits
Zuordnung: Zeichen <-> Codewort MSB teilt alle Zeichen in Gruppen zu je 16 Zeichen ein
(lexikographische Anordnung von Zeichen + Codewörtern)
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung12
Spezielle Codes: ASCII-CodeLSB MSB
Binär 000 001 010 011 100 101 110 111Steuerzeichen Großbuchstaben Kleinbuchstaben
0000 NUL DLE SP 0 @ P ` p0001 SOH DC1 ! 1 A Q a q0010 STX DC2 „ 2 B R b r0011 ETX DC3 # 3 C S c s0100 EOT DC4 $ 4 D T d t0101 ENQ NAK % 5 E U e u0110 ACK SYN & 6 F V f v0111 BEL ETB ´ 7 G W g w1000 BS CAN ( 8 H X h x1001 HT EM ) 9 I Y i y1010 LF SUB * : J Z j z1011 VT ESC + ; K [ k {1100 FF FS , < L \ l |1101 CR GS - = M ] m }1110 SO RS . > N ^ n ~1111 SI US / ? O _ o DEL
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung13
Spezielle Codes: AustauschcodesBeispiel: ASCII-Codierung
Buchstabe “A“:A = 41H = 100 0001B (Bitgruppen analog zu Hexadezimalsystem / Kapitel 4.6)
Praxis: verschiedene 8, 16 und sogar 32 Bit Codes in Gebrauch Spezialzeichen verschiedener Sprachen darstellbar
Weitere Beispiele: - verbreitester 16-Bit Austauschcode ist der UNICODE 65536 Zeichen darstellbar ASCII-Code: erste 128 Zeichen des UNICODES enthält Erweiterungen für viele Sprachen
- 7-Segment-Code: digitale Ziffernanzeige, etc.- Punktmatrixanzeigen: Drucker, etc.- OCR-Code (Optical Character Recognition): Maschinenlesbarkeit- Blindenschrift, etc.
MSB LSB
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung14
• Fehlerschutz umfasst Fehlererkennung und Fehlerkorrektur
• Schutzwirkung wird durch Codierung realisiert
• Unterscheidung abhängig von Lage und Menge fehlerhaft empfangener Bits: Bitfehler, Burstfehler und Symbolfehler
können innerhalb des übertragenen Bitstroms auftreten
gesendeter Bitstrom
empfangener Bitstrom
SymbolBit
Bitfehler 3-bit-Burstfehler
5-bit-Burstfehler
4-bit-Burstfehlerfehlerfrei empfangenes Bit
fehlerhaft empfangenes Bit
Codes für Fehlererkennung / Fehlerkorrektur
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung15
Codes für FehlererkennungProblem in der Praxis: Störeinflüsse können bei der Übertragung oder
Speicherung von binär kodierten Informationen den Wert der zur Darstellung verwendeten physikalischen Grösse verfälschen
Es gilt: einzelne Bitfehler (1 Bit „“kippt“) sind erkennbar bei Codes mit minimaler Hammingdistanz HDmin = 2
jeder denkbare Bitfehler führt zu ungültigem(d.h. unbenutztem) Codewort:
0010gültiges CWi
0011unbenutztes CWj,
Fehlerfall
0111gültiges CWk
1 Fehler 1 Fehler
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung16
Es gilt: Bei Codes mit HDmin = 3: Zweifachfehler erkennbar oder Einfachfehler korrigierbar
2-Fach Fehlererkennung:
1-Fach Fehlerkorrektur:
Codes für Fehlererkennung / Fehlerkorrektur
0010 0011 111101111 Fehler
1 Fehler 2 Fehler
2 Fehler
gCWiugCWj,
FehlerfallugCWk,
Fehlerfall gCWl
0010 0011 111101111 Fehler
1 Fehler Korrektur
Korrektur
gCWiugCWj,
FehlerfallugCWk,
Fehlerfall gCWl
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung17
Codes für Fehlererkennung / FehlerkorrekturAllgemein gilt:
Geeignete Codes können Fehler erkennen und sogar korrigieren
Notwendig: Hinzufügen zusätzlicher (redundanter) Informationen
zusätzlicher Darstellungsaufwand (Kosten!)
Annahme: Höchstanzahl gleichzeitig zu berücksichtigender Fehler ist fest
meistens: höchstens 1 oder 2 Bitfehler gleichzeitig
(Teil-)Systematik bei Festlegung des Codes notwendig
Möglichkeiten: minimale Hammingdistanz, Paritätsbits, Blocksicherungsverfahren, Hamming-Codes, etc.
Paritätsbit-Prüfverfahren:Fehler bei Code-Übertragung erkennbar (ohne Beachtung Hammingdistanz) zusätzliches Paritätsbit anhängen:
- im Binärwort enthaltene Einsen werden entweder auf gerade (even parity) oder ungerade (odd parity) Anzahl ergänzt Überprüfung beim Empfänger
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung18
Fehlererkennung durch ParitätBeispiel: Ergänzung des Paritätsbit
Dezimal Binär gerade Parität
ungerade Parität
0 0000 0000 0 0000 1 1 0001 0001 1 0001 0 2 0010 0010 1 0010 0 3 0011 0011 0 0011 1 4 0100 0100 1 0100 0 5 0101 0101 0 0101 1 6 0110 0110 0 0110 1 7 0111 0111 1 0111 0 8 1000 1000 1 1000 0 9 1001 1001 0 1001 1
Fehler: 1001 1011 0 1011 1
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung19
Fehlererkorrektur durch BlocksicherungDas Prinzip der Paritätssicherung ist zweidimensional anwendbar
Blocksicherungsverfahren mit doppelter Quersummenergänzung
Nachricht wird in Blöcke von n Codewörtern mit Paritätsbit eingeteilt
zusätzlich: am Ende jedes Blocks ein weiteres Codewort einfügen enthält alle Paritätsbits der Spalten
Also: bei Auftreten von Einfachfehlern lassen sich Spalte und Zeile eindeutig ermitteln: Einfachfehler sind damit korrigierbar gleichzeitig sind noch weitergehende
Fehlererkennungsverfahren möglich: Bündelstörung erkennbar
Bündelstörung: zeitlich konzentrierte Fehler, d.h. über einen Zeitraum ist die Verbindung gestört, können erkannt bzw. behoben werden
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung20
Fehlererkorrektur durch BlocksicherungBeispiel: Fehlerlokalisierung durch Blocksicherungsverfahren
Spalte mit Fehler(ungerade Parität)
Zeile mit Fehler(ungerade Parität)
Ziffer Codewörter mit gerader Parität
5 0 1 0 1 0 4 0 1 0 0 1 1 0 0 1 1 1 3 0 0 1 1 0 9 1 0 0 1 0 8 1 0 0 0 1
Prüfwort 0 0 1 0 1
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung21
Fehlererkorrektur durch Blocksicherung• Also: m Informationsbits werden k Fehlerschutzbits als Redundanz
angehängt und übertragen
• Damit: Vergrösserung des Datenstroms auf Länge n = m + k
• Beispiel für Blocksicherung: zyklische Redundanzprüfung[Cyclic Redundancy Check (CRC)]
0 1 1 0
1 1 0 1
0 1 0 1
1 0 1 0
0
1
0
0
0 1 0 0
0 1 1 0
1 0 0 1
0 1 0 1
1 0 1 0
0
0
0
0
0 0 0 0
gesendete Bitfolge
Quersumme der Spalten
Quersumme der Zeilen
Fehler
Fehler
empfangene Bitfolge
www.kit.edu
Institut für Technik der Informationsverarbeitung
Karlsruher Institut für Technologie (KIT)
Digitaltechnik
Prof. Dr.-Ing. J. Beckerbecker@kit.edu
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Nachrichtenübertragungund Optimale Codes
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung2
Codes für die Nachrichtenübertragung
• Übertragung von Nachrichten und Daten
• Spezielle Anforderungen an Codierung:
Schutz gegen Verfälschungen + typische Fehlerfälle
Darstellungsaufwand minimieren (Kosten, Performanz)
• Weiteres Problem: Annahme des Einzelfehlerfalls trifft häufig in Übertragungssystemen nicht zu zeitlich konzentrierte Fehler
(Störung über einen Zeitraum) Bündelstörungen treten auf
• Also: dedizierte zusätzliche Maßnahmen notwendig
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung3
Codes für die Nachrichtenübertragung
• Bündelstörung• Problem: eine längere Auswirkung einer Störung auf ein Signal
• Dadurch können mehrere Bits nacheinander gestört werden
• Bündelfehler: bisher besprochene Codes sind nicht geeignet
• Lösung: Bei der Zeichenverflechtung werden die Binärstellen eines Zeichens (Binärwort) nicht nacheinander übertragen Verwürfelung oder Scrambling der Stellen
• Also: länger anhaltender Störeinfluss (Bündelstörung) bestimmter Länge verfälscht nur Binärstellen von unterschiedlichen Codewörtern
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung4
Geänderte Reihenfolge der Übertragung:
a1 a2 a3 a4 a5 a6 a7 Codewort 1
b1 b2 b3 b4 b5 b6 b7 Codewort 2
c1 c2 c3 c4 c5 c6 c7 Codewort 3
d1 d2 d3 d4 d5 d6 d7 Codewort 4
e1 e2 e3 e4 e5 e6 e7 Codewort 5
Paritätsbit
Bündelstörung: Zeichenverflechtung
– Eine Störung von maximal 5 aufeinanderfolgenden Bitsist damit erkennbar
– Trotz andauernder Störung: pro Codewort nur 1 Bit verfälscht
Paritätsbit (7. Bit) detektiert Einzelfehlerfälle
Übertragung mitAnwendung der
Zeichen-verflechtung(“Scrambling“)
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung5
Bündelstörung: Fehlererkennung/Korrektur• Beispiel für eine Übertragung mit Bündelstörung:
e7 d7 c7 b7 a7 e6 d6 c6 b6 a6
c2b2a2e1d1c1b1a1
e5 d5 c5 b5 a5 e4 d4 c4 b4 a4 e3 d3 c3 b3 a3 e2 d2
Empfangen
Senden
Bündel-Störung
Codewort 1
Codewort 2
Codewort 3
Codewort 4
Codewort 5
d1
a1
b1
c1
e1
a2
b2
c2
d2e2
a3
b3
c3
d3e3
a4b4
c4
d4e4
a5b5
c5
d5e5 e6
d6
c6
b6
a6 a7
b7
c7
d7e7
d1
a1
b1
c1
e1
a2
b2
c2
d2e2
a3
b3
c3
d3e3
a4b4
c4
d4e4
a5b5
c5
d5e5 e6
d6
c6
b6
a6 a7
b7
c7
d7e7
Ü b e r t r a g u n g
Allgemein gilt:
erlaubt der benutzteCode Fehler-erkennung bzw. Fehlerkorrektur gesamte Bündelfehler ist erkennbar bzw. korrigierbar
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung6
– Neben der Fehlersicherheit spielt bei der Übertragung auch die Länge einer Nachricht eine Rolle
– Der Morse-Code hat schon früh die statistischen Eigenschaftender englischen Sprache ausgenutzt, um eine möglichst kurzeDarstellung der Nachricht zu erzielen
– Häufig auftretende Buchstaben werden möglichst kurzen Codewörtern zugeordnet, während für seltene Buchstaben längere Codewörter gewählt werden
• Beispiel Morse-Code:
Optimale Codes
häufige Buchstaben seltene Buchstabene: t: - j: --- q: ---i: a: - y: --- ö: ---
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung7
Optimale Codes
• Optimale Codes
– Optimale Codes versuchen die im Mittel auftretende durchschnittliche Codewortlänge m zu minimieren
– Der minimal erreichbare Idealwert ist dabei der durchschnittliche Informationsgehalt H des Zeichenvorrats -> Entropie der Sendequelle
– Für einen Zeichenvorrat {x1, x2, x3, ... xn} gilt:
n
i ii
n
iiei xp
ldxpxHxpH11 )(
1)()()(
n
iii xmxpm
1)()(
Informationsgehalt H:
Codewortlänge m:m(xi): Länge CW für Xi
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung8
Optimale Codes: Shannon-Fanø-Code
• Konstruktionsvorschrift:
– Zeichenvorrat nach aufsteigender Wahrscheinlichkeitlinear sortieren lineare Ordnung
– Zwei Teilmengen so konstruieren, dass die Summen-wahrscheinlichkeiten der beiden Teilmengen möglichst gleich groß sind, d.h. die addierten Auftrittswahrscheinlichkeiten der in beiden Teilmengen enthaltenen Zeichen ergebenmöglichst die gleiche Summe
– Die erste Teilmenge erhält das Codierungszeichen “0“und die zweite Teilmenge eine “1“
– Mit den jeweils resultierenden Teilmengen rekursivin gleicher Weise fortfahren bis nur noch 1 Zeichen in resultierenden Teilmengen
enthalten ist
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung9
• Beispiel: Zeichen a b c d eWahrscheinlichkeit 0,1 0,1 0,2 0,3 0,3
Zeichen a b c d eKodierung 000 001 01 10 11
1p},,,,{ edcba
6,0p 4,0p},,{ cba },{ ed
0 1
1,0p
}{a
0
1,0p
}{b
1 2,0p},{ ba
0
}{c
1
2,0p
}{e
1
}{d
0
3,0p 3,0p
Shannon-Fanø-Code
Konstruktion des optimalen Codes:
Codierungsbaum: Repräsentation der
rekursiv konstruiertenTeilmengen zucodierender Zeichen und ihre Codes
Codewortlänge m = 2,2
Codierung:
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung10
Optimale Codes: Huffman-Code
• Codierung mit variabler Bitlänge der Codewörter
– effizienter als Codierung mit fester Bitlänge
• Präfixfreie-Codierung
– kein Kodewort ist Präfix eines anderen Codewortes
• Vorgehensweise graphisch darstellbar (binärer Baum, siehe auch Graphentheorie in Kap. 5.3 im Buch)
– Blätter repräsentieren Codewörter
– der Weg dorthin das eigentliche Codewort
• Vorgehensweise Huffman-Codierung: Greedy-Algorithmus (greedy = “gierig”)
nutzt Liste mit Auftrittswahrscheinlichkeiten (AWS) der zu codierenden Zeichen
Beschreibung der Eigenschaften und Konstruktion
• Effiziente Codierungstechnik für Datenkompression (JPEG, MPEG)
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung11
HKA ist ein Greedy-Algorithmus
HKA konstruiert einen Baum (= azyklischer zusammenhängender Graph) T, der die Codierung der einzelnen Zeichen repräsentiert
Sortierte Liste Q jeweils die beiden Zeichen in Q mit niedrigsten AWS finden
Zwei gefundene Zeichen werden zu neuem Element z “verschmolzen”, dessen AWS die Summe der beiden Einzelwahrscheinlichkeiten zugeordnet wird Einsortierung von z in Q entsprechend seiner AWS
Abbruch des HKA:nur noch 1 Objekt in Q übrig Codierungsbaum T
Huffman’s Codierungs-Algorithmus (HKA) (1)
Optimale Codes: Huffman-Code
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung12
beginn |C|; // C ist sortierte Menge der zu codierenden Elemente
Q C; // Q ist sortierte Liste (-> verwendete Datenstruktur)
for i 1 to n-1 doz ALLOCATE-NODE(); // Erstellung eines neuen Knotens z im Codierbaum
x EXTRACT-MIN(Q); // Bestimme Knoten minimaler Auftrittswahrscheinlichkeit (AWS)in Q, entferne diesen aus Q und speichere ihn in x
y EXTRACT-MIN(Q); // Bestimme Knoten minimaler AWS in Q, entferne diesen aus Q und speichere ihn in Y
left[z] x; // Knoten x wird linker Nachfolgeknoten von z im Codierbaum
right[z] y; // Knoten y wird rechter Nachfolgeknoten von z im Codierbaum
f[z] f[x] + f[y]; // Bestimmung der AWS des vereinten Knotens z
INSERT(Q, z); // neuer Knoten z wird in Q (= Codierbaum) entsprechend seiner AWS
end;return EXTRACT-MIN(Q); // letztes verbleibendes Listenelement in Q (= Wurzel des Codierbaums)
wird als Endergebnis ausgegeben end
Huffman’s Kodierungs-Algorithmus (HKA) (2)
Optimale Codes: Huffman-Code
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung13
(a)
Beispiel (1):
f:5 e:9 b:13 a:45d:16c:12
(b)
(c)
f:5 e:9
b:13 a:45d:16c:12 140 1
f:5 e:9
a:45d:1614
c:12 b:13
251 10 0
Optimale Codes: Huffman-Code
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung14
(d)
Beispiel (2):
(e)
f:5 e:9
a:45
d:1614c:12 b:13
25 30
550
0 0
0
1
1 1
1
f:5 e:9
a:45
d:1614c:12 b:13
25 300 0
0
11
1
Optimale Codes: Huffman-Code
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung15
Beispiel (3):
(f)
f:5 e:9
a:45
d:1614c:12 b:13
25 30
55
1001
1
1
1
1
0
0
0
0
0
Optimale Codes: Huffman-Code
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung16
Anwendung im JPEG-Format:
JPEG: Joint Photographic Experts Group
Ziel: allgemeiner Standard für alle Arten von Bildern (Color oder Graustufen), die dadurch “portabel” sind
Ordentliche Kompressionsraten
Dafür leichter Verlust an Bildinformation
Verlustfreie Kompression möglich
Optimale Codes: Huffman-Code
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung17
Dekodierung De-Quantisierung
Rücktrans-formation iDCT
Übersicht des Komprimierungsverfahrens JPEG:
Ausgabe: Ursprungsbild
TabellenTabellen
0011010011000111 ...
Eingabe:komprimierte Bilddaten
JPEG Dekomprimierer
TransformationFDCT Quantisierung Kodierung
Tabellen Tabellen
Eingabe: Ursprungsbild
0011010011000111 ...
Ausgabe: komprimierte Bilddaten
8x8 Bloecke
JPEG Komprimierer
Optimale Codes: JPEG-Verfahren
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung18
Aufteilung des zu komprimierenden Bildes in 8x8-PixelblöckeGeeignete Blockgröße für die FDCT um digitaltechnischen Realisierungsaufwand zu optimieren und den Gesamtaufwand nicht zu hoch zu treiben
Bei größeren Blöcken steigt der Rechen- bzw. Kostenaufwand quadratisch an
Aufteilung
Ursprungsbild 8x8 Pixelblöcke
Optimale Codes: JPEG-Verfahren
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung19
Schnelle diskrete Cosinustransformation (FDCT) liefert per Block eine Koeffizientenmatrix zurück FDCT transformiert Daten aus Ortsbereich f(i,j) in Frequenzbereich F(u,v)Formel für die FDCT:
0,0 0,7
7,0 7,7
7
0
7
0 16)12(cos
16)12(cos),(
41),(
x yvu
vxuyyxfFFvuF
7...1für ,1, 0für ,2
1, u,vFFu,vFF vuvu
-66 -54 -54 -29 -17 -4 8 21
-57 -43 -41 -15 -1 14 28 42
-49 -32 -29 -1 15 31 41 63
-40 -22 -17 14 31 49 67 85
-31 -11 8 28 47 67 87
-22 -1 21 42 63 85 127
-75 -65 -54 -43 -33 -22 -11 -1
-84 -75 -66 -57 -49 -40 -31 -22
106
106
0,0 0,7
7,77,0
0 0 0 0 0 0 0 0
-29 7 0 0 0 0 0 0
0 0 0 0 0 0 0 0
-7 2 0 0 0 0 0 0
0 0 0 0 0 0 0 0
-2 0 0 0 0 0 0 0
-275 74 0 7 0 2 0 0
-1 -275 0 -29 0 -7 0 -2
),( vuF),( yxfFDCT
Optimale Codes: JPEG-Verfahren
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung20
JPEG-Verfahren: FDCT
Einfluss der Bildveränderlichkeit (-> Frequenzen!) auf einzelne Koeffizienten der transformierten Matrix
Obere linke Koeffizient (DC-Anteil) wird größer, je monotoner die Farbverteilung ist
Untere rechte Koeffizient wird durch eine möglichst ungleichmäßige Verteilungder Werte der zu transformierenden Pixelmatrix beeinflusst
Einfluss der Frequenzen eines Blocks auf die transformierte Matrix
0,0 0,7
7,0 7,7
0 0 0 0 0 0 0 0
-29 7 0 0 0 0 0 0
0 0 0 0 0 0 0 0
-7 2 0 0 0 0 0 0
0 0 0 0 0 0 0 0
-2 0 0 0 0 0 0 0
-275 74 0 7 0 2 0 0
-1 -275 0 -29 0 -7 0 -2),( vuF
64 Basisfunktionen
Optimale Codes: JPEG-Verfahren
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung21
-2
Quantisierungsmatrix: möglichst viele “Nullen” in TransformationsmatrixQuantisierung: eigentliche verlustbehaftete Vorgang in der JPEG-KodierungVerlust: durch Rundung nach Division durch Quantisierungsfaktor Q(u,v)
),(*),(),(,),(),(),( :Formel
'
vuQvuFvuFvuQvuFroundvuF QQQ
0 0 0 0 0 0 0 0
-29 7 0 0 0 0 0 0
0 0 0 0 0 0 0 0
-7 2 0 0 0 0 0 0
0 0 0 0 0 0 0 0
-2 0 0 0 0 0 0 0
-275 74 0 7 0 2 0 0
-1 -275 0 -29 0 -7 0 -2
0 0 0 0 0 0 0 0
2 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
-23 6 0 0 0 0 0 0
0 -25 0 -2 0 0 0 0 -32
0 0 0 0 0 0 0 0
-28 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
-276 72 0 0 0 0 0 0
0 -275 0 -32 0 0 0 0
QuantisierungDe-
Quantisierung
28125,11629)0,3(
16)0,3(,29)0,3( :Bsp.
roundroundF
QF
Q
32162)0,3( :ungQuantisier-Deder nach '
QF
14 13 16 24 40 57 69 56
14 17 22 29 51 87 80 62
18 22 37 58 68 109103 77
24 35 55 64 81 104113 92
49 64 78 87 103121120101
72 92 95 98 112100103 99
12 12 14 19 26 58 60 55
16 11 10 16 24 40 51 61
Quantisierungsmatrix:
Optimale Codes: JPEG-Verfahren
JPEG-Verfahren:Quantisierung
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung22
JPEG – ZigZag-Scan
Die 8x8 Koeffizientenmatrix (Frequenzbereich) nach Cosinus-Transformation mittels des Zig-Zag-Verfahrens in “Stream” von 64 Elementen umformen-> Dadurch wird Sequenz mit möglichst langen Nullfolgen gebildet
DC 0,1
1,0 1,1
0,2
2,0
0,0 0,7
7,0 7,7
DC 0,1 1,0 2,0 1,1 0,2 ...
AC
Optimale Codes: JPEG-VerfahrenJPEG-Verfahren: Kodierung (1) – ZigZag Kodierung
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung23
aus ZigZag-Scan entstandene Streams werden nun komprimiert
zuerst: Run-Length-Encoding, um lange Nullfolgen platzsparend zu kodieren
ZigZag-geordnete AC-Koeffizienten werden so kodiert, dass nur AC-Koeffizienten ungleich Null in Binärvektorform (RRRRSSSS) dargestellt werden, wobei:
RRRR (4-Bit) -> Anzahl der Nullen vor dem aktuellen Koeffizienten angibtSSSS (4-Bit) -> Wertebereiche der Koeffizienten gemäß unterer Tabelle repräsentiert
der SSSS-Subvektor bestimmt höherwertige Bits der AC-Koeffizienten, die niederwertigen Bits werden unkodiert an das RS-Symbol angehängt
SSSS AC-Koeffizienten
1 -1,1
2 -3...-2,2...3
3 -7...-4,4...7
10 -1023...-512,512...1023
usw.
z.B.... -658 0 0 0 0 0 0 7 ...
8bit Werte
n n n n 1 0 1 0Bits
0 1 1 0 0 0 1 1
JPEG-Verfahren: Kodierung (2) – Run-Length KodierungOptimale Codes: JPEG-Verfahren
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung24
• letzte Schritt: gebildete RS-Elemente werden Huffman-kodiert
• Betrachtet: Häufigkeit des Auftretens der RS-Werte
• häufig vorkommende Elemente: kurz kodiertselten vorkommende Elemente: lang kodiert
• entweder: ein Huffman-Kode aus gegebenenDaten (AWS) ermittelt,
oder: eine Standardtabelle verwendet (kleiner Ausschnitt s. Tabelle)
• Huffman-Codierung ist verlustfrei
• Mit verschiedenen Tabellen werden unterschiedliche unterschiedliche Kompressionsraten erreicht
• niederwertige Bits der AC-Koeffizientenwerden unkodiert belassen
RRRR SSSS Huffman-Code-Wort0000 0000 1010 (EOB)0000 0001 000000 0010 010000 0011 1000000 0100 10110000 0101 110100000 0110 11110000000 0111 111110000000 1000 11111101100000 1001 11111111100000100000 1010 1111111110000011
Optimale Codes: JPEG-VerfahrenJPEG-Verfahren: Kodierung (3) – Huffman Kodierung
Kodierungstabelle
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung25
JPEG – KompressionBeispiele
Originalbild
25x Komprimiert
75x Komprimiert
Optimale Codes: JPEG-Verfahren
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung26
25x Komprimiert
50x Komprimiert
99x Komprimiert
Optimale Codes: JPEG-Verfahren
www.kit.edu
Institut für Technik der Informationsverarbeitung
Karlsruher Institut für Technologie (KIT)
Digitaltechnik
Prof. Dr.-Ing. J. Beckerbecker@kit.edu
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Hamming Codes
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung2
Hamming-CodesSystematik: Code-Konstruktion zur Fehlererkennung / Fehlerkorrektur
• Satz: HDmin <-> Anzahl erkennbarer / korrigierbarer Fehler
a.) Sei X {0, 1}n ein Code mit HDmin(X) = d dann sind bis zu d –1 Fehler erkennbar !
b.) Sei HDmin(X) = d = 2e + 1 dann sind bis zu e = (d – 1) / 2 Fehler korrigierbar !
Beweis:Zu a.): (d – 1) Fehler: kein gültiges Codewort in anderes Codewort überführbarZu b.): jedes empfangene Codewort CWi mit höchstens e´ ( eFehlern
unterscheidet sich vom gesendeten Codewort CWj an höchstens e´ Stellen,d.h. von jedem anderen gültigen Codewort CWk X unterscheidet sichCWi an mindestens (2e + 1) – e´ 2e´ + 1 – e´ = e´+ 1 Binärstellen
also: HDik e´+ 1, d.h. das ursprünglich gesendete Codewort CWj ist eindeutig aus dem empfangenen (ggf. fehlerhaften) CWi zuzuordnen!
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung3
Notwendige Anzahl von Prüfstellen kin Abhängigkeit von der Anzahl der Informationsstellen mum minimale Hamming-Distanz HDmin = d zu erhalten
Systematische Codes nach Hamming
Hamming-CodesPrüfbare und korrigierbare Codes:
Systematische Konstruktion
0
1
2
3
4
5
6
7
8
9
10
11
12
13
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Prüf
bits
k
Datenbits m
HD 7
HD 6
HD 5
HD 4
HD 3
HD 2
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung4
Hamming-Codes
Zuordnung der geprüften Stellen zu den Prüfstellen:
Prüfstellen der Prüfstelle zugeordnete Binärstelle
geprüfte Binärstellen
y1y2y3y4...
1234...
1, 3, 5, 7, 9, 11, 13, 15, 17, ...2, 3, 6, 7, 10, 11, 14, 15, 18, ...4, 5, 6, 7, 12, 13, 14, 15, 20, ...8, 9, 10, 11, 12, 13, 14, 15, 24, ......
Systematik: Konstruktion von Hamming-Codes
Zuordnung der geprüften Stellen zu den Prüfstellen:
i. Prüfstelle yi überprüft alle Binärstellen (können Informationsstellen m als auch Prüfstellen k sein!), die in der i. Stelle (im i. Bit) der Dualzahlendarstellungen derentsprechenden Binärstellenpositionen (“duale Kennzahlen“) eine “1“ aufweisen
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung5
Hamming-Codes
Aufbau eines 1-F-korrigierbaren Codes: Einfachfehler sind korrigierbar: HDmin = 3
1. Schritt lfd. Nr. duale Kennzahl
1001
2010
3011
4100
5101
6110
7111
2. Schritt 1. StellenbelegungBestimmung von y1
y1 0
x1 0
x2 1
x31
3. Schritt 2. Stellenbelegung Bestimmung von y2
y2 1
x10
X40
x31
4. Schritt 3. StellenbelegungBestimmung von y3
y30
x21
x40
x31
Systematik: Konstruktion von Hamming-Codes
Zuordnung der geprüften Stellen zu den Prüfstellen:
Beispiel: 1. Prüfstelle y1 überprüft alle Binärstellen, die in der 1. Stelle(im 1. Bit) der Dualzahlendarstellungen der entsprechendenBinärstellenpositionen (“duale Kennzahlen“) eine “1“ aufweisen
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung6
Hamming-CodesBeispiel:
Codewort (CW) x1 x2 x3 x4 y1 y2 y3 Dezimalzahl
1. CW
2. CW
3. CW
4. CW
5. CW
6. CW
7. CW8. CW
9. CW
10. CW
11. CW
12. CW
13. CW
14. CW
15. CW
16. CW
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 00 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
0 0 0
0 1 1
1 1 1
1 0 0
1 0 1
1 1 0
0 1 00 0 1
1 1 0
1 0 1
0 0 1
0 1 0
0 1 1
0 0 0
1 0 0
1 1 1
0
1
2
3
4
5
67
8
9
10
11
12
13
14
15
1 F-korrigierbare Codes:
m = 4: Informationsstellen k = 3: Prüfstellen Zuordnung zu
Dezimalzahlen
Beispiel: Konstruktionder Prüfbits für 7. CW
Institut für Technik der Informationsverarbeitung
Digitaltechnik
Karlsruher Institut für Technologie (KIT)
Prof. Dr.-Ing. J. Beckerbecker@kit.edu
www.kit.eduKIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Zahlensysteme
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung2
Zahlensysteme
Zahlensysteme dienen zur transparenten Darstellung von Zahlen durch geeignete Ziffern und deren systematischen Anordnung-> elementar für die Mechanisierung/Automatisierung
in der Digital- sowie Rechentechnik
Polyadische Zahlensysteme geben den Ziffern ihren Wert in Abhängigkeit von ihrer Stelle innerhalb der systematischen stellenorientierten Anordnung
Das Dezimalsystem ist der uns geläufigste Vertreter der polyadischen Zahlensysteme
Die Stellenwerte entsprechen den Potenzen der Basis des jeweiligen polyadischen Zahlensystems
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung3
Polyadische Zahlensysteme: AufbauBeispiele:
168910 = 1 * 103+ 6 * 102+ 8 * 101 + 9 * 100 = 168910223 = 1 * 33 + 0 * 32 + 2 * 31 + 2 * 30 = 3510112 = 1 * 23 + 0 * 22 + 1 * 21 + 1 * 20 = 114112 = 4 * 121+ 1 * 120 = 49
Allgemein: Aufbau einer Zahl N
N = dn * Rn + ... + d1 * R1 + d0 * R0
N: Zahl im ZahlensystemR: Basis, (Grundzahl, Radix) R 2Ri: Wertigkeit der i-ten Stelledi: Ziffer der Stelle iZ: Menge der Ziffern: di Z = {0,1,2, ... , R-1}
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung4
Polyadische Zahlensysteme: Beispiele (1)
Dualsystem (Binärsystem):RB = 2 (Basis)ZB = {0,1}
Beispiel:
11012 = 1 * 23 + 1 * 22 + 0 * 21 + 1 * 20 = 13
Lässt sich in Hardware effizient darstellen und verarbeiten
bei relativ kleinen Zahlen im Dualsystem sehr viele Ziffern zur Darstellung notwendig man fasst oftmals 3 oder 4 Ziffern zusammen resultiert in Oktal- oder Hexadezimalsystem
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung5
Polyadische Zahlensysteme: Beispiele (1)
Dezimalzahlen Dualzahlen
103 102 101 100 24 23 22 21 20
0 01 12 1 03 1 14 1 0 05 1 0 16 1 1 07 1 1 18 1 0 0 09 1 0 0 1
1 0 1 0 1 0
: :: :
1 9 1 0 0 1 12 0 1 0 1 0 0
• Dualzahlen: Repräsentation einer
Zahl mit Binärstellenin polyadischer Dar-stellung und Interpretation
wenn Ziffernvorratin einer Stelle erschöpft,erfolgt ein Übertrag innächsthöhere Stelle
• Dualsystem: grundlegende Zahlen-
system für die numerische Verarbeitung in der Digitaltechnik
Zahlendarstellung im Dualsystem:
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung6
Polyadische Zahlensysteme: Beispiele (2)Oktalsystem:
RO = 8
ZO = {0,1,2,3,4,5,6,7}
• 1 Ziffer im Oktalsystem entspricht genau 3 Ziffern im Dualsystem
Beispiele: Oktalzahlen
Dezimal: 0 1 2 3 4 5 6 7 8 9
Oktal: 0O 1O 2O 3O 4O 5O 6O 7O 10O 11O
Dezimal: 10 11 12 13 14 15 16 17 18 19
Oktal: 12O 13O 14O 15O 16O 17O 20O 21O 22O 23O
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung7
Polyadische Zahlensysteme: Beispiele (3)
Hexadezimalsystem:RH = 16ZH = {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}
1 Ziffer im Hexadezimalsystem entspricht genau 4 Ziffern im Dualsystem2 Ziffern im Hexadezimalsystem zusammengefasst -> 1 Byte (8 Bit)
Beispiele: Hexadezimalzahlen
Dezimal: 0 1 ... 9 10 11 12 13 14 15 16
Hexadezimal: 0H 1H ... 9H AH BH CH DH EH FH 10H
Dezimal: 17 18 ... 158 159 160 161 162 163 164 ...
Hexadezimal: 11H 12H ... 9EH 9FH A0H A1H A2H A3H A4H ...
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung8
Umrechnung: Dualsystem -> Oktal- bzw. Hexadezimalsystem
110B = 6O
011B = 3O
110 011B = 63O
1011 0010B = B2H
255D = FFH
Polyadische Zahlensysteme: Wandlung
• 3 Ziffern im Dualsystem werden zu genau1 Ziffer im Oktalsystem zusammengefasst
• 4 Ziffern im Dualsystem werden zu genau1 Ziffer im Hexadezimalsystemzusammengefasst-> sehr gut für byte-orientierte
Darstellungen-> 2 Hexadezimalzahlen = 1 byte
Also: kompaktere Darstellung grosser Dualzahlen im Oktal- bzw.
Hexadezimalsystem effizienter Darstellung, Codewandlung sowie Verarbeitung
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung9
Polyadische Zahlensysteme: Wandlung
• Wenn die Basis eines Zahlensystems die Potenz der Basis eines anderen Zahlensystems ist, so sind Zahlen zwischen diesen Systemen sehr leicht umzuwandeln
• Zusammenfassung von mehreren Stellen zu einer einzelnen Ziffer
Beispiel 1:( 1011 0101 0001 )B
( B 5 1 )H
Beispiel 2:( 5 2 1 )O
( 101 010 001 )B
Wandlung von Zahlensystemen:
• Wandlung:-> Dual- in Hexadezimalsystem
• Wandlung:-> Oktal- in Dualsystem
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung10
Polyadische Zahlensysteme: Wandlung
• Falls keine besondere Beziehung zwischen den Basen besteht, kann man die Umrechnung über das Dezimalsystem durchführen
Wandlung zunächst ins Dezimalsystem:
• Bekannte Formel: ND = dn * RDn + ... + d1 * RD
1 + d0 * RD0
Beispiel: (FA7E)H = ?D
( F A 7 E )H
( F*103 + A*102 + 7*101 + E*100 )H
( 15*163 + 10*162 + 7*161 + 14*160 )D
( 61440 + 2560 + 112 + 14 )D
= 64126D
Wandlung von Zahlensystemen:
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung11
Polyadische Zahlensysteme: WandlungWandlung aus dem Dezimalsystem:
• Mit Hilfe einer Ganzzahldivision mit Rest kann Umwandlung vom Dezimalsystem in System mit der Basis R wie folgt durchgeführt werden:-> ND wird durch R dividiert (Ergebnis Stelle d0),-> entstehende Quotienten rekursiv nach gleichem Schema verarbeiten
Quotient 1, Rest 0
ND
R
d0
Quotient 2, Rest 1
d1
Quotient 3, Rest 2
Quotient 1R
Quotient 2R
d2
ND = ( d2 d1 d0 )R
...
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung12
Beispiel: Wandlung der Dezimalzahl 2002 in Hexadezimalzahl
• Umrechnung von 2002D in das Hexadezimalsystem (R=16):
=
125 Rest 2
200216
2
=
7 Rest 13
D
=
0 Rest 7
12516
716
7
2002D = 7D2H
Polyadische Zahlensysteme: Wandlung
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung13
Polyadische Zahlensysteme: Wandlung
• Wichtig: es ist wesentlich einfacher Zahlensysteme umzuwandeln, wenn man Ziffern jeweils separat und einzeln behandeln kann
• Bei der oft gebrauchten Umwandlung vom Dezimalsystem in das Dualsystem ist dies nicht möglich
• Abhilfe schafft der BCD-Code (Binary Coded Decimal)
• Dieser stellt jede Dezimalziffer durch eine 4-Bit Dualzahl dar
49D = ( 0100 1001 )BCD
• Die 10 Codewörter, die den Ziffern zugeordnet sind, werden Tetradegenannt. Die unbenutzten Codewörter werden Pseudotetrade genannt
Pseudotetrade: 1010, 1011, 1100, 1101, 1110, 1111
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung14
Digitaltechnik: Rechenoperationen
Automatisierte Rechenoperationen sind von zentraler Bedeutung Basisoperationen sind: +, -, *, /
Technische Realisierung: Kosten (Platzbedarf) und Performanz wichtig!
Überlegung: welche Operationen direkt als Schaltung realisieren ?
Rechnen kann man grundsätzlich in allen Zahlensystemen
Im Dualsystem benötigt man besonders wenig Regeln:
Regel 1: 0 + 0 = 0
Regel 2: 0 + 1 = 1 + 0 = 1
Regel 3: 1 + 1 = 10
Regel 4: 1 + 1 + 1 = 11
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung15
Digitaltechnik: RechenoperationenAddition:
Dualzahlen können mit den vorangegangenen Regeln so addiert werden, wie man das schriftliche Addieren schon in der Grundschule lernt
1 0 1 1 0 0 + 1 1 1 1 0 1 1 1 1 Übertrag
1 0 0 1 0 1 0
benutzte elementare Regel: 3 3 4 3 2 1
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung16
Digitaltechnik: Rechenoperationen
Subtraktion:Beim Subtrahieren von Dualzahlen bedient man sich einem Trick:der Komplementbildung
Statt beispielsweise zwei 8-Bit Dualzahlen direkt zu subtrahieren erweitert man mit einer 9-stelligen Dualzahl wie folgt:
a - b = ( a + (1 0000 0000B - b) ) - 1 0000 0000B
c
• Das Zweierkomplement c lässt sich sehr einfach wie folgt berechnen:
c = 1 0000 0000B - b = ( 1111 1111B - b ) + 1B
d
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung17
Subtraktion:Dadurch hat man allgemeine Subtraktion durch folgendes ersetzt:
a - b = ( a + (1111 1111B - b + 1) ) - 1 0000 0000B
Addition und Inkrementierung (+1) und zwei spezielle Subtraktionen
Digitaltechnik: Rechenoperationen
Einfache Subtraktionen (Sonderfälle):
• ( 1111 1111B - b ) berechnet man durch Invertieren aller 8 Bits von b
• ( d - 1 0000 0000B ) berechnet man wie folgt:
• Wenn Bit 9 von d gesetzt ist: • Ergebnis positiv -> Bit 9 von d abschneiden, fertig
• Wenn Bit 9 von d gleich null ist:• Ergebnis negativ-> Betrag erhält man durch Zweierkomplement:
Betrag = ( 1111 1111B - d ) + 1
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung18
Beispiel: Subtraktion 21 - 3 = ?
a = 21D = 0001 0101B
b = 3D = 0000 0011B
c = (1 0000 0000B - b) = 1111 1111B - b + 1 = 1111 1100B + 1 = 1111 1101B
a - b = (d - 1 0000 0000B) = 0001 0010B = 18D
a: 0 0 0 1 0 1 0 1 + c: + 1 1 1 1 1 1 0 1
1 1 1 1 1 1 1
d: 1 0 0 0 1 0 0 1 0
Digitaltechnik: Rechenoperationen
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung19
Beispiel: Subtraktion 3 - 21 = ?
a = 3D = 0000 0011B
b = 21D = 0001 0101B
c = (1 0000 0000B - b) = 1111 1111B - b + 1 = 1110 1010B + 1 = 1110 1011B
• a - b = (d - 1 0000 0000B) < 0
• |a - b| = (Zweierkomplement von d) = 1111 1111B - d + 1 = 0001 0010B = 18D
a: 0 0 0 0 0 0 1 1 + c: + 1 1 1 0 1 0 1 1
1 1
d: 0 1 1 1 0 1 1 1 0
Digitaltechnik: Rechenoperationen
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung20
BCD-Code (Binary Coded Decimal)Rechnen im BCD-Code
Zentrale Stellung des Dezimalsystems: Konversion stärker unter Betonung der dezimalen Aspekte dezimalstellenweise Wandlung in Dualform (Binärform)
Wie in den unterschiedlichen Zahlensystemen können auch BCD-kodierte Zahlen verrechnet werden
Bei der BCD-Addition: Pseudotetrade können entstehen
Zur Korrektur: zu Pseudotetraden und bei jedem Übertragnoch 6D = 0110B addiert werden
Bei der Addition von BCD-kodierten Zahlen kann der Bereich der Pseudotetraden nur einmal „überschritten“ werden es genügt in jedem Fall eine Korrektur
Digitaltechnik: Rechenoperationen
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung21
Beispiel: Addieren im BCD-Code
Addition von 839D und 862D
1 1 1 Endergebnis: 1 0111 0000 0001 = 1701D
Korrektur wegen: Pseudotetrade+0110
1 1 1
1 0110 1010 0001
Korrektur wegen: Übertrag Pseudotetrade+0110 +0110
1
1 0000 1001 1011
1000 0011 1001 839D
+ 1000 0110 0010 + 862D
Digitaltechnik: Rechenoperationen
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung22
Erweiterungen BCD-Code (1): STIBITZ-Code
es hat nicht an Versuchen gefehlt die negativen Eigenschaftendes BCD-Codes zu vermeiden
Für die Subtraktion mit Hilfe der Komplementbildung ist es nützlich, dass die Codewörter mit Ziffern symmetrisch angeordnet sind
Der STIBITZ- oder Exzess-3-Code erreicht dies, indem alle Tetradenim Vergleich zum BCD-Code um 3D = 0011B größer sind:
Dezimal 0 1 2 3 4STIBITZ 0011 0100 0101 0110 0111STIBITZ 1000 1001 1010 1011 1100Dezimal 5 6 7 8 9
Digitaltechnik: Rechenoperationen
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung23
Erweiterungen BCD-Code (1): Addition im STIBITZ-Code
Codewörter für Ziffern 0, ..., 4 sind spiegelbildlich komplementär zu Ziffern 5, ..., 9
Bei Übertrag: 0011B muss addiert werden
Ohne Übertrag: es muss 0011B abgezogen werden, was durch Additionvon 1101B ohne Übertrag erreicht werden kann
Digitaltechnik: Rechenoperationen
1 1 1 1 1 1
0110 1011 0100 = 381D
0100 0110 1100 139D
+ 0101 0111 0101 + 242D1 1 1 1 1 1
1001 1110 0001
ÜbertragKorrektur: +1101 +1101 +0011
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung24
Digitaltechnik: Rechenoperationen
Erweiterungen BCD-Code (2): AIKEN-Code
• Auch beim Aiken-Code sind die Codes der Ziffern symmetrischangeordnet, um eine einfache Komplementbildung zu ermöglichen
Dezimal 0 1 2 3 4 AIKEN 0000 0001 0010 0011 0100 AIKEN 1111 1110 1101 1100 1011 Dezimal 9 8 7 6 5
• Der Aiken-Code wird auch 2-4-2-1-Code genannt, da dies den Stellenwerten der einzelnen Binärstellen entspricht
1101AIKEN = 1 * 2 + 1 * 4 + 0 * 2 + 1 * 1 = 7D
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung25
Digitaltechnik: Zahlendarstellung
Byte:
0 0 0 0 x x x x 0 0 0 0 x x x x
x x x x x x x x Byte-Codewort (packed code)
Dezimalstelle 2 Dezimalstelle 1
BCD-Codewörter (unpacked code)
Kompakte Zahlendarstellung:
• vorgestellte Codes für Dezimalziffern verwenden 4 Bit pro Ziffer Zusammenfassung von 2 binär dargestellten
Dezimalstellen zu einem Byte
• Kompaktere Darstellung von BCD-Zahlen und Codes
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung26
• Die bisher vorgestellten Codes haben das Problem, dass durch die Anzahl der Codewörter auch der Zahlenraum eingeschränkt ist
• Problemursache: den Ziffern sind feste Stellenwerte zugeordnet, womit allenfallssogenannte Festkommazahlen realisierbar sind
• Die Lösung ist, wie bei wissenschaftlichen Zahlennotationen üblich, die Angabe eines zusätzlichen Exponenten
• Die Darstellung von Zahlen durch Mantisse und Exponent wird Gleitkommazahl genannt
Beispiel:1,2345 * 1067
Digitaltechnik: Zahlendarstellung
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung27
Digitaltechnik: Zahlendarstellung• Da Gleitkommazahlen auf sehr unterschiedliche Weise kodiert werden
können, hat der IEEE Richtlinien festgelegt, wie Gleitkommazahlen dargestellt werden sollen
Gleitkomma-Zahlendarstellung gemäß IEEE-Standard
Vorzeichen Exponent MantisseV 2-1 2-2 2-3 2-4 2-5 ... 2-1 2-1 2-23
Bit 31 30 23 22 0
Exponent E Mantisse M Wert
2550M
0
2550 < E < 255
00
ungültig (NAN)0
0
- 1V · (unendlich)
- 1V·2E-127 ·(1,M)- 1V·2-126 ·(0,M)
- 1V · 0
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung28
Digitaltechnik: Zahlendarstellung
Gleitkomma-Zahlendarstellung gemäß IEEE-Standard:
Die Zahl π mit 7 Dezimalstellen hinter dem Komma im IEEE-Format dargestellt:
BD 1011111101100010010000,111415926,3
BD 01001111110111001001000,1)21( 1271280
Ergebnis: 0 10000000 10010010000111111011010
www.kit.edu
Institut für Technik der Informationsverarbeitung
Karlsruher Institut für Technologie (KIT)
Digitaltechnik
Prof. Dr.-Ing. J. Beckerbecker@kit.edu
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Zahlendarstellung und Komplement
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung2
Höchstes Bit ist Vorzeichen: 0 = positiv (oder NULL), 1 = negativ
Die restlichen Bits der Betrag: 0 (000) bis 7 (111)
Zahlenbereich für n Bits = +/- 2
Darstellung der Null: 0000 und 1000
ZahlendarstellungBetrags- und Vorzeichendarstellung
0000
0111
0011
1011
11111110
1101
1100
1010
10011000
0110
0101
0100
0010
0001
+0+1
+2
+3
+4
+5
+6+7-0
-1
-2
-3
-4
-5-6
-7
0 100 = + 4 1 100 = - 4
+
-
n-1
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung3
Vorzeichen und Betrag
Schwerfällige Addition/Subtraktion
Vergleich der Beträge nötig zur Bestimmung des Vorzeichens vom Ergebnis
1er Komplement
N ist positive Zahl, dann ist N zugehöriges negatives 1er Komplement
N = (2 - 1) - Nn
Bsp.: 1er Komplement von 7
2 = 10000
-1 = 00001
1111
-7 = 0111
1000 = -7 in 1er Komp.Schnelle Methode:
Bitweises Komplement einfach berechnen:
0111 -> 1000
4
Zahlendarstellung
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung4
1er Komplement
Subtraktion realisiert durch Addition und 1er Komplement
Zwei Darstellungen der Null: Macht Probleme !!!
Addition ist nicht einfach durchzuführen !!!
0000
0111
0011
1011
11111110
1101
1100
1010
10011000
0110
0101
0100
0010
0001
+0+1
+2
+3
+4
+5
+6+7-7
-6
-5
-4
-3
-2-1
-0
0 100 = + 4 1 011 = - 4
+
-
Zahlendarstellung
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung5
0000
0111
0011
1011
11111110
1101
1100
1010
10011000
0110
0101
0100
0010
0001
+0+1
+2
+3
+4
+5
+6+7-8
-7
-6
-5
-4
-3-2
-1
0 100 = + 4 1 100 = - 4
+
-
Nur eine Darstellung der Null
Eine negative Zahl mehr als positive
wie 1er Kompl.,zusätzlich jedochum eine Position im Gegenuhr-zeigersinnverschoben
Zahlendarstellung2er Komplement (K2)
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung6
N* = 2 - Nn
Bsp.: 2er Komplement von 7
2 = 10000
7 = 0111
1001 = -7 im 2er Kompl.
Bsp.: 2er Komplement von -7
4
2 = 10000
-7 = 1001
0111 = 7 im 2er Kompl.
4
sub
sub
Schnelle Methode:2er Komplement = Bitweises Komplement + 1
0111 -> 1000 + 1 -> 1001 (Darstellung von -7)
1001 -> 0110 + 1 -> 0111 (Darstellung von 7)
Zahlendarstellung2er Komplement (K2) Zahlen
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung7
Vorzeichen und Betrag
4
+ 3
7
0100
0011
0111
-4
+ (-3)
-7
1100
1011
1111
Ergebnisvorzeichenbitentspricht den Vorzeichenbits der Operanden
4
- 3
1
0100
1011
0001
-4
+ 3
-1
1100
0011
1001
Unterscheiden sich Die Vorzeichen, hängt das Ergebnis von den Beträgen der Operanden ab
ZahlendarstellungAddition und Subtraktion
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung8
4
+ 3
7
0100
0011
0111
-4
+ (-3)
-7
1100
1101
11001
4
- 3
1
0100
1101
10001
-4
+ 3
-1
1100
0011
1111
Wenn Carry-in = Carry-outdann ignoriere Carry
Wenn Carry-In ungleichCarry-Out dann Überlauf!
Einfaches Vorgehen bei der Addition macht die 2er-Komplement-Darstellung zur ersten Wahl für
Integer-Berechnung in digitalen Systemen
ZahlendarstellungAddition und Subtraktion von binären Zahlen
2er Komplement Berechnungen
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung9
Warum kann Carry-Out ignoriert werden?
-M + N wenn N > M:
M* + N = (2 - M) + N = 2 + (N - M)n n
Ignorieren des Carry-out ist wie Subtraktion von 2 n
-M + -N wobei N + M < oder = 2n-1
-M + -N = M* + N* = (2 - M) + (2 - N)
= 2 - (M + N) + 2n n
Nach dem Ignorieren des Carry die richtige K2-Darstellung für -(M + N)!
n n
ZahlendarstellungAddition und Subtraktion von binären Zahlen
2er Komplement Berechnungen
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung10
5
3
-8
0 1 1 10 1 0 1
0 0 1 1
1 0 0 0
-7
-2
7
1 0 0 01 0 0 1
1 1 1 0
1 0 1 1 1
5
2
7
0 0 0 00 1 0 1
0 0 1 0
0 1 1 1
-3
-5
-8
1 1 1 11 1 0 1
1 0 1 1
1 1 0 0 0
Überlauf Überlauf
Kein Überlauf Kein Überlauf
Überlauf, wenn Carry-In ungleich Carry-Out!!!
ZahlendarstellungÜberlauf Bedingungen:
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung11
+
A3 B3
S3
+
A2 B2
S2
+
A1 B1
S1
+
A0 B0
S0C1C2C3
GeschachtelterMulti-bit Addierer
Allgemein: Addition von mehr als zwei Bits notwendig Volladdierer wird benötigt
Schaltungen für binäre AdditionVoll-Addierer
www.kit.edu
Institut für Technik der Informationsverarbeitung
Karlsruher Institut für Technologie (KIT)
Digitaltechnik
Prof. Dr.-Ing. J. Beckerbecker@kit.edu
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Codewandlung/Umschaltung
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung2
Codewandlung• Bei der Entwicklung unabhängiger Teilsysteme ist es oft der Fall, dass
diese mit unterschiedlichen Codes arbeiten. Daher benötigt man diverse Codewandlungen
• Hohe Systemzahl -> viele unterschiedliche Codewandlungen
Beispiel 1: BCD 7-Segment:
• 7-Segment Anzeigen-> effiziente Art, Zahlen digital anzuzeigen
• Der 7-Segment-Code ordnet jedem Segment ein Bit zu
• Umwandlung:-> die Zuordnung der 7-Segment Bits (Ausgabe der Wandlung)
zu dem Wert der Ziffer im BCD-Code (Eingabe der Wandlung)
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung3
CodewandlungBeispiel 1: BCD 7-Segment
a
g
d
f b
ce
Ziffer BCD 7-Segment(abcdefg)
0 0000 11111101 0001 01100002 0010 11011013 0011 11110014 0100 01100115 0101 10110116 0110 10111117 0111 11100008 1000 11111119 1001 1111011
Zuordnung: BCD-Codewörter -> Segmentbitwerte
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung4
CodewandlungBeispiel 2: Gray-Code nach Dualzahl:
Gray-Code 000 001 011 010 110 111 101 100Dualzahl 000 001 010 011 100 101 110 111
Beispiel 3: ASCII nach BCD für Dezimalzahlen 0 ... 9:
Zeichen: 0 1 2 3 4
ASCII-Code:
BCD-Code:
0110000
0000
0110001
0001
0110010
0010
0110011
0011
0110100
0100
Zeichen:
ASCII-Code:
BCD-Code:
5 6
0110101
0101
0110110
0110
7 8
0110111
0111
0111000
1000
9
0111001
1001
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung5
Codeumschaltung• Verbreitete Code-Eigenschaft:
meistens ist die Anzahl der Alphabetzeichen höchstens 2m, wenn m die zur Codierung verwendeten Binärstellen sind
• Jedoch: Kostenmäßige, zeitliche und geometrische Randbedingungen
Anzahl an Binärstellen nicht ausreichend
• Mögliche Lösung: Codeumschaltung Codewörter werden mehrfach belegt Codewortbedeutung durch spezielle Umschaltzeichen änderbar
• Solche Umschaltcodes arbeiten genauso wie die Umschalttasten auf der Tastatur oder beim Taschenrechner (shift, ctrl, 2nd,...)
• Besonders effizient: Umschaltcodes: eine Gruppe von Zeichen kommt sehr selten vor,
oder Zeichen aus einer Gruppe treten häufig auf
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung6
Codeumschaltung• Bei der Codeumschaltung gibt es drei verschiedene Arten von
Codewörtern:
• Codewörter, deren Bedeutung umgeschaltet wird• Spezielle Codewörter, die eine Umschaltung der
Zeichengruppen bewirken• Codewörter, die unabhängig von der Umschaltung
immer gleich sind
• Die notwendige Anzahl der speziellen Umschalt-Codewörter, entspricht der Anzahl der Gruppen von Zeichen
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung7
Codeumschaltung: FernschreibercodeBeispiel: Fernschreibercode (5 Bit, 32 Codewörter)
• Gruppen à 26 Codewörter (hier zunächst ein Auszug dargestellt)
• Buchstaben (A-Z)• Ziffern, Sonderzeichen,...
• Fernschreibcode nach CCITT Nr.2:
• 2 Hauptgruppen: 2 spezielle Umschaltzeichen notwendig- Umschaltung auf Buchstaben, Umschaltung auf Ziffern
• 4 feste Codewörter: unabhängig von Umschaltung immer gleich
- Wagenrücklauf, Zeilenvorschub, Leerzeichen, unbenutztes Codewort
CW 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16Bu A B C D E F G H I J K L M N O PZi 3 8 9 0
Code-Auszug:
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung8
Beispiel: Fernschreibercode (5 Bit, 32 Codewörter)
kompletter Code
Codeumschaltung: Fernschreibercode
Codeworte m i t Um schal tung Steuerzeichen
1
1
1
0
0
1
1
0
1
0
1
0
0
1
0
0
0
1
1
1
1
1
0
1
0
0
0
0
0
0
0
1
1
1
0
1
1
0
0
0
1
1
0
1
1
1
1
0
1
0
1
0
1
1
1
1
0
0
0
1
0
0
0
0
Nr.
0
0
0
1
0
1
1
2
1
1
0
1
0
3
0
4
0
0
1
1
0
5
0
6
0
1
1
0
1
7
1
8
1
0
0
1
0
9
0
10
1
1
0
0
0
11
1
12
1
1
1
1
1
13
0
14
0
1
1
0
1
15
1
16
1
0
0
1
1
17
0
18
1
0
0
0
0
19
1
20
1
0
1
1
0
21
1
22
0
0
1
1
1
23
1
24
1
0
0
0
1
25
1
26
1
1
0
1
1
27
1
28
0
1
0
0
0
29
0
30
1
0
0
0
0
31
0
32
Bu
Zi
A B C D E
3
F G H I
8
J K L M N O
9
P
0
Q
1
R
4
S T
5
U
7
V W
2
X Y
6
Z Bu Zi WR ZL ZR LZ
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung9
Umschaltcodes: Anzahl Codewörter
Zahl der möglichen CodewörterN Zahl der Codewörterm Anzahl der Binärstellen der Codewörteri Zahl der allen Gruppen gemeinsamen Zeichenj Zahl der Gruppen und damit UmschaltzeichenN‘ Zahl der nutzbaren Codewörter je GruppeN‘‘ Zahl der mit Umschaltung darstellbaren Zeichen
• Es gilt: N‘ = 2m - i – j und N‘‘ = j * N‘ + i
• Gesucht: ist ein Code mit N‘‘ N mit minimalem j
Beispiel: Darstellung im Fernschreibcode
www.kit.edu
Institut für Technik der Informationsverarbeitung
Digitaltechnik
Karlsruher Institut für Technologie (KIT)
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Prof. Dr.-Ing. J. Beckerbecker@kit.edu
Mathematische Grundlagen- Mengen -
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung2
MengenEine Menge M ist die Zusammenfassung von endlich oder unendlich vielen ObjektenDie Objekte müssen unterscheidbar seinDa Mengen auch unendlich viele Objekte enthalten können, werden sie manchmal auch als umrandete Gebiete gezeichnet
5£
1,3
A Menge M
Elemente(Objekte)
Beispiel:
Aussagen über Mengen
• w M bedeutet, dass w in der Menge M enthalten ist
• 2,5 M sagt aus, dass kein Element der Menge gleich 2,5 ist
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung3
Definition von Mengen
Angabe der Elemente
Endliche Mengen können durch Angabe der Elemente definiert werden:
M1 = { c,d,f }M2 = { 5,2,9 }
Platzsparende Angabe für einfache Folgen:M3 = { 1,2,3,...,100 }
Um Mehrdeutigkeiten aus dem Weg zu gehen, gibt es unterschiedlichste Schreibweisen
M4 = { 0,1 / 0,2 / 0,5 / 0,7 }
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung4
Definition von MengenAngabe durch Konstruktionsvorschrift und Bedingungen
Allgemein:M = { Vorschrift | Bedingungen }
Beispiele:
Endliche oder abzählbare Mengen
M1 = { x | x2 + 3x + 1 = 0 }M2 = { 2x + 1 | x ganzzahlig, x > 0, x < 100 }
Abzählbar unendliche Mengen
IN = { x | x ganzzahlig, x > 0 }
Überabzählbar unendliche Mengen
M3 = { x | x ist reelle Zahl, x > 0 }
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung5
MengenVergleich:
Zwei Mengen sind genau dann gleich, wenn sie die gleichen Elemente enthalten
Beispiel:{ 1, 3, 8, 11 } = { 3, 11, 1, 8 }
{ 2x - 1 | x ganze Zahl } = { 2x + 1 | x ganze Zahl }
{ x | x2 = 1 } = { 1, -1 }
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung6
MengenMächtigkeit der Menge:
Die Anzahl der Elemente einer Menge wird als Mächtigkeit oder Kardinalität bezeichnet
Beispiele:M = { x, y, z } |M| = 3L = { x | x2 - 2x = 5 } |L| = 2
Leere Menge:
Die Menge, die kein Element besitzt, wird leere Menge genannt
Ø = { x | x + 2 = x } = {} |Ø| = 0
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung7
MengenUntermenge:
Eine Menge S heißt Untermenge oder Teilmenge von M genau dann, wenn jedes Element von S zu M gehört
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 M
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung8
UntermengenBeispiele:
xy
z
1 2
3
...99
100Ø
M1 M2 M3
M2 M3Ø M1Ø M3Ø M2
• Die leere Menge ist Untermenge jeder beliebigen Menge
4
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung9
MengenPotenzmenge:
Die Menge aller Untermengen einer Menge M heißt Potenzmenge P von M:
0
1
M = { 0, 1 } M
S0 = { 0 } M
S1 = { 1 } M
Ø = { } M
M = { 0, 1 } P(M) = { Ø, S0, S1, M } = { { }, { 0 }, { 1 }, { 0, 1 } }
|M| = 2 |P(M)| = 2|M| = 4
• Achtung bei der leeren Menge:
|Ø| = 0 P(Ø) = { Ø } |P(Ø)| = 1
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung10
MengenoperationenVereinigung:
Die Vereinigung zweier Mengen S und T ist die Menge aller Elemente x, die mindestens einer der Mengen S und T angehören:
V = S T = { x | x S oder x T }
TS
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung11
Mengenoperationen
S T
Durchschnitt:
Der Durchschnitt zweier Mengen S und T ist die Menge aller Elemente x, die sowohl der Menge S als auch der Menge T angehören:
V = S T = { x | x S und x T }
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung12
MengenoperationenDurchschnitt:
Für den Durchschnitt gilt allgemein:
Ø S T S S T
Ø S T T S T
0 |S T| |S| |S T|
0 |S T| |T| |S T|
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung13
MengenDisjunkte Mengen:
gibt es kein Element x, das sowohl zur Menge S als auch zur Menge Tgehört, so heißen S und T disjunkt oder elementefremd
TS
• In diesem Fall gilt:
S T = Ø
|S T| = 0
|S T| = |S| + |T|
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung14
MengenoperationenKomplement:
Sei S M
Dann heißt die Menge aller Elemente von M, die nicht zu S gehören, das Komplement von S bezüglich M
Man schreibt: CM(S)
Die Menge M wird in diesem Zusammenhang auch als Bezugsmenge bezeichnet
S
M
CM(S)
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung15
MengenoperationenGrenzfälle der Komplementbildung:
CM(M) = Ø Me1
e2 e3
ene3 ...CM(M)
Ø
Me1
e2 e3
ene3 ...CM(Ø)
Ø
CM(Ø) = M
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung16
MengenoperationenDas kartesische Produkt:
Unter dem kartesischen Produkt S x T (gesprochen: „S kreuz T“) zweier Mengen S und T versteht man die Menge aller geordneten Paare (s,t) mit s S und t T
Das kartesische Produkt ist nicht kommutativ d.h. i.a.:
S x T T x S
Für die Mächtigkeit gilt:
|S x T| = |S| · |T|
Beispiel:
S = { 0, 1 } T = { x, y, z } |S| = 2 |T| = 3
S x T = { (0,x), (0,y), (0,z), (1,x), (1,y), (1,z) } |S x T| = 2 · 3 = 6
T x S = { (x,0), (x,1), (y,0), (y,1), (z,0), (z,1) } |T x S| = 3 · 2 = 6
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung17
MengenoperationenDas kartesische Produkt:
Das n-fache kartesische Produkt Sn der Menge S mit sich selbst ist die Menge aller geordneten n-Tupel ( r, s, ..., z ) mit r S, s S, ..., z S
Sn = S x S x ... x S |Sn| = |S|n
Beispiel:
S = { 0, 1 }
S2 = { (0,0), (0,1), (1,0), (1,1) }
S3 = { (0,0,0), (0,0,1), (0,1,0), (0,1,1), (1,0,0), (1,0,1), (1,1,0), (1,1,1) }
IR = { x | x ist reelle Zahl }
IR3 = { (x,y,z) | x, y und z sind reelle Zahlen }
kartesisches Koordinatensystem
www.kit.edu
Institut für Technik der Informationsverarbeitung
Digitaltechnik
Karlsruher Institut für Technologie (KIT)
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Prof. Dr.-Ing. J. Beckerbecker@kit.edu
Mathematische Grundlagen- Relationen -
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung2
RelationenWas sind Relationen?
Relationen verallgemeinern die Prinzipien von Vorschriften wie x < y oder A B und stellen sie auf eine formale Grundlage
zweistellige Relation zwischen zwei Mengen X und Y: Vorschrift für beliebige Elemente x X und y Y setzt fest, ob x in Beziehung zu y steht
Steht x in der Beziehung zu y, so schreibt man:sonst:
Gilt X = Y so spricht man von einer Relation auf oder in einer Menge
yxyx
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung3
RelationenEigenschaften von Relationen
Bei zweistelligen Relationen auf einer Menge interessiert man sich für einige spezielle Eigenschaften
Reflexivität
wenn x x für beliebige x gilt, so ist die Relation reflexiv
Beispiel:
‚=‘ ist eine reflexive Relation, da x = x immer gilt
‚‘ ist reflexiv auf den reellen Zahlen, da x x für alle x gilt
‚‘ ist reflexiv, da jede Menge Untermenge von sich selbst ist
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung4
Eigenschaften von RelationenSymmetrie
Wenn aus x y auch y x folgt so ist die Relation symmetrisch
Beispiele:
‚=‘ ist symmetrisch
Die Relation „ist Freund von“ ist meist symmetrisch
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung5
Eigenschaften von RelationenAntisymmetrie
Wenn aus x y und y x folgt, dass x = y ist so ist antisymmetrisch
Antisymmetrie ist nicht das Gegenteil von Symmetrie
Beispiele:
‚=‘ ist sowohl symmetrisch als auch antisymmetrisch!
‚<‘ ist antisymmetrisch
‚‘ ist antisymmetrisch
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung6
Eigenschaften von RelationenTransitivität
Wenn aus x y und y z folgt, dass x z gilt so ist transitiv
Beispiele:
‚=‘ ist transitiv
‚<‘ ist transitiv
‚‘ ist transitiv
Die Relation „ist älter als“ ist transitiv
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung7
RelationenTypen von Relationen
Anhand der vorgestellten Eigenschaften können Relationen bestimmten Typen zugeordnet werden
Ordnungsrelation• Eine Ordnungsrelation muss folgende Eigenschaften besitzen:
• reflexiv• antisymmetrisch• transitiv
Beispiele:• ‚=‘ ist Ordnungsrelation
• ‚‘ ist Ordnungsrelation
• Die Relation „ist mindestens so alt wie“ ist Ordnungsrelation
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung8
RelationenStrenge Ordnungsrelation
Eine strenge Ordnungsrelation muss folgende Eigenschaften besitzen:
antireflexiv (x x gilt für kein x)
antisymmetrisch
transitiv
Die meisten Relationen, die man auch instinktiv als ordnend bezeichnen würde sind entweder eine Ordnungsrelation oder eine strenge Ordnungsrelation
Beispiele:
‚<‘ ist eine strenge Ordnungsrelation
Die Relation „ist schneller als“ ist eine strenge Ordnungsrelation
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung9
RelationenÄquivalenzrelation
Eine Äquivalenzrelation muss folgende Eigenschaften besitzen:
reflexiv
symmetrisch
transitiv
Als Zeichen für ‚‘ wird bei Äquivalenzrelationen ‚‘ verwendet
Teilt die Elemente in disjunkte Teilmengen auf -> Äquivalenzklassen
Beispiele:
‚=‘ ist selbstverständlich eine Äquivalenzrelation
„x y |x| = |y|“ ist für Vektoren eine Äquivalenzrelation
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung10
RelationenVerträglichkeitsrelation
Eine Verträglichkeitsrelation muss folgende Eigenschaften besitzen:
reflexiv
symmetrisch
nicht transitiv
Als Zeichen für ‚‘ wird bei Verträglichkeitsrelationenhäufig ‚~‘ verwendet
Beispiele:
Relation für Menschen „verträgt sich mit“ ist Verträglichkeitsrelation
Verträglichkeitsrelationen treten bei Problemen auf, bei denen bestimmte Paarungen ausgeschlossen sind
z.B.: “zwei Leitungen führen zur gleichen Zeit ein Signal“
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung11
RelationenÜberdeckungsproblem
Ein häufig auftretendes Grundproblem das sogenannte Überdeckungsproblem
Beispiel: “wie viele Parties man mindestens feiern muss,
um alle Freunde so einzuladen, dass keine zwei Freunde, die sich nicht vertragen, zur gleichen Party eingeladen werden“
Die Grundlage des Problems: eine Verträglichkeitsrelation
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung12
ÜberdeckungsproblemProblemstellung
Es sei M die Menge der Freunde fi
M = { fi | fi ist Freund }
Gesucht sind Gästelisten (Teilmengen Gj)-> nur Freunde (fi) enthalten, für welche paarweise die
Verträglichkeitsrelation erfüllt ist
für alle fk, fm Gj gilt: fk fm
Eine Menge von solchen Parties (Gj) wird Überdeckung von Mgenannt, wenn jeder Freund (fi) in einer Gästeliste (Gj ) enthalten ist
= { Gj1, Gj2, ..., Gjn }
fi M gilt -> Gj mit fi Gj
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung13
ÜberdeckungsproblemBeispiel:
Gäste:
M = { a, b, c, d, e }
Verträglichkeit:
Gästelisten:
G1 = { a, b }G2 = { c, e, d }G3 = { b, d, e }G4 = { a }
Überdeckungen:
a = { G1, G2 } ist Überdeckungb = { G2, G3 } ist keine Überdeckungc = { G2, G3 , G4 } ist Überdeckung
ca cb ea
a b
e
d
c
c G3
G2
G4
a b
e
d
c
aG1
G2
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung14
ÜberdeckungsproblemÜberdeckungsrelation
bestimmtes Element fi von einer Teilmenge Gj überdeckt eine Relation zwischen der Menge der Elemente aus M
und der Menge der Teilmengen
Diese Relation wird Überdeckungsrelation genannt
Sie wird zweckmäßigerweise als „ x M“-Matrix dargestellt
Struktur der Überdeckungstabelle:
Überdeckte Größen MÜberdeckendeMengen f1 f2 ... fj
G1
G2
...Gj ist fj Gj ?
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung15
ÜberdeckungsrelationBeispiele:
a a b c d eG1 X XG2 X X X
b a b c d eG2 X X XG3 X X X
c a b c d eG2 X X XG3 X X XG4 X
• b ist keine Überdeckung, da ‚a‘ von keiner Teilmenge überdeckt wird
www.kit.edu
Institut für Technik der Informationsverarbeitung
Digitaltechnik
Karlsruher Institut für Technologie (KIT)
Prof. Dr.-Ing. J. Beckerbecker@kit.edu
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Mathematische Grundlagen- Graphen -
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung2
GraphentheorieWas ist ein Graph?
Graphen dienen zur Abstraktion von Problemen abstrakte Darstellung von Zusammenhängen verbundene Objekte ( Relationen zwischen Objekten)
Bei Spielen wie Scotland Yard kommt es beispielsweise für die Strategie nicht darauf an, wie die Wege verlaufen, sondern nur welche Punkte wie miteinander verbunden sind
Graphen stellen das Problem durch Knoten und Kanten dar
Ein Graph muss mindestens einen Knoten besitzen
Kanten können je zwei Knoten verbinden
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung3
GraphentheorieProblemerfassung:
1 2 3 4
5 6
• Darstellung der Zusammenhänge und Abhängigkeitsbeziehungen
• Hervorheben wesentlicher Beziehungen
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung4
GraphentheorieRepräsentation durch einen Graphen:
1 2 3 4
5 6
• Abstraktion der Zusammenhänge und Abhängigkeitsbeziehungen
• Repräsentation der Beziehungen durch direkte Kantenverbindungen
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung5
GraphentheorieGraph ohne Überschneidungen der Kanten:
1
2 34
5 6
a
b
cd
e f
g
• Weitere Vereinfachung/Optimierung der Abhängigkeitsbeziehungen ohne kreuzende Verbindungen
• Einfügen von Kantenbezeichnern
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung6
Graphentheorie: Konkretes Beispiel
• Darstellung von Verkehrsbeziehungen im Karlsruher Stadtplan
wichtige Punkte
wesentliche Strassen-verbindungen
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung7
Graphentheorie: Konkretes Beispiel
• Abstrahierte Darstellung der Verkehrsbeziehungen
Weglassen von Details: Bottom-up Abstraktion
exakte Geometrieder Verbindungen nicht relevant
A
B C D E
HGF
I
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung8
Graphentheorie: Konkretes Beispiel
• Weitere Abstraktion in der Darstellung der Verkehrsbeziehungen
gerade Verbindungslinien
Störend in Darstellung:Kreuzung von Verbindungen
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung9
Graphentheorie: Konkretes Beispiel
• Darstellung ohne kreuzende Verbindungen
planare Darstellung
Einfügen vonKantenbezeichnern
weiterhin:automatisierteVerarbeitung mitGraphenalgorithmen
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung10
Graphentheorie: Abstrakter GraphFormale mathematische Beschreibung:
Weitere Abstraktion von der Bedeutung der Darstellungselemente: Verknüpfung mit der Begriffswelt der Mengen und Relationen
Graphen können ganz unabhängig von der Darstellung durch zwei Mengen und eine Abbildung beschrieben werden:
V = Menge der Knoten
E = Menge der Kanten
(e) ordnet jeder Kante e E zwei Knoten aus V zu-> diejenigen, die durch die Kante e verbunden sind
G ( V, E, ) wird abstrakter Graph genannt
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung11
Graphentheorie: Abstrakter GraphBeispiel:
V = { 1, 2, ..., 6 }
E = { a, b, ..., g }
: E { v, w } v, w V
(a) = { 1, 5 }
(b) = { 1, 2 }
(c) = { 2, 3 }
(d) = { 2, 4 }
(e) = { 4, 5 }
(f) = { 2, 6 }
(g) = { 5, 6 }
1
2 34
5 6
a
b
cd
e f
g
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung12
Graphentheorie: Gerichteter GraphGerichteter Graph:
Für manche Probleme benutzt man auch gerichtete Graphen Kanten haben eine festgelegte Richtung
Bei gerichteten Graphen gilt: bildet Kanten auf geordnetes Knoten-Tupel aus V x V ab
Ein gerichteter Graph muss mindestens eine Kante zwischen zwei Knoten (g,h) besitzen, so dass keine Kante in umgekehrter Richtung (h,g) existiert
Gerichtete Graphen werden auch als Digraphen bezeichnet
21
3 4
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung13
Graphentheorie: Ungerichteter GraphUngerichteter Graph:
Ungerichtete Graphen sind immer auch mit gerichteten Kanten darstellbar zu jeder Kante existiert eine weitere Kante in
umgekehrter Richtung
Beispiel:
BA
C D
BA
C D
BA
C D
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung14
Graphentheorie: BegriffeSprechweisen:
Verbindet die Kante e die Knoten g und h, so sagt man: „e ist inzident zu g bzw. zu h“ und schreibt:
(e) = ( g, h ) für gerichtete Graphen
(e) = { g, h } = { h, g } für ungerichtete Graphen
wird daher Inzidenzabbildung genannt Graph lässt sich formal durch eine Inzidenzmatrix beschreiben
die Knoten g und h heißen adjazent zur Kante e
Adjazenzmatrix weitere Möglichkeit zur formalen Beschreibung eines
Graphen
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung15
Graphentheorie: BegriffeGlobale Charakterisierung von Graphen:
Der Graphentheorie fehlt es selbstverständlich nicht an Begriffen,um die unerschöpfliche Vielfalt der Graphen zu kategorisieren
Im folgenden wollen wir uns nur mit Graphen beschäftigen, deren Mengen V und E endlich sind:
endliche Graphen (insbesondere für technische Anwendungen)
Ist die Menge der Kanten E leer so handelt es sich um einen entarteten Graphen dieser besteht nur aus isolierten Knoten
Wenn zu je zwei verschiedenen Knoten höchstens eine Kante existiert so handelt es sich um einen einfachen Graphen
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung16
Graphentheorie: BegriffeGlobale Charakterisierung von Graphen:
Vergleichbarkeit zweier Graphen:
es werden Abbildungen zwischen Knoten und Kanten gesucht, so dass die Inzidenzbeziehungen erhalten bleiben
Sind diese Zuordnungen eineindeutig so wird der Graph isomorph genannt
Isomorphie von Graphen:
Strukturen isomorpher Graphen sind gleich wichtige Eigenschaft in der Vergleichbarkeit
und formalen Verifikation digitaltechnischerSchaltungen und Systeme
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung17
Graphentheorie: BegriffeBeispiel: Isomorphie
Die Folgenden Graphen sind isomorph
21
3 4
BA
C D
isomorpha
b
c
x
y
z
• Zuordnung der Knoten : (1,2,3,4) (D,B,C,A)
• Zuordnung der Kanten : (a,b,c) (z,y,x)
• Inzidenzbeziehungen:(a) = (2,1) ( (a)) = (z) = (B,D) = ((2), (1))(b) = (1,3) ( (b)) = (y) = (D,C) = ((1), (3))(c) = (4,3) ( (c)) = (x) = (A,C) = ((4), (3))
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung18
Graphentheorie: BegriffeGlobale Charakterisierung von Graphen:
Vollständigkeit von (Sub-) Graphen
sind je zwei verschiedene Knoten durch eine Kante verbunden, so ist der (Sub-) Graph vollständig (Sub-) Graph ist Clique
Beispiel:
BE
D C
A
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung19
Graphentheorie: BegriffeGlobale Charakterisierung von Graphen:
Zusammenhängende Graphen
durch Folgen von Kanten und Knoten kann man von jedem beliebigen Knoten des Graphen zu jedem anderen Knoten des Graphen gelangen
der Graph ist dann zusammenhängend
Ist der Graph nicht zusammenhängend so besteht er aus mindestens zwei Teilgraphen
Beispiele:
D
B
E C
A
zusammenhängend
B
E
D
C
A
F
nicht zusammenhängend
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung20
Graphentheorie: BegriffeGlobale Charakterisierung von Graphen:
Streng zusammenhängende Graphen
Gerichtete Graphen bezeichnet man als zusammenhängend, wenn der zugehörige ungerichtete Graph zusammenhängend ist
Findet man zusätzlich von jedem beliebigen Knoten des Graphen zu jedem anderen Knoten eine gerichtete Folge von Kanten (Weg unter Einbezug der Richtungen!) so ist der Graph streng zusammenhängend
Beispiele:streng zusammenhängend nicht streng zusammenhängend
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung21
Graphentheorie: BegriffeLokale Eigenschaften von Graphen:
Schlinge
Verbindet eine Kante einen Knoten mit sich selbst, so wird diese als Schleife oder Schlinge bezeichnet
(e) = (g,g)
Beispiele:
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung22
Graphentheorie: BegriffeLokale Eigenschaften von Graphen:
Mehrfachkanten
Existieren mehrere Kanten zwischen zwei Knoten g und h, so heißen diese parallel bzw. Mehrfachkanten
(e) = (f) = {g,h} bzw. (g,h) e f
Bei gerichteten Graphen nennt man Kanten antiparallel, falls sie zwei Knoten in entgegengesetzter Richtung verbinden
(e) = (g,h) (f) = (h,g)
Beispiele:parallel parallel antiparallel
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung23
Graphentheorie: BegriffeTechnisches Beispiel: Mehrfachkanten
Analoger Schaltkreis:
• Mehrfachkante als Abbild schaltungstechnischer Merkmale
• Bauteile parallel geschaltet
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung24
Graphentheorie: BegriffeLokale Eigenschaften von Graphen:
Grad eines Knotens
Betrachtet man einen Knoten, so wird die Anzahl der damit inzidenten Kanten als Grad d(g) des Knotens bezeichnet
Bei gerichteten Graphen unterscheidet man zusätzlich
abgehende Kanten Ausgangsgrad d+(g)
von ankommenden Kanten Eingangsgrad d-(g)
Beispiele:
d(g) = 6 d-(g) = 3d+(g) = 3d-(g) = 4
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung25
Graphentheorie: BegriffeLokale Eigenschaften von Graphen:
Unmittelbare Nachbarschaft von Knoten
Sind zwei Knoten durch eine Kante verbunden so sind die Knoten unmittelbar benachbart
Menge der unmittelbar benachbarten Knoten wird mit V‘(g) bezeichnet
Bei gerichteten Graphen gilt: die Menge der benachbarten Knoten wird entsprechend
der Richtungen der Kanten eingeteilt in: unmittelbare Vorgänger V‘1(g) und unmittelbare Nachfolger V‘2(g)
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung26
Graphentheorie: BegriffeLokale Eigenschaften von Graphen:
Unmittelbare Nachbarschaft: mengenalgebraische Eigenschaften
Für die Mengen der unmittelbaren Nachbarn gilt:
|V‘1(g)| = d-(g)
|V‘2(g)| = d+(g)
V‘ = V‘1 V‘2
Da jedoch Knoten sowohl Vorgänger als auch Nachfolger sein können, gilt:
|V‘(g)| d(g)
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung27
Graphentheorie: BegriffeBeispiel: Unmittelbare Nachbarschaft des Knotens g
• Vorgänger: V‘1(g) = { c, g }
• Nachfolger: V‘2(g) = { a, b, d, g }
• V‘(g) = { a, b, c, d, g }
• d-(g) = | V‘1(g)| = 2
• d+(g) = | V‘2(g)| = 4
• d(g) = d-(g) + d+(g) = 6
• |V‘(g)| = 5
a
g
c
d
b
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung28
Graphentheorie: BegriffeLokale Eigenschaften von Graphen:
Mittelbare Nachbarschaft von Knoten
Schwächt man die Forderung so ab, dass nur eine Folge von Kantenzwischen zwei Knoten existieren muss
so sind die Knoten mittelbar benachbart
Nützlich ist die mittelbare Nachbarschaft besonders bei gerichteten Graphen bzgl. der Unterscheidung in
mittelbare Vorgänger und mittelbare Nachfolger
Beispiel: Stammbaum die Frage nach der Abstammung in direkter Linie
ist eine Frage nach mittelbaren Vorgängern
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung29
Graphentheorie: BegriffeLokale Eigenschaften von Graphen:
Artikulation eines Graphen
Bei der Modellierung von technischen Systemen mit Graphen werden Komponenten häufig durch Knoten dargestellt Verbindungen zwischen Komponenten durch Kanten abgebildet
Der Ausfall einer Komponente entspricht dem Entfernen eines Knotens aus dem Graphen
Besonders kritisch bei Ausfall einer Komponente (Knoten): Graph zerfällt in zwei nicht zusammenhängende Teilgraphen solche kritischen Knoten erhalten den Namen Artikulation
Die Artikulationen eines Graphen repräsentieren kritische Systemstellen
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung30
Graphentheorie: BegriffeBeispiel:
Graph mit Artikulationen
...
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung31
GraphentheorieSpezielle Kantenfolgen in Graphen:
Bereits bei der mittelbaren Nachbarschaft haben wir uns dafür interessiert, ob Knoten über Kantenfolgen verbunden sind
Definition: Kantenprogression der Länge n endliche Folge von n nicht notwendigerweise
verschiedenen Kanten (ei), die n + 1 nicht notwendigerweise verschiedene Knoten (gi) verbinden
(ei) = ( gi, gi+1 ) für i = 1, 2, ..., n
Sind in einer Kantenprogression alle Knoten (gi) voneinander verschieden und damit auch alle Kanten, so heißt sie einfach
Je nachdem, ob der Anfangsknoten gleich dem Endknoten ist (g1 = gn+1), oder ob es sich um einen gerichteten Graphen handelt, verwendet man unterschiedliche Bezeichnungen
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung32
Spezielle Kantenfolgen in Graphen
Ungerichteter Graph Gerichteter Graph
g1 gn+1 g1 gn+1 g1 gn+1 g1 gn+1
offene Kanten-
progression
geschlossene Kanten-
progression
offene Kanten-
progression
geschlossene Kanten-
progression
Sind alle Kanten einer Progression voneinander verschieden
Ketten-progression
geschlossene Kantenzug-progression
Weg- progression
Zyklus-progression
Berücksichtigt man die Kanten einer Progression ohne Ordnung
Kette geschlossener Kantenzug Weg Zyklus
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung33
Spezielle Kantenfolgen in GraphenBeispiele am ungerichteten Graphen:
Folge Merkmalg-f-c-c-d offene
Kantenprogression
d-c-c-b-a-e geschlossene Kantenprogression
e-g-f Kettenprogression
a-b-f-g geschlosseneKantenzugprogression
{ e, b, a } Kette
{ g, d, f, e } geschlossener Kantenzug
3
1
24
5 6
a
b
c
d
e f
g
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung34
Spezielle Kantenfolgen in GraphenBeispiele am gerichteten Graphen:
Folge Merkmal4-3-7-4 offene
Kantenprogression
3-7-4-1-1 geschlosseneKantenprogression
4-1-2 Wegprogression
5-1-3-7-8 Zyklusprogression
{ 2, 8, 5, 1 } Weg
{ 1 } Zyklus
a
g
c
d
b
12
3
4 5 6
7
8
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung35
GraphentheorieSpezielle Graphen:
Begriff des Zyklus/Zyklen in Graphen:
Für viele Algorithmen, die auf Graphen arbeiten ist es wichtig zu wissen, ob es möglich ist, mit unterschiedlichen Kanten „im Kreis zu laufen“
Man bezeichnet einen kompletten Graphen als zyklisch, wenn wenigstens eine geschlossene Kantenzugprogression
(= Zyklus) existiert in diesem Graphen eine Schleife ist ebenfalls ein Zyklus
Wenn ein Graph nicht zyklisch ist nennt man ihn zyklenfrei oder azyklisch
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung36
GraphentheorieSpezielle Graphen:
Baum
Definition: Baum ein zusammenhängender, zyklenfreier Graph
Also: bei einem ungerichteten Baum es darf kein geschlossener Kantenzug existieren
Weiterhin: bei einem gerichteten Baum gilt: es darf kein Zyklus existieren der zugehörige ungerichtete Graph
muss zusammenhängend sein
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung37
GraphentheorieSpezielle Graphen: Bäume
Definition: Wurzel und Blätter
In einem gerichteten Baum gibt es genau einen Knoten, der keine Vorgänger hat
d- = 0 dieser Knoten wird Wurzel genannt
Die Knoten ohne Nachfolger (d+ = 0) heißen Blätter
Bei einem ungerichteten Baum kann die Wurzel frei gewählt werden daraus ergeben sich die Blätter
als übrige Knoten mit Knotengrad eins
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung38
GraphentheorieBeispiel: ungerichteter Baum
Die Molekülstrukturen der Hexane ergeben ungerichtete Bäume
C C
C
C
C CC C
C
CC C
C C
C C
C C C C
C
CC C
C C CCC C
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung39
GraphentheorieBeispiel: gerichteter Baum
Die Relation „ist teilbar durch“ führt zu einem gerichteten Baum
2 3
64
120
5
Wurzel
Blätter
2 3
64
120
5
Wurzel
Blätter
2
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung40
GraphentheorieDefinition: Binärbaum
Hat jeder Knoten eines Baumes, außer den Blättern,genau zwei Nachfolger: d+(g) = 2, so heißt ein solcher Baum Binärbaum
Wurzel
Blätter
1 0 1 0
1 0
x = 12
x = 11
x = 12
nein
nein neinja ja
ja
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung41
GraphentheorieWeitere Begriffe: Binärbaum
Der Abstand von der Wurzel zu den Blättern wird als Tiefe des Baumes bezeichnet
Ist der Abstand von der Wurzel zu den Blätternfür alle Blätter identisch
so handelt es sich um einen symmetrischen Binärbaum
Unterscheiden sich die Abstände um maximal eins so nennt man den Baum ausgeglichen
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung42
GraphentheorieDefinition: Aufspannender Baum
Es gilt: bei jedem zusammenhängenden Graphen kann man alle Zyklen durch gezieltes Entfernen von Kanten auflösen( Kruskal Algorithmus: Minimal Aufspannender Baum, MAB) ohne dass der Graph in zwei Teilgraphen zerfällt
Auf diese Weise erhält man zu jedem beliebigen Graphen einen zugehörigen aufspannenden Baum
Beispiel:
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung43
GraphentheorieDefinition: Bipartiter Graph
Knoten eines Graphen sind folgendermaßen in zwei Teilmengen aufteilbar: keine Kante verbindet zwei Knoten in derselben Teilmenge so nennt man den Graphen bipartit
In technischen Systemen: zwei Teilmengen entsprechen bspw. zwei verschiedenen Typen von
Komponenten, die nicht untereinander verbunden werden dürfen
Beispiel:
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung44
GraphentheorieDefinition: Geometrische Graphen
Bisher hatte die Darstellung der Knoten und Kanten des Graphen in der Zeichenebene keine Bedeutung
Geometrische Graphen ordnen den Knoten jedoch eine geometrische Position zu:
im n-dimensionalen Raum IRn
zu den Kanten „glatte“ Kurven zwischen den Knoten, die außer den Knoten keinen Punkt gemeinsam haben
Zweidimensionale geometrische Graphen müssen kreuzungsfrei sein
Man kann beweisen, dass zu jedem Graphen ein isomorpher dreidimensionaler geometrischer Graph existiert
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung45
GraphentheorieEigenschaften: Geometrische Graphen
In zweidimensionaler Ebene: es existiert nicht immer ein isomorpher Graph
Graphen, zu denen ein isomorpher zweidimensionaler Graph existiert nennt man planare Graphen
Planare Graphen müssen nicht kreuzungsfrei dargestellt sein
a b
c d
a b
c
disomorph
planarer Graph
2D geometrischer
Graph
Beispiel:
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung46
GraphentheorieDefinition: Duale Graphen
Planarer Graph: teilt die Zeichenebene in verschiedene Gebiete ein äußere Umgebung des Graphen wird hier auch als
Gebiet betrachtet
Planarität des Graphen: notwendige und hinreichende Bedingung dafür,
dass man einen dualen Graphen dazu konstruieren kann
Vorgehensweise: Konstruktion eines dualen Graphen Gebiete eines zusammenhängenden Graphen in der Zeichenebene
entsprechen den Knoten im dualen Graphen, jede Grenze zwischenzwei Gebieten (Kanten im Ausgangsgraph!) entspricht dabei einer Kanteim konstruierten dualen Graph; jedem eigenständigen zusammen-hängenden Graphen wird ein eigener Umgebungsknoten U zugeordnet
Duale Graphen: spielen beispielsweise eine Rolle, bei der Beurteilung, ob eine
Schaltung planar in einer Ebene realisiert werden kann
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung47
Duale GraphenBeispiel 1: Duale Graphen
GBGB
DBNL
FCH A
I
U1
BNLD
FCH A
I
U1U2
U2
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung48
Duale Graphen
UU
Beispiel 2: Duale Graphen Konstruktion von Schlingen
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung49
GraphentheorieDefinition: Gewichtete Graphen
Analog zum Scotland Yard Spiel: es macht einen Unterschied, ob zwei Knoten mit einer
Bus-, Taxi- oder U-Bahn-Verbindung verbunden sind
Man kann jeder Kante noch zusätzliche Attribute zuordnen
In vielen Fällen genügt jedoch die Zuordnung einer reellen Zahl, die als Gewicht bezeichnet wird dann spricht man von einem gewichteten Graphen
Gewichtete Graphen: dienen zur Modellierung von:
- Netzwerkflüssen, - Transportprozessen, und - Planungsstrategien
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung50
Gewichtete GraphenBeispiele: Gewichtete Graphen
NetzwerkflussGewicht: Durchsatz
TransportprozessGewicht: Entfernung
18
15
8
3
2
2
8
3 2
4
5
8
1
2
4
5
6
3 7
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung51
Gewichtete GraphenBeispiel: Planungsstrategie
Produktionsabläufe sind mit gewichteten Graphen modellierbar: die gerichteten Kanten werden als Arbeitsschritt aufgefasst als Gewicht wird die jeweils benötigte Dauer verwendet
mehrere ankommende Kanten an einem Knoten markieren Arbeitsschritte, die vorher abgearbeitet sein
müssen, bevor die Arbeitsschritte der abgehenden Kanten begonnen werden können
Also: Knoten sind Produktionszustände für deren Erreichen ist minimale Arbeitsdauer zu berechnen
Gesucht: die Dauer des kompletten Produktionsablaufs
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung52
Gewichtete GraphenBeispiel: Planungsstrategie
8
3
2 1 5 7 3
4
5 1
4
3
6
3 5
8
7
9
2
4
2
4
???
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung53
Gewichtete GraphenBeispiel: Planungsstrategie
Vorgehensweise: Berechnung der Dauer des kompletten Produktionsablaufs
zur Lösung des Problems berechnet man jeweils das Maximum der Gewichtssummen sämtlicher Wege zu einem Knoten
die maximale Summe steht für die Gesamtzeit des Auftrags
Optimalerweise: man wählt die Knotenreihenfolge bzw. Kantenfolge so, dass
die Gewichtsummen der Vorgängerknoten schon berechnet sind
Die Wege mit maximalen Gewichtsummen zum Endknoten ergeben einen (maximal) aufspannenden Graphen
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung54
PlanungsstrategienBeispiel: Planungsstrategie
8
3
2 1 5 7 3
4
5 1
4
3
6
3 5
8
7
9
2
4
8
10
11
16
3
7
8
17
14
19
26
23
26
37
28
11
2
4
0
www.kit.edu
Institut für Technik der Informationsverarbeitung
Karlsruher Institut für Technologie (KIT)
Digitaltechnik
Prof. Dr.-Ing. J. Beckerbecker@kit.edu
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Petrinetze
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung2
Petrinetze - Definition
Ein Petrinetz ist ein Tupel P = (S, T, F, M), wobeiS Menge der Stellen,T Menge der Transitionen,F S T T S Kantenmenge undM: S N Anfangsmarkierung heißt
Die Menge E = S T ist die Eckenmenge des Graphen
wobei s S; t T; f1 ,f2 ,f3 F; m M ist
Definition:
Stelle sTransition tAnfangsmarkierung m
Kanten f ,f ,f1 2 3
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung3
PetrinetzePetrinetz: bipartiter, gerichteter Graph
Stellen (= Bedingungen, Situationen) Transitionen (= Aktionen)
Stelle Transition S1 S2T0 T1 T2 S3S0
T3
Beispiel für ein Petrinetz (siehe oben)
So für Zündschlüssel bereit To für Zündung einschalten und Motor startenS1 für Zündung ein, Motor läuft T1 für Zündung ausschaltenS2 für Motor steht T2 für Schlüssel abziehenS3 für Schlüssel abgezogen T3 für Schlüssel in Zündschloss stecken
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung4
...
...Ausgangs-stelle von T
i
Eingangs-stelle von T
i
...Ti
...Einfache Schaltregeln:
eine Transition ist
schaltbereit: wenn alle Eingangsstellen eine Markierung tragen,alle Ausgangsstellen leer sind(sofern diese nicht gleichzeitig Eingangsstellen sind)
schaltet: dabei zieht sie die Marken aller Eingangsstellen ab, so daß diese leer werden, und markiert alle Ausgangsstellen
Petrinetze
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung5
Petrinetze - Interpretation
Die Stellen des Graphen repräsentieren Zustände bzw. Bedingungen des modellierten Systems; Darstellung im Graph durch Kreise
Die Knoten in T bezeichnen Transitionen oder Aktivitäten; Darstellung im Graph als Querstriche oder Kästchen
Die Kantenmenge F repräsentiert kausale oder zeitliche Abhängigkeiten, wobei
eine Kante s t bedeutet, dass die Bedingung s erfüllt sein muss, damit die Transition t schalten (oder feuern) kann
s heißt in diesem Fall Vorstelle von t
eine Kante t s bedeutet, dass der Zustand s erreicht wird, wenn die Transition t geschaltet hat
s heißt dann Nachstelle von t
Besitzt eine Transition t mehrere Vorstellen, müssen alle Bedingungen erfülltsein, damit t schalten kann
Besitzt eine Transition t mehrere Nachstellen, so werden durch das Schalten von t alle Nachstellen gleichzeitig erreicht
Interpretation:
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung6
Petrinetze - Motivation (1)
VerwendungszweckeSimulationPlanungSteuerung
AnwendungsgebieteProduktionBürokommunikation (speziell Workflowsysteme)
Klassische Anwendungen in der KerninformatikModellierung von BetriebssystemenModellierung von gegenseitigem AusschlussModellierung von Nebenläufigkeit
Motivation:
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung7
Petrinetze - Motivation (2)Petrinetze dienen zum Modellieren von Systemen, in denen kausale Abhängigkeiten eine vorrangige Bedeutung besitzen
Einführendes Beispiel:
OHanschalten
OHokay
Vorlesungvorbereitet
OHvorhanden
OHausschalten
Vorlesungbeenden
Vorlesungvorbereiten
Vorlesunghalten
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung8
Petrinetze - Historie
Im Jahre 1962 von C.A. Petri im Rahmen seiner Dissertation vorgestellt
Netztheorie zur Modellierung komplexer Vorgänge,
die es erlaubt unabhängige parallele Prozesse darzustellen
Die Beschränkung streng sequentieller Abläufe bisheriger Darstellungen entfällt
Die Idee fand zunächst keinen praktischen Nutzen, jedoch änderte sich die Akzeptanz im Laufe der Zeit deutlich
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung9
Petrinetze – Modellierung (1)
1. Sequentielle Abläufe:
Was kann mit Petrinetzen modelliert werden?
2. Alternative:
3. Wiederholung:
2t1t
1t
2t
1t
2t
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung10
Petrinetze – Modellierung (2)
5. Eingabe von / Ausgabe zur Umwelt:
4. Nebenläufigkeit:
nt .11.1t
nt .21.2t
...
...
1t 2t
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung11
Petrinetze – Modellierung (3)
Vorbereich eines Netzelements x•x = { y | (y, x) F }
Weitere Notationen:
Verzweigungen: ein Knoten heißt
vorwärtsverzweigt, falls | x• | > 1
rückwärtsverzweigt, falls | •x | > 1
Nachbereich eines Netzelements xx• = { y | (x, y) F }
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung12
Petrinetze – Modellierung (4)
Logisches UND Logisches ODER
Logische Aussagen:
1t
A B
BA
1t
A B
BA
2t
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung13
Petrinetze – Modellierung (5)
Jeder Zustand ist repräsentiert durch einen Platz wenn ein Token in diesem Platz ist, bedeutet das,
dass sich das Modell in diesem Zustand befindet
Schalter:
ON
OFF
ONTURN OFFTURN
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung14
Petrinetze – Verklemmungen
Hier kommt es nach dem ersten Durchlauf zu einem Konflikt undanschließend zu einer Verklemmung
Nochmals das einführende Beispiel:
OHanschalten
OHokay
Vorlesungvorbereitet
OHvorhanden
OHausschalten
Vorlesungbeenden
Vorlesungvorbereiten
Vorlesunghalten
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung15
Petrinetze – Konflikte und Verklemmungen
Hier kommt es nach dem ersten Durchlauf zu einem Konflikt undanschließend zu einer Verklemmung
Nochmals das einführende Beispiel:
OHanschalten
OHokay
Vorlesungvorbereitet
OHvorhanden
OHausschalten
Vorlesungbeenden
Vorlesungvorbereiten
Vorlesunghalten
Eine Änderung des Netzes hilft hier weiter !!!
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung16
Lift steht auf Etage
Türzu
Zielknopf
Türoffen
Lift fährtfahrbereit
Stockwerksensor
Petrinetze – formale VerifikationBeweis einer sicherheitskritischen Eigenschaft in einer formalen Spezifikation möglich !!!
Die Sicherheitseigenschaft, dass der Lift nicht bei offener Tür fahren darf, ist für dieses Modell beweisbar
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung17
Beispiel: Motorsteuerung
rein sequentieller Ablauf ohne Nebenläufigkeiten ein deutlich kausaler Zusammenhang zwischen den Stellen S erkennbar
Zustände Si (Stellen) und Transitionen Tj
So für Zündschlüssel bereit To für Zündung einschalten und Motor startenS1 für Zündung ein, Motor läuft T1 für Zündung ausschaltenS2 für Motor steht T2 für Schlüssel abziehenS3 für Schlüssel abgezogen T3 für Schlüssel in Zündschloss stecken
Petrinetze – Komplexes Beispiel (I)
S1 S2T0 T1 T2 S3S0
T3
i
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung18
Beispiel: Motorsteuerung
rein sequentieller Ablauf ohne Nebenläufigkeiten ein deutlich kausaler Zusammenhang zwischen den Stellen S erkennbar
Zustände Si (Stellen) und Transitionen Tj
So für Zündschlüssel bereit To für Zündung einschalten und Motor startenS1 für Zündung ein, Motor läuft T1 für Zündung ausschaltenS2 für Motor steht T2 für Schlüssel abziehenS3 für Schlüssel abgezogen T3 für Schlüssel in Zündschloss stecken
Petrinetze – Komplexes Beispiel (I)
S1 S2T0 T1 T2 S3S0
T3
i
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung19
Beispiel: Motorsteuerung
rein sequentieller Ablauf ohne Nebenläufigkeiten ein deutlich kausaler Zusammenhang zwischen den Stellen S erkennbar
Zustände Si (Stellen) und Transitionen Tj
So für Zündschlüssel bereit To für Zündung einschalten und Motor startenS1 für Zündung ein, Motor läuft T1 für Zündung ausschaltenS2 für Motor steht T2 für Schlüssel abziehenS3 für Schlüssel abgezogen T3 für Schlüssel in Zündschloss stecken
Petrinetze – Komplexes Beispiel (I)
S1 S2T0 T1 T2 S3S0
T3
i
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung20
Beispiel: Motorsteuerung
rein sequentieller Ablauf ohne Nebenläufigkeiten ein deutlich kausaler Zusammenhang zwischen den Stellen S erkennbar
Zustände Si (Stellen) und Transitionen Tj
So für Zündschlüssel bereit To für Zündung einschalten und Motor startenS1 für Zündung ein, Motor läuft T1 für Zündung ausschaltenS2 für Motor steht T2 für Schlüssel abziehenS3 für Schlüssel abgezogen T3 für Schlüssel in Zündschloss stecken
Petrinetze – Komplexes Beispiel (I)
S1 S2T0 T1 T2 S3S0
T3
i
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung21
Beispiel: Motorsteuerung
rein sequentieller Ablauf ohne Nebenläufigkeiten ein deutlich kausaler Zusammenhang zwischen den Stellen S erkennbar
Zustände Si (Stellen) und Transitionen Tj
So für Zündschlüssel bereit To für Zündung einschalten und Motor startenS1 für Zündung ein, Motor läuft T1 für Zündung ausschaltenS2 für Motor steht T2 für Schlüssel abziehenS3 für Schlüssel abgezogen T3 für Schlüssel in Zündschloss stecken
Petrinetze – Komplexes Beispiel (I)
S1 S2T0 T1 T2 S3S0
T3
i
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung22
Beispiel: Motorsteuerung
Zusätzliche Stellen und Transitionen:
S4 für Zündung ausS5 für WFS ist deaktiviertS6 für WFS bleibt deaktiviertS7 für WFS aktiviertS8 für Codeschlüssel für WFS bereitS9 für Codeschlüssel für WFS abgezogen
T4 für WFS aktivierenT5 für WFS deaktivierenT6 für Codeschlüssel gibt WFS frei
vier Anfangsmarken im Initialzustand
Nebenläufigkeiten werden erfasst
dieses einfache Modell erfasst jedoch nicht alle Betriebssituationen des Fahrzeugs
Petrinetze – Komplexes Beispiel (II)
T0 T1
S4́
S0 S3S2
S´4́
T5S5
S6
T4 S7
S1 T2
T3
S8 T6 S9
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung23
Beispiel: Motorsteuerung
Zusätzliche Stellen und Transitionen:
S4 für Zündung ausS5 für WFS ist deaktiviertS6 für WFS bleibt deaktiviertS7 für WFS aktiviert,S8 für Codeschlüssel für WFS bereitS9 für Codeschlüssel für WFS abgezogen
T4 für WFS aktivierenT5 für WFS deaktivierenT6 für Codeschlüssel gibt WFS frei
vier Anfangsmarken im Initialzustand
Nebenläufigkeiten werden erfasst
dieses einfache Modell erfasst jedoch nicht alle Betriebssituationen des Fahrzeugs
Petrinetze – Komplexes Beispiel (II)
T0 T1
S4́
S0 S3S2
S´4́
T5S5
S6
T4 S7
S1 T2
T3
S8 T6 S9
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung24
Beispiel: Motorsteuerung
Zusätzliche Stellen und Transitionen:
S4 für Zündung ausS5 für WFS ist deaktiviertS6 für WFS bleibt deaktiviertS7 für WFS aktiviertS8 für Codeschlüssel für WFS bereitS9 für Codeschlüssel für WFS abgezogen
T4 für WFS aktivierenT5 für WFS deaktivierenT6 für Codeschlüssel gibt WFS frei
vier Anfangsmarken im Initialzustand
Nebenläufigkeiten werden erfasst
dieses einfache Modell erfasst jedoch nicht alle Betriebssituationen des Fahrzeugs
Petrinetze – Komplexes Beispiel (II)
T0 T1
S4́
S0 S3S2
S´4́
T5S5
S6
T4 S7
S1 T2
T3
S8 T6 S9
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung25
Beispiel: Motorsteuerung
Zusätzliche Stellen und Transitionen:
S4 für Zündung ausS5 für WFS ist deaktiviertS6 für WFS bleibt deaktiviertS7 für WFS aktiviertS8 für Codeschlüssel für WFS bereitS9 für Codeschlüssel für WFS abgezogen
T4 für WFS aktivierenT5 für WFS deaktivierenT6 für Codeschlüssel gibt WFS frei
vier Anfangsmarken im Initialzustand
Nebenläufigkeiten werden erfasst
dieses einfache Modell erfasst jedoch nicht alle Betriebssituationen des Fahrzeugs
Petrinetze – Komplexes Beispiel (II)
T0 T1
S4́
S0 S3S2
S´4́
T5S5
S6
T4 S7
S1 T2
T3
S8 T6 S9
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung26
Beispiel: Motorsteuerung
Zusätzliche Stellen und Transitionen:
S4 für Zündung ausS5 für WFS ist deaktiviertS6 für WFS bleibt deaktiviertS7 für WFS aktiviertS8 für Codeschlüssel für WFS bereitS9 für Codeschlüssel für WFS abgezogen
T4 für WFS aktivierenT5 für WFS deaktivierenT6 für Codeschlüssel gibt WFS frei
vier Anfangsmarken im Initialzustand
Nebenläufigkeiten werden erfasst
dieses einfache Modell erfasst jedoch nicht alle Betriebssituationen des Fahrzeugs
Petrinetze – Komplexes Beispiel (II)
T0 T1
S4́
S0 S3S2
S´4́
T5S5
S6
T4 S7
S1 T2
T3
S8 T6 S9
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung27
Beispiel: Motorsteuerung
Zusätzliche Stellen und Transitionen:
S4 für Zündung ausS5 für WFS ist deaktiviertS6 für WFS bleibt deaktiviertS7 für WFS aktiviertS8 für Codeschlüssel für WFS bereitS9 für Codeschlüssel für WFS abgezogen
T4 für WFS aktivierenT5 für WFS deaktivierenT6 für Codeschlüssel gibt WFS frei
vier Anfangsmarken im Initialzustand
Nebenläufigkeiten werden erfasst
dieses einfache Modell erfasst jedoch nicht alle Betriebssituationen des Fahrzeugs
Petrinetze – Komplexes Beispiel (II)
T0 T1
S4́
S0 S3S2
S´4́
T5S5
S6
T4 S7
S1 T2
T3
S8 T6 S9
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung28
Beispiel: Motorsteuerung
Zusätzliche Stellen und Transitionen:
S4 für Zündung ausS5 für WFS ist deaktiviertS6 für WFS bleibt deaktiviertS7 für WFS aktiviertS8 für Codeschlüssel für WFS bereitS9 für Codeschlüssel für WFS abgezogen
T4 für WFS aktivierenT5 für WFS deaktivierenT6 für Codeschlüssel gibt WFS frei
vier Anfangsmarken im Initialzustand
Nebenläufigkeiten werden erfasst
dieses einfache Modell erfasst jedoch nicht alle Betriebssituationen des Fahrzeugs
Petrinetze – Komplexes Beispiel (II)
T0 T1
S4́
S0 S3S2
S´4́
T5S5
S6
T4 S7
S1 T2
T3
S8 T6 S9
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung29
Beispiel: Motorsteuerung
Zusätzliche Stellen und Transitionen:
S4 für Zündung ausS5 für WFS ist deaktiviertS6 für WFS bleibt deaktiviertS7 für WFS aktiviertS8 für Codeschlüssel für WFS bereitS9 für Codeschlüssel für WFS abgezogen
T4 für WFS aktivierenT5 für WFS deaktivierenT6 für Codeschlüssel gibt WFS frei
vier Anfangsmarken im Initialzustand
Nebenläufigkeiten werden erfasst
dieses einfache Modell erfasst jedoch nicht alle Betriebssituationen des Fahrzeugs
Petrinetze – Komplexes Beispiel (II)
T0 T1
S4́
S0 S3S2
S´4́
T5S5
S6
T4 S7
S1 T2
T3
S8 T6 S9
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung30
Petrinetze – Komplexes Beispiel (III)
Beispiel: Motorsteuerung
der vorgeführte Ablauf stellt nur ein mögliches Szenariofür die Funktion des Modells dar
eine vollständige Verifikation der Funktionsrichtigkeit in allenSituationen ist damit nicht erreicht
www.kit.edu
Institut für Technik der Informationsverarbeitung
Karlsruher Institut für Technologie (KIT)
Digitaltechnik
Prof. Dr.-Ing. J. Beckerbecker@kit.edu
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Algebraische Strukturen- Boolesche Algebra -
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung2
R1: S T M S T MS T P(M) S T P(M)
Abgeschlossenheit der Operationen Durchschnitt und Vereinigung
T
M
ST
M
S
R2: S T = T S S T = T S
Die Reihenfolge der beiden Operanden ist ohne Einfluss auf das Ergebnis -> Kommutativität
Algebraische Strukturen: Boolesche AlgebraRegelsystem der Mengenalgebra:
Mengenrelationen lassen sich in “Regeln“ Ri fassen:
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung3
R3:R3(a): R S T) = R3(b): R (S T) =
(R S) (R T) (R S) R T)
Algebraische Strukturen: Boolesche Algebra
Unabhängigkeit von Reihenfolgeder Operationen:
Distributivität
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung4
Algebraische Strukturen: Boolesche Algebra
R4:S M = S S Ø = S
Zur Verdeutlichung neutraler Elemente: und sind “neutrale“ Operationen bzgl. der Bezugsmenge M bzw. der leeren Menge Ø. M und Ø stellen bzgl. aller Teilmengen universelle Schranken dar (obere/untere Schranke)
MS S
Ø
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung5
Zur Existenz einer Komplementmenge: S und CM(S) sind “komplementäre“ (oder “inverse“) Elementebzgl. den Operationen und .
Zu jeder Teilmenge S existiert eine Komplementmenge CM(S) bzgl. M
R5:S CM(S) = ØS CM(S) = M
M
S
C (S)M
Algebraische Strukturen: Boolesche Algebra
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung6
Boolesche Algebra: BA = [ K, T, , , O, I ] mit: zwei zweistelligen Verknüpfungen T ("TEE") und ("RUM"),
der einstelligen Relation und den zwei universellen SchrankenO und I
Für alle Elemente aus K gelten dabei eine Reihe von Regeln
Mengenalgebra: MA = [P(M), , , CM, Ø, M]
Satz 1: Ist P(M) die Potenzmenge einer beliebigen Menge M, so ist dasVerknüpfungsgebilde [P(M), , CM, Ø, M] stets eine Boolesche Algebra
Satz 2: Bei jeder Booleschen Algebra gilt für die Menge K: K = 2n (n = 1, 2, ...)
Algebraische Strukturen: Boolesche AlgebraRegelsystem der Mengenalgebra:
Die Regeln R1 – R5 legen mathematische Eigenschaften fürden Umgang mit M, P(M), und fest:
Operanden + Regeln: algebraische Struktur Operanden sind Mengen: Mengenalgebra
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung7
Beispiel: Boolsche Algebra (BA)
Es sei: |M| = 1, K = P(M) = {Ø, M}, |K| = 2
Nach Satz 1: Mengenalgebra MA = [P(M), , CM, Ø, M]ist eine Boolesche Algebra (BA)
Ø M Ø Ø M M M M
Ø M Ø Ø Ø M Ø M
Ø M M Ø
Operand 1
Ope
rand
2
Ope
rand
cM
Ergebnis Ergebnis Ergebnis
Algebraische Strukturen: Boolesche Algebra
Verknüpfungstabellen: Tabellarische Notation der Mengenoperationen
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung8
Algebraische Strukturen: Boolesche Algebra
T 0 1 0 0 0 1 0 1
- 0 1 1 0
0 1 0 0 1 1 1 1
Abstraktionsschritt: Boolsche Algebra (BA)
Abstraktion von spezieller Mengeninterpretation Abstraktion der Operanden und Operatoren
Es sei: Ø = 0 und M = 1 , wegen |P(M)| = 2und: = T und =
Verknüpfungstabellen: Regeln für BA = [{0,1}, T, , ]
Mathematisch wichtig: Regeln axiomatisch begründen!
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung9
H1: Abgeschlossenheit a, b K
a T b K a b K
Die Anwendung der Operatoren T und führt nicht aus der Menge K heraus
H2: Kommutativgesetz a, b K
a T b = b T a a b = b a
Die Reihenfolge der Operanden ist vertauschbar, die Operatoren T und sind kommutativ
H3: Distributivgesetz a, b, c K
(a b) T c = (a T b) c =(a T c) (b T c) (a c) T (b c)
Jeder der beiden Operatoren T und distribuiert über den anderen
Algebraische Strukturen: Boolesche AlgebraBoolsche Algebra: Huntingtonsche Axiome
formale mathematische Basis aller Boolschen Algebren 5 gültige Axiome für eine Grundmenge K und beliebige Elemente a, b, c aus K
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung10
Axiomensystem: 5 Huntingtonsche Axiome
Verknüpfungsgebilde, dessen einzelne Aussagen nicht mathematisch ableitbar bzw. beweisbar sind, aus dem aber alle weiteren (algebraischen) Regeln ableitbar sind
Forderungen: Widerspruchsfrei (logisch), vollständig, Axiome unabhängig
H4: Existenz eines neutralen Elements a, I K und O, a K
I T a = a O a = aZu jedem Operator und T existiert ein neutrales Element, das jedes beliebigeElement der Menge K unverändert bezüglich des Operators T bzw. lässt
H5: Komplement a, k K
a T k = O a k = I
Zu jedem Element a K gibt es ein Element a = k K, das komplementär zu a ist, d.h. seine Verknüpfung mit a führt zum neutralen Element
Algebraische Strukturen: Boolesche Algebra
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung11
Axiomensystem: Boolsche Algebra allgemein gilt: Dualitätsprinzip
Vertauscht man in einem Satz unter alleinigerVerwendung der Operatoren T, und alleOperatoren T durch und umgekehrt, so erhältman wieder einen Satz,den sogenannten dualen Satz.
Enthält der Satz die neutralen Elemente O und I,so müssen auch diese vertauscht werden.Diese Aussage ist wichtig zur Vereinfachungvon Beweisvorgängen und für die AnwendungBoolescher Algebren ("halbe Arbeit").
Algebraische Strukturen: Boolesche Algebra
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung12
Huntingtonsche Axiome: Beispiele für Interpretationen weitere andere Verknüpfungsgebilde, die durch Abstraktion
auf das Axiomensystem zurückgeführt werden können (analog zu dem verwendeten Beispiel der Mengenalgebra)
Beispiele:
- Boolesche Algebra mit zwei Werten
BA2 = [ {0, 1}, T, , , 0, 1 ]
- Aussagenlogik
AL = [ {wahr, falsch}, UND, ODER, NICHT, stets falsch, stets wahr ]
- Mengenalgebra mit zwei Elementen
MA2 = [ {Ø, M}, , , CM, Ø, M ]
- Mengenalgebra allgemein
MA = [ P(M), , , CM, Ø, M ]
Algebraische Strukturen: Boolesche Algebra
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung13
H L,HH
L
UB
phys. Größe:Spannung
BU
Huntingtonsche Axiome: Interpretationen Interessant: Verknüpfungsgebilde mit |K| = 2 Frage: ist ein formaler Umgang für Binärsignale L / H bzw. 0 / 1 durch eine
geeignete Interpretation der Huntingtonschen Axiome möglich?
Notwendig: Axiomatisches Verknüpfungsgebilde mit Binärsignalen + formal korrekt abgeleitete Regeln
Binärsignale: Zweiwertige Signaldarstellung mit L und H Schalter als einfachste technische Realisierung
Algebraische Strukturen: Boolesche Algebra
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung14
Verknüpfungs- gebilde
Schaltungseingänge
X = (xn , ... , x 2 , x 1 )
L,H
L,H L,H
L,H Schaltungsausgänge
Y = (y m , ... , y 2 , y1)
Schließer
Öffner
H
"betätigt""in Ruhe"
Schließer
Öffner
L
Binärsignale: Relais als Bauelement zur Schalterrealisierung
Verknüpfungsgebilde für Binärsignale: Zusammenschaltung aus Relaisbauelementen bzgl. der Signale L und H
Algebraische Strukturen: Boolesche Algebra
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung15
S2:x 1
x 2
x 2
x 1
=
x1 par x2 = x2 par x1
x1 x2
x 2 x1
=
x1 ser x2 = x2 ser x1
Mögliche Relaisschaltungen: ser entspricht Serien- bzw. Reihenschaltungpar entspricht Parallelschaltung
S 1 :
B
x 1
x 2 x x U U
X1 ser X2 {L,H} X1 par X2 {L,H}
Algebraische Strukturen: Boolesche Algebra
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung16
S3: x1
x 2
x1
x2 x3
3x
1x
=
x1 par (x2 ser x3) =(x1 par x2) ser (x1 par x3)
x1x 3
x 2
x2
x3x1
x1=
x1 ser (x2 par x3) =(x1 ser x2) par (x1 ser x3)
S4:=
U
xx
x par U = x
U: Dauernde Unterbrechung
x s er V = x
V: Dauernde Verbindung
=x
x
V
Algebraische Strukturen: Boolesche Algebra
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung17
U
=x
x
= V
x
x
S5:
L,H L,H
(Reproduktion)
L,H H,L
(Negation)
BU BU
das Eingangsignal bleibt unverändertdas Eingangssignal wird invertiert , d.h. L wird zu H und H zu L.
x ser x = U x par x = V
(ideales, zeitgleiches Schalten der Kontakte vorausgesetzt)
Algebraische Strukturen: Boolesche Algebra
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung18
Verknüfungsgebilde: Schaltalgebra SA = [ {0, 1}, &, V, -, 0, 1]
Beispiele: mögliche Interpretationen der Huntingtonschen Axiome
MA2 HA SA
{ Ø, M }
Cm
ØM
-
OI
V-01
Folgerung: Relaisschaltungen S1 – S5 sind zulässige Interpretation derHuntingtonschen Axiome formale Entwicklung digitaler Schaltungen
Algebraische Strukturen: Boolesche Algebra
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung19
Schaltalgebra: Abgeleitete Beziehungen
Regeln für 0 und 1:
R1a 0 = 1R2a 0 v 0 = 0R3a 1 v 1 = 1R4a 0 v 1 = 1
_R1b 1 = 0R2b 1 & 1 = 1R3b 0 & 0 = 0R4b 1 & 0 = 0
_
Abgeleitete Regeln:
Dualität der Beziehungen ausnutzen!
Schaltalgebraische Interpretation der Huntingtonschen Axiome:
digitaltechnische Realisierung der zweiwertigen Boolschen Algebra weitere formale Regeln: direkt bzw. indirekt aus den Axiomen ableiten
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung20
Regeln für ein Element:
R5a a v 0 = aR6a a v 1 = 1R7a a v a = aR8a a v a = 1
_
R5b a & 1 = aR6b a & 0 = 0R7b a & a = aR8b a & a = 0
_
R9 (a) = a = a_ ___ _
Abgeleitete Regeln:
für einen Operanden a (und Konstanten!)
Schaltalgebra: Abgeleitete Beziehungen
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung21
Abgeleitete Beziehungen der Schaltalgebra
Regeln für zwei oder mehr Elemente
R10a a v (b v c) = (a v b) v c = a v b v c
R10b a & (b & c) = (a & b) & c = a & b & c
Assoziative Gesetze:
R11a a v (a & b) = a R11b a & (a v b) = a
Absorptionsgesetze:
R12a (a v b) = a & b R12b (a & b) = a v b
De Morgansche Regeln:____ ______ _ _ _
Abgeleitete Regeln:
für zwei bzw. mehrere Operanden a, b und c
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung22
Vereinfachung (Transformationen):
(R8b)(R5a)
Beispiele:
(a & b & c) v (a & b) v (b v (a & a)) = (a & b & c) v (a & b) v (b v 0)
(R9)= (a & b & c) v b (R11a)= b (R11a)
In UND-ODER-Form bringen:((a v b) & c) v d v (b & c) = (a & c) v (b & c) v d v (b & c)
= (a & c) v (b & c) v d
= (a & b & c) v (a & b) v b= (a & b & c) v (a & b) v b
In Form ohne v-Operator bringen:(a & b) v (c & d) v e
= ((a & b) v (c & d)) & e= (a & b) v (c & d) v e
= ((a & b) & (c & d)) & e
(H3)
(R7a)
(R9)
(R12a)
(R12a)
Abgeleitete Beziehungen der Schaltalgebra
www.kit.edu
Institut für Technik der Informationsverarbeitung
Karlsruher Institut für Technologie (KIT)
Digitaltechnik
Prof. Dr.-Ing. J. Beckerbecker@kit.edu
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Digitale Schaltfunktionen und Normalformtheoreme
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung2
FunktionellerZusammenhang
f
. . . y
x1x2
xn
Schaltalgebra: - zulässige Interpretation der Huntingtonschen Axiome- Basis für die formale Entwicklung binärer Digitalschaltungen
Motivation
Schaltfunktion: - 2n Zuordnungen Xj fj (Xj Belegung, fj zugeordnete Funktionswert)
- Begriffe: Nullstellenmenge N, Einsstellenmenge E, Redundanzmenge R
Wichtig: Kompakte Darstellungstechniken und formale Konstruktionsvorschriftenfür beliebige Schaltfunktionen (unabhängig von n)
Anwendungen von Schaltfunktionen
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung3
Arten von Funktionen:
Arten von Funktionen
Injektion: Eineindeutige Abbildung von S in T
ST
B
Jedem Element aus S wird genau ein Element aus T zugeordnet.
Die Bildmenge ist Teilmenge der Zielmenge (B T).
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung4
Arten von Funktionen
Surjektion: Eindeutige Abbildung von S auf T
Verschiedene Elemente aus S können denselben Elementen aus T zugeordnet sein.
Bild- und Zielmenge sind identisch (B T).
ST B
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung5
Arten von Funktionen
Bijektion: Eineindeutige Abbildung von S auf T
Funktion, die sowohl Eigenschaften der Injektionals auch der Surjektion aufweist.
Bild- und Zielmenge sind identisch (B T).
ST B
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung6
Funktionsbegriff: stellt offensichtlich Beziehung zwischen beiden Mengen S und T her
Funktionsbegriff
- allgemein: jede eindeutige Relation kann als Funktion aufgefasst werden Funktion ist Spezialfall der Relation
- Definition einer Funktion (verschiedene Weisen):- durch Angabe aller Paare (s,t), welche die Funktion festlegen (aufwendig!!!)- Kurznotation: z.B. y = x!
- Sei S = { 0, 1 }n das n-fache kartesische Produkt der Menge { 0, 1 } und T = { 0, 1 }
FunktionellerZusammenhang
f
. . . y
x1x2
xn
X = (xn, ... , x2, x1 )
xi { 0, 1 }y { 0, 1 }
- Definition einer Schaltfunktion ( s ist das Argument, t der Funktionswert ):
Angabe aller Paare (s, t) mit s { 0, 1 }n (= Belegung) und t { 0, 1 }
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung7
Allgemein:
Schaltfunktion lässt sich schreiben als: y = f ( X ) = f ( xn, ... , x2, x1 )
mit xn, ... , x1 unabhängige Variablen, y abhängige Variable der Funktion
Funktionsdefinition
- Beispiel: f sei diejenige Funktion, die genau dann den Wert y = 1 annimmt, wenndie Belegung von ( a3, a2, a1 ) eine ungerade Anzahl von Einsen aufweist
(a3 a2 a1) f y
(0, 0, 0) 0
(0, 0, 1) 1
(0, 1, 0) 1
(0, 1, 1) 0
(1, 0, 0) 1
(1, 0, 1) 0
(1, 1, 0) 0
(1, 1, 1) 1
j0 a3 a2 a1 y
0 0 0 0 0
1 0 0 1 1
2 0 1 0 1
3 0 1 1 0
4 1 0 0 1
5 1 0 1 0
6 1 1 0 0
7 1 1 1 1
Abbildungsvorschrift: Funktionsdarstellung:
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung8
häufig gilt: nicht allen Belegungen kann/muss ein Funktionswert zugeordnet werden
Klassen von Schaltfunktionen
- solche Zuordnungen: Redundanz- oder Freistellen der Funktion Kennzeichnung: Xj - (sogenanntes don t care) Stelle kann wahlweise mit 1 oder 0 belegt werden
Also: 3 Teilmengen von Belegungen:- Nullstellenmenge N = { Xj | Xj 0 }- Einsstellenmenge E = { Xj | Xj 1 }- Redundanzmenge R = { Xj | Xj - }
Beispiel: Funktion mit Freistellen Funktion für BCD Zahlen,
wobei Eingangskombinationen, die Pseudotetraden entsprechen, mit Freistellen belegt werden
Ziffer j0 a3 a2 a1 a0 y0 0 0 0 0 0 0
1 1 0 0 0 1 0
2 2 0 0 1 0 0
3 3 0 0 1 1 1
4 4 0 1 0 0 0
5 5 0 1 0 1 0
6 6 0 1 1 0 1
7 7 0 1 1 1 0
8 10 1 0 0 0 0
9 11 1 0 0 1 1
Pseudo-tetraden
12 1 0 1 0 -
13 1 0 1 1 -
14 1 1 0 0 -
15 1 1 0 1 -
16 1 1 1 0 -
17 1 1 1 1 -
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung9
Reale technische Anwendungen:
Freistellen überwiegen häufig gegenüber 0- / 1-Stellen
Klassen von Schaltfunktionen
- eine vollständig definierte Schaltfunktion: ordnet allen Belegungen Xj einen
Funktionswert aus fj { 0, 1 } zu
wegen |{0, 1}| = 2n gilt:bei unvollständigen Schaltfunktionen lässt sich aus jeweils zweiTeilmengen die fehlende dritte Teilmenge bestimmen
Man definiert daher zwei Hauptklassen von Funktionen:
- eine unvollständig definierte Schaltfunktion: ordnet mindestens einer Belegung Xj
keinen Funktionswert aus fj { 0, 1 } zu
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung10
Neben tabellarischer Darstellung: es existieren graphisch orientierte Darstellungen
Graphische Darstellung von Funktionen
Beispiel: Darstellung einer Schaltfunktion mittels Symmetriediagramm
Tafelmethoden (sogenannte KV-Diagramme),vor über 100 Jahren von Karnaugh und Veitch vorgeschlagen
Nachteile von KV-Diagrammen bei Werten n > 4 (unübersichtlichen Darstellung!)- Prof. Lipp hat KV-Diagramme mittels einer neuen Symmetrierelation
auf beliebiges n erweitert
--10
----
1010
0000
14151110
16171312
6732
4510
a3
a2
a1
a0
y
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung11
Symmetriediagramme
0
V1
n=0 n=1
n=2 n=3
n=4 n=5
n=6
122 altneu jj
32
10
H1
x1
H1x2
10
x1
V1
112 altneu jj
6732
4510
V2
x1
x2
x3
V2
132 altneu jj
14151110
16171312
6732
4510
H2
x1
x2
x3
H2x4142 altneu jj
3031353414151110
3233373616171312
222327266732
202125244510
V3
x2
x1 x1
x4
x5
x3
V3
152 altneu jj
6040
77
7050
3031353414151110
3233373616171312
222327266732
202125244510
H3
x1 x1
x5
x2
x2x6
x3
H3x4
162 altneu jj
Entwicklung eines Symmetriediagramms
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung12
Spezifikation / Schaltfunktionen: Funktionstabelle stellt bei großen Werten von n keinebesonders effiziente Darstellungstechnik dar, da dieSpaltenzahl mit n, die Zeilenzahl jedoch mit 2n wächst
Graphische Darstellung von Funktionen
Beispiel für die Darstellung mittels BDD:
Neben bereits vorgestellten Methoden Funktionen darzustellen:es existieren weitere Möglichkeiten zur Darstellung in Form spezieller Graphen
- z.B. Binary Decision Diagrams (BDDs)
a
0 0
a
0 1
b
a
0 1
a
1 1
b
c
j0= 0 1 2 3 4 5 6 7
0 1 0 1 0 1 0 1
0 0
0
1 1
1
0
b
1
b
a
c1
1
11
0
0
00
beide Darstellungen: repräsentieren die gleiche Funktion
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung13
Binary Decision Diagrams (BDDs)
- Funktionen lassen sich kanonisch (eindeutig) darstellen
diese Eigenschaft von BDDs lässt für Äquivalenzprüfungen
von Funktionen ausnutzen Isomorphie-Test
- darüber hinaus: es existieren eine Reihe von Verfahren,
welche die rechnergestützte Verarbeitung
von in BDD-Form dargestellten Funktionen
effizient ermöglichen
Graphische Darstellung von Funktionen
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung14
Schaltfunktionen
n = 0 MF = 2
n = 1 MF = 4
n = 2 MF = 16
n = 3 MF = 256..
n = 10 MF = 21024 10308
Beispiele:
Eigenschaft: Anzahl möglicher Funktionen (MF) wächst explosionsartig! Zahl einzelner Bildungsvorschriften und Namen zu groß!
Gesucht: Grundsätzliche Konstruktionsvorschrift für Schaltfunktionen(unabhängig von n) ?
Ziel: Anbindung an schaltalgebraische Notation: Axiome + Regeln anwendbar
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung15
Mögliche Schaltfunktionen bei n=2n = 2: MF = 16 y = f(x2, x1)
Eigene Symbole und Namen:
y10 : & Konjunktion, UND-Verknüpfung, AND
y16 : V Disjunktion, ODER-Verknüpfung, OR
y7 : & neg. Konjunktion, neg. UND-Verknüpfung, NAND (NOT AND)
y1 : V neg. Disjunktion, neg. ODER-Verknüpfung, NOR (NOT OR)
y6 : Antivalenz XOR
y11 : Äquivalenz
y13 : Implikation, x2 impliziert x1, x2 x1 (analog: y15 : x1 impliziert x2, x1 x2)
111111110000000011111100001111000001110011001100110010101010101010101000
y17y16y15y14y13y12y11y10y7y6y5y4y3y2y1y0x1x2
neg.
Dis
junk
tion
(neg
. Im
plik
atio
n)
neg .
Impl
ikat
ion
Ant
ival
enz
neg .
Kon
junk
tion
Äqu
ival
enz
Impl
ikat
ion
(Impl
ikat
ion)
Dis
junk
tion
Kon
junk
tion
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung16
Herleitung der NormalformtheoremeBesondere Funktionen: Konjunktion und Disjunktion- Null- und Einsstellenmenge teilen sich extrem auf, jeweils in: 1 zu 2n-1 Belegungen
Konjunktion: Disjunktion:
- entsprechen den Operatoren der Schaltalgebra (Serien- und Parallelschaltungen) Anbindung dieser Schaltfunktionen an das axiomatische Gebäude!
Symmetriediagramme: Konjunktion Disjunktion
6732
4510
1111
1110
x3
x2
x1y
6732
4510
0100
0000
x3
x2
x1y
32
10
11
10x2
x1y
32
10
10
00
x2
x1y
n = 3 y = x3 & x2 & x1 y = x3 V x2 V x1
n = 2 y = x2 & x1 y = x2 V x1
10
für x1 = x2 = 1y = f (x1,x2)sonst
01
für x1 = x2 = 0y = f (x1,x2)sonst
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung17
Gesucht: Grundsätzliche Konstruktionsvorschrift für Schaltfunktionen (unabh. von n) ? Bauprinzip in Anlehnung an die Reihenentwicklung in der Mathematik
- geeignete (bspw. orthogonale) Basisfunktionen bk(x) und Koeffizienten Ak
1
0111100 )()()()()(
N
kkkNN xbAxbAxbAxbAxfy
Frage: gibt es Basisfunktionen und geeignete Koeffizienten für beliebige Schaltfunktionen ?
n = 3: Konjunktion: y = x3 & x2 & x1 Beliebige Einsstelle: y = ?
x1
6732
4510
0000
1000
x3
x2
y
Notwendig: Konjunktion / Disjunktion -> Funktionswert 1 (0) beliebiger Belegung zuordnen können
Modifikation der Konjunktion
123 && xxxy
Abbildung der
Belegung
Herleitung der Normalformtheoreme
x1
6732
4510
0100
0000
x3
x2
y
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung18
Herleitung der Normalformtheoreme
10&
12,0,10&
&&
01
01
&&&&
1
1
121
121
jjjj
jjjj
nkjkj
nj
nj
nn
nn
MmMm
mMMm
kjkjMMmm
xxM
xxm
fürxfürx
xxxxxy
fürxfürx
xxxxxy
nktion)Maxterm(funktion)Minterm(fu
Allgemein gilt für n = beliebig:
0&&&&
&,&,&,&2
121221
123122
121120
xxxxmm
xxmxxmxxmxxmn:Beispiel
Ergebnis: Belegungsabbildung -> beliebige Eins- / Nullstelle für jede Belegung Minterm- und Maxtermfunktionen
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung19
Herleitung der Normalformtheoreme
7111100000001
6011010000001
5101001000001
4001000100001
3110000010001
2010000001001
1100000000101
0000000000011
j0x1x2x3y = m0 v m1 v m2 v m3 v m4 v m5 v m6 v m7
n = 3:
Mögliche Funktion:Disjunktion
aller Minterme
Gesucht: Grundsätzliche Konstruktionsvorschrift für Schaltfunktionen (unabh. von n) Verwendung orthogonaler Minterm- und Maxtermbasisfunktionen ?
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung20
Herleitung der Normalformtheoreme
7111A70000000A7
60110A6000000A6
510100A500000A5
4001000A40000A4
31100000A3000A3
201000000A200A2
1100000000A10A1
00000000000A0A0
j0x1x2x3y = A0&m0 v A1&m1 v A2&m2 v A3&m3 v A4&m4 v A5&m5 v A6&m6 v A7&m7
Erweiterung: Einführung von Koeffizienten Aj für Minterm- und Maxtermbasisfunktionen beliebige Funktionsdarstellung
n = 3:
Reihenentwicklung:Gewichtung
der Basisfunktionen mj
mit Aj {0, 1}
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung21
NormalformtheoremeNormalformen einer Schaltfunktion kanonische Formen
)(
)(&)(&&)(&)(
)&(
)&()&()&()(
12
0
001122221212
12
0
001122221212
jjj
jjj
Mfy
MfMfMfMfy
mfy
mfmfmfm&fy
n
nnnn
n
nnnn
&
V
Konjunktive Normalform (KNF):
Disjunktive Normalform (DNF):
oder kürzer
oder kürzer
nur mit den 3 Grundverknüpfungen (Operatoren) Konjunktion, Disjunktion und Negation ist es möglich jede beliebige Schaltfunktion darzustellen
[&, V, ] ist ein Basissystem der Schaltalgebra
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung22
Normalformtheoreme: Hauptsatz der Schaltalgebra
x3
14151110
16171312
6732
4510
1010
0100
1010
0000
x4
x2
x1y
Beispiel: y = f(x4, x3, x2, x1) = 1, wenn die Oktalzahl durch 3 dividierbar ist
)(&)(&)(&)(&)(&)(&)(&)(&)(&)(&)(:
)&&&()&&&()&&&()&&&()&&&(:
12341234
123412341234
123412341234
123412341234
12341234
123412341234
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxy
xxxxxxxxxxxxxxxxxxxxy
KNF
DNF
Satz: Jede beliebige Schaltfunktion y = f(xn, ... , x1) läßt sich als Disjunktion von Mintermen<Konjunktion von Maxtermen> eindeutig darstellen. In der Disjunktion <Konjunktion> treten genau diejenigen Minterme <Maxterme> auf, die zu den Einsstellen <Nullstellen> der Schaltfunktion gehören.
Hauptsatz der Schaltalgebra:
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung23
Beziehungen zwischen den Begriffen
110:Bsp.
jjnj
n
i
iij
xxx
xj
12
1
12
Index
12n x&x&&x:Bsp.
&
jjnj
ij
n
ij
xxx
xm
12
1
&&&
Minterm
12n xxx:Bsp.
V
jjnj
ij
n
ij
xxx
xM
12
1
Maxterm
1
12
0)&(
j
n
fjjjj
mmff VV
DNF
0
12
0)(
j
n
fjjjj
MMff &&
KNF
1,1,0,:Bsp.
jjnjj xxxX 12 ,,,
Belegung
jjjj XfffXf ,:
Funktionstabelle
0,1,
ijij
ijijij xwennx
xwennxx
jj Mm jj mM
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung24
Normalformtheoreme: Praktische AnwendungNotwendig: für jeden Operatortyp eine passende technische Realisierung
Schaltglieder (Gatter) für Konjunktion, Disjunktion und Negation
Schaltzeichen nach derneuen Norm (DIN 40900):
&
UND-Glied :a
b
c
d
y = a & b & c & d
>=1
ODER-Glied :a
b
c
d
y = a v b v c v d
1a y = a
Negationsglied:
1a y = a
(Zum Vergleich alte Norm)
a
b
c
d
y
a
b
c
d
y
a y
a y
Definition: Schaltnetz (angelehnt an DIN IEC 748)Ein Schaltnetz ist eine Digitalschaltung, in der es für jede mögliche Kombination von digitalen Signalen an den Eingängen eine - und nur eine - Kombination von digitalenSignalen an den Ausgängen gibt:
Yt = F(Xt)SN
F YX
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung25
ODER-Matrix
(fest)
x1
2n Mintermfunktionen
DNFm1
UND-Matrix
(fest)m2
n
x2
xn
m2
Y = f(X)
Normalformorientierte Strukturen:-> DNF als Beispiel
-> 2n UND-Glieder in der 1. Stufe und ein bzw.
mehrere ODER-Glieder in der 2 Stufe
-> Beispiel 1: ULA (Universal Logic Array)
& & & && & &&
1
1
1
V
1
x1
x2
x2
x3
x3
1
0
y = f(X)
X
0 m1 0 0 m4 m5 m6 m7
x1
0
(Einsstellenmenge)
(Nullstellenmenge)
Beispiel: y = m1 v m4 v m5 v m6 v m7
Personalisierung (Programmierung):
Abhängigkeit des Funktionswertes fj
von einem Minterm mj wird festgelegt
Normalformtheoreme: Praktische Anwendung
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung26
Normalformtheoreme: Praktische AnwendungNormalformorientierte Strukturen:
-> Beispiel 2: ROM (Read Only Memory)
Beispiel: y = m1 v m4 v m5 v m6 v m7
Personalisierung erfolgt in der 2. Stufe
& & & && & &&
1
1
1
V
x1
x2
x2x3
x3
y = f(X)
X
m1 m4 m5 m6 m7
x1
ODER-Matrix
(progr.)
x1
2n Mintermfunktionen
DNFm1
UND-Matrix
(fest)m2
n
x2
xn
m2
Y = f(X)
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung27
Es gilt:
Normalformtheoreme und der Hauptsatz der Schaltalgebra
zeigen die eindeutige Darstellbarkeit beliebiger Schaltfunktionen
mittels der 3 Grundverknüpfungen Konjunktion, Disjunktion, Negation
daher: man bezeichnet diese 3 Verknüpfungen [&, V, ]
als ein Basissystem der Schaltalgebra
weiterhin: -es existieren weitere Basissysteme
-lassen sich mittels der De Morgan schen Theoreme
vom ersten Basissystem ableiten:
Basissysteme der Schaltalgebra
12121212 && xxxxxxxx bzw.
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung28
Basissysteme der Schaltalgebra
jjj
jjj
jjj
jjj
jjj
jjj
jjj
jjj
Mfymfy
Mfymfy
Mfyymfyy
Mfymfy
nn
nn
nn
nn
&
&
&
&
12
0
12
0
12
0
12
0
12
0
12
0
12
0
12
0
V&
V&
&V
&V
bzw.
bzw.
bzw.
bzw.
Also:- Neben dem bereits vorgestellten Basissystem mit 3 Verknüpfungen [&, V, ]
existieren Basissysteme mit zwei oder gar einem Operator
Beispiel: Herleitung von Basissystemen mit 2 Verknüpfungen [&, ] bzw. [V, ]ausgehend von DNF bzw. KNF
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung29
Weiterhin: DNF realisiert nur Minterme fj = 1 und KNF nur Maxterme fj = 0
Basissysteme der Schaltalgebra
jjjjjj
jj
MMfmmf
ff
&
10
und
01
jj fjfj Mymy V&man erhält :
&1 (Regel 5b) 0 (Regel 5a)
&1 0
x x x x
x x x x
Also: man erhält zwei neue Basissysteme mit jeweils nur einer einzigen Verknüpfung,
denn: bilden ebenfalls Basissysteme der Schaltalgebra
wobei: Negationen einzelner Variablen werden mit Konstanten 0 / 1 dargestellt:
& und
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung30
Nächste Vorlesungen
- Entwicklungssatz der Schaltalgebra
- Minimierungsverfahren für komplexe Schaltfunktionen
- Technische Realisierung von Schaltgliedern
- Weitere praktische Anwendungen
- Beispiele digitaler Bausteine
www.kit.edu
Institut für Technik der Informationsverarbeitung
Digitaltechnik
Karlsruher Institut für Technologie (KIT)
Prof. Dr.-Ing. J. Beckerbecker@kit.edu
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Entwicklungssatz der Schaltalgebra
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung2
Entwicklungssatz der SchaltalgebraNormalformtheoreme
Ermöglichen eine eindeutige (kanonische) Darstellung
jeder beliebigen Schaltfunktion
Schaltfunktionen sind allein durch 3 logische Operationen realisierbar
Und, Oder und Negation
Der Boole‘sche Entwicklungssatz ist eine formelle Methode zur
gezielten Umwandlung jedes beliebigen schaltalgebraischen
Ausdrucks in eine der beiden Normalformen (KNF bzw. DNF)
Ergebnis: eine der kanonischen Darstellungen KNF bzw. DNF
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung3
Minterme• Terme mi für genau eine Belegung wird der Wert 1 angenommen
“orthogonale Basisfunktionen“ zur Bildung der DNF
• “Projektion“ von Einsstellen auf beliebige Positionen
im Symmetriediagramm
• “Auswahl“ der richtigen Funktionswerte in DNF
Einsstellenmenge
Minterme f(x2,x1)m0 12 & xx f(0,0)m1 12 & xx f(0,1)m2 12 & xx f(1,0)m3 12 & xx f(1,1)
Entwicklungssatz der Schaltalgebra
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung4
Maxterme• Terme Mi für genau eine Belegung wird der Wert 0 angenommen
“orthogonale Basisfunktionen“ für Bildung der KNF
• “Projektion“ von Nullstellen auf beliebige Positionen
im Symmetriediagramm
• “Auswahl“ der richtigen Funktionswerte in KNF
Nullstellenmenge
Maxterme f(x2,x1)M0 12 xx f(0,0)M1 12 xx f(0,1)M2 12 xx f(1,0)M3 12 xx f(1,1)
Entwicklungssatz der Schaltalgebra
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung5
DNF (Disjunktive Normalform)Schaltfunktion in DNF-Form: besteht aus mehreren disjunktivverknüpften ( Oder-Funktion) Termen, die aus konjunktivverknüpften ( Und-Funktion) Literalen bestehen
Beispiele:
Also: DNF listet alle Belegungen, die den Funktionswert ´1´erzeugen sollen, einzeln auf
321321321321321321 )&&()&&()&&()( xxxxxxxxxxxxxxxxxxxf
212121212121 )&()&()&()( xxxxxxxxxxxxxf
2121)( xxxxxf x1 x2 f(x) 0 0 1 0 1 0 1 0 1 1 1 0
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung6
KNF (Konjunktive Normalform)Schaltfunktion in KNF-Form: besteht aus mehreren konjunktivverknüpften Termen, die aus disjunktiv verknüpften Literalen bestehen
Beispiel:
Also: bei der KNF entspricht jeder Term von konjunktiv verknüpften Literalen einer “invertierten Belegung“ mit Funktionswert ´0´ Tritt diese Wertkombination auf, so wird der entsprechende
Term ´0´ und der komplette Schaltfunktionswert wird auch ´0´
)(&)(&)()( 321321321 xxxxxxxxxxf
)(&)()( 2121 xxxxxf x1 x2 f(x) 0 0 1 0 1 0 1 0 1 1 1 0
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung7
Entwicklungssatz der SchaltalgebraDer Entwicklungssatz ist eine formale Methode eine Funktionf(xn,...,x3, x2, x1) in eine DNF (oder KNF) umzuwandeln
Die Entwicklung der Funktion f nach der Variablen xi
Aufteilung in zwei Fälle: xi = 1 und xi = 0
Oder für eine KNF:
1 1 1
1 0
( ,..., ,..., ) [ & ( ,...,1,..., )] [ & ( ,...,0,..., )]
[ & ] [ & ]i i
n i i n i n
i ix x
f x x x x f x x x f x x
x f x f
1 1 1
0 1
( ,..., ,..., ) [ ( ,...,0,..., )]&[ ( ,...,1,..., )]
[ ] &[ ]i i
n i i n i n
i ix x
f x x x x f x x x f x x
x f x f
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung8
Entwicklungssatz der SchaltalgebraBeweis der beiden Fälle:
1 1 0( ,..., 1,..., ) [1& ] [1& ]
i in i x x
f x x x f f
1 0[1& ] [0 & ]
i ix xf f
1ixf
10
ixf
1 1 0( ,..., 0,..., ) [0 & ] [0 & ]
i in i x x
f x x x f f
1 0[0 & ] [1& ]
i ix xf f
0ixf
00
ixf
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung9
Entwicklungssatz der Schaltalgebraund werden als Restfunktionen oder Kofaktoren bezeichnet
der nach xi entwickelte Ausdruck lässt sich nach den weiteren Variablen entwickeln
Beispiel einer Funktion mit zwei Variablen:
1ixf
0ixf
2 1( , )y f x x 1 2 1 2& ( ,1) & ( ,0)x f x x f x
2 1 1
2 1 1
&[ & (1,1) & (1,0)]
&[ & (0,1) & (0,0)]
x x f x f
x x f x f
Entwicklung nach x1
Entwicklung nach x2
2 1 2 1 2 1 2 1& & (1,1) & & (1,0) & & (0,1) & & (0,0)]x x f x x f x x f x x f
3 3 2 2 1 1 0 0& & & &m f m f m f m f 3
0( & )i i
jm f
DNF
Minterme
www.kit.edu
Institut für Technik der Informationsverarbeitung
Digitaltechnik
Karlsruher Institut für Technologie (KIT)
Prof. Dr.-Ing. J. Beckerbecker@kit.edu
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Minimierung digitaler Schaltfunktionen(Teil 1)
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung2
Minimierung (Optimierung)Aus den schaltalgebraischen Ausdrücken ist ersichtlich, dass der Beschreibungsaufwand sinkt, je weniger Terme vorhanden sind bzw. je mehr Literale aus den Termen entfallen
Bei der schaltungstechnischen Realisierung zeigt sich ebenfalls, dass entsprechende Aufwendungen für Schaltelemente von der Anzahl der Terme und der verwendeten Literale abhängen
Bei der DNF (KNF) benötigt man für jede Einsstelle (Nullstelle) einen Minterm (Maxterm) durch gezieltes Weglassen von Literalen in einem Minterm (Maxterm)
kann dieser Term mehrere Einsstellen (Nullstellen) repräsentieren
Anzahl der benötigten Terme und Literale wird reduziert
Minimierung von Schaltfunktionen!
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung3
MinimierungBeispiele:
12341234 &&&),,,( xxxxxxxxf
1341234 &&),,,( xxxxxxxf
131234 &),,,( xxxxxxf
)}1,0,0,1{(E
)}1,1,0,1(),1,0,0,1{(E
)}1,1,0,1(),1,0,0,1(),1,1,0,0(),1,0,0,0{(E
1E
2E
4E
Also: die Reduzierung von Literalen in einem Term hat auch die Reduzierung der Anzahl von Termen zur Folge
Gesucht: Terme mit minimaler Anzahl von Literalen, die trotzdem nur Einsstellen (Nullstellen) der zu beschreibenden Funktion erfassen
diese Terme werden Primterme genannt
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung4
MinimierungPrimterme und Eins- bzw. Nullstellenüberdeckung Einsstellen (Nullstellen) verschiedener Primterme können “überlappen“ (kosten)günstigste Auswahl von Primtermen gesucht, die alle Einsstellen
(Nullstellen) der Funktion überdecken -> Überdeckungsproblem! das Gesamtproblem nennt man das Minimierungsproblem
Bewertungskriterium
zur Bewertung unterschiedlicher Lösungen des Minimierungsproblems wird die Anzahl der Literale der Primterme zzgl. der Zahl der verwendeten Terme verwendet
Beispiel:
Gesucht: Auswahl von Primtermen mit L(y) minimal
4 3 2 1 4 3 2 5 3( & & & ) ( & & ) ( & )y x x x x x x x x x
123234)( yL
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung5
MinimierungsmethodenMinimierung am Symmetriediagramm
Die Minimierung mit Symmetriediagramm stellt eine graphische Methode dar -> Ausnutzung der Symmetrierelationen
Zusammenfassung von Belegungen zu maximalen Blöcken Finden aller Primblöcke (charakteristische Terme Primterme) Überdeckung aller Einsstellen (bzw. Nullstellen)
0 011
0 110
0 -10
- 001
x1
x2
x3
x4
10
2 3
5 4
6
16
7
1415
17
1110
1312
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung6
MinimierungsmethodenMinimierung am Symmetriediagramm
Finden von Primblöcken (Primtermen)in Symmetriediagrammen
• Sukzessive Bildung von Blöcken aus Einsstellen (Nullstellen) und Freistellen durch Spiegelung von kleineren
Blöcken (einzelne Einsstellen sind kleinste Blöcke) an allen möglichen Symmetrielinien
• Maximal zusammengefasste Blöckevon Einsstellen sind Primeinsblöcke, wenn keine Spiegelung mehr möglich
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung7
Minimierung am Symmetriediagramm
Beispiel (1):
Gegeben: y = f (x4, x3, x2, x1) durch die Angabe der Eins- und Nullstellen im Symmetriediagramm
Gesucht: Kürzester algebraischer Ausdruck Disjunktive Minimalform (DMF)
Primterme zur Bildung einer DMF spezifizierenPrimeinsblöcke werden Primimplikanten genannt(Primimplikate für Konjunktive Minimalform KMF)
Die farbig dargestellten Primimplikantenüberdecken Eins- und Freistellen
0 011
0 110
0 -10
- 001
x1
x2
x3
x4
10
2 3
5 4
6
16
7
1415
17
1110
1312
Minimierungsmethoden
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung8
MinimierungsmethodenMinimierung am Symmetriediagramm
Beispiel (2):Als Primimplikanten erhält man:
Vorgehensweise: Auswahl der Primimplikanten, die
allein eine Einsstelle überdecken sogenannte Kerne
sind durch die Kerne alle Einstellenüberdeckt -> Minimallösung
sonst: Auswahl weiterer Primimplikanten(Strategie + Bewertung notwendig!)
Mögliche Lösung:
0 011
0 110
0 -10
- 001
x1
x2
x3
x4
10
2 3
5 4
6
16
7
1415
17
1110
1312
1 3 2 2 4 2 1 3 4 3 1 4 3 2 1 5 4 3 2 w x x w x x x w x x x w x x x w x x x
1 2 4y w w w
www.kit.edu
Institut für Technik der Informationsverarbeitung
Digitaltechnik
Karlsruher Institut für Technologie (KIT)
Prof. Dr.-Ing. J. Beckerbecker@kit.edu
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Minimierung digitaler Schaltfunktionen(Teil 2)
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung2
MinimierungsmethodenFormale algebraische Minimierung
Das Nelson/Petrick-Verfahren
sehr leistungsfähiges algebraisches Verfahren
Nelson-Verfahren: Bestimmung der Menge aller Primimplikanten(bzw.Primimplikaten)
Petrick-Verfahren: Bestimmung der kostenminimalen Auswahl von Primimplikanten zur Einsstellenüberdeckung(bzw.Primimplikaten zur Nullstellenüberdeckung)Alternativ: graphisch mit Überdeckungstabelle
+ Regeln zur Abarbeitung/Vereinfachung
Ergebnis: kostenminimaler algebraischer Ausdruck der zu realisierenden digitalen Schaltfunktion
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung3
MinimierungsmethodenNelson-Verfahren:
Bestimmung aller Primimplikanten zur Bildung einerdisjunktive Minimalform DMF (dual dazu: alle Primimplikate für KMF)
1) alle Freistellen werden zu Einsstellen verfügt: Einsstellenergänzung fE
Bildung einer Nullblocküberdeckung für die Einsstellenergänzung fE
der gegebenen (unvollständigen) Schaltfunktion: 0 = {B01,B02,...,B0r}
2) Aufstellen eines schaltalgebraischen Ausdrucks (KNF bzw. KMF) für die Einsvervollständigung fE: fE = W01 & W02 & ... & W0r
3) Schrittweises Ausdistribuieren des Ausdrucks fE = W01 & W02 & ... & W0r aus 2) + Umformen und Streichen überflüssiger Termanteile bzw. Terme
-> Anwendung von Distributiv- und Absorptionsgesetze-> aus der konjunktiven Form die gewünschte disjunktive Form
4) Streichen aller im 3. Schritt gefundenen Terme, die nur Freistellen überdecken
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung4
MinimierungsmethodenNelson-Verfahren:
Beispiel:
Man nehme eine Nullblocküberdeckung:
Durch Ausdistribuieren + Umformung erhält man:
1 0 0 1
- 0 1 -x2
x3
x1
)(&)( 3121 xxxxf E
1 0 0 1
- 0 1 -
x1
x2
x3
Distributivgesetz
Regel R7
Absorption (R11)
Absorption (R11)
)&(
)(&)(
321
321
32211
3221311
32213111
3121
xxx
xxx
xxxxx
xxxxxxx
xxxxxxxx
xxxxf E
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung5
MinimierungsmethodenÜberdeckungsproblem (oder Auswahlproblem)
Bei dem Nelson-Verfahren erfolgte nur die Ermittlung aller Primterme
Weiterhin gesucht: optimale Auswahl der Primterme eine Auswahl von Primtermen, die alle Einsstellen (Nullstellen) der
gewünschten Funktion berücksichtigt wird Überdeckung genannt
Lösung: graphische Auswahl der Primterme mit Überdeckungstabelle für jeden Primterm wird angegeben, welche Einsstellen
(bzw. Nullstellen) er überdeckt zur Bewertung wird eine Spalte mit Kosten ck angefügt Überdeckungstabelle wird mit Hilfe bestimmter Regeln
abgearbeitet (vereinfacht) -> Kernermittlung + Dominanzregeln algebraische Behandlung der optimalen Auswahl von Primtermen
auch möglich: Bildung und Auswertung des Petrick-Ausdrucks!
Ergebnis: kostenminimale Überdeckung der Schaltfunktion
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung6
MinimierungsmethodenÜberdeckungsproblem:
Beispiel:jk Pl 0 2 4 11 12 14 16 pi ci
1 24xx x x p1 c1
2 23xx x x p2 c2
3 134 xxx x x p3 c3
4 134 xxx x p4 c4
5 124 xxx x x p5 c5
6 134 xxx x x p6 c6
7 123 xxx x x p7 c7
x4
1 0 0 1
1 0- -
1 1- -
0 1 0 1
0 1
2 3
5 4
7 6
1415
1617
10 11
12 13
x1
x2
x3
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung7
MinimierungsmethodenÜberdeckungsproblem
Kernermittlung:
Wenn eine Einsstelle (Nullstelle) nur durch einen einzigen Primterm abgedeckt wird, nennt man den Primimplikanten (Primimplikaten) Kernimplikant (Kernimplikat)
Kernimplikanten (Kernimplikate) müssen auf jeden Fall in die Überdeckungslösung aufgenommen werden
Spalten von Einsstellen (Nullstellen) in der Überdeckungstabelle, die von Kernimplikanten (Kernimplikaten) abgedeckt werden, können gestrichen werden, und müssen in der weiteren Abarbeitung nicht mehr berücksichtigt werden
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung8
MinimierungsmethodenKernermittlung und Vereinfachung der ÜberdeckungstabelleBeispiel:
jk Pl 0 2 4 11 12 14 16 pi ci
1 24xx x x p1 c1
2 23xx x x p2 c2
3 134 xxx x x p3 c3
4 134 xxx x p4 c4
5 124 xxx x x p5 c5
6 134 xxx x x p6 c6
7 123 xxx x x p7 c7
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung9
MinimierungsmethodenDominanzregeln und Ihre Anwendung (1)
Spaltendominanzregeln:
Spaltendominanz in der Überdeckungstabelle:
Wenn die Spalte i2 durch einen der Terme p1 oder p3 überdeckt wird, so wird dadurch auch i1 überdeckt
also: Einsstelle der Spalte i1 ist durch p1 oder p3 auch realisiert
Man sagt: (“Vektor“ i1) dominiert (“Vektor“ i2) und schreibt: i1 i2
Dominierende Spalten (hier: i1) können gestrichen werden
i1 i2X X p1
p2
X X p3
X p4
X p5
i1 i2X X p1
p2
X X p3
X p4
X p5
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung10
MinimierungsmethodenDominanzregeln und Ihre Anwendung (2)
Zeilendominanzregeln:
Wenn eine Zeile i2 (Primterm p2) nur Spalten ( Einsstellen) überdeckt, die auch von einer anderen Zeile i1 (Primterm p1) überdeckt werden i2 wird von i1 dominiert: i2 i1, und
es gilt: (Kosten c1) (Kosten c2)
die Zeile i2 kann gestrichen werden
X X X X c1
X c2
...X X X ck
p1
p2
pk
i 1
i 2
i k
X X X X c1
X c2
...X X X ck
p1
p2
pk
i 1
i 2
i k
i 1
i 2
i k
X X X X c1
X c2
...X X X ck
p1
p2
pk
i 1
i 2
i k
X X X X c1
X c2
...X X X ck
p1
p2
pk
i 1
i 2
i k
X X X X c1
X c2
...X X X ck
p1
p2
pk
i 1
i 2
i k
i 1
i 2
i k
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung11
MinimierungsmethodenÜberdeckungsproblem:
Um die optimale Überdeckung der Schaltfunktion durch eine optimale Auswahl von Primtermen zu ermitteln kann das Problem durch die vorgestellten Regeln graphisch vereinfacht bzw. komplett gelöst werden
Allgemeine Vorgehensweise:
1) Kerne bestimmen und Streichen aller überdeckten Spalten (Einsstellen)(“leergewordene“ Zeilen können auch gestrichen werden)
2) Spaltendominanzen finden und dominierende Spalten streichen
3) Zeilendominanzen finden und dominierte Zeilen streichen, nach Möglichkeit (-> Kosten ci beachten!)
4) Schritte 1-3 wiederholen, bis Überdeckungstabelle nicht mehr reduzierbar keine Kerne und Dominanzen mehr (ggf. noch zyklische Resttabelle auflösen)
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung12
MinimierungsmethodenÜberdeckungsproblem (Auswahlproblem)
Petrick-Verfahren:
Das Petrick-Verfahren ist eine algebraische Methode
dient zur Bestimmung kostenminimaler Lösungenvon Überdeckungsproblemen
Es kann direkt nach dem Nelson-Verfahren zur kostenminimalen Auswahl von Primtermen verwendet werden
Spaltendominanzen und Zeilendominanzen können algebraisch mit Hilfe des Petrick-Verfahrens in Form von Absorptionsregeln bzw. Ausdistribuieren abgearbeitet bzw. bewiesen werden
Petrick-Verfahren wird bei zyklischen Resttabellen verwendet
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung13
MinimierungsmethodenPetrick-Ausdruck (PA):
Der Petrick-Ausdruck ist algebraische Beschreibung derÜberdeckungsedingungen ob der Primterm k zur Lösung gehört, wird mit der bool´schen
Präsenzvariable (Auswahlvariable) pk angegeben-> pk = 0 => Primterm k ist nicht in Lösung enthalten-> pk = 1 => Primterm k ist Bestandteil der Lösung
zur Überdeckung jeder Einsstelle muss mindestens ein Primterm zur Lösung gehören, der diese Stelle überdeckt
Petrick-Ausdruck besteht daher aus Termen von disjunktiv verknüpften Präsenzvariablen für jede Einsstelle der Tabelle enthält der PA einen Term in jedem Term muss mindestens eine Präsenzvariable den Wert ´1´ haben
Diese Terme werden konjunktiv zum Petrick-Ausdruck verknüpft der Petrick-Ausdruck muss immer eins liefern!
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung14
MinimierungsmethodenÜberdeckungsproblem (Auswahlproblem)Beispiel:
• Im Petrick-Ausdruck kann man erfassen (beweisen!), dass die Präsenzvariablender Kernimplikanten (p4) immer eins sein müssen
1)(&)(&)(&&)(&)(&)(!
3173214756265 pppppppppppppPA
jk Pl 0 2 4 11 12 14 16 pi ci
1 24xx x x p1 c1
2 23xx x x p2 c2
3 134 xxx x x p3 c3
4 134 xxx x p4 c4
5 124 xxx x x p5 c5
6 134 xxx x x p6 c6
7 123 xxx x x p7 c7
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung15
MinimierungsmethodenÜberdeckungsproblem (Auswahlproblem)
Auch der Petrick-Ausdruck wird durch Distributionsregelnund Absorptionsregeln vereinfacht
Beispiel:
1)(&
1
...
1)(&)(&)(&&)(&)(&)(
7521763265315327614
75421764326543154327641
3173214756265
ppppppppppppppppppp
ppppppppppppppppppppppp
pppppppppppppPA
175421764326543154327641 pppppppppppppppppppppppPA
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung16
MinimierungsmethodenÜberdeckungsproblem (Auswahlproblem)
Damit der Petrick-Ausdruck ´1´ wird, muss mindestens einer der disjunktiv verknüpften konjunktiven Teilterme eins sein
Jeder konjunktive Teilterm repräsentiert genau eine mögliche Lösung des Auswahlproblems
Zur Auswahl der optimalen Lösung: die Kosten ck der Primterme pk werden herangezogen Anzahl der Literale von pk
Vergleich der Kostensummen K aller möglichen Lösungen(K = Summe der Literale der jeweils notwendigen Primterme) diejenige Überdeckung mit optimalen Kosten
kann ermittelt werden
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung17
MinimierungsmethodenÜberdeckungsproblem (Auswahlproblem)
Beispiel:
mit c1=c2=2; c3…c7=3p1p4p6p7 K = 11p2p3p4p5 K = 11p1p3p4p5p6 K = 14p2p3p4p6p7 K = 14p1p2p4p5p7 K = 13
Damit ergeben sich zwei kostenminimale Lösungen:
p1p4p6p7 und p2p3p4p5
175421764326543154327641 pppppppppppppppppppppppPA
jk Pl 0 2 4 11 12 14 16 pi ci
1 24xx x x p1 c1
2 23xx x x p2 c2
3 134 xxx x x p3 c3
4 134 xxx x p4 c4
5 124 xxx x x p5 c5
6 134 xxx x x p6 c6
7 123 xxx x x p7 c7
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung18
MinimierungsmethodenÜberdeckungsproblem (Auswahlproblem)
Beispiel:
die zugehörigen disjunktiven Minimallösungen (DMF)mit nur 11 Literalen sind:
1 4 2 4 3 1 4 2 1 3 2 1y x x x x x x x x x x x 2 3 2 4 3 1 4 3 1 4 2 1y x x x x x x x x x x x und
x3
x2
x1
x4
1 0 0 1
1 0- -
1 1- -
0 1 0 1
y2
y2
x2
x1
x4
1 0 0 1
1 0- -
1 1- -
0 1 0 1
x3
y1
y1
www.kit.edu
Institut für Technik der Informationsverarbeitung
Digitaltechnik
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Karlsruher Institut für Technologie (KIT)
Prof. Dr.-Ing. J. Beckerbecker@kit.edu
Bausteine der Digitaltechnik- Schaltnetze (Teil 1) -
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung2
Schaltnetze- in der Regel bestehen logische Ausdrücke aus mehr als einem Operator- aus den logischen Ausdrücken kann unmittelbar eine
Konstruktionsvorschrift für Digitalschaltungen erstellt werden
Strukturvorschrift bzw. Strukturausdruck
Beispiel: ][)&()&( 121212 zzxxxxy
1
1
&
&1
2x
1x
1z
2z
y1
- Als Stufenzahl bezeichnet man die Tiefe der Schaltung, der maximalen Anzahl von Schaltgliedern von den Eingängen zum Ausgang (Inverter werden dabei nicht gezählt)
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung3
Schaltnetze- Schaltnetze sind Schaltungen, die unmittelbar einem Strukturausdruck entsprechen- Dabei hängen die Ausgänge nur von den Signalen an den Eingängen ab
(Schaltzeiten der Schaltglieder (= Gatter) und Signallaufzeiten werden zunächst vernachlässigt)
- Definition (nach DIN IEC 748 Teil 2):Ein Schaltnetz ist eine Digitalschaltung, in der es für jede mögliche Kombination von digitalen Signalen an den Eingängen eine – und nur eine – Kombination von digitalen Signalen an den Ausgängen gibt:
FX Y Yt = F(Xt)
Dabei ist der hochgestellte Index t lediglich ein Hinweis darauf, dass die Größe Y zeitlich unmittelbar aus der Größe X gebildet wird.
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung4
Entwurf von SchaltnetzenVorgehensweise:
1. Schritt: Umsetzung der verbalen Aufgabenstellung in eine formale Form,
z.B. in eine Funktionstabelle;
(dazu gehört die Festlegung der Wertezuordnung für die Binärvariablen)
2. Schritt: Bildung einer Normalform; Bildung einer vollständigen Blocküberdeckung
3. Schritt: Bildung einer Minimalform (bspw. nach S-Diagramm oder Nelson/Petrick)
4. Schritt: Umformung in das gewählte Basissystem
5. Schritt: Umformen in den Strukturausdruck
6. Schritt: Umsetzen in das entsprechende Schaltnetz
(unter Umständen sind nicht alle Schritte zum Entwurf notwendig)
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung5
Schaltnetzbeispiel: AddiererbausteinEinführung
Um eine praktische Handhabung von arithmetischen Operationen zu erhalten, benötigen wir eine Reihe von Schaltungen, die uns die Grundoperationen wie Addition, Subtraktion oder Multiplikation zur Verfügung stellen
Im Folgenden werden zu diesem Zweck eine Reihe von Schaltungen vorgestellt, die uns diese Funktionalität bieten:
Addierer sind Schaltungen, die uns ermöglichen digital eine Addition durchzuführen
Hierzu existieren eine Reihe von Addiererstrukturen, die sich in ihren Eigenschaften wie Laufzeiten oder Kosten (Gatteranzahl) unterscheiden
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung6
Schaltnetzbeispiel: Addiererbaustein
- summieren die beiden Eingangsbits ai und bi und legen die Summe auf den Ausgang si
- zusätzlich wird ein Übertragsbit ci+1 erzeugt
Halbaddierer
HAib
ia is
1ic
HA
=1
&
••ib
ia
1ic
is
a b s
0 0 0
0
1
1
1
0
1
1
1
0
c
0
0
0
1
i+1iii
iii bas
ii1i bac
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung7
Schaltnetzbeispiel: Addiererbaustein
- besitzen zusätzlich einen Übertragseingang und sind somit in der Lage, vorhergehende Stellen in die Berechnung einzubeziehen
Volladdierer
iiii cbas iiiiii1i cbcabac
VA
ib
ia
icis
1ic
b c s0 0 0011
101
110
c0001
i+1iiia0000
i
0 0 1011
101
001
0111
1111
VA
=1
&
1&
&
•• •
••
ib
ia
ic is
1ic
•
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung8
Schaltnetzbeispiel: Addiererbaustein
- 1. Baustein ist ein HA, die darauffolgenden VAs
n-Bit Ripple-Carry-Addierer
VA1b1a
1s
2c
HA0b
0a 0s1c
1-nc
VA1-nb1-na
1-ns
nc
...
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung9
Schaltnetzbeispiel: Addiererbaustein
- Nachteil: ein sehr langer kritischer Pfad !!!
- die Laufzeit beträgt 2n Gatter für die Berechnung von cn
Beispiel: 4-Bit Ripple-Carry-Addierer
VA1b1a
1s
2c
HA0b
0a 0s1c
3c
VA3b3a
3s
4c
VA2b2a
2s
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung10
Schaltnetzbeispiel: Addiererbaustein
- die Berechnung der Überträge geschieht parallel
- wir führen neue Signale ein: pi (Propagate) und gi (Generate)
Carry-Look-Ahead-Addierer
iiiiii cp cbas
iii
iiiii
iiiii
iiiiii1i
pcg )b(acba )b(acba
cbcabac
iiiiii bag und bapmit
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung11
Schaltnetzbeispiel: Addiererbaustein
- daraus ergeben sich folgende Gleichungen:
Carry-Look-Ahead-Addierer
0001 pcg c
1001011112 pcg c ppcpgg
21002102122223 pppcppgpggpcg c ...
n n-1 n-1 n-1 n-1 n-2 n-1 n-3 n-2 n-1 o 1 n-1 0 0 n-1c g c p g g p g p p g p ...p c p ...p
damit lassen sich die Übertragswerte mit 3 „Stufen“ berechnen.
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung12
Schaltnetzbeispiel: AddiererbausteinBeispiel: 3-Bit Carry-Look-Ahead-Addierer
GP
0b0a
0c
0s
1b1a
2b2a
C=1
0g
0p
1g
1p
2g
2p=1
1c
3c
1p
2c
2p
=10c
0p
1s
2s
0001 pcg c
1001011112 pcg c ppcpgg
21002102122223 pppcppgpggpcg c
iiiiii cp cbas
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung13
Schaltnetzbeispiel: Addiererbaustein
- Problem: beim n-Bit Addierer werden Gatter mit n+1 Eingängen, sowie interne Signalverzweigungen häufig benötigt Doppelberechnung von gleichen Termen!
- Abhilfe: Erweiterung des PG-Schemas auf Bitgruppen, z.B. 4 Bit
Carry-Look-Ahead-Addierer:
0321032103213234 cpppppppgppgpgg c
00:30:34 cPG c
32103213230:3 pppgppgpgg G
32100:3 pppp P
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung14
Schaltnetzbeispiel: Addiererbaustein
- weiterhin gilt:
- durch Substitution erhält man:
Carry-Look-Ahead-Addierer
00:30:34 cPG c
4:47:478 cPG c
88:118:1112 cPG c
1212:1512:1516 cPG c
00:30:34 cPG c
00:3:470:3:47:478 cPPGPG c
00:3:478:110:3:478:11:478:118:1112 cPPPGPPGPG c
00:3:478:1112:150:3:478:1112:15:478:1112:158:1112:1512:1516 cPPPPGPPPGPPGPG c
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung15
Schaltnetzbeispiel: Subtrahiererbaustein
- Die Subtraktion lässt sich auf die Addition des K2-Komplementszurückführen
- Dies bedeutet die bitweise Negation und Addition einer 1
- Für einen kombinierten Addierer/Subtrahierer lässt sich die bitweise Negation über XOR steuern
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung16
Schaltnetzbeispiel: SubtrahiererbausteinBeispiel: 4-Bit Addierer/Subtrahierer
- Addierer mit k=0, Subtrahierer mit k=1
VA1b
1a1s
2c
VA0b
0a 0s1c
3c
VA3b
3a3s
4c
VA2b
2a2s
=1
=1
=1
=1
0c
•
•
••
k
www.kit.edu
Institut für Technik der Informationsverarbeitung
Karlsruher Institut für Technologie (KIT)
Digitaltechnik
Prof. Dr.-Ing. J. Beckerbecker@kit.edu
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Bausteine der Digitaltechnik- Schaltnetze (Teil 2) -
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung2
Schaltnetze
Allgemein: Hardwaretechnische Realisierung von Schaltnetzen
- Anwendung schaltalgebraischer Regeln auf logische Ausdrücke erlaubt vielfältige Formen für Schaltnetze “krause Logik“
- Komplexe Schaltnetze: unübersichtliche und teilweise schwierige Verhältnisse
Benötigt: übersichtliche Methode zur schnellen und kostengünstigen Realisierung von Schaltnetzen in Form integrierter Schaltungen (ICs)
Grundprinzip: Weglassen / Hinzufügen von Signalverbindungen (Schalter!) in universell nutzbaren (“personalisierbaren“) Hardwarestrukturen
- Prinzipielle Unterscheidung in folgende beiden zweistufigen Klassen:
- Minterm- bzw. Maxterm-orientiert (basierend auf DNF bzw. KNF)
- blockorientiert (basierend auf DMF bzw. KMF)
- Universelle Realisierungsmöglichkeit:-> durch eine Matrixstruktur
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung3
Normalformorientierte Strukturen: DNFBeispiel: ULA (Universal Logic Array)
- besteht aus 2n UND-Schaltgliedern, zur Realisierung jedes Minterms in der 1. Stufe
- einem oder mehreren ODER-Schaltgliedern in der 2. Stufe
- Personalisierung: in 1. Stufe durch konjunktive Verknüpfung der Minterme mit 1 oder 0
Beispiel: dargestellte Funktion 76541 mmmmmy
&
1
1
1
&
0
&
0
&
0
&
m1
&
m4
&
m5
&
m6 m7
y = f(X)V
X
1
0
1
0
x1
x1
x2
x2
x3
x3
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung4
Normalformorientierte Strukturen: DNF
X
1
0
1
0 0
0 m7
V y = f(X)
1
m1
1
m6
11
m5
0
0
1
m40
&
1
0
x1
x1
x2
x2
x3
x3
(Einsstellenmenge)
(Nullstellenmenge)
Vereinfachte Darstellung der Kontaktierung eines ULA:
- einfache Punkte: repräsentieren feste Verbindungen
- Punkte mit einem Kreis: programmierbare (personalisierte) Verbindungen
Beispiel: dargestellte Funktion 76541 mmmmmy
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung5
Normalformorientierte Strukturen: DNF
&
1
1
1
& &&
m1
&
m4
&
m5
&
m 6
y = f(X)V
X
&
m7
x1
x1
x2
x2
x3
x3
Beispiel: ROM (Read Only Memory)
Beispiel: dargestellte Funktion 76541 mmmmmy
- besteht aus 2n UND-Schaltgliedern in der 1. Stufe
- einem oder mehreren ODER-Schaltgliedern in der 2. Stufe
- Personalisierung: in 2. Stufe durch Weglassen / Hinzufügen von Mintermen
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung6
Normalformorientierte Strukturen: DNFVereinfachte Darstellung für die Kontaktierung eines ROM:
X 1
x1
x1
x2
x2
x3
x3
y=f(X)
&
m1 m 4 m5 m6 m7m0 m2
V 0 1 1 1 1 10 0
m3
Beispiel: dargestellte Funktion 76541 mmmmmy
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung7
Blockorientierte Strukturen: DMFBeispiel: PAL (Programmable Array Logic):
- besteht i.a. aus weniger als 2n UND-Schaltgliedern in der 1. Stufe
- einem oder mehreren ODER-Schaltgliedern in der 2. Stufe
- die Personalisierung erfolgt in der 1. Stufe durch Festlegung der Primterme
Beispiel: dargestellte Funktion )&()&( ),()&( 1212312 xxxxzxxxy
& & && & &
zV
1
1
1
X
x1
x1
x2
x2
x3
x3
Vy
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung8
Blockorientierte Strukturen: DMF
X1
x1
x2
x3
x3
y = f (X)
&x2
x1
V
V z = g (X)
x1 x1
x2
x1
x2
x3
x2
Vereinfachte Darstellung eines PALs:
Beispiel: dargestellte Funktion )&()&( ),()&( 1212312 xxxxzxxxy
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung9
Blockorientierte Strukturen: DMFBeispiel: PLA (Programmable Logic Array)
- Aufbau ähnlich zu PALs, jedoch flexibler in der 2. Stufe
- beide Matrizen sind programmierbar (personalisierbar)
Vorteil: mehrfache Ausnutzung von Primtermen
Beispiel: dargestellte Funktion )&()&( ),()&( 1212312 xxxxzxxxy
& & && &
zV
1
1
1
X
x 1
x 1
x 2
x 2
x 3
x 3
V y
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung10
Blockorientierte Strukturen: DMF
x1
x2X
1
x1
x2
x3
x3
y = f (X)
&x2
V
V z = g (X)
x1
x1
x3
x2
1 1 0 0 0
1 0 0 1 0
Vereinfachte Darstellung eines PLAs:
Beispiel: dargestellte Funktion )&()&( ),()&( 1212312 xxxxzxxxy
www.kit.edu
Institut für Technik der Informationsverarbeitung
Digitaltechnik
Karlsruher Institut für Technologie (KIT)
Prof. Dr.-Ing. J. Beckerbecker@kit.edu
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Bausteine der Digitaltechnik- Schaltnetze (Teil 3) -
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung2
Entwurf von SchaltnetzenVorgehensweise:
1. Schritt: Umsetzung der verbalen Aufgabenstellung in eine formale Form,
z.B. in eine Funktionstabelle;
(dazu gehört die Festlegung der Wertezuordnung für die Binärvariablen)
2. Schritt: Bildung einer Normalform; Bildung einer vollständigen Blocküberdeckung
3. Schritt: Bildung einer Minimalform (bspw. nach S- Diagramm oder Nelson/Petrick)
4. Schritt: Umformung in das gewählte Basissystem
5. Schritt: Umformen in den Strukturausdruck
6. Schritt: Umsetzen in das entsprechende Schaltnetz
(unter Umständen sind nicht alle Schritte zum Entwurf notwendig)
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung3
Schaltnetze: BeispielentwurfBeispiel: Aufgabenstellung
Mit einer Siebensegmentanzeige sollen im BCD-Code gegebene Ziffern dargestellt werden. Am Beispiel des oben links liegenden Segments f soll ein Schaltnetz zur Ansteuerung dieses Segments entworfen werden. Zu Verfügung stehen nur NAND-Gatter mit zwei Eingängen und Inverter.
1. Schritt:Zuordnung: Segment hell: f = 1, Segment dunkel: f = 0Benennung der Eingänge: BCD mit (x4, x3, x2, x1)
a
g
d
f b
ce
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung4
a
g
d
f b
ce
Schaltnetze: Beispielentwurf
Ziffer j x4 x3 x2 x1 f0 0 0 0 0 0 1
1 1 0 0 0 1 0
2 2 0 0 1 0 0
3 3 0 0 1 1 0
4 4 0 1 0 0 1
5 5 0 1 0 1 1
6 6 0 1 1 0 1
7 7 0 1 1 1 0
8 10 1 0 0 0 1
9 11 1 0 0 1 1
- 12 1 0 1 0 -
- 13 1 0 1 1 -
- 14 1 1 0 0 -
- 15 1 1 0 1 -
- 16 1 1 1 0 -
- 17 1 1 1 1 -
Schaltfunktion für das Segment f:
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung5
Schaltnetze: Beispielentwurf2. Schritt: siehe 3. Schritt
3. Schritt: Minimierung z.B. nach dem Nelson-Verfahren
)(&)(&)( 12342341234 xxxxxxxxxxxf E
)(&)( 12341234 xxxxxxxx
1213234 xxxxxxx
Primimplikanten sind nun bekannt, bleibt noch das Überdeckungsproblem:
j
PIk
x4
0
4
5
6
10
X
11
X
x3x2_
x3x1_
x2_
x1_
X
X
X X
X
X
X
Die Funktion besteht nur aus Kernimplikanten, somit liegt eine Minimalform (DMF) vor:
1213234 xxxxxxxf
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung6
Schaltnetze: Beispielentwurf4. Schritt: Umwandlung in NAND-Basissystem
1213234 xxxxxxxf
1213234 xxxxxxx
1213234 &&& xxxxxxx
doppelte Negation
de Morgan‘sche Regeln
1
1
1 &
&
&
&
f
x4x3
x2
x1
NAND-Gatter der 2. Stufe benötigt mehr als 2 Eingänge-> Umformung
der 2. Stufe
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung7
Schaltnetze: Beispielentwurf5. Schritt: Strukturausdruck für Gatter mit zwei Eingängen und Inverter
1213234 &&& xxxxxxxf
)&(&)&( 1213234 xxxxxxx
Umformung des NAND-Gatters in der 2. Stufe
6. Schritt: Konstruktion des NAND2-Schaltnetzes aus dem Strukturausdruck
)&(&)&( 1213234 xxxxxxxf
1
1
1 &
&
&
&
&
1
1
& f
x4
x3
x2
x1
www.kit.edu
Institut für Technik der Informationsverarbeitung
Karlsruher Institut für Technologie (KIT)
Digitaltechnik
Prof. Dr.-Ing. J. Beckerbecker@kit.edu
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Bausteine der Digitaltechnik- Automaten und Binärspeicher -
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung2
Automaten - Motivation- Schaltnetze: ermöglichen die Bildung von Ausgangsgrößen
unmittelbar aus Eingangsgrößen
- maximal sinnvolle Größe der Schaltnetze ist jedoch aus wirtschaftlichen und technischen Gründen beschränkt
- Notwendig: ein neues Verarbeitungskonzept, welches die Mächtigkeitdes Eingangsalphabets reduziert und die Komplexität derAusgabegröße in andere Dimension verlagert
- Beispiel für Mächtigkeit / Komplexität: Ausgabe von Automatenware
- Bei Einsatz von Schaltnetzen zur Verarbeitung der Eingaben wäre hier eine Eingabe aller Parameter zur gleichen Zeit notwendig!!!
- reales Verhalten: Eingabe der Reihe nach
- Im folgenden wird gezeigt, warum zur Speicherung aller „vorherigen“ Eingaben die Verwendung eines sogenannten “Zustandes“ sinnvoll ist
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung3
Automaten - Allgemein- Verallgemeinerung des Problems:
- endliches Eingabealphabet: E = { E1, E2, ... , Eg, ... , Eu }- endliches Ausgabealphabet: A = { A1, A2, ... , Ah, ... , Av }
-> das neue Konzept beschrieben durch eine Einheit AT, bei der eine zeitliche Folge von Elementen des Eingabealphabets FE in eine zeitliche Folge von Elementen des Ausgabealphabets FA abgebildet wird:
- zur Unterscheidung zeitlicher Reihung: Einführung eines Ordnungsindizes
FE AT FA
FE = Eg Eg
-1 Eg-2 ... FA = Ah
Ah-1 Ah
-1 ...
Für die neue Einheit AT muss gelten: Ah = f ( Eg
, Eg-1, Eg
-2, ... , Eg- )
- insgesamt werden +1 Elemente des Eingabealphabets beobachtet - ist die zeitliche Tiefe der Verarbeitung
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung4
Automaten - Allgemein
- Erhalt neuen Elements -> älteste Element Eg- entfällt aus Folge mit Länge (+1)
- Nachteil des Konzeptes: Speicherung von Eingabeelementen erforderlich, um Ah
zu berechnen:
vgE v
hA
AT
...
gEv-1
gE
v-agE
fv-2
-> bei Normierung der Indizes dem Alter nach erhält man:a v
g1 a v
g2 v
g1 v
gvg E .....E E E E
a vg
1 a vg
2 vg
1 vg
vg
1 vg E E ..... E E E E
a vg
1 a vg
2 vg
1 vg
vg
1 vg E E ..... E E E E
a vg
1 a vg
2 vg
1 vg
vg E E ..... E E E v+1 v:
v:
v+1:
v+1: reduziert
normiert
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung5
Automaten - Allgemein
( Eg-1 ... Eg
- ) S, mit E S
Weiterhin: Abbildung der Folge Eg-1 ... Eg
- auf ein neues AlphabetS = { S1, ... , Sk, ... , Sw } mit geringerer Mächtigkeit:
- das Element Sk wird Zustand von AT genannt
- unter Beachtung der zeitlichen Reihung erhält man nun:
Ah = ( Eg
, Sk ), mit als Ausgabefunktion von AT
Also: bei Eingabe eines neuen Eingabeelements Eg ergibt sich unter Be-
rücksichtigung des aktuellen Zustands (so genante “Historie der Eingaben“):
Sk+1 = ( Eg
, Sk ), mit als Überführungsfunktion der Zustände
- Kennzeichnung der Einheit AT als Quintupel
AT = ( E, A, S, , )
mit drei endlichen Mengen und zwei Abbildungen zwischen diesen Mengen
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung6
Automaten- Allgemein- Darstellung des Automaten durch folgende Struktur:
Sk+1Sk
Eg
Ah
Speicher
- rekursive Anordnung für die Bestimmung des neuen Zustandes
- der Speicher nimmt den momentanen Zustand Sk auf
- der neue Zustand Sk+1 muss zum richtigen Zeitpunkt übernommen werden
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung7
Automaten - Typen
-> Mealy-Automat mit Ah = ( Eg
, Sk ) als allgemeinster Fall:
Sk+1Sk
Eg
Ah
Speicher
- Bezüglich der Ausgabefunktion von Eg und Sk
unterscheidet man drei Fälle:
Wichtige Typklassen von Automaten im Zusammenhang mit Digitalschaltungen:
- endliche, diskrete und deterministische Automaten
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung8
Automaten - Typen- Moore-Automat mit Ah
= ( Sk ) als ein Spezialfall, bei dem die Ausgabe
allein vom Zustand abhängt:
Sk+1Sk
Eg
Ah
Speicher
- Medwedew-Automat mit Ah = Sk
als dem Spezialfall, bei dem als Ausgabeder Zustand selbst dient:
Sk+1Sk
Eg
Ah
Speicher
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung9
Automaten - Typen
- Automatengraphen: Knoten repräsentieren Zustände, Kanten als Zustandsübergänge
E /A2 1
E /A1 2 E /A2 2
E /A11E /A2
E /A2 3
E /A1 2
3S
4SS2
1S
S
allgemein?
S
Beispiel
1 2E1
E1
E2
E2
En
E , E212 1S A/
+1nS /A
+1n
allgemein:
nnS /A
/1S 1A /3S 2A
4 3S A/
k kg
hh
Beispiel:
Mealy Moore
- Beide Elemente des Graphen werden mit Attributen versehen, die sich auf Eingangs- und Ausgangselemente beziehen
Beschreibung des Verhaltens: Automatengraphen und Automatentafeln
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung10
S+1/A S+1
S E1 E2 S E1 E2 A
S1 S2/A2 S4/A2 S1 S2 S4 A1
S2 S3/A1 S2/A1 S2 S3 S2 A1
S3 S4/A1 S4/A3 S3 S4 S4 A2
S4 S2/A2 S2/A3 S4 S2 S2 A3
Automaten - TypenAutomatentafel:
Mealy Moore
- Bilden des kartesischen Produktes aus Eingabe- und Zustandsmenge
- An Kreuzungsstellen werden beim Mealy-Automaten der jeweilige Folgezustandund die Ausgabe, beim Moore-Automaten nur der Folgezustand eingetragen
S+1/A S+1
S E1 .. . En
S E1 .. . En
A
.. . .. . .. . .. .
S .. . Sk+1/Ah
.. . S .. . Sk+1 ... Ah
.. . .. . .. . .. .
Beispiele:
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung11
SchaltwerkeDie technische Realisierung eines endlichen, diskreten und deterministischen
Automaten wird Schaltwerk genannt (im Gegensatz zum “gedächtnislosen“ Schaltnetz)
- Unterscheidung zwischen Mealy-, Moore- und Medwedew-Schaltwerken
- beim Übergang vom Automaten zum Schaltwerk ist eine eineindeutige Abbildungder Automatenelemente in binäre Größen (Bit-Leitungen) erforderlich:
E { Xj } mit E 2n bei X = ( xn, ... , x1 )
A { Yi } mit A 2m bei Y = ( ym, ... , y1 )
Neu: eineindeutige Abbildung der Zustände Sk der Menge S in die Menge der Belegungen eines weiteren Binärvektors, des Zustandvektors Q:
S { Qk } mit S 2r bei Q = ( qr, ... , q1 )
-> Zustandskodierung, und werden als Schaltnetze abgebildet
- Spezifikation von Schaltwerken: Automatengraphen und Automatentafeln-> entsprechende Automatenelemente werden durch ihre binäre Äquivalente ersetzt
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung12
SchaltwerkeWeiterhin: formal eingeführte Indizierung der zeitlichen Ordnung muss nun in
technische Realisierung überführt werden
- Schaltwerke, bei denen Rückführungen direkt wirksam werden, heißen asynchron -> sie sind schwieriger zu entwerfen
-> Rückführung der Zustände über einen Speicher:
Speicher
g
S
S +1
x = konstant
Also: ein Speicher wird benötigt, der die Schwierigkeit der unmittelbar wirksamen Rückkopplung vermeidet, indem nur zu bestimmten Zeitpunkten die am Speicher anliegenden Werte übernommen werden
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung13
Schaltwerke
Funktion: c = 0: (Teilspeicher 1) = S+1
c = 1: (Teilspeicher 2) = (Teilspeicher 1)immer: S = (Teilspeicher 2)Tor 1 und Tor 2 sind nie gleichzeitig aktiv
- Schaltwerke mit taktgesteuerten Speichern werden getaktet betrieben genannt
-> Auftrennung und partielle Weiterleitung des Zustandes bzw. Folgezustandes Zustandsspeicher in zwei Teilspeicher zerlegen
Teil- speicher
1
Teil- speicher
2
T O R 1
T O R 2
MasterSlave
S+1S
Takt c
Als zusätzliches informationsfreies Binärsignal, wird der sogenannte Takt c benötigt
-> Takte an allen Schaltungsteilen gleichzeitig aktiv -> synchrones Schaltwerk
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung14
Schaltwerke
-> die Zählung des Indexes muss aus dem Taktsignal abgeleitet werden
Mealy-Automat: Änderung der Eingabe bewirkt asynchrone Ausgabenberechnung
Steuerungsarten des Taktes:
t
t
t
t
t
. . .-1
+1 . . .
+1 . . .
. . .
-1. . . +1 . . .
1
0
Schaltwerkc
c
Schaltwerkc
Schaltwerkc
Schaltwerkc
1
0
1
0
1
0
t t +1
t
t +1
t +1
t t +1
c
c
c
pegelgesteuert:
pegelgesteuert:
flankengesteuert:
flankengesteuert:
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung15
Binärspeicher (FlipFlops)
-> ist S die Zahl der Zustände, berechnet sich die Größe des Binärvektors Q zu:
Binärspeicher werden zur Speicherung von Zuständen der Schaltwerke benötigt
- einzelne Zustandsvariablen qk werden rekursiv mit berechnet
r = ldS mit Q = ( qr, ... , qk, ... , q1 )
mit qk einer beliebigen Zustandsvariable des Zustandsvektors
- eine zwei Werte speichernde Einheit wird als Binärspeicher bezeichnet: FlipFlop
- ein Speicher mit r FlipFlops kann 2r unterschiedliche Zustände speichern
-> grundsätzliche Funktionen eines Binärspeichers:
- muss wahlweise eine 0 oder 1 einspeichern können (schreiben)- der Wert im Speicher muss extern zur Verfügung stehen (lesen)- Vorhandensein eines Taktes: Rekursion (+1 => ) muss vom Binärspeicher
unter Einwirkung des Taktes verwirklicht werden
Also: verschiedene Varianten der Binärspeicher diskutieren
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung16
Binärspeicher (FlipFlops)
-> das gleichzeitige Schreiben von 0 und 1 (R=1, S=1) bei RS-FlipFlop ist unzulässig
Fall 1: RS-FlipFlop
Lesesignal =̂ Zustandswert:
qk {0,1}
Schreiben einer 0, Rücksetzen:
R {0,1} 0 =̂ inaktiv 1 =̂ Schreiben 0
Schreiben einer 1, Setzen:
S {0,1} 0 =̂ inaktiv1 =̂ Schreiben 1
Fall 2: D-FlipFlop
Lesesignal =̂ Zustandswert:
qk {0,1}
Datensignal =̂ Zustandswert neu:
D {0,1}
Schreiben des Wertes von D:
W {0,1} 0 =̂ inaktiv
1 =̂ Schreiben
Funktionstabellen:qk
alt R S qkneu
00
00
01
01
0011
11
01
00
01
0-11
11
11
01
0-
qkalt D W qk
neu
00
00
01
00
00
11
11
00
01
01
01
10
11
11
01
11
Binärspeicher-Varianten:
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung17
Binärspeicher (FlipFlops)
- Übertragung der zeitlichen Indizes und +1 auf die Schaltnetzgrößen:
qkalt = qk
, qkneu = qk
+1, R, S, D, W
- die charakteristischen Gleichungen lauten:
- Überführungsfunktion zur Bildung von qk+1 für beide Fälle:
0 1 1 1
0 - - 0
0 0 0 1
0 1 1 1
S
W
q
kq
k
R
D
qk+1 = (D & W) v (qk
& W)
Funktionstabellen: qkalt R S qk
neu
00
00
01
01
0011
11
01
00
01
0-11
11
11
01
0-
qkalt D W qk
neu
00
00
01
00
00
11
11
00
01
01
01
10
11
11
01
11
qk+1 = S v (qk
& R) , mit S & R = 0
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung18
Binärspeicher (FlipFlops)Zusammenhang für einen bestimmten Werteübergang: qk
qk+1
-> gibt die sogenannte Ansteuerfunktion an:
q q +1 R S
0 0 - 0
0 1 0 1
1 0 1 0
1 1 0 -
q q +1 D W
0 0 - 0
0 1 1 1
1 0 0 1
1 1 - 0
daraus ergibt sich:
S = qk+1R = qk
+1 W = qk+1 qk
D = qk+1
oder: D = qk
- neben der formalen Behandlung des Binärspeicherverhaltens ist die technische Realisierung solcher Elemente von Bedeutung
Beispiele:
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung19
Symbole Charakteristische Gleichungen Ansteuerfunktionenq
qR
S
q
q1R
1SC1 q +1 = S v (q & R)
_
q q +1 R S
0 0 - 0 0 1 0 1 1 0 1 0 1 1 0 -
q
q
1D
C1
q
q
1J
1KC1
q
q
1TC1
q +1 = D
q +1 = (T & q ) v (T & q )_ _
q +1 = (K & q ) v (J & q )_ _
q q +1 K J
0 0 - 0 0 1 - 1 1 0 1 -1 1 0 -
q q +1 D
0 0 0 0 1 1 1 0 0 1 1 1
q q +1 T
0 0 0 0 1 1 1 0 1 1 1 0
Binärspeicher (FlipFlops)
RS-FlipFlop
D-FlipFlop
T-FlipFlop
JK-FlipFlop
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung20
Ablaufdiagramm und AblauftabelleBeschreibung des Automatenverhaltens:
-> nicht alle Komponenten des Eingabevektors beim Übergang zum Folgezustand sind relevant und müssen berücksichtigt werden
- Schaltwerkstafel bzw. Schaltwerksgraph sind als Beschreibungsmittel oftmals ungünstig
Daher: an dieser Stelle werden das Ablaufdiagramm bzw. die Ablauftabelle eingeführt, die sich durch eine platzsparendereund effizientere Beschreibungsform auszeichnen
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung21
Ablaufdiagramm und Ablauftabelle
Übergang in den Zustand k, ausgelöst
durch das Taktsignal
Abfrage der im aktuellen Zustand k
relevanten Eingangsvariablen auf
ihre Werte XR = (xRv , ... , xR2 , xR1)
Wert des Ausgangsvektors Y = (ym , ... , y1) im
aktuellen Zustand
kA
4) Markierung des Anfangszustands
Y
3) Ausgabe
k
1) Zustandsübergang
X
2) Abfrage (Verzweigung)
R
xRv
xR2
xR1
...
Ablaufdiagramm:
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung22
Ablaufdiagramm und AblauftabelleMealy- und Moore-Schaltwerke werden entsprechend der Abhängigkeiten
Y = (Q,X) bzw. Y = (Q)
durch die Reihenfolge der Symbole für Verzweigungen und Ausgabe berücksichtigt
-> Definition des Ablaufschrittes:
- Tripel aus Zustandsübergang, Ausgabe und Verzweigung, das jeweils zu einem Wert des Index gehört
Moore-AblaufschrittMealy-Ablaufschritt
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung23
Ablaufdiagramm und AblauftabelleKomplexere Schaltwerksbeschreibungen: größere Zustandsanzahl
-> es eignet sich eine tabellenorientierte Darstellung besser:
Ablauftabelle:Q XR(k) Q +1 Y(k)
k
- die Ablauftabelle setzt sich aus Teiltabellen für jeden Ablaufschritt zusammen
-> Teiltabellen bestehen aus je vier Spalten:
- für den momentanen Zustand Q
- für die Eingabeblöcke der jeweils relevanten Eingabevariablen XR(k)
- für den Folgezustand Q+1
- für die Ausgabeblöcke Y(k)
- Zustände sind in Ablauftabellen i.a. nicht kodiert
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung24
Ablaufdiagramm und AblauftabelleBeispiel:
Q XR(3) Q+1 Y(3)
x6 x4 x3 x1
3 0 - 0 1 l1 Y1
0 1 0 0 l2
0 1 1 1 l2
1 1 0 1 l2
1 0 - - l3
- 0 1 1 l3
1 1 1 0 l4
l1, l2, l3, l4s eien Folgezus tände zum Zu-s tand 3 ,Y1 die Aus gabe gemäß Schalt-werks typ (hier Moore).
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung25
Entwurf von SchaltwerkenSchaltwerkentwurf gliedert sich in folgende Schritte:
1. Schritt: Definition der Ein- und Ausgabevariablen
2. Schritt: Wahl des Schaltwerktyps und Erstellen des Ablaufdiagrammsbzw. der Ablauftabelle gemäß Aufgabenstellung
3. Schritt: Zustandskodierung
4. Schritt: Wahl des FlipFlop-Typs und Aufstellen der Ansteuerfunktionen
5. Schritt: Entwurf des Schaltnetzes für die Überführungsfunktion auf der Basis der Ansteuerfunktionen
6. Schritt: Entwurf des Schaltnetzes für die Ausgabefunktion
7. Schritt: Eventuell Umformung der logischen Ausdrücke in geeignete Strukturausdrücke
8. Schritt: Umsetzen in das Schaltbild des Schaltwerkes
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung26
Entwurf von SchaltwerkenBeispiel: Verbale Aufgabenstellung
Eine Schaltung für einen sehr einfachen Anrufbeantworter soll zunächst ein Klingelzeichen des Tele-fons abwarten. Wenn bis zum Beginn des zweiten Klingelzeichens der Hörer nicht abgenommen wurde, soll der Anrufbeantworter eingeschaltet werden. Dieser spielt dann seine Mitteilung ab, egal wie lange der Anrufer tatsächlich zuhört. Erst wenn das Band vollständig abgespielt ist, wird der Anrufbeantworter
wieder ausgeschaltet. Der Ausschaltvorgang beinhaltet ein automatisches Rückspulen des Bandes.
1. Schritt: Eingabevariablen: Klingelzeichen: K = 1Klingelpause: K = 0Timeout, d.h. Klingelpause dauert zu lange;Anrufer hat nach dem ersten Klingelzeichenaufgelegt: T = 1sonst: T = 0Bandende: B = 1sonst: B = 0
Ausgabevariablen: Anrufbeantworter ein: A = 1Anrufbeantworter aus: A = 0
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung27
Entwurf von Schaltwerken2. Schritt: Schaltwerkstyp: Moore
Ablaufdiagramm:
1
A = 0
K
2
A = 0
K
3
A = 0
K,T
4
A = 1
B
A
0
01 00 1 -
1
0
10
1
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung28
Entwurf von Schaltwerken3. + 4. Schritt: Für 4 Zustände werden 2 Zustandsvariablen (q2, q1) benötigt.
Erstellen der kodierten Ablauftabelle.Die Kodierung wird willkürlich, z.B. als sogenannte Zählerkodierung ausgeführt.
Q2 q1
Zustand 1 0 0
Zustand 2 0 1
Zustand 3 1 0
Zustand 4 1 1
Kodierte Ablauftabelle:
Es sollen D-Flipflops verwendet werden,d.h. q2 D2 und q1 D1
Q Q+1 Yq q q2
+1 q+1 A
XR(1):K
0 0 0 0 0 01 0 1
XR(2):K
0 1 0 1 0 01 0 1
XR(3):K,T
1 0 0 0 1 0 01 - 1 1
0 1 0 0
XR(4):B
1 1 0 1 1 1
1 0 0
Q Q+1 Yq2 q q +1 q+1 A
XR(1):K
0 0 0 0 0 01 0 1
XR(2):K
0 1 0 1 0 01 0 1
XR(3):K,T
1 0 0 0 1 0 01 - 1 1
0 1 0 0
XR(4):B
1 1 0 1 1 1
1 0 0
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung29
Entwurf von Schaltwerken5. Schritt:
0 0 0 0 1 1
1 1
1
1
1
1
0 0
0 0
1
1 1
1
1 1
1 1
11
1 1
1 1
11
0 0
00
0 0
0 0
00
0 0
0 0 0 0
1 1 0 0
1 1 0 0
0 0
0 0
1 1
0 0
B
BB
B
T
T
q
K
K
q1
1
q2
q2
D 2
D1
2 2 1 2 1 2 1 2 1
1 2 2 1 2 1
v v v v v v v v
v v v v v
D q q K q q T q q K q q B
D q K q q K q q B
Symmetriediagrammefür Ansteuerfunktionen
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung30
Entwurf von Schaltwerken6. Schritt: Aus der Ablauftabelle folgt sofort: vvqqA 12
7. Schritt: Wenn zum Beispiel ausschließlich Gatter mit 2 Eingängenzur Verfügung stehen
-> man muss man eine entsprechende Umformung vornehmen:
2 2 1 2 1 2 1 1( ) ( ) ( )v v v v v v vD q q K q q T q q K q B
1 2 2 1 1( )v v v vD q K q q K q B
2 1v vA q q
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung31
Entwurf von Schaltwerken8. Schritt: Blockschema (Schaltbild) des Schaltwerkes
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung32
Entwurf von SchaltwerkenAnalog zu den Schaltnetzen:
- es besteht die Möglichkeit zweistufige Logik in programmierbare integrierte Schaltungen einzubetten-> dies kann ebenso bei Schaltwerken geschehen
-> anhand des Bausteins AmPAL16R6 soll dies für das Beispiel gezeigt werden
- wegen negierter Ausgänge des Bausteins muss unsere Lösung umgeformt werden:
vvvvvv qqqqqqA 121212
- Ansteuerfunktionen für D1 und D2 können Schritt 5 entnommen werden
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung33
Entwurf von SchaltwerkenEinbettung in einen AmPAL16R6:
&
1
1
&
&
&
&
&
&
1
1
&
&
&
&
&
&
&
1
&&
&
1
&
&
&
&
&
&
1
&
&
&
&
&
&
&
1
&&
&
1
&
&
&
&
&
&
1
&
&
&
&
&
&
&
1
&&
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
B
K
T
C0 2 4
16
73 58 10
9 1112 14
13 1516
1718
1920 2221 23
2425
2627
2829
3031
C11D Q
Q
C11D Q
Q
1
1
17
1 11
18
A
Eingänge (0-31)
( )P
rodu
ktte
rme
(0-6
3)
D2
D11
q2
q2
q1
q1
D12( )
"1"
�1
�1
�1
www.kit.edu
Institut für Technik der Informationsverarbeitung
Karlsruher Institut für Technologie (KIT)
Digitaltechnik
Prof. Dr.-Ing. J. Beckerbecker@kit.edu
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Digitale Speicherbausteine(FlipFlop-Schaltungen)
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung2
Sequentielle LogikSequentielle Schaltkreise bestehen meist aus einem oder mehreren Rückkopplungspfaden in Kombination mit Speicherelementen
Kombinatorische Logik
Speicher-elemente
Kombinatorische Ausgänge Speicherausgänge
Externe Eingänge
Sequentieller Schaltkreis = Kombinatorische Logik + Speicherelemente
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung3
Sequentielle LogikEs existieren zwei Typen von sequentiellen Schaltkreisen:
synchron: Ausgänge ändern sich zu festgelegten Zeitpunkten Takt
asynchron: Ausgänge ändern sich zu beliebigen Zeitpunkten
Man unterscheidet zwei bistabile logische Speicherkomponenten: - pegel- und - flankengesteuerte FlipFlops
FlipFlops: unterscheiden sich in der Art und Weise wie ihre Zustände geändert werden in Abhängigkeit der Eingangssignale
sowie des Taktsignals
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung4
Speicherelemente
Speicherelement: ein Gerät oder Modul, welches einen zuvor-angelegten Wert unbegrenzt Speichern und auf Wunsch wieder ändern kann
BefehlSpeicher-element
gespeicherter Wert
Q
Q(t): aktueller Zustand
Q(t+1): nächster Zustand
Charakteristische Tabelle:
Befehl (zum Zeitpunkt t) Q(t) Q(t+1)
Set - 1
Reset - 0
0 0Speichern / keine Änderung 1 1
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung5
SpeicherelementeZwei Typen der Trigger-/Aktivierungsmechanismen
pegelgesteuertflankengesteuert
Typ 1: pegelgesteuerte Speicherelemente (FlipFlops) werden auch als Latches bezeichnet -> mit Pegeln von Signalen angesteuert
Pegel auf high -> das Speicherelement ist aktiviertPegel auf low -> das Speicherelement ist deaktiviert
Typ 2: flankengesteuerte Speicherelemente (FlipFlops) werdenmit steigender oder fallender Flanke angesteuert
positive Flankenansteuerung:aktiviert wenn Übergang von 0 nach 1deaktiviert sonst
negative Flankenansteuerung:aktiviert wenn Übergang von 1 nach 0deaktiviert sonst
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung6
Pegelgesteuerte Speicherelemente
Komplementäre Ausgänge Q und Q‚
2 Steuereingänge R, S: - Latch im Zustand SET -> Q auf HIGH- Latch im Zustand RESET -> Q auf LOW
Für ein active-HIGH RS-Latch (realisiert mit NOR-Gattern) gilt:R = HIGH (und S = LOW) RESET-ZustandS = HIGH (und R = LOW) SET-ZustandS = LOW und R = LOW keine ZustandsänderungS = HIGH und R = HIGH Q und Q'‚ sind auf LOW (nicht zulässig!!!)
Für ein active-LOW RS-Latch (realisiert mit NAND-Gattern) gilt:R = LOW (und S = HIGH) RESET-ZustandS = LOW (und R = HIGH) SET-ZustandS = HIGH und R = HIGH keine ZustandsänderungS = LOW und R = LOW Q und Q'‚ sind auf LOW (nicht zulässig!!!)
Nachteil der RS-Latches: ungültige Eingangskombination existiert!!!diese muss in der Praxis verhindert werden
RS-FlipFlop (Latch):
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung7
Pegelgesteuerte Speicherelemente
Active-HIGH RS-Latch:
RS-FlipFlop (RS-Latch):
R
S
Q
Q'
S' R' Q Q'1 0 0 1 Initialzustand1 1 0 1 (nach S'=1, R'=0)0 1 1 01 1 1 0 (nach S'=0, R'=1)0 0 1 1 ungültig!
S'
R'
Q
Q'S'
R'
Q
Q'
S'
R'
Q
Q'
Alternative:
S R Q Q'1 0 1 0 Initialzustand0 0 1 0 (nach S=1, R=0)0 1 0 10 0 0 1 (nach S=0, R=1)1 1 0 0 ungültig!
Active-Low RS-Latch:
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung8
Pegelgesteuerte Speicherelemente
RS-Latch + Takt-Eingang T und 2 NAND-Gatter -> getaktetes RS-Latch:
Getaktetes RS-Latch (active-high):
S
T
R
Q
Q'
S
R
Q
Q'
R
S
Q
Q'S'
R'
Q
Q'
S'
R'
Q
Q'
Active-Low RS-Latch
S
R
Q
Q'T
Tor
S´
R´
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung9
Pegelgesteuerte Speicherelemente
Ausgang verändert sich nur wenn T = HIGH ist
Unter welchen Bedingungen wechseln die Zustände?
Charakteristische Tabelle:
Getaktetes RS-Latch:
S R Q(t+1)
0 0 Q(t) Kein Wechsel0 1 0 Reset 1 0 1 Set 1 1
undefiniert
Q(t) S R Q(t+1)
0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 undefiniert 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 undefiniert
T=1:
Q(t+1) = S or (R and Q)S and R = 0 !
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung10
Pegelgesteuerte Speicherelemente
S invertiert an R zugeführt -> man erhält das getaktete D-FlipFlop (D-Latch)Vorteil: D-Latch eliminiert die ungültige Eingangskombination: S and R = 0!
Charakteristische Tabelle:Wenn T = HIGH:
-> Q = D
Getaktetes D-FlipFlop (D-Latch):
D
TQ
Q'
DQ
Q'
T
wenn T=1, Q(t+1) = D
T D Q(t+1)
1 0 0 Reset1 1 1 Set0 - Q(t) Kein Wechsel
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung11
Flankengesteuerte Speicherelemente
FlipFlops sind bistabile SpeicherelementeAusgang ändert seinen Zustand zu synchronen Zeitpunkten, die durch den Takt vorgegeben werden
Dies geschieht entweder zur positiven oder negativen Taktflanke
Anliegender Wert wird in einem “kleineren Zeitfenster“ vom Eingang auf den Ausgang geschaltet
-> geringere “Rückkopplungsgefahr“
Positive Flanke Negative Flanke
Taktsignal
Flankengesteuerte FlipFlops:
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung12
Flankengesteuerte Speicherelemente
RS-Flipflop an getriggerter Flanke des Taktsignals:S = HIGH (und R = LOW) SET-ZustandR = HIGH (und S = LOW) RESET-Zustandbeide Eingänge auf LOW keine Änderung der Ausgängebeide Eingänge auf HIGH ungültig
Charakteristische Tabelle:für ein auf positive Flanke triggerndes RS-Flipflop:
Flankengesteuertes RS-FlipFlop:
X = irrelevant (“don’t care”) = Taktübergang von LOW auf HIGH
S R CLK Q(t+1) Zustand
0 0 X Q(t) Kein Wechsel 0 1 0 Reset 1 0 1 Set 1 1 ? ungültig
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung13
Flankengesteuerte Speicherelemente
Flankenerkennungsschaltkreis:
Flankengesteuertes RS-FlipFlop
SQ
Q'CLK
Flankener-kennung
R
Positive Flanke (rising edge)
CLKCLK'
CLK*
CLK'
CLK
CLK*
Negative Flanke (falling edge)
CLK'
CLK
CLK*
CLKCLK'
CLK*
Flankengesteuertes RS-Flipflop:– Impulsgesteuerter Schaltkreis
(NAND-Gatter)– Flankenerkennungsschaltkreis
• Der Flankenerkennungsschaltkreiserkennt positiven (oder negativen) Flankenübergang und generiert einen Impuls von kurzer Dauer
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung14
Flankengesteuerte Speicherelemente
Ein Eingang D (Data)D = HIGH SET-ZustandD = LOW RESET-Zustand
Q wird bei steigender Flanke des Taktsignals CLK auf D gesetzt
Flankengesteuertes D-Flipflop:
Ein auf positive Flanke triggerndesD-Flipflop aus einem RS-FlipFlop gebildet
S
C
R
Q
Q'CLK
D D CLK Q(t+1) Zustand
1 1 Set 0 0 Reset
= Taktübergang von LOW auf HIGH
Flankengest. RS-FlipFlop
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung15
Flankengesteuerte Speicherelemente
Q und Q' -> rückgekoppelt auf impulsgesteuerte NAND-Gatter
Keine ungültigen Zustände!
Beinhaltet einen Wechselzustand:J = HIGH (und K = LOW) SET-Zustand
K = HIGH (und J = LOW) RESET-Zustand
beide Eingänge sind auf LOW keine Änderung
beide Eingänge sind auf HIGH Q = Q'
Flankengesteuertes JK-FlipFlop:
JQ
Q'
CLKFlanken-
erkennung
K
J K Takt Q(t+1) Zustand
0 0 Q(t) halten 0 1 0 Reset 1 0 1 Set 1 1 Q(t)' wechseln
Q (t+1) = (J . Q') + (K' . Q)
Charakteristische Tabelle:
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung16
Flankengesteuerte Speicherelemente
1-Eingang-Version der JK-Flipflops-> gebildet durch zusammenschalten der J- und K-Eingänge
Toggle-Flipflop (T-FlipFlop):
T CLK Q(t+1) Zustand
0 Q(t) halten 1 Q(t)' wechseln
Q T Q(t+1)
0 0 00 1 11 0 11 1 0
TQ
Q'CLK
Flanken-erkennung
J
C
K
Q
Q'CLK
T
Charakteristische Tabelle:
Q (t+1) = (T . Q') + (T' . Q)
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung17
Flankengesteuerte Speicherelemente
Applikation: Frequenzteiler
T-Flipflop:
J
C
K
QCLK
High
CLK
Q
Taktfrequenz geteilt durch 2.
J
C
K
QA
CLK
High
J
C
K
QBHigh
CLK
QA
QB
Taktfrequenz geteilt durch 4.
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung18
Flankengesteuertes Master-Slave-FlipFlop
Master ist aktiviert bei steigender Flanke, Slave ist aktiviert bei fallender Flanke-> vollständige Entkopplung des Ausgangs vom Eingang
Master-Slave-JK-FlipFlop:
JQ
Q'CLK
K
CLK'
Master Slave
J K CLK Q(t+1) Zustand
0 0 Q(t) Halten 0 1 0 Reset 1 0 1 Set 1 1 Q(t)' invertieren
Flankengesteuertes Master-Slave-FlipFlop:
www.kit.edu
Institut für Technik der Informationsverarbeitung
Digitaltechnik
Karlsruher Institut für Technologie (KIT)
Prof. Dr.-Ing. J. Beckerbecker@kit.edu
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Funktionseinheitender Digitaltechnik
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung2
Multiplizierer
Multiplikation einer Dualzahl mit einer einstelligen Dualzahl:
Arithmetische Grundlagen :
2221010
2221010
000001011011101111011111
& &&&
3x 2x 1x 0x
y• • •
• die einstellige Multiplikation durch eine UND-Verknüpfung realisieren
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung3
Multiplikation einer Dualzahl mit einer 2er-Potenz:
223
2
101010
1000101121011 :Dual
88811 :Dezimal
n• die Multiplikation einer Dualzahl mit einer 2er-Potenz 2 bedeutet eineLinksverschiebung (links-shift) um n-Stellen und Nachziehen von n Nullen
)20202021()2121202(1 01230123
00123
10123
20123
30123
20)2121202(1 20)2121202(1 20)2121202(1
21)2121202(1
1020123456 88101100020202021212021
Arithmetische Grundlagen:
Multiplizierer
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung4
Multiplizierer
Beispiel für eine Multiplikation:
221010 10011011911
)2120202(1)2121202(1 01230123
2
2
2
2
1011000 000000 00000 1011
30123
20123
10123
00123
21)2121202(1 20)2121202(1 20)2121202(1
21)2121202(1
201100011
Arithmetische Grundlagen:
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung5
Multiplizierer
der Multiplikand muss mit jeder Stelle des Multiplikators multipliziert werden, d.h. bitweise konjunktiv verknüpft werden
-> das Ergebnis also um die entsprechende Stellenzahl nach linksverschoben und zu übrigen Ergebnissen aufaddiert werden
Allgemein gilt:
Implementierung:
0121-knk n
11-k011n
11011n
00011n01k01n
P P P ....... P P 2B A...AA
... 2B A...AA
2B AA ...A ...BB...AA
k
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung6
Beispiel: 4-Bit Multiplizierer3a 2a 1a 0a
0b
1b
2b
3b
0p1p2p3p4p5p6p7p
0
0
0
0
0 0 0 0
Implementierung:
Multiplizierer
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung7
Aufbau einzelner Zellen:
inc
ib
ks ja
VA
&
'ks
outc
••
Implementierung:
Multiplizierer
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung8
Problem: sehr lange Laufzeiten, im Beispiel 3n-2
3a 2a 1a 0a
0b
1b
2b
3b
0p1p2p3p4p5p6p7p
0
0
0
0
0 0 0 0Kritischer Pfad
Implementierung:
Multiplizierer
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung9
Spezielle SchaltnetzeMultiplexer und Demultiplexer:
Verbindungen zwischen Systemgruppen sind platz- und kostenintensiv
Besonders bei großer räumlicher Distanz und großer Leitungsanzahl
Falls die zeitlichen Anforderungen es erlauben, kann auf eine serielle Übertragung zurückgegriffen werden
Die Steuergrößen Ax und Ay wählen den aktiven Eingang oder Ausgang
MUX DEMUX
...
xa1xa2
xan
...
ye1ye2
yen
ya xe
Ax AY
Sender Empfänger
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung10
(De-)MultiplexerBeispiel:
)a ,a()a ,a(24
)y ,y ,y ,(y Y) x, x, x,(x X
y1y2
x1x2
e1e2e3e4e
a1a2a3a4a
y
x
AA
ldr 2 Steuerleitungen nötig
ax2 ax1 ya
0 0 xa1
0 1 xa2
1 0 xa3
1 1 xa4
4:1 Multiplexer
ay2 ay1 ye1 ye2 ye3 ye4
0 0 xe 0 0 00 1 0 xe 0 01 0 0 0 xe 01 1 0 0 0 xe
1:4 Demultiplexer
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung11
(De-)MultiplexerBeispiel:
ax2 ax1 ya
0 0 xa1
0 1 xa2
1 0 xa3
1 1 xa4
4:1 Multiplexer
ay2 ay1 ye1 ye2 ye3 ye4
0 0 xe 0 0 00 1 0 xe 0 01 0 0 0 xe 01 1 0 0 0 xe
1:4 Demultiplexer
MUX DEMUXxa1xa2
xa4
ye1ye2
ye4
ya xe
xa3 ye3
aX2 aX1 aY2 aY1
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung12
(De-)MultiplexerTypische Schaltnetze für Multiplexer und Demultiplexer:
Die Minterme der Adressvektoren Ax und Ay geben immer genau ein UND-Gatter „frei“
xa1 &
xa2 &
xa3 &
xa4 &
aX2 aX1
1
&
&
&
&
aY2 aY1
ya xe
ye1
ye2
ye3
ye4
0 1 0 1
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung13
MultiplexerAnwendung:
mit Multiplexern kann man noch viele andere Aufgaben lösen-> z.B. Strukturausdrücke nach dem Entwicklungssatz sind direkt umsetzbar-> Auswahl zwischen zwei Werten eines Literals übernimmt 2:1 Multiplexer
)&()&(
)),1,(&()),0,(&(
),,(
1202
132132
123
RR fxfx
xxfxxxfx
xxxfy
MUX2:1
2x
),,( 123 xxxfy 0Rf
1Rf
0
1
MUX2:1
2x
),,( 123 xxxfy 0Rf
1Rf
0
1
Beispiel:
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung14
MultiplexerEntwicklung nach zwei Variablen:
-> Realisierung mit 2:1 Multiplexern
MUX2:1
2x
),,( 123 xxxfy
01Rf
11Rf
0
1
MUX2:1
1x
0
1
MUX2:1
00Rf
10Rf
0
1
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung15
MultiplexerBei der Realisierung einer Funktion mit n Literalen über
Multiplexer muss nach n-1 Variablen entwickelt werden
Beispiel:
MUX2:1
c
yd
d 0
1MUX2:1
a
0
1
MUX2:1
b
0
1
„1“
„0“
0&)]&&(&1&[&
0&))](&1&[&0&))]([&
))(&(&
bd c dcaab
bdcaabbdcab
dcbaby
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung16
DemultiplexerAnwendung:
Demultiplexer können zur Ansteuerung von Steuerleitungenvon Speicherzellen verwendet werden
An diesem Beispiel wird auch die Bezeichnung Adressvektor für die Steuerleitungen klar
Liegt der Wert “1“ an dem Eingang des Demultiplexers, so repräsentieren die Ausgänge sämtliche Minterme des Adressvektors
DEMUX
xe=1
x2 x1
00
01
10
11
120 xxm
121 xxm
122 xxm
123 xxm
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung17
DemultiplexerAnwendung:
In der Anwendung als Decoder einer Adresse wird der Demultiplexerauch gerne als Codewandler so gezeichnet:
DEMUX(Decoder)
x2
x1
xe
...
xn 1
2
2n
...
Adressleitungen
Enable-Variable
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung18
Spezielle SchaltwerkeAnwendungsfälle:
Auch bei Schaltwerken gibt es einige Beispiele, die in unterschiedlichsten Anwendungsfällen eingesetzt werden
Anzahl von Ereignissen oder Aktionen festzuhalten
Informationen zeitlich oder räumlich zu ordnen oder umzusetzen
Spalten- bzw. Zeilenselektion in einem Speicher
Tastaturmatrix
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung19
Spezielle SchaltwerkeZähler
Zähler-Schaltwerke dienen dazu auf einer speziellen Signalleitung beobachtete Ereignisse zu zählen
Das Zählen entspricht einer Abbildung in denZustandsraum, sodass ein Zählcode entsteht
Wie bei Mechanischen Zählern können noch weitere Eingriffmöglichkeiten eingebaut werden:
Überlaufmeldung
Nullstellungsmeldung
Rückstellmöglichkeit auf 0
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung20
DualzählerBeispiel:
Es soll ein Zähler als Schaltwerk realisiert werden, der...
dual zyklisch von 0 bis 7 zählt
eine Rückstellmöglichkeit auf 0 besitzt
bei dem Wert 7 das Überlaufsignal auf 1 setzt
auf den Wechsel der Zählervariable Z von 0 auf 1 reagiert
Zur Realisierung sollen JK-Flipflops mit 0/1-Flankensteuerung verwendet werden
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung21
DualzählerBeispiel:
Eingangsvariable:
N = 1: Rückstellen auf 0N = 0: sonst
Ausgangsvariable:
Ü = 1: Zählerstand ist 7Ü = 0: sonst
Bei Zählern wird die Zählervariable Z häufig nicht als Eingangsvariable sondern direkt als Taktsignal angeschlossen
Das Zählereignis „Wechsel von 0 auf 1“ kann so direkt mit einem synchronen Schaltwerk mit positiver Flankensteuerungrealisiert werden
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung22
DualzählerSchaltwerkstabelle:
Die Kodierung der Zustände ist die duale Zahlendarstellung
Bei N = 1 ist der Folgezustandauf jeden Fall 0 (Rücksetzen)
Die Übertragungsfunktionkann direkt abgelesen werden:
Q X Q Y
q3 q2 q1 N q3 q2 q1 Ü0 0 0 0 0 0 1 00 0 0 1 0 0 0 00 0 1 0 0 1 0 00 0 1 1 0 0 0 00 1 0 0 0 1 1 00 1 0 1 0 0 0 00 1 1 0 1 0 0 00 1 1 1 0 0 0 01 0 0 0 1 0 1 01 0 0 1 0 0 0 01 0 1 0 1 1 0 01 0 1 1 0 0 0 01 1 0 0 1 1 1 01 1 0 1 0 0 0 01 1 1 0 0 0 0 11 1 1 1 0 0 0 1
123 && qqqÜ
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung23
DualzählerQ X Q Y
q3 q2 q1 N q3 q2 q1 Ü J3 K3 J2 K2 J1 K1
0 0 0 0 0 0 1 0 0 - 0 - 1 -0 0 0 1 0 0 0 0 0 - 0 - 0 -0 0 1 0 0 1 0 0 0 - 1 - - 10 0 1 1 0 0 0 0 0 - 0 - - 10 1 0 0 0 1 1 0 0 - - 0 1 -0 1 0 1 0 0 0 0 0 - - 1 0 -0 1 1 0 1 0 0 0 1 - - 1 - 10 1 1 1 0 0 0 0 0 - - 1 - 11 0 0 0 1 0 1 0 - 0 0 - 1 -1 0 0 1 0 0 0 0 - 1 0 - 0 -1 0 1 0 1 1 0 0 - 0 1 - - 11 0 1 1 0 0 0 0 - 1 0 - - 11 1 0 0 1 1 1 0 - 0 - 0 1 -1 1 0 1 0 0 0 0 - 1 - 1 0 -1 1 1 0 0 0 0 1 - 1 - 1 - 11 1 1 1 0 0 0 1 - 1 - 1 - 1
Ansteuerfunktionen:
durch Ablesenoder
mit Hilfe von Symmetrie-diagrammenerhält man:
123
12
1 1
qqNK
qNK
K
123
12
1
qqNJ
qNJ
NJ
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung24
Blockschema des Zählers:
1
1
&
& 1
C11K
1J
C11K
1J
C11K
1J
&Ü
N
q3
q2
q1
"1"
Zähler-stand
J 1
K 1
J 2
K 2
K 3
J 3
c
123
12
1 1
qqNK
qNK
K
123
12
1
qqNJ
qNJ
NJ
Ansteuerfunktionen:
Dualzähler
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung25
DualzählerSymboldarstellung:
Um bei Zählern von Realisierungsdetails zu abstrahierenführt man Blocksymbole ein
Das Symbol besteht aus einem Daten- und einem Steuerteil
Für das besprochene Beispiel sieht der Zähler so aus:
RCT=7 Ü
Nc
q3q2q1
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung26
DualzählerEigenschaften:
Hier noch die wichtigsten Merkmale von Zählern:
Art des Zählcodes -> Dualzahlen, 1-aus-n-Code, BCD-Code,...
Art des Zählereignisses-> 0->1, 1->0, Auftreten von Werten, ...
Steuersignal für Zählen/Anhalten
Steuersignal für Zählrichtung (aufwärts/abwärts)
Synchrone oder asynchrone Rückstellmöglichkeit
Steuersignal für Zählen/Laden eines Anfangswertes
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung27
Spezielle SchaltwerkeRegister:
Zur Darstellung von Informationen genügen nur selten einzelne Bits
Daher ist es zweckmäßig mehrere FlipFlops zu einem Verbund zusammenzuschließen
-> Sie können so mit gemeinsamem Takt und Rücksetzmöglichkeiten versorgt werden
So ein FlipFlop-Verbund wird auch Register genannt
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung28
RegisterBeispiel:
Register, das ein 4-bit Datenwort bei ansteigender Taktflanke speichert und sich asynchron auf 0 rücksetzen lässt:
1D
RC1
1D
RC1
1D
RC1
1D
RC1
D3
D2
D1
D0
q3
q2
q1
q0
TaktRücksetzen
Eingang Ausgang
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung29
RegisterSpezialregister:
Datentechnisch sind die Speicherzellen eines Registersim allgemeinen nicht miteinander verbunden
Register werden jedoch oft mit Funktionen ausgestattet, die auf mehreren Speicherzellen operieren
Besonders Funktionen, bei denen sich nur benachbarte Speicherzellenbeeinflussen, lassen sich effizient im Register realisieren
Ein einfach zu realisierendes Spezialregister ist das Schieberegister
Beim Schieberegister können alle Speicherinhalte um eine Zelle weitergeschoben werden
Die Auslösung dieses Vorgangs erfolgt durch ein Taktsignal
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung30
SpezialregisterBeispiel:
4-Bit Schieberegister:
D3 D2 D1 D0
?0 D3 D2 D1
?1 ?0 D3 D2
?2 ?1 ?0 D3
?3 ?2 ?1 ?0
?0
?1
?2
?3
Rechtsschieben
D3 D2 D1 D0
D2 D1 D0 ?0
D1 D0 ?0 ?1
D0 ?0 ?1 ?2
?0
Linksschieben
?1
?2
?3
?0 ?1 ?2 ?3
gehtverloren
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung31
SpezialregisterSchieberegister:
Beim Schieben geht jeweils das in Schieberichtungvoranstehende Datenbit verloren
Das letzte Datenbit wird mit einem Inhalt gefüllt, der von den Randbedingungen dieser Zelle abhängt
Damit die Daten nicht verloren gehen, kann man zirkulär rotieren und den Inhalt des „rausgeschobenen“ Bits auf der anderen Seite einspeisen
D3 D2 D1 D0
D0 D3 D2 D1
Rechtsschieben
D3 D2 D1 D0
D2 D1 D0 D3
Linksschieben
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung32
SchieberegisterTechnische Realisierung:
Auch hier gibt es eine große Zahl von Realisierungsmöglichkeiten
Beispielrealisierung eines Schieberegisters mit Links-/Rechtsschieben, asynchronem Rücksetzen und D-Flipflops
MUX(2:1)
0
1
1D RC1
1D RC1
MUX(2:1)
0
1
1D RC1
TaktRücksetzen
0 Linksschieben/
1 RechtsschiebenR L
qi+1 qi qi-1
qi-2
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung33
SchieberegisterBlockschaltbild:
RSRG 4Rücksetzen
TaktLR /
Anwendung:
• Schieberegister werden auch verwendet, um Datenbitgruppen von räumlichen Folgen in eine zeitliche Folge umzuwandeln
• Dies wird Parallel/Serienwandlung bzw. Serien/Parallelwandlung genannt
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung34
SchieberegisterParallel/Serienwandlung:
RSRGRücksetzen
Takt
...
Laden/Schieben
• Bei der Parallel/Serienwandlung werden z.B. die Daten (Dn,... ,D1, D0) parallel in das Register geladen
• Danach können sie seriell in der zeitlichenReihenfolge ausgegeben werden
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung35
SchieberegisterSerien/Parallelwandlung:
• Bei der Serien/Parallelwandlung werden die Datenin zeitlicher Folge in das Register geschoben
• Danach können sie “gebündelt ausgelesen“ werden
RSRGRücksetzen
Takt
...
Laden/Schieben
www.kit.edu
Institut für Technik der Informationsverarbeitung
Digitaltechnik
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Karlsruher Institut für Technologie (KIT)
Prof. Dr.-Ing. J. Beckerbecker@kit.edu
Funktionseinheitender Digitaltechnik
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung2
Digitalspeicher- Zentrale Aufgabe von digitalen Systemen ist die Speicherung von Daten
- Dafür werden unterschiedliche physikalische Effekte ausgenutzt:
- Es lässt sich folgende Reihenfolge angeben:
- Statische Speicher: kleine, schnelle Speicher zur Speicherung von Zwischenergebnissen meist auf Basis von FlipFlops
- Dynamische Speicher: größere, mäßig schnelle Speicher für größere Datenmengen auf Basis von Ladungsspeichereffekten
- Massenspeicher: große, langsame Speicher für große Datenmengen und zur Archivierung auf der Basis magnetischer Effekte
- Rückkopplungsstrukturen (FlipFlops)- elektrische Ladungen auf Kondensatoren- magnetische Effekte
- Im folgenden sollen nur die beiden ersten Speichertypen betrachtet werden
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung3
DigitalspeicherAnhand einiger wichtiger hauptsächlich funktionaler Merkmale lassen sich die verschiedenen Speichertypen klassifizieren:
- Organisation der abgelegten Daten: im allgemeinen gruppiert manmehrere Bits zu einem Wort und mehrere Worte wiederum zu Blöcken
- Art der Zugriffsmethode: Random Access Memory (RAM)Sequential Access Memory (SAM)
- Art des Zugriffstechnologie: Read/Write Memory (SRAM, DRAM)Read Only Memory (ROM)Write Once, Read Many (WORM)- Programmable Read Only Memory (PROM)- Electrical Writable PROM (EPROM)- Electrical Writable and Erasable PROM (EEPROM)
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung4
Digitalspeicher
- Verwendete Schaltungstechnik: Unterteilung nach schaltungstechnischer Realisierung
- Verwendete Technologie: bestimmt maßgeblich Größe, Arbeitsgeschwindigkeit, Kosten, Zuverlässigkeit, usw. des Speichers
- Art der Datenspeicherung: Ladungsspeicher (benötigen Refreshs)(Grad der Flüchtigkeit) Rückkopplungsspeicher (benötigen stetige
Energiezufuhr)Speicher mit fixierten Ladungsträgern (Speicherung über längere Zeit ohne stetige Energiezufuhr möglich)
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung5
Registerspeicher, Registersätze- Register werden eingesetzt zur Speicherung von Operanden, Konstanten usw.
- Organisation meist in Form gleichlanger Speicherworte, mit der Möglichkeit zur Verwendung von Halbworten
- einzelne Register sind datentechnisch nicht miteinander gekoppelt
- die Auswahl eines speziellen Registers erfolgt über Selektionsleitungen(Adressleitungen) wie sie von Multiplexern her bekannt sind
- im folgenden werden zwei weitere Speicherstrukturen behandelt, die auf Eigenschaften von Registern aufbauen
Oberes UnteresHalbwort
Schreiben Lesen
Adresse Registerzahl k
Daten
.
.
.
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung6
Pufferspeicher (First-In-First-Out, FIFO)- meist wortorganisierte Speicher mit konstanter Wortbreite
- dienen häufig zur Kopplung von unterschiedlich schneller Baugruppen(bzgl. Takt, Verarbeitungsgeschwindigkeit)
Funktionsprinzip:
FIFO
Schreiben LesenVoll Leer
Tiefe k des FIFO in Worten
X Y
Wor
tbre
ite
X =
(xn,
x n-1
,...,x
1) =
Y
- auf Eingangsseite eingeschriebenes Wort wird solange zum Ausgang vorgeschoben, bis dieser erreicht wird oder ein belegter Platz erreicht wird
- das Signal “voll“ zeigt an, ob alle Plätze im FIFO belegt sind und weiteres Schreiben möglich ist
- das Signal “leer“ zeigt an, ob das FIFO leer ist- wird Wort ausgelesen -> alle dahinterliegenden Worte rücken um eine Position vor
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung7
Pufferspeicher (First-In-First-Out, FIFO)Beispiel: Schreiben und Lesen in einem FIFO-Speicher
Schreiben
1. Datenwort FIFO Leer
Schreiben
. . .
2. Datenwort
Schreibpointer
Lesepointer
. . .
LS
. . .
LS
. . .
LS
zeigen auf aktuelle Schreib-/ Leseadresse
Lesen:
. . .
LS
. . .
LS
Lesen: 2. Datenwort
. . .
LS
1. Datenwort
. . .
LS
LS
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung8
Pufferspeicher (First-In-First-Out, FIFO)- FIFO-Realisierung kann auf verschiedene Weise geschehen
- naheliegend ist die Verwendung von Schieberegisternentsprechender Größe und Verschaltung:
REG REG REG
Steuerung (Schaltwerk)Lesen
“leer“
Schreiben
“voll“
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D11
12
13
14
1n
X Y
......
..
.. . .
21
22
23
24
2n
k1
k2
k3
k4
kn
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung9
Stapelspeicher (Last-In-First-Out, LIFO)- wird auch als Kellerspeicher oder auch Stack bezeichnet
- eignet sich zu Berechnungen mit häufigem zwischenspeichern von Ergebnissen und gleichzeitiger Einhaltung einer Ordnung der Ergebnisse
- auch beim LIFO geben spezielle Signale den Status des Speichers an
Funktionsweise:
- das zuletzt eingespeicherte Datenwort (PUSH) wird zuerst auf dem LIFO ausgelesen (POP)
Anschaulicher Vergleich: ein Tellerstapel
LIFOTiefe k
des LIFO
X,YPUSH POP
“leer““voll“X = (x , x , ... , x ) = Y
Wortbreite
n n-1 1
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung10
Stapelspeicher (Last-In-First-Out, LIFO)Beispiel: LIFO mit Worten zu je 8 Bit
Schreiben1. Datenwort
LIFO “leer“
.
.
.
.
.
.
Schreiben2. Datenwort
.
.
.
.
.
.
Schreiben3. Datenwort
.
.
.
.
.
.
Lesen3. Datenwort
.
.
.
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung11
Stapelspeicher (Last-In-First-Out, LIFO)- auch LIFOs lassen sich auf der Basis von Schieberegistern realisieren:
Steuerung (Schaltwerk) LeerVollPUSH POP
...
...
xn-1xn yn x1 y1yn-1
...
Füllen Leeren
SRG
DDDD
D
...
1112
1314
1k
SRG
DDDD
D
...
n-1,1n-1,2
n-1,3n-1,4
n-1,k
SRG
DDDD
D
...
n1n2
n3n4
nk
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung12
Allgemeine Speicher, Arbeitsspeicher- matrixförmig organisierte Anordnungen von Speicherzellen
des dynamischen oder statischen Typs
Schema eines Speichers:
- sind im allgemeinen wortorganisiert
- der Schreib-/Lese-Vorgang geschieht durch Angabe von Adressen, die über einen Decoder zu einer Leitungsselektion führt
Zei
lend
ecod
er
Speicherwort 0
" 1
2
3
4
2 -1k
""
"
Speicherwort
Auswahl(enable)
Adresse A
X YSchreiben Lesen
... A = ( a , a , ... , a )k-1 k-2 0
1n n-1X = ( x , x , ... , x ) = Y
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung13
Allgemeine Speicher, Arbeitsspeicher- unter einer Kapazität K oder der Speichergröße eines Speichers
wird das Produkt K = n · 2k verstanden
-> es bedarf daher eines zweiten Decoders (Spalten-Decoder), um das entsprechende Datenwort im Speicherwort zu identifizieren
- Aus schaltungstechnischen oder technologischen Gründen wird meist eine Form der Speichermatrix angestrebt, welche dem Quadrat möglichst nahe kommt
-> dadurch meist mehrere Datenwörter in einem Speicherwort enthalten
-> sei N die Länge des Speicherworts und n die Länge des Datenworts erhält man: r = ld R, mit R = N / n, die Anzahl der Adressbits des Spalten-Decoders- die Adressbits des Zeilendekoders können somit um r Bits gekürzt werden
Speicherkapazität
K = n · 2r · 2(k-r)
K = n · 2k
Zeile
n-D
ecod
er
X Y
...
A,
Spalten -Decoder/multiplexer
,,A
A = ( ar-1, ..., a0 )
A = ( ak-1, ..., ar )
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung14
Allgemeine Speicher, ArbeitsspeicherBeispiel:
n = 2 N = 8 k = 4 K = 2 · 24 = 32 Bit
R = 8 / 2 r = ld R = ld 4 = 2
A = (a3,a2)
A = (a1,a0)
K = 32 Bit
Datenwort
00011011
A,j =
jA,,
=
00 01 10 11
Speicherwort
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung15
Allgemeine Speicher, Arbeitsspeicher- der innere Aufbau von Speichern ist meist sehr stark an Technologien
angelehnt und soll in diesem Rahmen nicht detailliert erläutert werden
- Grundsätzliche Konzepte können jedoch mit Hilfe von logischen Komponenten vermittelt werden
Prinzip eines Speichers mit dynamischer Zelle:
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung16
Allgemeine Speicher, ArbeitsspeicherPrinzip eines Speichers mit statischer Zelle:
Binär- speicher 1 bit
Wortauswahlleitung
Spa
ltena
usw
ahlle
itung
( q, R
)
Spa
ltena
usw
ahlle
itung
( q, S
)
_
Schreib/Lese- umschaltung
1
UB
Schreiben von L bzw. H
Leseausgang q
Leseausgang
q_
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung17
Sonderfunktionen- mit vorgestellten Komponenten und Baugruppen lassen sich
wichtige Funktionen von Digitalsystemen realisieren
- im folgenden sollen einige wenige Sonderfunktionen vorgestellt werden
Busanordnungen:
- in vielen Systemen werden die Baugruppen durch Bündel von Signalen miteinander verbunden, die meist allen Baugruppen in gleicher Weise zur Verfügung stehen
- die Signale werden in typische Gruppen unterteilt:-> wie z.B. Daten-, Adress- und Steuersignale (einschließlich zentralem Takt)-> oft wird Zeitmultiplex-Betrieb von Leitungen vorgesehen
(alternativ für Daten und Adressen)
BUS
......
...
Daten
Adressen
Steuerung+Takt
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung18
SonderfunktionenBustechnologie: Open-Collector Schaltungen
- sind an eine Busleitung mehrere Baugruppen angeschlossen, so müssen mehrere schreibende Ausgänge zusammengeschaltet werden
- Solche Anordnungen werden als wired-Verbindungen bezeichnet und die realisierte logische Verknüpfung wired-OR bzw. wired-AND
lesende Baugruppe
Bau- gruppe n
Bau- gruppe 2
Bau- gruppe 1
R
Us
- wegen der unsymmetrischen Lastverhältnisse können diese Schaltungen nur begrenzt eingesetzt werden
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung19
SonderfunktionenBustechnologie: Tri-State Schaltungen (I)
- zwei Schalter je Variable sind besser in Bezug auf das Ausgangslastverhalten-> es liegt daher nahe dieses Konzept in Busanordnungen einzusetzen
- Verlagerung eines Schalterteils auf den Bus (wie beim Widerstand) ist allerdings nicht mehr möglich, was aber zu Kurzschlüssen über mehrere Bausteine hinweg führen kann,
Beispiel:
Busleitung
UB UB
Kur
zsch
lußs
trom
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung20
Sonderfunktionen
- um Kurzschlüsse zu vermeiden muss daher sichergestellt werden, dass maximal eine Stufe den Bus auf UB oder Masse zieht
- dazu wird die Ausgangsstufe so modifiziert, dass ein zusätzliches Signal OE(output enable) bei Nichtauswahl der Einheit die Ausgangstufe vom Bus trennt
Busleitung
UB UB
UOE = L UOE = H
- wird genau eine Stufe selektiert, werden Kurzschlüsse vermieden
Bustechnologie: Tri-State Schaltungen (II)
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung21
Sonderfunktionen
- jede Ausgangstufe weist nun genau drei Betriebsfälle auf:-> Schreiben von L, -> Schreiben einer H, und-> abgetrennt
- man spricht daher von Tri-State Ausgängen
- die Auswahl einer Baugruppe für den Buszugriff-> kann über einen Decoder erfolgen
- werden Busse in Anordnungen verwendet, in denen Benutzung durch mehrere Komponenten möglich ist, kann das zu Zugriffskonflikten führen
-> es bedarf daher einer Busverwaltung (Arbiter)
Bustechnologie: Tri-State Schaltungen (III)
www.kit.edu
Institut für Technik der Informationsverarbeitung
Digitaltechnik
Karlsruher Institut für Technologie (KIT)
Prof. Dr.-Ing. J. Beckerbecker@kit.edu
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Bausteine der Digitaltechnik- Binäre Schalter und Gatter -
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung2
- Bereits zuvor wurde das binäre Signal als einfachstes Digitalsignal eingeführt
Zuordnungsschemata
{ 0, 1 } { L, H }
- bei der Einführung der Schaltalgebra waren die beiden Wertintervalle ‚L‘ und ‚H‘ mit ‚0‘ und ‚1‘ benannt
- für den Bezug von Spannungsbereichen zu logischen Wertendefiniert man folgende bijektive Abbildungen:
wobei zwei Möglichkeiten der Zuordnung existieren:
Intervall Logischer Wert
L 0
H 1
Intervall Logischer Wert
L 1
H 0
Positive Logik Negative Logik
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung3
- Bei zeitlicher Änderung der Spannung entstehen Zeitintervalle in denen diese entweder im Intervall H, L oder ohne feste Zuweisung im undefinierten Bereich liegt
Zuordnungsschemata
- daher ist eine Erweiterung des Binärwertverlaufs notwendig:
- eine Unterscheidung zwischen einem logischen und einem physikalischen Signalwertverlauf ist notwendig und wichtig
1
0t
t
H
L
undef. Bereich
UB
L ? H ? L ? H ? L
0 ? 1 ? 0 ? 1 ? 0
a)
b)
c)
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung4
Zuvor: Relais als Möglichkeit zur Realisierung logischer Operationen vorgestellt
Binäre Schalter
- Des weiteren gibt es Bauelemente, die auf physikalischen Effekten basieren, bei denen keine zeitaufwendige mechanische Bewegung benötigt wird
- Den Transistor kann man sich als einen elektronischen Schalter vorstellen, bei dem über die Steuerleitung die Leitfähigkeit zwischen den anderen Elektroden manipuliert werden kann
- Einzustand: geringer Innenwiderstand zwischen Elektroden
- Auszustand: hoher Innenwiderstand
- Im folgenden betrachten wir vier Grundtypen von Transistoren:
Steuerleitung
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung5
Binäre Schalter: Halbleitertechnologie
GS
IC
BEU
ID
U GS
B
C
E
GS
D
B
C
E
G
S
Dn+
p-Silizium
S G D
n+
SiO2NMOS-Transistor
I C
U BE
n-Substrat
p-Epi
p+ n
E CB
npn-Bipolar-Transistor
n++
p-Substrat
p++n+ p
n-Epi
E CB
pnp-Bipolar-Transistor
Halbleiterstruktur Symbol Kennlinie
n-Silizium
p+ p+
S G D
PMOS-Transistor
SiO2
U
ID
4 Grundtypenvon Transistoren
Unterscheidung der Transistoren:
- Abhängigkeit des Maximalstroms zwischen d. Elektrodenin Abhängigkeit zur Spannung der Steuer-leitung zu einer der Elektroden
-> Kennlinie
- Zu jedem Typ gibt es noch einen zweiten, bei dem sowohl die Spannung als auch der Strom umgekehrtes Vorzeichen haben
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung6
Binäre Schalter und SchaltgliederRealisierbare digitaltechnische Operationen:
- Logische Operationen lassen mit Transistoren (analog zu Relais)über Parallel- und Reihenschaltung realisieren
- Das Prinzip basiert lediglich auf elektrisch steuerbaren Schaltern-> im folgenden wird daher, soweit die Technologie keine Rolle spielt,
einfach das Symbol eines Schalters auch für Transistoren verwendet
Hauptsatz der Schaltalgebra: zeigte die Darstellbarkeit beliebiger Funktionen mit beliebig vielen Variablen unter Einsatz weniger ausgewählter Basisoperatoren
-> wenn sich jeder dieser Basisoperatoren technisch umsetzten lässt, steht derRealisierung von beliebigen algebraischen Ausdrücke nichts im Wege
-> solche Basisschaltungen werden als Schaltglieder oder Gatter bezeichnet und wie in technischen Darstellungen üblich mit Schaltsymbolen dargestellt
-> grundlegende Eigenschaften solcher Gatter und eine schaltungsorientierte Realisierung werden im folgenden diskutiert
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung7
Schaltglieder und SchaltsymboleDarstellung der Schaltzeichen nach der neuen Norm (DIN 40900):
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung8
Realisierung nach dem Einschalterprinzip:
Inverter (Negationsglied)
- Das Realisierungsprinzip entspricht bei MOS-Technologien den sogenannten NMOS-Schaltungen (Negative Metal-Oxyd Semiconductor)
- Nachteil: im Schaltungszustand Ux = H fließt konstant ein Strom
- Dieser Strom sowie die Pegel L und H können über den Widerstand R reguliert werden
x = 0U = Lx
R
UB
y = 1U = Hy
x = 1U = Hx
R
UB
y = 0U = Ly
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung9
Realisierung nach dem Zweischalterprinzip:
Inverter (Negationsglied)
- Zwei Schalter sind so geschaltet, dass nie beide gleichzeitig geschlossen sind
- Dadurch: in keinem Schaltungszustand fließt konstant ein Strom
- Auf diesem Realisierungsprinzip basieren Schaltungen in CMOS-Technologien (Complementary MOS)
-> die Transistoren im oberen Schaltungsteil (PMOS-Technologie) realisieren jeweils immer die duale Schaltung zu den Transistoren im unteren Zweig (NMOS-Technologie)
x = 1U = Hx
UB
y = 0U = Ly
x = 0U = Lx
UB
y = 1U = Hy
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung10
Einschalterprinzip: NOR/NANDParallelschaltung zweier Schalter:
R
UB
U y
Ux2Ux1
0 00 11 01 1
1000
yx2 x1
NOR
1 11 00 10 0
0111
yx2 x1
NAND
L LL HH LH H
HLLL
positive Logik
negativeLogik
Ux2 Ux1 Uy
- Der gleiche Schaltungstyp realisiert entweder NAND oder NORabhängig von der Logikzuordnung
U = Lx U = Hx
Positive Schalter:
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung11
- NAND und NOR einfach zu realisieren: bilden jeweils alleine ein Basissystem-> daraus folgt ihre hohe technische Bedeutung
- UND bzw. ODER lassen sich nicht so einfach realisieren und sind meist eine Kombination aus NAND/NOR und einem Inverter
R
UB
U y
U x2
U x1
0 00 11 01 1
1110
yx2 x1
NAND
1 11 00 10 0
0001
yx2 x1
NOR
L LL HH LH H
HHHL
positiveLogik
negativeLogik
Ux2 Ux1 Uy
Reihenschaltung zweier Schalter:
Einschalterprinzip: NOR/NAND
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung12
Zweischalterprinzip: NOR/NAND
- Die Serienschaltung im oberen Zweig ist die duale Schaltung zur Parallelschaltung mit inversen Schaltern im unteren Zweig
0 00 11 01 1
1000
yx2 x1
NOR
1 11 00 10 0
0111
yx2 x1
NAND
L LL HH LH H
HLLL
positive Logik
negative Logik
Ux2 Ux1 UyUB
U y
U x2
U x1
Reihen- und Parallelschaltung jeweils zweier Schalter:
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung13
UB
U yU x2
U x1
0 00 11 01 1
1110
yx2 x1
NAND
1 11 00 10 0
0001
yx2 x1
NOR
L LL HH LH H
HHHL
positive Logik
negative Logik
Ux2 Ux1 Uy
Zweischalterprinzip: NOR/NANDReihen- und Parallelschaltung jeweils zweier Schalter:
- Die Parallelschaltung im oberen Zweig ist die duale Schaltung zur Serienschaltung mit inversen Schaltern im unteren Zweig
www.kit.edu
Institut für Technik der Informationsverarbeitung
Karlsruher Institut für Technologie (KIT)
Digitaltechnik
Prof. Dr.-Ing. J. Beckerbecker@kit.edu
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Einführung in CMOS-Technologie
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung2
Entwurfsraum - Abstraktionsebenen
n+n+S
GD
+
Halbleiter
Transistorebene
Logik-/GATTER-Ebene
MODUL-/RT-Ebene (Register-Transfer)
SYSTEM-Ebene
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung3
Planartechnik – PN-Übergang
Diffusion: Sowohl Elektronen als auch Löcher wandern in die p- bzw. n-GebieteDrift: durch das Wandern der Ladungen entsteht ein Elektrisches Feld welches der Diffusion entgegenwirkt -> Gleichgewicht zwischen Diffusion und Drift entsteht
LöcherdiffusionElektronendiffusion
p n
LöcherdriftElektronendrift
Ladungsdichte
Distancex+
-
E-Feldx
x
Potential V
x
r
W2-W1
y 0
(a) Stromfluß
(b) (Raum-)Ladungsdichte
(c) Elektrisches Feld
(d) Elektrostatisches Potential
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung4
Planartechnik – PN-Übergang
a) Sperrschichtpolung: negativer Pol ans p-Gebiet, positiver Pol ans n-Gebiet-> Raumladungszonen werden vergrößert
b) Durchlasspolung: positiver Pol ans p-Gebiet, negativer Pol ans n-Gebiet-> Raumladungszonen werden verkleinert-> Ladungsträgerbewegung über die Grenzschicht
p-dotiert n-dotiert
++
+
+ +
Pluspol++
+
Raumladung szonenvergrössert
+Minuspol
a)
+ ++++++
p-dotiert n-dotiert
++
+
Pluspol
Raumladungs-
abgebaut
+Minuspol
zonenb)
++
+
Sperrchicht-polung
Durchlass-polung
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung5
Aufbau einer Diode
Diode ermöglicht nur einen Stromfluss von p nach n, d.h. von Anschluss A nach BDie Gleichung I beschreibt das Strom-/Spannungsverhalten der Diode in Abhängigkeit von V
p
n
B A SiO2Al
Querschnitt eines pn-Kontaktes in einem IC-Prozess
n
p
A
B
Al
Eindimensionale Darstellung
A
B
Diodensymbol
ID = IS(eVD/f T – 1)
VD
+
–
Ideales Diodenmodell
D
D
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung6
Aufbau eines Bipolar-Transistor
n-Substrat
p-Substrat
n+
p+
Isolationn+ p+
pn+
E B C
p+
E C
B
n+ p n
(a) Querschnittdarstellung.
(b) Idealisierte Darstellung.
• Bipolar-Transistoren werden oft in Analogschaltungen eingesetzt, z.B. Hifi-Verstärker
• Anordnung von 3 dotierten Gebieten-> Folge pnp oder npn, wobei die mittlere Schicht sehr dünn ausgelegt wird
• Im Gegensatz zu MOS-Transistoren sind beim Bipolar-Transistor sowohl Majoritäts-als auch Minoritätsladungsträger beim Stromfluss beteiligt
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung7
Bipolar-Transistor
Schaltsymbole und Vorzeichen-Konventionen:
C
E
B
IB
IE
IC+
–
+
+
––
VBC
VBE
VCE
(a) npn
C
E
B
IB
IE
IC-
+
-
-
++
VBC
VBE
VCE
(b) pnp
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung8
Aufbau eines MOS-Feldeffekttransistors (MOS-FET)
Querschnitt eines NMOS-Transistors:
n+n+
p-Substrat
Siliziumoxyd
(SiO2)
p+
Polysilizium
Gateoxyd
DrainSource
Gate
• MOS-FETs werden meist in Digitalschaltungen eingesetzt• Der Strom durch den MOS-FET fließt in lateraler Richtung• Am Stromfluss sind ausschließlich Majoritätsladungsträger beteiligt• Das Gate dient als Schalter -> aktiviert den Kanal zwischen Source und Drain
-> angelegte positive Spannung: zieht Elektronen an und verdrängt Löcher
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung9
MOS-TechnologieStrom-Spannungszusammenhang -> Durchlassspannung
n+n+
p-Substrat
DS
G
VGS
xL
V(x) +–
VDS
ID
B
• Transistor ist gesperrt: d.h. V < V , somit kann zwischen Source und Drainder Strom I nicht fließen
• Transistor ist geöffnet: d.h. V > V , zwischen Source und Drain Gebieten bildet sich eine negative Ladungszone
-> Stromfluss zwischen Source und Drain ermöglicht
GS
GS
th
th
D
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung10
Der MOS-Transistor
0.0 1.0 2.0 3.0VGS (V)
0.010
0.020
÷I D
VT
UnterschwellenStrom
(a) ID als Funktion von VDS
(b) ID als eine Funktion von VGS(für VDS = 5V).
0.0 1.0 2.0 3.0 4.0 5.0VDS (V)
1
2
I D(m
A)
Sättigung
VGS = 5V
VGS = 3V
VGS = 4V
VGS = 2VVGS = 1V
Qua
drat
isch
e A
bhän
gigk
eit
I-V Zusammenhang
• Damit der Stromfluss I zustande kommt, muss die Ansteuerspannung V den Wert V überschreiten (rechtes Diagramm)
• Ist die Ansteuerspannung V größer V und konstant:-> Strom I ist nur noch von V abhängig (linkes Diagramm)
D GS T
TGS
D DS
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung11
Der MOS-Transistor
Ron
|VGS| < |VT| |VGS| > |VT|
|VGS|Schaltmodell:
• Im nichtleitenden Zustand, d.h. |V |<|V | gilt: MOS-Transistor wird zu einem geöffneten Schalter -> Widerstand mit sehr hoher Impedanz, der Stromfluss behindert
• Im leitenden Zustand, d.h. |V |>|V | gilt: MOS-Transistor wird zu einem Widerstand mit einer sehr geringen Impedanz, der Stromfluss verstärkt (geschlossener Schalter)
GS T
GS T
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung12
Querschnitt der CMOS-Materialschichten (Complementary MOS)
MOS-Technologie
Schaltsymbole
S
D
G
NMOS
G
S
D
PMOS
• Man unterscheiden zwei grundsätzliche MOS-Transistortypen -> NMOS- und PMOS-Transistoren
• In der Abbildung: NMOS oben links, PMOS oben rechts
• In der CMOS-Technologie werden beide Typen in jeweils komplementären Netzen eingesetzt
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung13
VDD
VSS
PUN
PDN
In1In2In3
F = G
In1In2In3
PUN und PDN -> duale (komplementäre) Netze:
nur PMOS
nur NMOS
Struktur einer statischen CMOS-Schaltung
• Die CMOS-Technologie basiert auf komplementären Netzen
-> PUN und PDN(Pull-Up/Pull-Down Netz)
• Ist der Ausgang der realisierten Funktion gleich 1, schaltet das PUN-Netz den Ausgang F auf V
• Ist der Ausgang hingegen gleich 0, schaltet das PDN-Netz den Ausgang F auf V
• Zur Realisierung der PUN-Netzewerden PMOS-Transistoreneingesetzt, PDN-Netze werden mit NMOS-Transistoren implementiert
• Da außer zu Schaltzeitpunkten keine direkte Verbindung zwischen V und V besteht, wird während des Haltens sehr wenig Energie verbraucht
SS
SS
DD
DD
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung14
NMOS-Transistoren in Serien/Parallelschaltung
Transistoren -> Schalterrealisierung
-> Steuerung durch Gate-Signal
NMOS-Schalter schließt, wenn das Gate auf “high” (H, “1”) ist
X Y
A B
Y = A AND B
X Y
A
B Y = A ODER B
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung15
PMOS-Transistoren in Serien/Parallelschaltung
Y = A AND B = A + B
Y = A OR B = AB
X Y
A B
X Y
A
B
PMOS-Schalter schließt, wenn das Gate auf “low“ (L, “0“) ist
NMOS-, PMOS-Schaltungen: Anbindung an Axiome der Schaltalgebra
-> Realisierung der Konjunktion, Disjunktion und Negation
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung16
Das komplementäre Gatter ist invertierend
PUN ist zu PDN dual (-> komplementär)(kann mittels DeMorgan`s Theorem gezeigt werden)
Konstruktion einer statischen CMOS-Schaltung
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung17
CMOS: Inverter-SchaltungVDD
Vin Vout
CLVin Vout
• Der Inverter besteht aus zwei Transistoren, einem NMOS und einem PMOS• Ist Vin auf high, so öffnet der NMOS-Transistor und Vout wird auf GND gezogen,
während dessen ist der PMOS-Transistor gesperrt• Ist Vin hingegen auf low, so öffnet der PMOS-Transistor und Vout wird auf VDD
gezogen, der NMOS-Transistor wird hingegen gesperrt• Strom zwischen VDD und GND kann nur fließen, wenn die Transistoren
umschalten und kurzzeitig beide offen sind
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung18
CMOS: Inverter-Layout
Polysilizium
InOut
Metall1
VDD
GND
PMOS
NMOS
• Das Layout stellt zwei in Serie geschaltete Inverter dar
• Das Polysilizium wird genutzt, um die Gates auf dem Silizium zu realisieren
• Das rote Gebiet oben ist die n-Wanne für die PMOS-Transistoren
• Die blauen Felder sind Metalleiter, wo meist Aluminium oder in moderneren Verfahren Kupfer zum Einsatz kommt
• Die grünen Gebiete sind Diffusionsgebiete, und mit schwarzen Vierecken stellen diese Kontaktierungen zwischen den Source- bzw. Drain-Gebietenund den Metalleitern dar
CMOS-Maskenlayout
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung19
CMOS-Beispielgatter: NAND
OUT = GND
OUT = VDD
Wahrheitstabelle eines NAND-Gattersmit 2 Eingängen
CMOS-Schaltung für NAND
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung20
CMOS: NAND-Gatter mit 4 Eingängen
In3
In1
In2
In4
In1 In2 In3 In4
VDD
Out
In1 In2 In3 In4
Vdd
GND
Out
CMOS-Maskenlayout CMOS-Schaltung für NAND-4
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung21
Wahrheitstabelle eines NOR-Gatters
CMOS-Beispielgatter: NOR
CMOS-Schaltung für NOR
PUN- und PDN-Netzentwurf (Funktionen G und F zur Übung!)
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung22
VDD
AB
C
D
DA
B C
OUT = D + A• (B+C)
• In der CMOS-Technik lassen sich ebenfalls komplexere Gattermodellieren (siehe Schaltung oben)
• Dies muss jedoch durch entsprechende Dimensionierung der W (Transistor-Kanalbreite) und L (Kanallänge)Größen der Transistoren geschehen, damit die geforderte Symmetrie wie beim Inverter erhalten bleibt
CMOS-Beispielgatter: komplexes Gatter
CMOS-Schaltung für komplexes Gatter
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung23
Mikrochipentwurf: Standardzellenlayout-Methodik
VDD
VSS
Well
SignaleRouting-Kanal
Metall1
Polysilizium
• Das oben dargestellte Standardzellenlayout realisiert die Funktion:
• Die Standardzellen-Methodik beinhaltet nur Basiszellen gleicher Höhe-> oben VDD- und unten VSS-Leitungen: in den Zwischenräumen werden die
gewünschten Schaltglieder (Gatter) modelliert
babay &&
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung24
architecture structural of first_tap is
signal x_q,red : std_logic_vector(bitwidth-1 downto 0);signal mult : std_logic_vector(2*bitwidth-1 downto 0);
begin
delay_register:process(reset,clk)begin if reset='1' then
x_q <= (others => '0');elsif (clk'event and clk='1') then
x_q <= x_in;end if;
end process;
mult <= signed(coef)*signed(x_q);
Hardwarespezifikation
Synthese(Synopsys)
Netzliste
Masken-Layout
Plazierung &Verdrahtung(Cadence/
Mentor)
Fabrikation
Wafer/Chip
Abstraktionsebenen
Mikroelektronik: Heutiger Rechnergestützter Entwurf
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung25
Digitalentwurf am Scheideweg ?
Status der Mikroelektronikindustrie
0.02 0.05 0.1 0.5 1
0.1
0.2
0.5
1
2
5
10
1
2
5
10
20
50
tOX
Vt
Vdd
Oxy
ddic
ke t
OX
(nm
)
MOSFET Kanallänge (µm)
Schnelle Evolution der IC-Technologien
Quelle: Int´l Technology Roadmap for Semiconductors ITRS
CMOS-Skalierung
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung26
Moore´s Gesetz
– Die Komplexität von Speicher-chips und Mikroprozessoren wuchs exponentiell
– Es war genau diese Abbildung, die Moore vorhersagte
– Moore’s Law: Integrationsdichte verdoppelt sich alle 18 Monate
Technologie Evolution: Integrationsdichte
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung27
Mikroelektronik: Skalierung, Verlustleistung und Kosten
Prozessor- und Speicher-integrationsdichten im Vergleich zu Moore´s Gesetz
KostenentwicklungProzessor- und Speicherintegration
Verlustleistungsentwicklung
(Quelle: International Technology Roadmap for Semiconductors ITRS)
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-GemeinschaftInstitut für Technik der Informationsverarbeitung28
Intel´s High-End Prozessorlösung: Itanium
Quelle: Jason Stinson (Intel), DAC 2003
130 nm Itanium 2 Prozessor
410 Millionen Transistoren
374 mm2 Die-Size
6 MB On-Chip L3-Cache
1.5 GHz mit 1.3 V Versorgungsspannung
Größter On-Die Cache
Größte Anzahl an Transistoren innerhalb eines einzelnen Mikroprozessorentwurfs-projekts