Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

RW-SystemarchitekturKap 1 (Zweistufige) Logiksynthese 1.4 PLAs und zweistufige Logiksynthese.

Ähnliche Präsentationen


Präsentation zum Thema: "RW-SystemarchitekturKap 1 (Zweistufige) Logiksynthese 1.4 PLAs und zweistufige Logiksynthese."—  Präsentation transkript:

1 RW-SystemarchitekturKap 1 (Zweistufige) Logiksynthese 1.4 PLAs und zweistufige Logiksynthese

2 RW-SystemarchitekturKap 1 Programmierbare Logische Felder (PLA) Zweistufige Darstellung zur Realisierung von Booleschen Polynomen f i = m i1 +m i m ik mit m iq aus {m 1,...,m s } Fläche: ~ (m+2n)x(Anzahl_der_benötigten_Monome) Enthält Monom m j k Lite- rale, so werden k Transis- toren in der entsprechen- den Zeile des AND-Feldes benötigt. Besteht die Beschreibung von Funktion f t aus p Mo- nomen, so benötigt man p Transistoren in der ent- sprechenden Spalte des OR-Feldes. Enthält Monom m j k Lite- rale, so werden k Transis- toren in der entsprechen- den Zeile des AND-Feldes benötigt. Besteht die Beschreibung von Funktion f t aus p Mo- nomen, so benötigt man p Transistoren in der ent- sprechenden Spalte des OR-Feldes. AND-Feld OR-Feld m1m1 mjmj msms m2m2 x1x1 x2x2 xnxn fmfm f1f1 f2f2 R1 R1 R1 R1 R1 R1 R1 R1 1 R 1 R 1 R 1 R 1 R 1 R

3 RW-SystemarchitekturKap 1 Kurzer Exkurs: MOS-Transistoren Einen Transistor kann man vereinfacht als spannungsgesteuerten Schalter sehen: Leitung g (gate) regelt Leitfähigkeit zwischen Quelle und Senke. n-Kanal-Transistor: Leitet, wenn am Gate eine 1 anliegt sperrt, wenn am Gate eine 0 anliegt p-Kanal-Transistor: Leitet, wenn am Gate eine 0 anliegt sperrt, wenn am Gate eine 1 anliegt

4 RW-SystemarchitekturKap 1 Programmierbare Logische Felder (PLA) R 1 1 verwenden n-Kanal-Transistoren als Schalter: liegt eine 1 am Gate, so wird die an der Quelle anliegende 1 auf 0 heruntergezogen. Um ein Konjunktion zu 0 auszuwerten muss auf der korrespondierenden Leitung mindestens ein Schalter geschaltet werden. x1x1 f1f1 1 R x 1 Wir nutzen die Gleicheit ( a b) = ( a b ) aus und realisieren wieder Konjunktionen und negieren das Ergebnis.

5 RW-SystemarchitekturKap 1 5 Programmierbare logische Felder Beispiel Beispiel f 1 = x 1 'x 2 '+x 2 'x 3 +x 1 x 2 f 2 = x 2 'x x 1 x 1 ' x 2 x 2 ' x 3 x 3 ' f 1 f 2 x1'x1' x 1 'x 2 ' x2'x2' x 2 'x 3 x1x1 x1x2x1x2

6 RW-SystemarchitekturKap 1 6 Programmierbare Logische Felder ff Beispiel Beispiel f 1 = x 1 'x 2 '+x 2 'x 3 +x 1 x 2 f 2 = x 2 'x 3 Bei Belegung von x 1 =1, x 2 =1, x 3 =1 liegt folgende Situation vor x 1 x 1 ' x 2 x 2 ' x 3 x 3 ' f 1 f 2

7 RW-SystemarchitekturKap x 1 x 1 ' x 2 x 2 ' x 3 x 3 ' f 1 f 2

8 RW-SystemarchitekturKap 1 8 Kosten von Monomen Sei q = q 1 ·...·q r ein Monom, dann sind die Kosten Kosten |q| von q gleich der Anzahl der zur Realisierung von q benötigten Transistoren im PLA, also |q| := r

9 RW-SystemarchitekturKap 1 9 Kosten von Polynomen Seien p 1,...,p m Polynome, dann bezeichne M(p 1,....,p m ) die Menge der in diesen Polynomen verwendeten Monome. primären Kosten Die primären Kosten cost 1 (p 1,...,p m ) einer Menge {p 1,...,p m } von Polynomen sind gleich der Anzahl der benötigten Zeilen im PLA, um p 1,...,p m zu realisieren, also cost 1 (p 1,...,p m ) = |M(p 1,...,p m )|. sekundären Kosten Die sekundären Kosten cost 2 (p 1,...,p m ) einer Menge {p 1,...,p m } von Polynomen sind gleich der Anzahl der benötigten Transistoren im PLA, also cost 2 (p 1,...,p m ) = q M(p 1,...,p m ) |q| + i=1,...,m |M(p i )| Sei im folgenden cost = (cost 1, cost 2 ) die Kostenfunktion mit der Eigenschaft, dass für zwei Polynommengen {p 1, …, p m } und {p 1 ´, …, p m ´} die Ungleichung cost(p 1, …, p m ) · cost(p 1 ´, …, p m ´) gilt, wenn entweder cost 1 (p 1, …, p m ) < cost 1 (p 1 ´, …, p m ´) oder cost 1 (p 1, …, p m ) = cost 1 (p 1 ´, …, p m ´) und cost 2 (p 1, …, p m ) · cost 2 (p 1 ´, …, p m ´)

10 RW-SystemarchitekturKap Modellierung durch Schaltkreise Idee: gerichteter Graph mit einigen zusätzlichen Eigenschaften

11 RW-SystemarchitekturKap 1 Modellierung durch Schaltkreise (1) Eine Zellenbibliothek BIB [ n 2 N B n enthält Basisoperationen, die den Grundgattern entsprechen. Ein 5-Tupel heißt Schaltkreis mit n Eingängen und m Ausgängen über der Zellenbibliothek BIB gdw. ist eine endliche Folge von Eingängen. Die Menge heißt Menge der Gatter. Die Abbildung typ : I ! BIB ordnet jedem Gatter v 2 I einen Zellentyp typ(v) 2 BIB zu. Für jedes Gatter v 2 I mit typ(v) 2 B k gilt indeg(v) = k. indeg(v) = 0 für … ist ein azyklischer, gerichteter Graph mit

12 RW-SystemarchitekturKap 1 Modellierung durch Schaltkreise (2) Die Abbildung legt für jedes Gatter v 2 I eine Reihenfolge der eingehenden Kanten fest, d.h. falls indeg(v) = k, dann ist mit Die Folge zeichnet Knoten y i 2 V als Ausgänge aus.

13 RW-SystemarchitekturKap 1 Beispiel X1X1 X2X2 X3X3 X4X4 X5X5 X6X6 X7X7 X8X8

14 RW-SystemarchitekturKap 1 Semantik von Schaltkreisen (1) Sei ein Schaltkreis über einer Zellenbibliothek BIB. Sei für = ( 1, …, n ) 2 {0, 1} n eine Eingangsbelegung gegeben durch in, (x i ) = i 8 1 i n. Eine Belegung SK, : V ! {0, 1} für alle Knoten v 2 V ist dann gegeben durch die folgenden Definitionen: SK, (x i ) = in, (x i ) = i 8 1 i n. SK, (0) = 0, SK, (1) = 1 falls v 2 I mit typ(v) = g 2 B k, IN(v) = (e 1, …, e k ), dann ist SK, (v) = g( SK, (Q(e 1 )), …, SK, (Q(e k ))). Warum ist das wohldefiniert? Weil G azyklisch!

15 RW-SystemarchitekturKap 1 Semantik von Schaltkreisen (2) ( SK, (y 1 ), …, SK, (y m )) ist dann die unter Eingangsbelegung = ( 1, …, n ) berechnete Ausgangsbelegung des Schaltkreises SK. Die Berechnung von SK, bei Eingangsbelegung heißt auch Simulation von SK für Belegung.

16 RW-SystemarchitekturKap 1 Beispiel: Semantik von Schaltkreisen

17 RW-SystemarchitekturKap 1 Semantik von Schaltkreisen (ff) Die an einem Knoten v berechnete Boolesche Funktion (v) : B n ! B ist definiert durch v SK v für ein beliebiges B n. Die durch den Schaltkreis berechnete Funktion ist f SK y 1 y m

18 RW-SystemarchitekturKap 1 Symbolische Simulation Symbolische Simulation benutzt zur Simulation eines Schaltkreises keine festen Booleschen Werte an den Inputs, sondern Boolesche Variablen. Es wird dann zu jedem Knoten die Boolesche Funktion bestimmt, die der Knoten berechnet, z.B. in Form eines Booleschen Ausdrucks.

19 RW-SystemarchitekturKap 1 Beispiel: Semantik von Schaltkreisen x1x1 x2x2 x3x3 x4x4 x5x5 x6x6 x7x7 x8x8 x2©x3x2©x3 x4¢x5x4¢x5 x6+x7x6+x7 (x 2 ©x 3 ©x 4 ¢x 5 )+x 1 x2©x3©x4¢x5x2©x3©x4¢x5 x 8 (x 6 + x 7 ) x8¢x4¢x5x8¢x4¢x5 x 8 ¢x 4 ¢x 5 +x 8 (x 6 + x 7 )

20 RW-SystemarchitekturKap 1 Kosten eines Schaltkreises Unter den (Hardware-)Kosten C(SK) eines Schaltkreises SK versteht man die Anzahl seiner Gatter Unter der Tiefe depth(SK) eines Schaltkreises SK versteht man die maximale Anzahl von Gattern auf einem Pfad von einem beliebigen Eingang x i zu einem beliebigen Ausgang y j von SK. depth(SK) ist ein Maß für die Geschwindigkeit des Schaltkreises. Bemerkung: Schaltkreise sind definiert auf Grundlage einer Zellenbibliothek BIB. ) Kosten hängen von der Wahl der Bibliothek ab. Tiefe ist nur dann ein sinnvolles Maß für die Geschwindigkeit des Schaltnetzes, wenn die Schaltgeschwindigkeit der einzelnen Gatter aus BIB nicht sehr verschieden ist. Wenn nichts anderes vereinbart, verwenden wir im folgenden die Standardbibliothek

21 RW-SystemarchitekturKap 1 Beispiel: Kosten und Tiefe von Schaltkreisen x1x1 x2x2 x3x3 x4x4 x5x5 x6x6 x7x7 x8x8 Kosten: 8 Tiefe: 3

22 RW-SystemarchitekturKap 1 Teilschaltkreise, hierarchischer Entwurf Illustration eines Teilschaltkreises: x1x1 x2x2 x3x3

23 RW-SystemarchitekturKap 1 Hierarchische Schaltkreise In hierarchischen Schaltkreisen sind Teilschaltkreise durch Symbole ersetzt. Den zugehörigen (flachen) Schaltkreis erhält man, indem man die Symbole durch Einsetzen der Teilschaltkreise wieder entfernt.

24 RW-SystemarchitekturKap 1 Illustration eines hierarchischen Schaltkreises EXOR x1x1 x2x2 x3x3

25 RW-SystemarchitekturKap 1 Satz Sei f B n,m. Dann gibt es einen Schaltkreis, der f berechnet. Beweis folgt.

26 RW-SystemarchitekturKap 1 Zu jedem Booleschen Ausdruck e BE(X n ) gibt es einen Schaltkreis so dass. Lemma Beweis: Induktion über die Struktur des BE.

27 RW-SystemarchitekturKap 1 Beweis zum Satz: 1.Fall: f B n. e BE(X n ), der f berechnet. aus vorigem Lemma folgt der Satz 2.Fall: f B n,m, m 2. Fasse f : B n B m als Folge von Funktionen (f 1,..., f m ) mit f i : B n B auf. Konstruiere für jedes f i einen SK, der f i berechnet. Setze zusammen. (siehe folgende Abb.)

28 RW-SystemarchitekturKap 1 Abbildung.... x 1 x 2... x n... f1f1 fnfn f2f2

29 RW-SystemarchitekturKap 1 Beispiel: Schaltkreise falls Anzahl der x i mit x i = 1 ungerade sonst Gesucht: Schaltkreisrealisierung für exor 16 Annahme: Wir haben exor 2 in unserer Zellenbibliothek. Beobachtungen: Man kann exor 16 als Komposition von © := exor 2 darstellen. © ist eine assoziative Operation! Gegeben: Funktion exor 16 2 B 16 mit

30 RW-SystemarchitekturKap 1 Beispiel: Schaltkreise Realisierung für exor 16 : Man sieht: 15 exor 2 -Gatter genügen zur Realisierung von exor 16. x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 x 10 x 11 x 12 x 13 x 14 x 15 x 16

31 RW-SystemarchitekturKap 1 Beispiel: Schaltkreise Frage: Wie groß ist das kleinste Boolesche Polynom für exor 16 ?

32 RW-SystemarchitekturKap 1 Schaltkreise mit geringer Tiefe Aufgabe: Realisiere die Funktion unter Verwendung von -Gattern mit 2 Eingängen mit möglichst geringer Tiefe. Lösung: Benutze Assoziativität von Balancierte Bäume

33 RW-SystemarchitekturKap 1 Beispiel zur Assoziativität x1x1 x4x4 x3x3 x2x2 x2x2 x1x1 x4x4 x3x3

34 RW-SystemarchitekturKap 1 Lemma Die Funktion kann unter Verwendung von -Gattern mit 2 Eingängen durch einen Schaltkreis der Tiefe log 2 (n) realisiert werden.

35 RW-SystemarchitekturKap 1 Fazit: BEs, Schaltkreise Definiert man die Kosten eines BEs durch die Zahl der Operationen, so folgt aus dem Beweis des Satzes, dass es zu jedem BE einen Schaltkreis gibt, dessen Kosten höchstens gleich groß sind. Durch Wiederverwendung von Teilschaltkreisen können die Kosten reduziert werden. Die Kosten einer Schaltkreisrealisierung für beliebiges f kann mit dem Satz durch n2 n - 1, die Tiefe durch n+ é log 2 (n) ù abgeschätzt werden.

36 RW-SystemarchitekturKap 1 Zusammenfassung, Ausblick Schaltkreise stellen Boolesche Funktionen dar. Optimale Boolesche Polynome können sehr viel größer sein als entsprechende Schaltkreise (exponentielle Unterschiede möglich!). Rechtfertigung des Einsatzes von Schaltkreisen statt PLAs Es gibt auch Algorithmen zur Berechnung optimaler (mehrstufiger) Schaltkreise Anspruchsvoller als Optimierung von Booleschen Polynomen Meist heuristisch (Näherungsverfahren)

37 RW-SystemarchitekturKap 1 Zusammenfassung, Ausblick Schaltkreise stellen Boolesche Funktionen dar. Optimale Boolesche Polynome können sehr viel größer sein als entsprechende Schaltkreise (exponentielle Unterschiede möglich!). Rechtfertigung des Einsatzes von Schaltkreisen statt PLAs Es gibt auch Algorithmen zur Berechnung optimaler (mehrstufiger) Schaltkreise Anspruchsvoller als Optimierung von Booleschen Polynomen Meist heuristisch (Näherungsverfahren) Ausfaktorisieren Boolescher Polynome Dekomposition Nicht Gegenstand dieser Vorlesung Hier: Schaltkreise für spezielle Funktionen, insbesondere Arithmetik


Herunterladen ppt "RW-SystemarchitekturKap 1 (Zweistufige) Logiksynthese 1.4 PLAs und zweistufige Logiksynthese."

Ähnliche Präsentationen


Google-Anzeigen