Hardware Verification Workflow in Scala

Bachelorarbeit, Masterarbeit

Themen-Schwerpunkt: Eingebettete Systeme, Embedded Systems and Security, Entwicklungswerkzeuge, Multiplattform-Softwareentwicklung, Software-Entwicklung, Softwareperformance
Studiengänge: Elektrotechnik, Informatik, Informationstechnik, Verwandte Studiengänge, Wirtschaftsinformatik

Umfeld

Chisel ist eine moderne Hardware-Designsprache (HDL), die eine fortgeschrittene Schaltungserzeugung und Wiederverwendung von Designs für ASIC- als auch FPGA-Logik ermöglicht. Durch Hinzufügen von Hardware-Konstruktions-Primitiven zur Scala Programmiersprache erleichtert Chisel das Schreiben komplexer, parametrisierbarer Schaltungsgeneratoren, die synthetisierbares Verilog erzeugen. Die Methodik ermöglicht die Erstellung wiederverwendbarer Komponenten und Bibliotheken, wie z.B. FIFO-Warteschlangen, verzichtet aber auf einen automatisierten Verifikations-Workflow. Die Arbeit ist Teil des Verbundprojekts Scale4Edge, das darauf abzielt, ein kommerzielles Ökosystem für eine skalierbare und flexibel erweiterbare Edge-Computing-Plattform bereitzustellen.

Aufgaben

Ziel dieser Arbeit ist der Entwurf und die Implementierung eines automatisierten Hardware-Verifikations-Workflows durch die Erweiterung der Chisel-Bibliothek mit neuen Sprachkonstrukten oder Annotationen zur Spezifikation von Hardware-Eigenschaften. Diese Eigenschaften werden dann im Verilog-Generierungsprozess verwendet, um Verifikationsmodelle zu erzeugen, die automatisch durch ein externes Verifikations-Backend überprüft werden können.

  • Recherche und Bewertung von State-of-the-Art-Verifikations-Workflows für Hardware-Designs
  • Entwurf neuer Mechanismen zur Spezifikation von Hardware-Eigenschaften in Chisel
  • Implementierung eines Verifikationsmodell-Generators
  • Bewertung des Hardware-Verifikationsablaufs bei einem kleinen Hardware-Design

Wir bieten

  • Ein interdisziplinäres Arbeitsumfeld mit Partnern aus Wissenschaft, Wirtschaft und Anwendern im Rahmen des Scale4Edge Projekts
  • Eine wirtschafts-/industrienahe Arbeitsumgebung und -organisation
  • Eine angenehme Arbeitsatmosphäre
  • Konstruktive Zusammenarbeit

Wir erwarten

  • Grundkenntnisse in einer funktionalen Programmiersprache, z.B. Scala
  • Kenntnisse im Entwurf digitaler Schaltungen in VHDL, Verilog
  • Grundkenntnisse Linux
  • Deutsch- oder Englischkenntnisse
  • Motivation und Engagement

Bewerbung

Wir freuen uns auf Deine PDF-Bewerbung, mit folgenden Unterlagen:

  • Aktueller Notenauszug

Weitere Informationen