Rechnerstrukturen, Teil 1

Ähnliche Dokumente
Rechnerstrukturen, Teil 1. Vorlesung 4 SWS WS 14/15

Rechnerstrukturen WS 2013/14

Rechnerstrukturen WS 2012/13

Rechnerstrukturen. Michael Engel und Peter Marwedel. Sommer TU Dortmund, Fakultät für Informatik

Rechnerstrukturen. Michael Engel und Peter Marwedel SS TU Dortmund, Fakultät für Informatik

Kapitel 6 Programmierbare Logik. Literatur: Kapitel 6 aus Oberschelp/Vossen, Rechneraufbau und Rechnerstrukturen, 9. Auflage

Hardware Programmierbare Logik

Rechnerstrukturen, Teil 1. Vorlesung 4 SWS WS 14/15

F Programmierbare Logikbausteine

F Programmierbare Logikbausteine

Rechnerstrukturen, Teil 1. Vorlesung 4 SWS WS 14/15

Rechnerstrukturen, Teil 1

Teil 1: Digitale Logik

Rechnerstrukturen. Michael Engel und Peter Marwedel SS TU Dortmund, Fakultät für Informatik

F. Technologische Grundlagen

Ab 5.11.: Vorlesung im HSG H.001

Rechnerstrukturen, Teil 1

Teil V. Programmierbare Logische Arrays (PLAs)

Teil 1: Digitale Logik

D. Programmierbare Logik

FPGA Field Programmable Gate Array im Unterschied zu anderen PLD-Architekturen.

DuE-Tutorien 4 und 6. Tutorien zur Vorlesung Digitaltechnik und Entwurfsverfahren Christian A. Mandery. WOCHE 8 AM

Boolesche Algebra (1)

ASIC Application-Specific Integrated Circuit

Boolesche (Schalt-) Algebra (8)

DuE-Tutorien 17 und 18

Rechnerstrukturen, Teil 1. Vorlesung 4 SWS WS 15/16

Rechnerstrukturen, Teil 1. Vorlesung 4 SWS WS 15/16

Digital Design 2 Schaltnetze (kombinatorische Logik) Digital Design

Klausur-Nachbesprechung

Minimalpolynome und Implikanten

Rechnerstrukturen, Teil 1. Vorlesung 4 SWS WS 14/15

Teil 1: Digitale Logik

Rechnerstrukturen. Michael Engel und Peter Marwedel WS 2013/14. TU Dortmund, Fakultät für Informatik

Programmierbare Logik mit GAL und CPLD. Einführung in die Schaltungsentwicklung mit Logikbausteinen in ISP-Technologie von Christian Ellwein

Aufgabe 1 Minimieren Sie mit den Gesetzen der Booleschen Algebra 1.1 f a ab ab 1 = + + Aufgabe 2. Aufgabe 3

Teil III. Schaltnetze und ihre Optimierung

Technische Informatik (RO)

13 Programmierbare Speicher- und Logikbausteine

Rechnerorganisation 5. Vorlesung

Rechnerorganisation. H.-D. Wuttke `

Lösung 2.1 PROM - Dual-zu-Siebensegmentdecoder

Kapitel 3 - PLA und Flip-Flops

Rechnerstrukturen. Michael Engel und Peter Marwedel. TU Dortmund, Fakultät für Informatik SS 2013

Programmierbare Logik CPLDs. Studienprojekt B Tammo van Lessen

FPGA. Field Programmable Gate Array

Rechnerorganisation. (10,11) Informationskodierung (12,13,14) TECHNISCHE UNIVERSITÄT ILMENAU. IHS, H.- D. Wuttke 08

Auswertung. Hinweise. Einführung in die Technische Informatik WS 2006/2007 Probeklausur. Aachen, 02. November 2006 SWS: V2/Ü2, ECTS: 4

Technische Grundlagen der Informatik

Eingebettete Systeme

Prüfungsklausur 1608/1609 SS 2013 Aufgabenteil 1608

Teil 1: Digitale Logik

Digitaltechnik II SS 2007

Rechnerstrukturen WS 2012/13

Rechnerstrukturen. Michael Engel und Peter Marwedel WS 2013/14. TU Dortmund, Fakultät für Informatik

Rechnerorganisation 5. Vorlesung

Rechnerstrukturen WS 2012/13

Rechnerstrukturen WS 2012/13

Rechnerorganisation 5. Vorlesung

Grundlagen der Informationsverarbeitung:

Technische Grundlagen der Informatik

Rechnerstrukturen. Michael Engel und Peter Marwedel SS TU Dortmund, Fakultät für Informatik

Rechnerstrukturen. Michael Engel und Peter Marwedel. Sommer TU Dortmund, Fakultät für Informatik

Rechnerstrukturen. Michael Engel und Peter Marwedel SS TU Dortmund, Fakultät für Informatik

, SS2012 Übungsgruppen: Do., Mi.,

Klausur ( ): Technische Grundlagen der Informatik 1 Digitale Systeme WS 2006/2007

Satz von De Morgan A B A + B A + B A B A. Transistoren: A B U a A 0 0 Vcc Vcc Vcc V 0

Technische Informatik (RO)

Grundstruktur von Schaltwerken

ASIC. Application-Specific Integrated Circuit. Technische Informatik K. Slotala

5 Zusammengesetzte und reguläre Schaltungsstrukturen

Übungsblatt 5 (Block B - 1) (17 Punkte)

Rechnerstrukturen, Teil 1. Vorlesung 4 SWS WS 14/15

Rechnerstrukturen WS 2012/13

3 Verarbeitung und Speicherung elementarer Daten

Rechnerstrukturen WS 2012/13

Digitalelektronik - Inhalt

Lehrveranstaltung: Digitale Systeme. KS-Praktikums-Vorbereitung Dipl.-Inf. Markus Appel , , ,

Inhaltsverzeichnis. 1 Einleitung 1

Grundlagen der Informationsverarbeitung:

Outline Automaten FSM Synthesis FSM in VHDL FSM auf FPGA. State Machines. Marc Reichenbach und Michael Schmidt

Störungen in Digitalsystemen

Rechnerstrukturen Winter WICHTIGE SCHALTNETZE. (c) Peter Sturm, University of Trier 1

Martin V. Künzli Marcel Meli. Vom Gatter zu VHDL. Eine Einführung in die Digitaltechnik. : iasms!wil5i-8sb*l!f. 3. Auflage. zh aw

Darstellung von negativen binären Zahlen

Inhaltsverzeichnis. 1 Boolesche Algebra, Schaltalgebra - Begriffsbestimmung 1. 2 Operationssystem der Schaltalgebra 4. 3 Boolesche Funktionen 6

Digitaltechnik II SS 2007

N Bit binäre Zahlen (signed)

03 Boolesche Algebra. Technische Grundlagen der Informatik

Technische Informatik I

Grundlagen der Technischen Informatik. 9. Übung

Grundlagen der Digitaltechnik GD. Aufgaben

6. Minimierung Boolescher Polynome

Klausur ( ) : Technische Grundlagen der Informatik 1 Digitale Systeme WS 2010/2011

Informationsverarbeitung auf Bitebene

2.4. Das Karnaugh Veitch Diagramm ( KV Diagramm )

Transkript:

Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 18/19 Prof. Dr. Jian- Jia Chen Fakultät für Informatik Technische Universität Dortmund jian- jia.chen@cs.uni-.de http://ls12- www.cs.tu-.de

Übersicht 1. Organisatorisches 2. Einleitung 3. Repräsentation von Daten 4. Boolesche Funktionen und Schaltnetze 5. Rechnerarithmetik 6. Optimierung von Schaltnetzen 7. Programmierbare Bausteine 8. Synchrone Schaltwerke - 2 -

7. Programmierbare Bausteine 7. Programmierbare Bausteine 1. Einleitung 2. Grundbausteine 3. Realisierung von Monomen und Polynomen 4. PLA als Speicher 5. Software PLAs - 3 -

7.1 Einleitung Realisierung von Schaltnetzen Gedanken zur Anwendung 1. Problem 2. boolesche Funktion 3. Schaltnetz- Entwurf 4. Schaltnetz- Realisierung Realisierungen hoch- integrierte Schaltung teuer Lohnt sich nur bei großen Stückzahlen. direkte Umsetzung mit Gattern umständlich - 4 -

7.1 Einleitung Realisierung mit Gattern - 5 -

7.1 Einleitung Realisierung mit Gattern Quelle: en.wikibooks.org/wiki/microprocessor_design/alu, Autor: Poil - 6 -

7.1 Einleitung Realisierung mit Gattern - 7 -

7.1 Einleitung Alternative Realisierung durch massenhaft produzierte darum preisgünstige nach der Fertigstellung in ihrer Funktion noch beeinflussbare funktional vollständige also universelle Standardbausteine Programmable Logic Array (PLA) Varianten PAL, PROM, FPGA,... (zum Teil eingeschränkte Funktionalität) - 8 -

7.1 Einleitung Programmable Logic Array (PLA) Datenblatt von Lattice - 9 -

7. Programmierbare Bausteine 7. Programmierbare Bausteine 1. Einleitung 2. Grundbausteine 3. Realisierung von Monomen und Polynomen 4. PLA als Speicher 5. Software PLAs - 10 -

7.2 Grundbausteine PLA Grundbausteine Name Typ f 1 x, y f 2 x, y Identer 0 y x Addierer 1 x y x Multiplizierer 2 y x y Negat- Multiplizierer 3 y x y Funktional vollständig? - 11 -

7.2 Grundbausteine PLA Grundbausteine Name Typ f 1 x, y f 2 x,y Identer 0 y x Addierer 1 x y x Multiplizierer 2 y x y Negat- Multiplizierer 3 y x y Funktional vollständig! UND- Verknüpfung: Typ 2, f - x, y = x y ODER- Verknüpfung: Typ 1, f 0 x, y = x y Negation: Typ 3, f - 1, y = 1 y = y - 12 -

7.2 Grundbausteine Aufbau eines PLA - 13 -

7.2 Grundbausteine PLA für f : {0, 1} 3 {0, 1} Wie wählt man die Bausteintypen? - 14 -

7. Programmierbare Bausteine 7. Programmierbare Bausteine 1. Einleitung 2. Grundbausteine 3. Realisierung von Monomen und Polynomen 4. PLA als Speicher 5. Software PLAs - 15 -

7.3 Realisierung von Monomen und Polynomen Auswahl der Bausteine Feststellung Erinnerung jede Funktion als Polynom darstellbar Polynom = Disjunktion einiger Monome Erster Schritt Wie realisieren wir Monome? exemplarisch am Beispiel x 1 x5 2 x 4-16 -

7.3 Realisierung von Monomen und Polynomen Realisierung von Monomen Beispiel: Monom x 1 x5 2 x 4 1 Name Typ f r o, l f u o,l Identer 0 l o Addierer 1 l o o Multiplizierer 2 l o l Negat- Multiplizierer 3 l o l x 1 x 2 x 3 x 4-17 -

7.3 Realisierung von Monomen und Polynomen Realisierung von Monomen Beispiel: Monom x 1 x5 2 x 4 1 2 x 1 x 1 Name Typ f r o, l f u o,l Identer 0 l o Addierer 1 l o o Multiplizierer 2 l o l Negat- Multiplizierer 3 l o l x 2 1 x 1 = x 1 x 3 x 4-18 -

7.3 Realisierung von Monomen und Polynomen Realisierung von Monomen Beispiel: Monom x 1 x5 2 x 4 1 2 x 1 x 1 Name Typ f r o, l f u o,l Identer 0 l o Addierer 1 l o o Multiplizierer 2 l o l Negat- Multiplizierer 3 l o l 3 1 x 1 = x 1 x 2 x 2 x 1 x 2 = x 1 x 2 x 3 x 4-19 -

7.3 Realisierung von Monomen und Polynomen Realisierung von Monomen Beispiel: Monom x 1 x5 2 x 4 1 2 x 1 x 1 Name Typ f r o, l f u o,l Identer 0 l o Addierer 1 l o o Multiplizierer 2 l o l Negat- Multiplizierer 3 l o l 3 1 x 1 = x 1 x 2 x 2 0 x 1 x 2 = x 1 x 2 x 3 x 3 x 1 x 2 x 4-20 -

7.3 Realisierung von Monomen und Polynomen Realisierung von Monomen Beispiel: Monom x 1 x5 2 x 4 1 2 x 1 x 1 Name Typ f r o, l f u o,l Identer 0 l o Addierer 1 l o o Multiplizierer 2 l o l Negat- Multiplizierer 3 l o l 3 1 x 1 = x 1 x 2 x 2 0 x 1 x 2 = x 1 x 2 x 3 x 3 x 1 x 2 x 4 2 x 4 x 1 x 2 x 4 = x 1 x 2 x 4-21 -

7.3 Realisierung von Monomen und Polynomen Realisierung von Monomen Beispiel: Monom x 1 x5 2 x 4 1 2 x 1 x 1 Name Typ f r o, l f u o,l Identer 0 l o Addierer 1 l o o Multiplizierer 2 l o l Negat- Multiplizierer 3 l o l 3 1 x 1 = x 1 x 2 x 2 Monomrealisierung 0 x 1 x 2 = x 1 x 2 x 3 x 3 x 1 x 2 x 4 2 x 4 falls Variable fehlt Typ 0 falls x i vorkommt Typ 2 falls x5 i vorkommt Typ 3 x 1 x 2 x 4 = x 1 x 2 x 4-22 -

7.3 Realisierung von Monomen und Polynomen Realisierung von Polynomen Beobachtung für f : {0, 1} > {0, 1} k verschiedene Monome m 1, m 2,..., m k in n Zeilen und k Spalten realisierbar Wie können wir f realisieren, z.b. f = m 1 m 2 m 4? - 23 -

7.3 Realisierung von Monomen und Polynomen Realisierung von Polynomen Beispiel: Polynom f = m 1 m 2 m 4 Name Typ f r o, l f u o,l Identer 0 l o Addierer 1 l o o Multiplizierer 2 l o l Negat- Multiplizierer 3 l o l m 1 m 2 m 3 m 4 0-24 -

7.3 Realisierung von Monomen und Polynomen Realisierung von Polynomen Beispiel: Polynom f = m 1 m 2 m 4 Name Typ f r o, l f u o,l Identer 0 l o Addierer 1 l o o Multiplizierer 2 l o l Negat- Multiplizierer 3 l o l m 1 m 2 m 3 m 4 0 1 0 m 0 = m 0-25 -

7.3 Realisierung von Monomen und Polynomen Realisierung von Polynomen Beispiel: Polynom f = m 1 m 2 m 4 Name Typ f r o, l f u o,l Identer 0 l o Addierer 1 l o o Multiplizierer 2 l o l Negat- Multiplizierer 3 l o l m 1 m 2 m 3 m 4 0 1 1 m 0 m 0 m - - 26 -

7.3 Realisierung von Monomen und Polynomen Realisierung von Polynomen Beispiel: Polynom f = m 1 m 2 m 4 Name Typ f r o, l f u o,l Identer 0 l o Addierer 1 l o o Multiplizierer 2 l o l Negat- Multiplizierer 3 l o l m 1 m 2 m 3 m 4 0 1 1 0 m 0 m 0 m - m 0 m - - 27 -

7.3 Realisierung von Monomen und Polynomen Realisierung von Polynomen Beispiel: Polynom f = m 1 m 2 m 4 Name Typ f r o, l f u o,l Identer 0 l o Addierer 1 l o o Multiplizierer 2 l o l Negat- Multiplizierer 3 l o l m 1 m 2 m 3 m 4 0 1 1 0 1 m 0 m 0 m - m 0 m - m 0 m - m A - 28 -

7.3 Realisierung von Monomen und Polynomen Realisierung von Polynomen Beispiel: Polynom f = m 1 m 2 m 4 Name Typ f r o, l f u o,l Identer 0 l o Addierer 1 l o o Multiplizierer 2 l o l Negat- Multiplizierer 3 l o l m 1 m 2 m 3 m 4 0 1 1 0 1 m 0 m 0 m - m 0 m - m 0 m - m A Warum ein Grundbaustein für das Weglassen eines Monoms? - 29 -

7.3 Realisierung von Monomen und Polynomen Realisierung von Polynomen Beispiel: Polynom f = m 1 m 2 m 4 Name Typ f r o, l f u o,l Identer 0 l o Addierer 1 l o o Multiplizierer 2 l o l Negat- Multiplizierer 3 l o l m 1 m 2 m 3 m 4 0 1 1 0 1 m 0 m 0 m - m 0 m - m 0 m - m A m 1 m 2 m 3 m 4 Warum ein Grundbaustein für das Weglassen eines Monoms? - 30 -

7.3 Realisierung von Monomen und Polynomen PLA: ein konkretes Beispiel - 31 -

7.3 Realisierung von Monomen und Polynomen PLA: ein konkretes Beispiel - 32 -

7.3 Realisierung von Monomen und Polynomen Realisierung von Polynomen Beobachtung 1 für f : {0, 1} > {0, 1} k verschiedene Monome m 1, m 2,..., m k in n+1 Zeilen und k Spalten realisierbar Beobachtung 2 Wir können jede Funktion f : {0, 1} > {0, 1} B, für deren Polynom insgesamt k Implikanten ausreichen, mit einem PLA mit n + m Zeilen und k Spalten realisieren. - 33 -

7. Programmierbare Bausteine 7. Programmierbare Bausteine 1. Einleitung 2. Grundbausteine 3. Realisierung von Monomen und Polynomen 4. PLA als Speicher 5. Software PLAs - 34 -

7.4 PLA als Speicher PLA als ROM Aufgabe: Speichere 2 > Wörter der Länge m. w 0 = w 0,0 w 0,1 w 0,2 w 0,m 1 {0, 1} B w 1 = w 1,0 w 1,1 w 1,2 w 1,m 1 {0, 1} B w 2 = w 2,0 w 2,1 w 2,2 w 2,m 1 {0, 1} B w 2 n 1 = w 2 n 1,0 w 2 n 1,1 w 2 n 1,2 w 2 n 1,m 1 {0, 1} B Benutze Beobachtung Adressierung PLA mit n + m Zeilen, 2 > Spalten m 2 > Zellen für m 2 > zu speichernde Bits mindestens erforderlich mit jeweils n Bits in n zusätzlichen Zeilen - 35 -

7.4 PLA als Speicher Beispiel n = 3, m = 6 2 D = 8 Wörter jeweils 6 Bits - 36 -

7.4 PLA als Speicher Beispiel n = 3, m = 6 2 D = 8 Wörter jeweils 6 Bits - 37 -

7.4 PLA als Speicher Beispiel n = 3, m = 6 2 D = 8 Wörter jeweils 6 Bits Beispiel lies w 5-38 -

7.4 PLA als Speicher Beispiel n = 3, m = 6 2 D = 8 Wörter jeweils 6 Bits Beispiel lies w 5 5 = (101) 2 x 2 = 1 x 1 = 0 x 0 = 1-39 -

7.4 PLA als Speicher Beispiel n = 3, m = 6 2 D = 8 Wörter jeweils 6 Bits Beispiel lies w 5 5 = (101) 2 x 2 = 1 x 1 = 0 x 0 = 1-40 -

7.4 PLA als Speicher Beispiel n = 3, m = 6 2 D = 8 Wörter jeweils 6 Bits Beispiel lies w 5 5 = (101) 2 x 2 = 1 x 1 = 0 x 0 = 1-41 -

7.4 PLA als Speicher Beispiel n = 3, m = 6 2 D = 8 Wörter jeweils 6 Bits Beispiel lies w 5 5 = (101) 2 x 2 = 1 x 1 = 0 x 0 = 1-42 -

7.4 PLA als Speicher Beispiel n = 3, m = 6 2 D = 8 Wörter jeweils 6 Bits Beispiel lies w 5 : 5 = (101) 2 x 2 = 1 x 1 = 0 x 0 = 1 Anmerkung PLAs mit festem UND- Teil werden als PROM verkauft. - 43 -

7.4 PLA als Speicher Zwischen- Fazit PLAs PLAs sind preiswerte, universelle Bausteine, die beliebige boolesche Funktionen leicht realisierbar machen, Minimalpolynomdarstellungen motivieren, Speicherung von 2 > Wörtern der Länge m in einem (n + m) 2 > - PLA erlauben. Nachteil nur einmal programmierbar Wie kann man PLAs beliebig neu programmierbar machen? - 44 -

7. Programmierbare Bausteine 7. Programmierbare Bausteine 1. Einleitung 2. Grundbausteine 3. Realisierung von Monomen und Polynomen 4. PLA als Speicher 5. Software PLAs - 45 -

7.5 Software PLAs Software- PLAs Beobachtung vier verschiedene Typen, mit zwei Bits codierbar Idee erweitere PLA- Baustein um zwei zusätzliche Eingaben, die den Baustein- Typ codieren - 46 -

7.5 Software PLAs Software- PLAs Beobachtung vier verschiedene Typen, mit zwei Bits codierbar Idee erweitere PLA- Baustein um zwei zusätzliche Eingaben, die den Baustein- Typ codieren Lösung f 1 und f 2 als Funktionen von (s, t, x, y) darstellen f 1 (s, t, x, y) = y s t x f 2 (s, t, x, y) = s x t xy txym - 47 -

7.5 Software PLAs Darstellung von f 1 und f 2 als Funktionen Vorgehensweise Typ f 1 x,y f 2 x, y 0 y x 1 x y x 2 y x y 3 y x y - 48 -

7.5 Software PLAs Darstellung von f 1 und f 2 als Funktionen Vorgehensweise 1. Nachdenken über Kodierungen 2. Funktionstabelle 3. KV- Diagramm erstellen 4. KV- Diagramm bearbeiten 5. Primimplikanten aufstellen 6. Minimale Überdeckung finden 7. Schaltung realisieren Typ f 1 x,y f 2 x, y 0 y x 1 x y x 2 y x y 3 y x y - 49 -

7.5 Software PLAs Darstellung von f 1 und f 2 als Funktionen 1. Nachdenken über Kodierungen Typ f 1 x,y f 2 x, y 0 y x 1 x y x 2 y x y 3 y x y - 50 -

7.5 Software PLAs Darstellung von f 1 und f 2 als Funktionen 1. Nachdenken über Kodierungen Typ f 1 x,y f 2 x, y 0 y x 1 x y x 2 y x y 3 y x y Wir betrachten beide Funktionen getrennt 4 unterschiedliche Funktionen Kodierung der Funktion mittels zwei Bits (s, t) jede Funktion hat zusätzlich zwei Eingangsvariablen (x, y) f 1 und f 2 haben dann jeweils 4 Eingangsvariablen (s, t, x, y) f 1 und f 2 haben dann jeweils 1 Ausgangsvariable - 51 -

7.5 Software PLAs Darstellung von f 1 und f 2 als Funktionen Vorgehensweise 1. Nachdenken über Kodierungen 2. Funktionstabelle 3. KV- Diagramm erstellen 4. KV- Diagramm bearbeiten 5. Primimplikanten aufstellen 6. Minimale Überdeckung finden 7. Schaltung realisieren Typ f 1 x,y f 2 x, y 0 y x 1 x y x 2 y x y 3 y x y - 52 -

7.5 Software PLAs Darstellung von f 1 und f 2 als Funktionen 2. Funktionstabelle Typ f 1 x,y f 2 x, y 0 y x 1 x y x 2 y x y 3 y x y s t x y f 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 s t x y f 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-53 -

7.5 Software PLAs Darstellung von f 1 und f 2 als Funktionen Vorgehensweise 1. Nachdenken über Kodierungen 2. Funktionstabelle 3. KV- Diagramm erstellen 4. KV- Diagramm bearbeiten 5. Primimplikanten aufstellen 6. Minimale Überdeckung finden 7. Schaltung realisieren Typ f 1 x,y f 2 x, y 0 y x 1 x y x 2 y x y 3 y x y - 54 -

7.5 Software PLAs Darstellung von f 1 und f 2 als Funktionen 3. KV- Diagramm erstellen (1. Hälfte) Typ f 1 x,y f 2 x, y 0 y x 1 x y x 2 y x y 3 y x y s t x y f 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 1 1 0 1 1 0 1 0 1 1 1 1-55 -

7.5 Software PLAs Darstellung von f 1 und f 2 als Funktionen 3. KV- Diagramm erstellen (1. Hälfte) Typ f 1 x,y f 2 x, y 0 y x 1 x y x 2 y x y 3 y x y x y 00 01 11 10 s t 00 01 11 10 s t x y f 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 1 1 0 1 1 0 1 0 1 1 1 1-56 -

7.5 Software PLAs Darstellung von f 1 und f 2 als Funktionen 3. KV- Diagramm erstellen (2. Hälfte) Typ f 1 x,y f 2 x, y 0 y x 1 x y x 2 y x y 3 y x y x y s t 00 01 11 10 00 0 0 01 1 1 11 1 1 10 0 1 s t x y f 1 1 0 0 0 0 1 0 0 1 1 1 0 1 0 0 1 0 1 1 1 1 1 0 0 0 1 1 0 1 1 1 1 1 0 0 1 1 1 1 1-57 -

7.5 Software PLAs Darstellung von f 1 und f 2 als Funktionen 3. KV- Diagramm erstellen (2. Hälfte) Typ f 1 x,y f 2 x, y 0 y x 1 x y x 2 y x y 3 y x y x y s t 00 01 11 10 00 0 0 0 0 01 1 1 1 1 11 1 1 1 1 10 0 1 0 0 s t x y f 1 1 0 0 0 0 1 0 0 1 1 1 0 1 0 0 1 0 1 1 1 1 1 0 0 0 1 1 0 1 1 1 1 1 0 0 1 1 1 1 1-58 -

7.5 Software PLAs Darstellung von f 1 und f 2 als Funktionen Vorgehensweise 1. Nachdenken über Kodierungen 2. Funktionstabelle 3. KV- Diagramm erstellen 4. KV- Diagramm bearbeiten 5. Primimplikanten aufstellen 6. Minimale Überdeckung finden 7. Schaltung realisieren Typ f 1 x,y f 2 x, y 0 y x 1 x y x 2 y x y 3 y x y - 59 -

7.5 Software PLAs Darstellung von f 1 und f 2 als Funktionen 4. KV- Diagramm bearbeiten Typ f 1 x,y f 2 x, y 0 y x 1 x y x 2 y x y 3 y x y x y s t 00 01 11 10 00 0 0 0 0 01 1 1 1 1 11 1 1 1 1 10 0 1 0 0-60 -

7.5 Software PLAs Darstellung von f 1 und f 2 als Funktionen 4. KV- Diagramm bearbeiten Typ f 1 x,y f 2 x, y 0 y x 1 x y x 2 y x y 3 y x y x y s t 00 01 11 10 00 0 0 0 0 01 1 1 1 1 11 1 1 1 1 10 0 1 0 0-61 -

7.5 Software PLAs Darstellung von f 1 und f 2 als Funktionen Vorgehensweise 1. Nachdenken über Kodierungen 2. Funktionstabelle 3. KV- Diagramm erstellen 4. KV- Diagramm bearbeiten 5. Primimplikanten aufstellen 6. Minimale Überdeckung finden 7. Schaltung realisieren Typ f 1 x,y f 2 x, y 0 y x 1 x y x 2 y x y 3 y x y - 62 -

7.5 Software PLAs Darstellung von f 1 und f 2 als Funktionen 5. Primimplikanten aufstellen Typ f 1 x,y f 2 x, y 0 y x 1 x y x 2 y x y 3 y x y x y s t 00 01 11 10 00 0 0 0 0 01 1 1 1 1 11 1 1 1 1 10 0 1 0 0-63 -

7.5 Software PLAs Darstellung von f 1 und f 2 als Funktionen 5. Primimplikanten aufstellen Typ f 1 x,y f 2 x, y 0 y x 1 x y x 2 y x y 3 y x y x y s t 00 01 11 10 00 0 0 0 0 01 1 1 1 1 11 1 1 1 1 10 0 1 0 0 y stx - 64 -

7.5 Software PLAs Darstellung von f 1 und f 2 als Funktionen Vorgehensweise 1. Nachdenken über Kodierungen 2. Funktionstabelle 3. KV- Diagramm erstellen 4. KV- Diagramm bearbeiten 5. Primimplikanten aufstellen 6. Minimale Überdeckung finden 7. Schaltung realisieren Typ f 1 x,y f 2 x, y 0 y x 1 x y x 2 y x y 3 y x y - 65 -

7.5 Software PLAs Darstellung von f 1 und f 2 als Funktionen 6. Minimale Überdeckung finden Typ f 1 x,y f 2 x, y 0 y x 1 x y x 2 y x y 3 y x y s t 00 01 11 10 x y 00 0 0 0 0 01 1 1 1 1 11 1 1 1 1 10 0 1 0 0 y stx minimale Überdeckung f 1 s, t, x, y = y stx - 66 -

7.5 Software PLAs Darstellung von f 1 und f 2 als Funktionen Vorgehensweise 1. Nachdenken über Kodierungen 2. Funktionstabelle 3. KV- Diagramm erstellen 4. KV- Diagramm bearbeiten 5. Primimplikanten aufstellen 6. Minimale Überdeckung finden 7. Schaltung realisieren Typ f 1 x,y f 2 x, y 0 y x 1 x y x 2 y x y 3 y x y - 67 -

7.5 Software PLAs Darstellung von f 1 und f 2 als Funktionen 7. Schaltung realisieren Typ f 1 x,y f 2 x, y 0 y x 1 x y x 2 y x y 3 y x y f 1 s, t, x, y = y stx s 1 t x y & >1 f 1-68 -

7.5 Software PLAs Darstellung von f 1 und f 2 als Funktionen Vorgehensweise analog für f2 1. Nachdenken über Kodierungen 2. Funktionstabelle 3. KV- Diagramm erstellen 4. KV- Diagramm bearbeiten 5. Primimplikanten aufstellen 6. Minimale Überdeckung finden 7. Schaltung realisieren Typ f 1 x,y f 2 x, y 0 y x 1 x y x 2 y x y 3 y x y - 69 -

7.5 Software PLAs Software- PLAs Bemerkung zum Einsatz Beobachtung für ein n m- PLA werden zur Programmierung 2nm Bits gebraucht. Man kann diese 2nm Bits gut in einem PROM speichern. Fazit einfache und günstige Realisierung von booleschen Funktionen besonders geeignet für kleine Stückzahlen besonders geeignet bei nur temporärem Gebrauch - 70 -

7.5 Software PLAs Varianten von PLAs PAL (Programmable Array Logic) PLA nur UND- Array ist programmierbar einmal programmierbar GAL (Generic Array Logic) PLA nur UND- Array ist programmierbar löschbar (UV- Licht oder elektrisch) CPLD (Complex Programmable Logic Device) programmierbare AND/OR- Matrix programmierbare Rückkopplung Ein- /Ausgabeblöcke aus Registern FPGA (Field Programmable Gate Array) ähnlich CPLD, aber beliebige Funktion im Grundbaustein realisierbar - 71 -

7. Programmierbare Bausteine 7. Programmierbare Bausteine 1. Einleitung 2. Grundbausteine 3. Realisierung von Monomen und Polynomen 4. PLA als Speicher 5. Software PLAs - 72 -