Optimierung hochsprachen-spezifizierter asynchroner Controller mittels STG-Dekomposition (Kennwort: Optacon)
Zusammenfassung der Projektergebnisse
Asynchrone Schaltungen haben viele Vorzüge (z.B. Energieverbrauch, Performance), sind aber schwieriger zu entwerfen als synchrone, weshalb der „Automatisierungsgrad“ der Werkzeugketten bislang noch geringer ist. Ziel des Projekts war es, einen Beitrag zur Verbesserung der mit solchen Werkzeugen vollautomatisch erzielbaren Ergebnisse zu leisten, indem es durch sog. STG-Dekomposition eine Logiksynthese des gesamten Control-Teils ermöglicht. Die entwickelten Methoden sollten formal abgesichert werden; zur Praxiserprobung sollten damit im Industrienahen Balsa-System entwickelte Schaltungen durch Resynthese des Control-Teils verbessert werden. Aufbauend auf eigenen Vorarbeiten wurde folgendes erreicht: 1. Eine Balsa-Schaltung besteht aus der Verschaltung sog. Balsa-Handshake-Komponenten (HC). Es ist gelungen, aus jeder der 46 HCs den Steuerungsteil zu extrahieren und als STG (HC-STG) zu modellieren – einschließlich einer Skalierung gemäß der jeweils spezifizierten Datenbusbreiten. 2. Zur Control-Resynthese müssen die einer HC-Schaltung entsprechenden HC-STGs parallel komponiert, und daraus die Transitionen der internen Signale durch Kontraktion entfernt werden. Diese Aufbereitung der Komposition wurde verbessert und resultiert im sog. Balsa-STG. 3. Der Balsa-STG wird i.Allg. so groß, dass erst eine STG-Dekomposition die angestrebte Logiksynthese ermöglicht. Zu Projektbeginn entstanden aber bei größeren Beispielen immer einige Komponenten, die wegen sog. irreduzibler CSC-Konflikte nicht direkt synthetisierbar waren. Hier konnte eine ganze Reihe von allgemein anwendbaren Dekompositionsverbesserungen gefunden und formal abgesichert werden, so dass nun die Balsa-STGs zu allen uns bekannten Balsa-Benchmarks in Komponenten zerlegt werden können, in denen sich jeweils alle CSC-Konflikte lösen lassen. Hierin ist nach langen Jahren der Forschung an der Dekomposition ein wirklich großer Durchbruch zu sehen. 4. Eine im Projektverlauf neu begonnene Kooperation mit dem Leibniz-Institut für innovative Mikroelektronik (IHP) bot unerwartet die Möglichkeit, asynchrone Schaltungen bis hin zum Chiplayout zu entwerfen und zu testen. Zur Messung von Chipkennwerten benötigt man dazu das Layout des gesamten Systems. Hierzu wurde für die wichtigsten HCs der Datenpfadteil extrahiert und die Werkzeugkette für eine automatische Synthese des gesamten Systems vervollständigt – von der Balsa-Hochsprachenspezifikation bis hin zu einer einzigen Verilog-Netzliste. 5. Versuche, nun mit Hilfe der professionellen IHP-Entwurfswerkzeuge bis zum Layout „vorzudringen“, deckten unerwartete Probleme mit den zur Logiksynthese verwendeten Werkzeugen (Petrify, MPSAT) auf. Zum Projektende erreichten wir, dass die Logiksynthetisierer aufgrund einer umfangreicheren Zellen-Bibliothek von IHP für vier erste Testbeispiele funktionierende Logik-Schaltungen liefern konnten; die Weiterentwicklung bis fast zum Layout gelang, und eine Simulation zeigte folgende Verbesserungen: • Performance: im Durchschnitt 26,7 % schneller (Spitzenwert: + 35,6%), • Schaltungsfläche: im Durchschnitt 11,5% kleiner (Spitzenwert: - 19%). Dies ist unseres Wissens nach das erste Mal, dass eine Verbesserung durch Control-Resynthese „nahe am Silizium“ nachgewiesen wurde.
Projektbezogene Publikationen (Auswahl)
- Improved Parallel Composition of Labelled Petri nets. In: Application of Concurrency to System Design ACSD'11, IEEE2011 131 – 140
A. Alekseyev, V. Khomenko, A. Mokhov, D Wist, A Yakovlev
- Signal Transition Graph Decomposition: Internal Communication for Speed Independent Implementability. IET Computers & Digital Techniques 5 (2011) 440 – 451
D. Wist, M. Schäfer, W. Vogler, Ralf Wollowski
- STG-Decomposition: Partitioning Heuristics. In: Application of Concurrency to System Design ACSD 2011, IEEE 2011, 141 – 152
D. Wist, W. Vogler, Ralf Wollowski
- STG-Based Resynthesis for Balsa Circuits. In: Application of Concurrency to System Design ACSD 2013, IEEE 2013, 140 – 149
S. Golubcovs, W. Vogler, N. Kluge
- Completing the Resynthesis Flow for Balsa Circuits by Focusing on the Data Path – First Experiments. International Symposium on Asynchronous Circuits and Systems (ASYNC 2014)
N. Kluge, R. Wollowski
- Decomposing Balsa-STGs (Working Notes). Uni. Augsburg, Inst. f. Informatik, Report Nr. 2014-01, 2014
S. Golubcovs, W. Vogler