Customized Embedded Processor Design

Das Design von eingebetteten Prozessoren, insbesondere für IoT, persönliche Mobiltelefone, Navigationsgeräte usw., hat in den letzten Jahren erhebliche Fortschritte gemacht. Diese Entwicklung ist gekennzeichnet durch die steigende Nachfrage nach anwendungsspezifischen Lösungen, um die vielfältigen und widersprüchlichen Anforderungen an geringen Stromverbrauch, hohe Leistung, niedrige Kosten und vor allem eine effiziente Time-to-Market dieser Prozessoren zu erfüllen.

 

Anwendungsspezifische Befehlssatzprozessoren (Application Specific Instruction Set Processors, ASIP) sind kundenspezifische Prozessoren mit einem spezifischen Befehlssatz, der auf eine bestimmte Anwendung ausgerichtet ist, um eine optimale Lösung für die oben genannten Anforderungen zu erreichen. Diese Anpassung kann auf verschiedenen architektonischen Ebenen erfolgen, indem kundenspezifische Befehle definiert werden, vordefinierte Hardwareblöcke einbezogen oder ausgeschlossen werden oder die Parameter des Prozessors eingestellt werden

.

Der Schwerpunkt dieses Praktikums liegt darin, praktische Erfahrungen mit der modernen ASIP Tool-Suite zu sammeln und optimiertes Prozessordesign für Embedded-Anwendungen zu üben. Wir wählen eine Beispielapplikation aus, erstellen ein Profil, entwerfen einen ASIP mit dem Ziel der Leistungs-/Flächen-/Geschwindigkeitseffizienz und nutzen dann unsere Infrastruktur zum Benchmarking des entworfenen ASIPs, um Kosten und Nutzen in Bezug auf Leistung, Stromverbrauch, Fläche usw. zu vergleichen.

 

Der ASIP-Entwurfsablauf umfasst die Analyse und das Profiling der angestrebten Anwendung, die entsprechende Definition eines ASIPs, die Erstellung der speziellen Anweisung, die Einbettung der erforderlichen Hardwareblöcke oder die Konfiguration verschiedener Architekturparameter. Die synthetisierbare Hardware-Beschreibung und die komplette Compiler-Werkzeugkette werden automatisch generiert, und dann wird der kundenspezifische Prozessor auf einer FPGA-Plattform implementiert. Dieser Prozessor kann mit den Werkzeugen QuestaSim/ModelSim und Xilinx Vivado auf Leistung, Fläche und Stromverbrauch getestet werden.

 

Für dieses Labor sind die Laborhandbücher und alle Übungen in englischer Sprache verfügbar.

 

Aufbau des Labors:

  • Kick-off: zu Beginn des Semesters nach gemeinsamer Absprache
  • Wöchentliche Sitzungen: Acht 2-3-stündige Sitzungen pro Woche
  • Labor-Gruppen: Gruppen von 2-3 Studenten zur Bearbeitung von Aufgaben
  • Miniprojekt: letzte Sitzung ist ein Miniprojekt, bei dem jede Gruppe den Prozessor für eine bestimmte Anwendung anpassen und ihre Arbeit präsentieren muss.

 

Labor-Infrastruktur:

Die verfügbare Infrastruktur für einen ASIP-Entwurfsablauf basiert auf:

  • ASIPmeister: wird verwendet, um ASIP mit neuen Anweisungen zu entwerfen und eine Compiler-Toolkette zu erstellen
  • Dlxsim: wird für das Instruktionsprofiling verwendet
  • QuestaSim: verwendet zum Testen des entworfenen ASIPs
  • Vivado: wird zur Messung von Fläche, Leistung und Timing verwendet
  • Diese Werkzeuge werden automatisch über das Makefile integriert.

 

Lernen:

  • Erlernen der Grundlagen in Embedded Systems und ASIP.
  • Erlernen des Standes der Technik in den Embedded Prozessor Tool-Suiten wie (QuestaSim/ModelSim und Xilinx Vivado/ISE).
  • Arbeiten auf einer FPGA-Plattform.

Some pictures of the lab-overview (click to enlarge)

Fig 1: ASIP Design Flow

Fig 2: ASIPmeister Software

Fig 3: ASIPMeister Input and Output

Fig 4: ASIP Lab Hardware Setup

Fig 5: ASIP Lab Setup with PC