Project Details
Projekt Print View

Formal verification of firmware-based System-on-Chip modules

Subject Area Computer Architecture, Embedded and Massively Parallel Systems
Electronic Semiconductors, Components and Circuits, Integrated Systems, Sensor Technology, Theoretical Electrical Engineering
Term from 2013 to 2017
Project identifier Deutsche Forschungsgemeinschaft (DFG) - Project number 238346861
 
Final Report Year 2017

Final Report Abstract

Beim Entwurf von System-on-Chip (SoC) Modulen wird vermehrt ein neuer Entwurfsstil eingesetzt, bei dem Steuerfunktionen des Moduls nicht wie bisher üblich in Hardware, sondern als „Firmware“, die auf speziell dafür vorgesehenen Prozessoren ausgeführt wird, implementiert werden. Unter Firmware versteht man Software, die für den Nutzer des Moduls nicht zugänglich ist und bereits während der Fertigung beispielweise in einem ROM (Read Only Memory) abgelegt wird. Dieser Entwurfsstil findet zunehmend Verbreitung, nicht nur bei FPGAs (field programmable gate arrays) sondern im klassischen System-on-Chip-Entwurf. Er bietet Vorteile in Hinblick auf Flächenbedarf und Wartbarkeit des Moduls. Die enge Verzahnung von Hardware und Software in niedriger Granularität wirft aber erhebliche Verifikationsprobleme auf, da Software und Hardware nicht wie sonst üblich getrennt verifiziert werden können. Im Rahmen dieses Forschungsvorhabens sind formale Verifikationstechniken für Firmware-basierte System-on-Chip Module erforscht und entwickelt worden. Als Ergebnis des Projektes stehen nun vollautomatische Techniken zur Generierung von gemeinsamen Berechnungsmodellen für Hardware und Software zur Verfügung. Zentrales Ergebnis des Projektes ist, dass auf Basis der neuen Modelle Standardverfahren der Hardwareverifikation wie property checking und equivalence checking nun auch für Firmware-basierte SoC-Module einsetzbar sind. Das reaktive Verhalten von Software und Hardware wird durch die neuen Techniken hardwarezyklengenau modelliert, so dass eine formale Hardware/Software-Coverifikation möglich ist. Im Projekt sind darüber hinaus Arbeiten durchgeführt worden, die es erlauben, binären Softwarecode von Drittanbietem, ebenfalls in die Betrachtung einzubeziehen. Dazu wurde eigens eine Disassemblierungstechnik entwickelt, die auf die Anforderung der hier betrachteten Probleme zugeschnitten ist. Die Anwendungen der neuen Technik gehen über die formale Verifikation funktionaler Systemeigenschaften hinaus. Durch die genaue Modellierung der Hardware/Software-Schnittstelle ist auch die Betrachtung nicht-funktionaler Eigenschaften wie etwa Robustheit und Sicherheit im Fehlerfalle möglich. Die Erweiterung und Nutzung der hier entwickelten Techniken auf die Sicherheitsanalyse ist Gegenstand eines bereits bewilligten DFG-Projektes.

Publications

 
 

Additional Information

Textvergrößerung und Kontrastanpassung