Effiziente Bibliotheken für FPGA-Resynthese- Algorithmen · Bibliotheken für das...

Post on 01-Apr-2019

231 views 0 download

Transcript of Effiziente Bibliotheken für FPGA-Resynthese- Algorithmen · Bibliotheken für das...

Fakultät Informatik, Institut für Technische Informatik, Professur für VLSI-Entwurfssysteme, Diagnostik und Architektur

Dresden, 23.01.2013

Effiziente Bibliotheken für FPGA-Resynthese-Algorithmen

Basierend auf:

Kennings, Mishchenko, Vorwerk, Pevzner. Generating Efficient Libraries for use in FPGA Resynthesis Algorithms

Matthias Fetzer

Bibliotheken für das Resynthetisieren von FPGA-Schaltungen Folie Nr. 2 von 19

Gliederung

1. Einführung

2. Hintergrund

3. Funktionsabdeckung

4. Bibliotheken 1. Erzeugung

2. Einsatz bei der Resynthese

5. Ergebnisse

6. Zusammenfassung

7. Quellen

23.01.2013

Bibliotheken für das Resynthetisieren von FPGA-Schaltungen Folie Nr. 3 von 19

Einführung

Ziel:

Optimierung von technology-mapped und post-placement Netzwerken bezüglich Fläche, Verzögerung und/oder Verlustleistung

23.01.2013

Bibliotheken für das Resynthetisieren von FPGA-Schaltungen Folie Nr. 4 von 19

Einführung

-Matching von Logikfunktionen auf K-LUT-Struktur (meist 2<K<7 in aktuellen FPGAs)

- Sinnvoll für Funktionen mit 9-12 Eingängen

-2 Arten: - LUT-Struktur gegeben Kann die gegebene

Logikfunktion implementiert werden? - Logikfunktion gegeben Wie sieht eine LUT-

Struktur dafür aus?

23.01.2013

Alle Grafiken und Tabellen, sofern nicht anders gekennzeichnet aus [1].

Bibliotheken für das Resynthetisieren von FPGA-Schaltungen Folie Nr. 5 von 19

Hintergrund

-Vorhandene Matching-Strategien: - Strukturbasiert - SAT-basiert - Klassenbasiert - Zerlegungsbasiert

-Hier Kombination: - Zerlegung von Logikfunktionen um eine

klassenbasierte Bibliothek zu erstellen

23.01.2013

Bibliotheken für das Resynthetisieren von FPGA-Schaltungen Folie Nr. 6 von 19

Funktionsabdeckung

Problem:

Für eine vollständige Bibliothek müssten alle möglichen Logikfuntionen enumeriert und gespeichert werden.

23.01.2013

Anzahl der Eingänge

Anzahl möglicher binärer Funktionen

2 16

4 65536

9 > 10^154

n 2^(2^n)

[2]

Bibliotheken für das Resynthetisieren von FPGA-Schaltungen Folie Nr. 7 von 19

Funktionsabdeckung

Lösung:

Nicht alle Logikfunktionen kommen in der Praxis vor Beschränkung auf wenige NPN-

Klassen.

23.01.2013

NPN-Klassen: 2 Funktionen sind NPN-equivalent, wenn sie sich durch Permutation und/oder Negation der Eingänge und/oder Negation der Ausgänge ineinander überführen lassen. [2]

Bibliotheken für das Resynthetisieren von FPGA-Schaltungen Folie Nr. 8 von 19

Funktionsabdeckung

Analyse von 100 industriellen FPGA-Designs:

23.01.2013

Bibliotheken für das Resynthetisieren von FPGA-Schaltungen Folie Nr. 9 von 19

Funktionsabdeckung

23.01.2013

Durch „Mut zur Lücke“ große zusätzliche Ersparnis möglich.

Bibliotheken für das Resynthetisieren von FPGA-Schaltungen Folie Nr. 10 von 19

Bibliotheken

Inhalte einer Bibliothek:

1. Abgedeckte Funktionslassen

2. Verschiedene LUT-Strukturen

3. Mapping von Funktionen auf LUTs

23.01.2013

Bibliotheken für das Resynthetisieren von FPGA-Schaltungen Folie Nr. 11 von 19

Bibliotheken Erzeugung

1. Zerlegen der NPN-Klassen durch (rekursive) Roth-Karp-Zerlegung

2. Behalten von dominanten und Verwerfen der restlichen Strukturen (A dominant B Verzögerung jedes Eingangs von A

ist <= bei B und die Fläche von A <= von B)

23.01.2013

Bibliotheken für das Resynthetisieren von FPGA-Schaltungen Folie Nr. 12 von 19

Bibliotheken Einsatz bei der Resynthese

1. Resynthesealgorithmus berechnet einen zu optimierenden Logikteil mit k Eingängen

2. Berechnen der Logikfunktion und NPN-Kodierung

3. Zuordnen zu einer LUT-Struktur der Bibliothek per Hash-Lookup

4. Zurückgeben der gefundenen LUT-Strukturen

23.01.2013

Bibliotheken für das Resynthetisieren von FPGA-Schaltungen Folie Nr. 13 von 19

Bibliotheken Einsatz bei der Resynthese

Sonderfälle:

keine passende LUT-Struktur in der Bibliothek Direktes Verwenden der Roth-Karp-Zerlegung

Anzahl der Eingänge k größer als gespeicherte LUT-Strukturen

Hybridansatz: Anwenden der Roth-Karp-Zerlegung bis für den verbleibenden Teil passende Strukturen in der Bibliothek vorhanden sind

23.01.2013

Bibliotheken für das Resynthetisieren von FPGA-Schaltungen Folie Nr. 14 von 19

Ergebnisse

Flächenoptimierende Resynthese (100 Designs):

-Durchschnittliche Flächenreduktion 3,21%

-Maximale Flächenreduktion 20,51%

23.01.2013

Bibliotheken für das Resynthetisieren von FPGA-Schaltungen Folie Nr. 15 von 19

Ergebnisse

Effizienz bei unvollständiger Bibliothek

-Signifikant erhöhte Rechenzeit

- Kritischer Punkt ist die Zerlegung von unbekannten Funktionen Optimierter, heuristischer Algorithmus

kann Operation deutlich beschleunigen

-Jedoch deutlich handlichere Bibliothek

23.01.2013

Bibliotheken für das Resynthetisieren von FPGA-Schaltungen Folie Nr. 16 von 19

Zusammenfassung

Bei

1. Sorgfältiger Auswahl der Logikfunktionen,

2. Nutzung von Äquivalenzklassen und

3. Eliminierung von redundanten LUT-Strukturen

ist Bibliotheken-basierte Resynthese möglich!

23.01.2013

Bibliotheken für das Resynthetisieren von FPGA-Schaltungen Folie Nr. 17 von 19

Zusammenfassung

Vorteile:

1. Sehr gut erweiterbar auf größere LUT-Strukturen

2. Beschleunigung bei der Fläche-optimierenden Resynthese im Vergleich zu reinen Zerlegungsalgorithmen

3. Verhältnis zwischen Rechenzeit und Größe der Bibliothek sehr gut einstellbar

23.01.2013

Bibliotheken für das Resynthetisieren von FPGA-Schaltungen Folie Nr. 18 von 19

Quellen

[1] Kennings, Mishchenko, Vorwerk, Pevzner. Generating Efficient Libraries for use in FPGA Resynthesis Algorithms

[2] Correia, Reis. Classifying n-Input Boolean Functions

23.01.2013

Bibliotheken für das Resynthetisieren von FPGA-Schaltungen Folie Nr. 19 von 19

Anhang

23.01.2013

Begrenzung des |Shared Set| auf 1.