2022

Entwurf neuronaler Netze in Matlab und Designflow zur Implementierung auf Intel SoC-FPGAs mit Zugriff auf die Gewichte in dem externen Linux-SDRAM

von Heinz-Peter, Bürkle

Berkay Cakir, Heinz-Peter Bürkle: Entwurf neuronaler Netze in Matlab und Designflow zur Implementierung auf Intel SoC-FPGAs mit Zugriff auf die Gewichte in dem externen Linux-SDRAM;

Workshop der Multi Project Chip Gruppe Baden-Württemberg (MPC) Esslingen Juni 2022; [https://www.mpc-gruppe.de/workshopbaende]


Für Maschinelles Lernen mithilfe von Neuronalen Netzen gibt es in Industrie, Medizin oder im Alltag vielfältige Anwendungen. Oft ist auch die Integration in eingebettete Systeme nötig. Auch wenn nicht das Training des Neuronalen Netzes, sondern lediglich die Inferenz im eingebetteten System erfolgt, stellt dies eine Herausforderung bezüglich der Rechenleistung dar. System-on-Chip (SoC) Field Programmable Gate Arrays (FPGAs) gelten als vielversprechende Zielsysteme für neuronale Netze in eingebetteten Systemen, da sie für die spezielle Aufgabenstellung angepasst werden können. Jedoch erweist sich die komplexe Entwurfsmethodik sowie die begrenzte Größe des On-Chip-Speichers oft als problematisch. In dieser Arbeit soll ein Designflow vorgestellt werden, welcher eine unkomplizierte Implementierung eines neuronalen Netzes mit externem Linux-SDRAM Zugriff auf einem Intel SoC-FPGA ermöglicht. Dieser Designflow wird beispielhaft anhand dem DE10-Nano als Zielsystem durchgeführt. Das neuronale Netz wird mithilfe von Matlab erstellt und in VHDL-Code umgewandelt. Danach wird dieser Code in ein SoC-FPGA Design mit SDRAM-Transfer eingebunden. Zuletzt erfolgt die Allokation sowie das Beschreiben des Linux-SDRAMBuffers mit den Gewichten.

Link