Einschub: Zahlendarstellung und Codes



Ähnliche Dokumente
Lehrgang: Digitaltechnik 1 ( Grundlagen ) - Im Lehrgang verwendete Gatter ( Übersicht ) Seite 3

Boole'sche Algebra. Inhaltsübersicht. Binäre Funktionen, Boole'sche Algebren, Schaltalgebra. Verknüpfungen der mathematischen Logik

Die Regelungen zu den Einsendeaufgaben (Einsendeschluss, Klausurzulassung) finden Sie in den Studien- und Prüfungsinformationen Heft Nr. 1.

Schaltnetze. Inhaltsübersicht. Aufbau von Schaltnetzen anhand wichtiger Beispiele. Codierer, Decodierer und Codekonverter. Additionsschaltnetze

Domäne und Bereich. Relationen zwischen Mengen/auf einer Menge. Anmerkungen zur Terminologie. r Relationen auf/in einer Menge.

Technische Informatik 2

Vorlesung. Einführung in die mathematische Sprache und naive Mengenlehre

Hausaufgabe 2 (Induktionsbeweis):

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester Sprachen. Grammatiken (Einführung)

Einführung in. Logische Schaltungen

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2011

Def.: Sei Σ eine Menge von Zeichen. Die Menge Σ* aller Zeichenketten (Wörter) über Σ ist die kleinste Menge, für die gilt:

1KOhm + - y = x LED leuchtet wenn Schalter x gedrückt ist

N Bit binäre Zahlen (signed)

Kapitel 4. Minimierung. Prof. Dr. Dirk W. Hoffmann. Hochschule Karlsruhe w University of Applied Sciences w Fakultät für Informatik

Inhaltsverzeichnis. Inhaltsverzeichnis Logik Zahlensysteme Grundbegriffe zweiwertiger Logik... 13

Funktionen und Mächtigkeiten

Formale Systeme, Automaten, Prozesse SS 2010 Musterlösung - Übung 2 M. Brockschmidt, F. Emmes, C. Fuhs, C. Otto, T. Ströder

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester Kurzer Einschub: das Schubfachprinzip.

Übungsblatt 1 zum Propädeutikum

Teil 1: Digitale Logik

Mathematik. Name, Vorname:

Grundlagen der Informationverarbeitung

Keil Telecom Homepage - Hersteller von Isdn Tk Anlagen und Türsprechsystemen für Heim und Bü...

9 Multiplexer und Code-Umsetzer

Modul 3: Schaltnetze. Informatik I. Modul 3: Schaltnetze. Schaltnetze. Formale Grundlagen. Huntingtonsche Axiome.

LUDWIG-MAXIMILIANS-UNIVERSITÄT MÜNCHEN. 7. Übung/Lösung Mathematik für Studierende der Biologie

4 Binäres Zahlensystem

Codierungsverfahren SS Reed-Solomon-Codes zur Mehrblock-Bündelfehler-Korrektur

Programmieren in C/C++ und Matlab

Z R Z R Z R Z = 50. mit. aus a) Z L R. Wie groß ist der Leistungsfaktor cos der gesamten Schaltung?

Minimalautomat. Wir stellen uns die Frage nach dem. kleinsten DFA für eine reguläre Sprache L, d.h. nach einem DFA mit möglichst wenigen Zuständen.

2. Negative Dualzahlen darstellen

Mathe Warm-Up, Teil 1 1 2

1 Kurvendiskussion /40

Übungsblatt Gleichungssysteme Klasse 8

Binär Codierte Dezimalzahlen (BCD-Code)

i)((a + b) + (ā b)) + c ii ) (a c) + ((b + 0) c) iii) (a c) (ā + c) (b + c + b) iv ) (ā + (b c)) + (c (b + c))

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Informatik I WS 07/08 Tutorium 24

Definition Suffixbaum

Grundlagen der Technischen Informatik. Bausteine der Digitaltechnik - Binäre Schalter und Gatter. Kapitel 7.1

Zeichen bei Zahlen entschlüsseln

Abitur - Leistungskurs Mathematik. Sachsen-Anhalt 1999

Übungsaufgaben. - Vorgehensweise entsprechend dem Algorithmus der schriftlichen Multiplikation

Ein polyadisches Zahlensystem mit der Basis B ist ein Zahlensystem, in dem eine Zahl x nach Potenzen von B zerlegt wird.

Repetitionsaufgaben Wurzelgleichungen

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

Mathematik schriftlich

BITte ein BIT. Vom Bit zum Binärsystem. A Bit Of Magic. 1. Welche Werte kann ein Bit annehmen? 2. Wie viele Zustände können Sie mit 2 Bit darstellen?

Einführung in die Algebra

Data Mining: Einige Grundlagen aus der Stochastik

Theoretische Informatik SS 04 Übung 1

4. Lineare Gleichungen mit einer Variablen

Streuungsmaße. Grundbegriffe

Zahlensysteme Seite -1- Zahlensysteme

2 Darstellung von Zahlen und Zeichen

Teilfachprüfung Mathematik Studiengang: Wirtschaft Neue Diplomprüfungsordnung (NPO)

Lösungen zum Ergänzungsblatt 4

Primzahlen und RSA-Verschlüsselung

Automaten und formale Sprachen Notizen zu den Folien

2.6 Reduktion endlicher Automaten

Erfüllbarkeit und Allgemeingültigkeit

15 Optimales Kodieren

Computerarithmetik ( )

1 Mathematische Grundlagen

5.3 Dynamisches Sitzen und Stehen

Logarithmus - Übungsaufgaben. I. Allgemeines

( ) ( ) 4. Der Hauptsatz der Infinitesimalrechnung. Hauptsatz (1. Form) I. Newton ( ), G.F. Leibniz ( )

Einführung in die Schaltalgebra

UNIVERSITÄT KARLSRUHE Institut für Analysis HDoz. Dr. P. C. Kunstmann Dipl.-Math. M. Uhl. Sommersemester 2009

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = Euro ergeben.

edatenq ist eine Anwendung, die den Unternehmen die Möglichkeit bietet, ihre statistischen Meldungen über das Internet auszufüllen und einzureichen.

Programmierung mit NQC: Kommunikation zwischen zwei RCX

, WS2012 Übungsgruppen: Mo.,

Quadratische Gleichungen

Therapiebegleiter Kopfschmerztagebuch

Präfixcodes und der Huffman Algorithmus

= f (x). Anmerkung: Stammfunktionen finden ist also die Umkehrung der Ableitung, es wird daher auch manchmal als Aufleiten bezeichnet.

RS-Flip Flop, D-Flip Flop, J-K-Flip Flop, Zählschaltungen

Wurzeln als Potenzen mit gebrochenen Exponenten. Vorkurs, Mathematik

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

a q 0 q 1 a M q 1 q 3 q 2

Theoretische Grundlagen der Informatik WS 09/10

Dehnungsmessstreifen E3d

Wachstum 2. Michael Dröttboom 1 LernWerkstatt-Selm.de

Internet Kurs. Suchmaschinen

Professionelle Seminare im Bereich MS-Office

Sowohl die Malstreifen als auch die Neperschen Streifen können auch in anderen Stellenwertsystemen verwendet werden.

Grundbegriffe der Informatik

Karnaugh - Diagramme

Lösung zur Bonusklausur über den Stoff der Vorlesung Grundlagen der Informatik II (45 Minuten)

SPSS Clementine. Auswertung von offenen Fragen mit TextMining für Clementine. Beispiel: Haustiere

Der Zwei-Quadrate-Satz von Fermat

Das Leitbild vom Verein WIR

Thema 13 Integrale, die von einem Parameter abhängen, Integrale von Funktionen auf Teilmengen von R n

V 2 B, C, D Drinks. Möglicher Lösungsweg a) Gleichungssystem: 300x y = x + 500y = 597,5 2x3 Matrix: Energydrink 0,7 Mineralwasser 0,775,

Was meinen die Leute eigentlich mit: Grexit?

Transkript:

Einschu: Zhlendrstellung und Codes (Unvollständige Drstellung) DST SS23 - Codes und KMAPs P. Fischer, TI, Uni Mnnheim, Seite

Binärzhlen N-stellige Binärzhl:... Einzelne Stellen heißen Bits (inry digits) i Ds niederwertigste Bit (Lest Significnt Bit, LSB) steht rechts, ds höchstwertigste Bit (N-) (Most Significnt Bit, MSB) steht links. Die i-te Stelle ht ds Gewicht 2 i Der Wert einer Binärzhl ist lso Z = S 2 i i, die Summe läuft von i=...(n-) Die Umwndlung Deziml Binär erfolgt durch wiederholte Division durch 2 und Anschreien des Rests - Beispiel: 9 : 2 = 9 Rest 9 : 2 = 4 Rest 4 : 2 = 2 Rest 2 : 2 = Rest : 2 = Rest 9 = 2 Gruppen von Bits können zur einfcheren Schreiweise zusmmengefßt werden. Mn geht dnn vom 'Zweiersystem' z.b. zum 'Achtersystem' oder '6er-System' üer. Die Bsis wird oft durch einen nchgestellten Index spezifiziert. Oktlzhlen (ungeräuchlich): Je 3 Bit werden zusmmengefßt und durch,,2,...,7 ersetzt. Die i-te Stelle ht die Wertigkeit 8 i Beispiel: 44 = 2 = 54 8. 44 = 32 6 8 4 2 = 5 8 4 Hexdezimlzhlen (wichtig!): Je 4 Bit werden durch,,...8,9,a,b,c,d,e,f ersetzt. Die i-te Stelle ht die Wertigkeit 6 i Beispiel: 44 = 2 = 54 8 = 2C 6 44 = 2 6 C = 32 2 DST SS23 - Codes und KMAPs P. Fischer, TI, Uni Mnnheim, Seite 2

Addition von Binärzhlen Die Addition erfolgt stellenweise wie ei Dezimlzhlen mit einem Üertrg (crry): 3 9 6 9 Üertrg Üertrg 8 x64 x32 x8 x4 In jeder Stufe werden lso us den 3 Eingängen,,c in die Ausgänge sum und c out erzeugt. Mn nennt diesen wichtigen Schltungslock den Vollddierer (full dder, FA): c in sum c out 2 2... c out sum c in c out sum c in c out sum c in sum 2 sum sum DST SS23 - Codes und KMAPs P. Fischer, TI, Uni Mnnheim, Seite 3

Sutrktion, er und 2er Komplement Mn knn einen Sutrhierer direkt implementieren. Es geht er einfcher: Ignoriert mn die Stellen >(N-), so gilt für zwei N-Stellige Dulzhlen,: = 2 N = 2 N 2 N ist ds Einer-Komplement von. Mn erhält es sehr einfch, indem ml lle Einsen in der Binärdrstellung von durch Nullen ersetzt und umgekehrt: 2 N esteht us N Einsen. Dher gilt: 2 N = Σ 2 i Σ 2 i i = Σ 2 i ( i ). Mn sutrhiert lso jedes Bit von (dher der Nme), ws einer itweisen Inversion gleich kommt. Also: Mn ildet die Differenz - zweier Binärzhlen und, indem mn die Summe us,, und dem er-komplement von ildet. (Die Addition von implementiert mn in der Prxis, indem mn m -ten Bit c in = nlegt.) Beispiel: = 22, = 3 22 = 2, 3 = 2 Ds Einerkomplement von ist 2 - = = 2 = 9 Test: 22 3 = 9 Ds Zweier-Komplement von ist ds er-komplement. Ds 2er Komplement der N-stelligen Zhl ist 2 N. Mn erhält es direkt, indem mn vom LSB eginnend schreit, is eine uftucht. A dnn (hinter der ) werden lle Bits invertiert. Mn knn die Differenz - lso uch ilden, indem mn die Summe us, und dem 2er-Komplement von ildet. DST SS23 - Codes und KMAPs P. Fischer, TI, Uni Mnnheim, Seite 4

BCD Kodierung, 842-BCD Um Dezimlzhlen zu codieren ist es mnchml günstig (z.b. ei Ziffernnzeigen), jedes Digit einzeln zu codieren. Mn spricht dnn von einem BCD (Binry Coded Digit) Code. Von den 6 möglichen Codes pro Digit werden nur enutzt, der Code ist lso redundnt. Benutzt mn für jedes Dezimldigit eine 4-stellige Binärzhl, so nennt mn ds einen 842-BCD Code: z.b. 3 = Bei der Addition werden die BCD-Drstellungen stellenweise ddiert. Ist ds Ergenis >9, so entsteht ein verotener Code. Zur Korrektur muß sutrhiert oder 6 ddiert werden. Es entsteht ein Crry, ds zur nächsten Stelle ddiert wird. Beispiel: 25 38 = 63 25 = 38 = 'unerluter' Code Summe: Korrektur 6: Ergenis: Bei der Sutrktion wird z.b. ds 9-er Komplement (mn sutrhiert jedes Digit von 9) und ddiert. Beispiel: 78-25 78 99-25 - 9er Komplement 78 74-52 - 53-53 DST SS23 - Codes und KMAPs P. Fischer, TI, Uni Mnnheim, Seite 5

Andere BCD Codes Die Bildung des 9er-Komplements in 842-BCD ist umständlich. Mn enutzt dher mnchml 'selst-komplementierende' Codes, ei denen ds 9er-Komplement durch itweise Komplementierung entsteht. Beispiel Excess-3: Dec. Excess-3 2 3 4 5 6 7 8 9 242-BCD 52-BCD Jeder Excess-3 Code ist um 3 größer lso die Zhl, die er drstellt. Die Summe zweier Excess-3 Digits ist lso um 6 größer. Es muß dher 3 sutrhiert werden. Wird ein Crry erzeugt, so muß 3 ddiert werden.. Ein nderer selst-komplementierender Code ist der 242-BCD-Code ('Aiken'), ein gewichteter Code, ei dem jede Stelle ein festes Gewicht ht. Ähnlich: 52-BCD. Andere Codes (z.b. 742-BCD) hen im Durchschnitt wenig Einsen, ws ei est. Anwendungen Leistung einsprt. DST SS23 - Codes und KMAPs P. Fischer, TI, Uni Mnnheim, Seite 6

Gry Code Beim wichtigen Gry-Code ändert sich in ufeinnderfolgenden Codemustern immer nur ein Bit. Die 'Hmming-Distnz' ist. Konstruktion: Mn ändert immer ds niedrigstmögliche Bit: Dec. Gry O'Brien 2 3 4 5 6 7 8 9......... Es git noch ndere Codes mit Hmming Distnz, z.b. s.o. Anwendung: Erfssung von Meßwerten (z.b. Liner/Winkelcodierer): eine Fehljustierung der Meßstrecke führt nicht zu großem Fehlern Gry: Binär: DST SS23 - Codes und KMAPs Sensor erkennt 3 oder 4 Sensor knn lles erkennen! P. Fischer, TI, Uni Mnnheim, Seite 7

Umwndlung Gry Binär Binär Gry Binärzhl: 4 3 2 Gry-Zhl: g 4 g 3 g 2 g g Prllele Verreitung! Beispiel: 2 = Gry Gry Binär Gry-Zhl: g 4 g 3 g 2 g g Binärzhl: 4 3 2 Sukzessive Verreitung lngsmer! Beispiel: Gry = 2 DST SS23 - Codes und KMAPs P. Fischer, TI, Uni Mnnheim, Seite 8

Andere Codes Thermometer Code: Pro Code-Stufe wird ein Bit enutzt. Die Bits werden sukzessive 'ngeschltet': Anwendung z.b. ei Meßwerterfssung, Anlog/Digitl Wndler. N Codes ei N Bit... von Code: Ähnlich Thermometer. Nur je ein Bit ist eingeschltet: Auswhl von 'Verruchern' (Dekoder). Einfche Zustndscodierung. N Codes ei N Bit... 'Liw-Crig' - Code: Ds Wort wird vom LSB her erst mit Einsen, dnn mit Nullen ufgefüllt: Knn leicht mit einem Schieeregister erzeugt werden Zustndscodierung 2N Codes ei N Bit DST SS23 - Codes und KMAPs P. Fischer, TI, Uni Mnnheim, Seite 9

Kenngrößen von Codes Gewichteter Code: Hmming-Distnz H: Stetiger Code: Jeder Stelle entspricht ein festes Gewicht (Binär, 242-BCD,...) Anzhl unterschiedlicher Stellen zweier enchrter Codeworte H ist für lle enchrten Codes gleich Minimum Bit Chnge: Stetiger Code mit H= Redundnz: Rd = log 2 (N mx /N code ) > N mx = 2 m = Anzhl möglicher Codeworte N code = Anzhl enutzte Codeworte Rd = heißt: Bit 'üerflüssig' Beispiel: 842 BCD: Rd = log 2 (6/) = log 2 (e) ln(.6) = ln(.6)/ ln(2) (.6 / ) =.678 Anwendungen: - Dtenspeicherung: Kurze Codes (kleine Redundnz) - Dtenüertrgung: Codes mit Redundnz (Fehlererkennung, Fehlerkorrektur) - Signlverreitung: Codes, die einfches Rechnen ermöglichen - Meßwerterfssung: Einfch strukturierte Codes - Low-Power Design: Codes mit wenig Bitänderungen (H=), Gry Code! - Zustndsutomten: Leicht zu erzeugende und zu dekodierende Codes DST SS23 - Codes und KMAPs P. Fischer, TI, Uni Mnnheim, Seite

Kennen wir lle Verknüpfungen? DST SS23 - Codes und KMAPs P. Fischer, TI, Uni Mnnheim, Seite

Verknüpfungen von N Eingängen Ausgng E E 2 f Q E N N Eingngsvrilen können M = 2 N verschiedene Muster nnehmen (Jeder hinzukommende Eingng verdoppelt die Zhl der Muster: xx...xx, xx...xx) Für N=: Muster = {, } Für N=2: Muster = {,,, } Eine Verknüpfung f weist dem Ausgng für jedes der M Eingngsmuster einen Wert ( oder) zu. Es git dher 2 M mögliche Verknüpfungen. Bei N Eingngsvrilen git es 2 2N mögliche Verknüpfungen (Funktionen) f N: 2 3 4 M: 2 4 8 6 f: 2 4 6 256 65536 Die Möglichkeiten steigen lso SEHR SCHNELL n. Mn knn nicht für jede Möglichkeit ein Buteil hen! DST SS23 - Codes und KMAPs P. Fischer, TI, Uni Mnnheim, Seite 2

N =, N = : f Q = Funktion Bezeichnung englisch Q = Nie flse Identität! Negtion NOT Immer true N = : f Q Funktion Bezeichnung englisch Q = Nie flse Immer true DST SS23 - Codes und KMAPs P. Fischer, TI, Uni Mnnheim, Seite 3

N = 2 = = Funktion Bezeichnung englisch!!!()!!!!!( ) Nie Konjuntion f Q Identität Identität Antivlenz Disjunktion Negierte Disjunktion Äquivlenz Negtion Negtion Negierte Konjunktion Immer flse AND XOR OR NOR XNOR NOT NOT NAND true DST SS23 - Codes und KMAPs P. Fischer, TI, Uni Mnnheim, Seite 4

N = 3 c f Q = = c = Funktion Bezeichnung Zu viele Möglichkeiten wir ruchen eine llgemeinere Beschreiung! DST SS23 - Codes und KMAPs P. Fischer, TI, Uni Mnnheim, Seite 5

Krnugh-Digrmme DST SS23 - Codes und KMAPs P. Fischer, TI, Uni Mnnheim, Seite 6

Krnugh-Digrmme Eine weitere Drstellungsform für Funktionen/Ausdrücke enutzt zweidimensionle Tfeln, die uch ls Krnugh(-Veitch)-Digrmme (KMAPs) ezeichnet werden Sie geen einen grfischen Eindruck der Funktion und können zur Logikminimierung enutzt werden Für eine Funktion von 2 Vrilen (4 mögliche Eingngskomintionen) zeichnet mn: Feld für =, = Feld für =, = Feld für =, = Einfche Beispiele: NAND2 NOR2 XOR2 XNOR2 DST SS23 - Codes und KMAPs P. Fischer, TI, Uni Mnnheim, Seite 7

Größere KMAPs Für Funktionen mit >2 Vrilen werden die Tfeln erweitert Sie sind esonders nützlich, wenn für jede Vrile die Einsen in den Zeilen/Splten einen Block ilden. Dies knn nur für je 2 Vrilen pro Dimension erfüllt werden. Sie sind dnn Gry-codiert. Für >4 Vrilen muß mn in die dritte Dimension gehen, 7 Vrilen wird's schwierig... 3 Vrilen: 4 Vrilen: c d = = c c= c d 4 Vrilen - Alterntive: d c d d ildet keine zusmmenhängende Gruppe DST SS23 - Codes und KMAPs P. Fischer, TI, Uni Mnnheim, Seite 8

Visulisierung der Nchrschft Die Nchrschft in n-stelligen Codes mit Hmming-Distnz H= wird in einer n-dimensionlen Drstellung esser verständlich: N=: Codewort = oder = N=2: Codewort =,,, = N=3: Codewort c =,,... = = = Auf jeder Knte ändert sich genu ein Bit. Ein Hmming Code entsteht lso eim 'Wndern uf Knten' Auf jeder Eene (senkrecht zu einer der Achsen) ist ein Bit konstnt Ds 'Aufklppen' des N-dimensionlen Würfels ergit die KMAP Sie ht so viele Nchrschften, wie der Würfel Knten ht. DST SS23 - Codes und KMAPs P. Fischer, TI, Uni Mnnheim, Seite 9

Numerierung Die Felder können numeriert werden, wenn mn die Eingngsvrile (hier x 3 x 2 x x ) ls Binärzhl uffßt x 2 3 x 3 8 9 2 4 5 3 4 6 7 5 x 2 x Eine elieige Funktion der N Vrilen wird durch ds / Muster in der Tfel festgelegt. (Für N=4 git es 2 24 = 2 6 = 65536 verschiedene Funktionen) In einer kompkten Schreiweise führt mn die Eingngswerte uf, für die in der Tfel eine steht und schreit z.b. F = Σ(,,3,5,6,7,8,9,,) x x 3 x 2 x DST SS23 - Codes und KMAPs P. Fischer, TI, Uni Mnnheim, Seite 2

UND und ODER in K-MAPS c d c d d d c d c d c d c d Die UND-Verknüpfung ller N Vrilen (direkt oder invertiert) selektiert EIN Feld. Mn nennt diese 6 möglichen Ausdrücke MINTERME, weil sie in der Tfel die minimle Fläche einnehmen. Die ODER-Verknüpfung der N Vrilen selektiert ALLE AUSSER EINEM Feld. Mn nennt einen solchen Ausdruck MAXTERM, weil er in der Tfel die mximle Fläche einnimmt. Die UND-Verknüpfung von N- Vrilen ilden einen x2 oder 2x Block. (Dies gilt nur, wenn die Vrilen Gry-codiert sind!). Im Beispiel oen ist f =! c d!!c d =! d (c!c) =! d. Die UND-Verknüpfung von N-2 Vrilen ilden einen Block us 4 Zellen (x4, 4x oder 2x2), etc... Blöcke können uch üer den Rnd hinus gehen (s. rechtes Beispiel)! Entsprechendes gilt für ds ODER von weniger ls N Vrilen DST SS23 - Codes und KMAPs P. Fischer, TI, Uni Mnnheim, Seite 2

Knonische Formen Die Disjunktive Normlform (DN) eines Ausdrucks ht die Form (Disjunktion = ODER!) K K K 2... woei die K i Konjunktionen (UND-Verknüpfungen) us einfchen oder negierten Vrilen ('Literlen') sind. Mn nennt die K i uch Produktterme oder Einsterme Entsprechend ht die Konjunktive Normlform (KN) (ds Dule Pendnt) die Form D D D 2... Mit den Disjunktionen D i, die mn uch Nullterme nennt. Diese Knonischen Formen sind z.b. wichtig, weil in PALs die entsprechende Struktur in Hrdwre implementiert wird. Die Formen werden eindeutig, wenn mn verlngt, dß in jedem Eins/Nullterm jedes Literl genu einml vorkommt (Minterm/Mxterm!). Mn spricht dnn von usgezeichneten Normlformen. Beispiel: y =!c! c =!c! c (!) =!c! c!! c Die usgezeichnete Disjunktive Normlform ist die einfchste Summe von Mintermen. Die usgezeichnete Konjunktive Normlform ist ds einfchste Produkt von Mxtermen. Welcher Ausdruck (KN/DN) einfcher ist (weniger Terme ht), hängt von der Funktion DST SS23 - Codes und KMAPs P. Fischer, TI, Uni Mnnheim, Seite 22

P. Fischer, TI, Uni Mnnheim, Seite 23 DST SS23 - Codes und KMAPs Beispiel Konjunktive/Disjunktive Normlform Beispiel DN: y =!c! c Umwndlung zur KN durch Aus-UND-en: y = (!) (!) (!c!) (c) (c) (!cc) = (!) (!c!) (c) (c) Test:!c y!c c!!c! c c y

Auffinden des Komplements einer Funktion Gegeen sei die Funktion Sie ht z.b. die KMAP F = c!!c. F: c Die KMAP der inversen Funktion!F findet mn sehr leicht durch Vertuschen von und :!F: c Mn sieht sofort, dß diese die Drstellung!F =! c!c ht. Mit den Regeln der Schltlger ist ds deutlich umständlicher: F = c c = c c = ( c) ( c) = c c cc = c c = (c c) c c = c c c c = c c c c = (c c) ( )c = c c DST SS23 - Codes und KMAPs P. Fischer, TI, Uni Mnnheim, Seite 24

Auffinden des einfchsten Ausdruck für eine Funktion F = c c d Term ist redundnt d c c d c d Ist eine Funktion üer ein Muster in der KMAP gegeen, so sucht mn lle möglichen Üerdeckungen der Einsen mit möglichst großen rechteckigen Blöcken... Die Funktion ist dnn die ODER-Verknüpfung ll dieser sogennnten 'Primterme' (Der Block eines Primterms knn nicht vergrößert werden) Es knn sein, dß eine Teilmenge der Primterme zur vollständigen Üerdeckung usreicht. Mit einer Telle knn mn systemtisch nch der kleinsten Teilmenge suchen. Im Beispiel sieht mn, dß der erste Term!c ereits durch den zweiten (!c d) und vierten (!d) gedeckt wird. (Dies knn mn eweisen, indem mn!c d!d =!c!!c d c!d zeigt...) Ds Ergenis knn mn uch (ufwendiger) durch Umformung von F = Σ(,,3,5,6,7,8,9,,) =!!!c!d!!!c d!! c d... finden. N.B.: Einen Ausdruck in UND-Form () (!cd)... Findet mn durch Adecken der Nullen in der KMAP DST SS23 - Codes und KMAPs P. Fischer, TI, Uni Mnnheim, Seite 25

KMAPs mit leeren Feldern (don't cre) Es kommt oft vor, dß nicht lle Eingngskomintionen vorkommen können. Ddurch leien Felder in der KMAP 'leer', sie werden meist mit 'x' mrkiert. Diese Felder können so mit oder elegt werden, dß die Funktion möglichst einfch wird, i.e. dß die Einsen mit möglichst wenigen, möglichst großen Blöcken üerdeckt werden können. Beispiel: Ansteuerung einer Sieensegment-Anzeige mit eine BCD-Zhl: Mn schreit z.b. für Segment e: e=sm(,2,6,8) Sd(,,2,3,4,5). Dei steht 'm' für Minterm und 'd' für don't cre f e g d c x 3 x 2 x x BCD to 7seg c d e f g x 3 2 3 8 X X 9 2 X 4 X 5 X 3 X 4 6 7 5 x x x 2 Adeckung nur der Einsen erfordert 2 Felder x2, d.h zwei Primterme mit 3 Termen: e =!x!x!x 2!x x!x 3 Ersetzt mn zwei der don't cre Felder durch Einsen, so knn mn den zweiten Term vereinfchen: e =!x!x!x 2!x x Je mehr don't cres des git, desto stärkere Vereinfchungen sind möglich. Mn sollte die Funktion lso nicht unnötig einschränken. DST SS23 - Codes und KMAPs P. Fischer, TI, Uni Mnnheim, Seite 26

Minimierung nch Quine-McCluskey Für mehr ls 4 Eingngsvrile wird ds grfische Verfhren der KMAPs unüersichtlich. Ein Algorithmus zum Auffinden der einfchsten Summendrstellung mit Primtermen ist ds Quine- McCluskey Verfhren. Es unterteilt sich in 2 Schritte: - Auffinden ller Primterme - Bestimmung der minimlen Üerdeckung (Verwerfen von redundnten Primtermen) Auffinden ller Primterme:. Schritt: - Schreie die Binärdrstellung ller Einsen in die erste Splte einer Telle. Don't cres werden ls Eins gewertet! - Dei werden Gruppen von Termen mit keiner Eins, einer, zwei Einsen etc. geildet. 2. Schritt: - Für lle ufeinnderfolgenden Gruppenpre werden lle Elemente prweise verglichen. ( exp. Aufwnd!) - Wenn ein Elementepr sich nur in einer Stelle unterscheidet, existiert ein Term, der diese Stelle nicht enthält. - Alle solche Terme werden Gruppenweise in der Form - etc. in die nächste Splte notiert. - Die Terme in der ersten Splte, die eine Nchrschft ufweisen werden mit einem Hken ls nicht-prim mrkiert. Der 2. Schritt wird spltenweise wiederholt, is sich keine Pre mehr finden. Die '-' Zeichen müssen dei eim Vergleich n der gleichen Stelle sitzen. 3. Schritt: - Die Terme ohne Hken sind die Primterme. - In ihrer Menge werden mit einer Telle die zur Üerdeckung notwendigen Primterme gesucht. DST SS23 - Codes und KMAPs P. Fischer, TI, Uni Mnnheim, Seite 27

Quine McCluskey Telle F = Σm(4,5,6,8,9,,3)Σd(,7,5) Splte Splte2 Splte3 Splte4 x - - keine - - keine - -- - -- - keine - - -- - -- x 3 X X X x x 2 - - Ergenis: Die 7 Primterme sind -, -, -, -, -, --, -- DST SS23 - Codes und KMAPs P. Fischer, TI, Uni Mnnheim, Seite 28

Auffinden der Minimlen Üerdeckung Für F = Σm(4,5,6,8,9,,3)Σd(,7,5) wurden die Primterme -, -, -, -, -, --, -- gefunden Trge in einer Telle ein, welche Primterme welche Einsen der Funktion (d.h. Minterme) decken (keine don't cres!): Primterm Üerdeckte Minterme 4 5 6 8 9 3 Minterme von F -,4 X -,8 X - 8,9 X X Wesentliche Primterme - 8, X X - 9,3 X X -- 4,5,6,7 X X X -- 5,7,3,5 X X Die Wesentlichen Primterme sind diejenigen, die unedingt notwendig sind, weil ein Minterm nur von ihnen üerdeckt wird. Sie werden ufgesucht (hier für 6 und ) und lle Minterme usgestrichen, die dmit gedeckt sind. Die restlichen Minterme werden mit möglichst wenigen Primtermen üerdeckt. Im Beispiel reicht -. Ergenis: F = x 3!x 2!x x 3!x x!x 3 x 2 DST SS23 - Codes und KMAPs P. Fischer, TI, Uni Mnnheim, Seite 29

Schlußemerkungen Weitere Methoden zur Logikminimierung lernen wir später kennen. Die isherigen Verfhren führen uf Knonische Drstellungen, die z.b. für PALs interessnt sind. Für FPGAs, Stndrdzellen und Full-Custom Designs versucht mn, die ngeotenen Resourcen (z.b. uch gemischte Gtter) möglichst optiml zu nutzen. Mn nennt diesen Vorgng 'Technology Mpping' Es hndelt sich um komplizierte Optimierungsverfhren, die die logische Funktion mit den zur Verfügung stehenden Resourcen implementieren und dei z.b. die Chipfläche oder die Verzögerung minimieren. Will mn us N Eingngsvrilen M Ausgngsvrile erzeugen, so knn mn im Prinzip für jede der M Ausgänge ds Verfhren wiederholen. Mn knn jedoch viele Resourcen spren, wenn mn Zwischenterme ildet und diese weiterenutzt. Diese Multiple Output Minimiztion (MOM) ist wichtig. Sie wird evtl. später noch ehndelt. Triviles Beispiel: N=6, M=2, y = cde, y2 = cdf: e d c y f d c y2 d c x e x x f y y2 DST SS23 - Codes und KMAPs P. Fischer, TI, Uni Mnnheim, Seite 3