Sebastian Franz, Erweiterung eines Compilers für eine funktionale Programmiersprache um Hardwaresynthese
Sebastian Franz
Erweiterung eines Compilers für eine funktionale Programmiersprache
um Hardwaresynthese
Der Vortrag behandelt die Synthese digitaler Schaltkreise im Kontext der Übersetzung funktionaler Programme.
Dazu wird ein experimenteller Compiler, welcher auf einem Ansatz zur speicherplatzeffizienten Auswertung funktionaler Programme basiert, um die Ausgabe einer Beschreibung der entsprechenden Schaltkreise erweitert. Mit Hilfe der Erweiterung kann der Compiler ein Programm in die Hardwarebeschreibungssprache Verilog übersetzen. Die Ausgabe wird mit weiteren statischen Dateien von einem Synthesetool benutzt um das Programm auf einen FPGA zur Ausführung zu bringen.
Die zwischen Compiler und Erweiterung ausgetauschte Datenstruktur hat die Form eines Kommunikationsgraphen (message passing network), welche im Vortrag definiert und demonstriert werden. Die Kommunikationsgraphen werden durch die Erweiterung in digitale Schaltungen transformiert. Die Basiskonstrukte der dafür verwendeten Hardwarebeschreibungssprache Verilog werden kurz vorgestellt ebenso die konkrete Implementierung der Kommunikationsgraphen mit Hilfe dieser Konstrukte.
Das Protokoll sowie die Synchronisation des Nachrichtenaustauschs in den Kommunikationsgraphen und in den Schaltkreisen leiten über zu bereits implementierten Optimierungen des einfachen Kanonischen Modells.
Der Vortrag schließt mit einer Einschätzung der Ergebnisse und einem Ausblick auf weitere Optimierungsmöglichkeiten.
Artikelaktionen