Detailseite
Projekt Druckansicht

VerA: Vollautomatische Formale Verifikation Arithmetischer Schaltkreise

Fachliche Zuordnung Rechnerarchitektur, eingebettete und massiv parallele Systeme
Förderung Förderung von 2020 bis 2024
Projektkennung Deutsche Forschungsgemeinschaft (DFG) - Projektnummer 436285168
 
Erstellungsjahr 2025

Zusammenfassung der Projektergebnisse

Das Projekt startete ausgehend von der Beobachtung, dass aktuell arithmetische Schaltungen in vielen rechenintensiven Anwendungen (wie z.B. Signalverarbeitung und Kryptographie) sowie in kommenden KI-Architekturen (z.B. für das Maschinelle Lernen und Deep Learning) eine wesentliche Rolle spielen, dass aber nichtsdestotrotz die Verifikation arithmetischer Schaltungen nach wie vor eine große Herausforderung für automatische Verifikationstechnologien darstellte – obwohl spätestens seit dem berühmten Pentium-Bug im Jahr 1994 schon beträchtliche Forschungsanstrengungen in die Verifikation arithmetischer Schaltungen geflossen waren. Unser Hauptziel war es, eine vollautomatische formale Verifikationsmethodik zu entwickeln, die über unvollständige simulationsbasierte Ansätze sowie halbautomatische Ansätze auf der Basis von Theorembeweisern hinausgeht, die in der industriellen Praxis immer noch den Stand der Technik für die Verifikation arithmetischer Schaltungen darstellen. Nur die formale Verifikation ist in der Lage, strikte Garantien für die Korrektheit arithmetischer Schaltungen zu geben. Eine vollständige Automatisierung ist erforderlich, da der Entwurf von (anwendungsspezifischen) Schaltungen, die Arithmetik enthalten, heutzutage nicht mehr nur auf die großen Prozessorhersteller beschränkt ist, sondern auch von vielen verschiedenen Anbietern eingebetteter Hardware durchgeführt wird, die es sich nicht leisten können, große Teams spezialisierter Verifikationsingenieure zu beschäftigen, die in der Lage sind, interaktive Theorembeweise liefern. Die vollständige Automatisierung ermöglicht es auch Nicht-Fachleuten, die Verifikation von arithmetischen Schaltungen durchzuführen. In diesem Projekt konnten wir den Stand der Technik bei der vollautomatischen formalen Verifikation von Multiplizierern und Dividierern einen entscheidenden Schritt voranbringen. Unsere Arbeit baut auf neueren Fortschritten in der Anwendung Symbolischer Computeralgebra (SCA) für die Verifikation arithmetischer Schaltungen auf. Mit einer Reihe von Verbesserungen wie z.B. effizienten Datenstrukturen für Polynome, neuartigen Minimierungsmethoden für Polynome und verbesserten Konstruktionsmethoden für Polynome konnten wir eine hochgradig robuste und vollautomatische formale Verifikationsmethode für große, komplexe und stark optimierte Multiplizierer liefern. Auch die Verifikation von Dividierern konnten wir erfolgreich in Angriff nehmen. Hier konnten wir zeigen, dass die Verifikation von Dividierern nicht allein mit SCA- basierten Methoden durchgeführt werden kann, die im Wesentlichen ausgehend von einem Spezifikationspolynom die Signale der Schaltung in umgekehrter topologischer Reihenfolge durch Polynome für die entsprechenden Gatter ersetzen. Für eine erfolgreiche Verifikation von großen Dividerern muss eine solche SCA-basierte Konstruktionsmethode zwingend ergänzt werden durch Vorwärtspropagation von Information von den Eingängen in Richtung der Ausgänge. Auf der Grundlage dieser Erkenntnis und einer Reihe von Optimierungsmethoden waren wir schließlich in der Lage, (vollautomatische) Korrektheitsbeweise für große Dividierer zu liefern, die nicht-triviale Optimierungen auf Architekturebene enthalten.

Projektbezogene Publikationen (Auswahl)

 
 

Zusatzinformationen

Textvergrößerung und Kontrastanpassung